Use element processor for iq

[?]
Apr 13, 2019, 8:19 PM
RRLRZTMR3RQMZCMPIW5DJYAH5A6GXJMJ6ACOM2DPRYXQMQAGMPVAC

Dependencies

  • [2] LL3D5CXK Staring using element processor
  • [3] 3FYEOGCI Move additional rarely changed data to separate structure
  • [4] UIXIQHDY Wait for commands via new processing code
  • [5] ACXUIS63 Update dependecies
  • [6] HOAZX2PB Reorganize roster processing. Output roster
  • [7] BTOZT4JP Use failure
  • [8] TPVUBB3F Answer to ping requests
  • [9] XOAM22TT Simplify xmpp incoming stanzas processing without futures
  • [10] 3GEU7TC7 Welcome to 2018!
  • [11] TDOR5XQU Accept destination
  • [12] UAT5MV5O Directly use id for initial roster request
  • [13] MAC6WCSX Fix pipelines
  • [14] DISBBP3I Update dependencies
  • [15] HKSQO7JZ Enable hyper http server and configuration
  • [16] ALP2YJIU Rename XmppState to XmppProcessState
  • [17] SYH7UQP6 Make xmpp command enum to allow different commands Save subscription ask status. Don't ask if already requested subscription.
  • [18] 5OBTKGDL Update deps
  • [19] AGIW6YR3 Use shared future for signal everywhere
  • [20] EOHEZXX3 Move request processing to structure
  • [21] X6L47BHQ Use different structure for established xmpp connection
  • [22] NDDQQP2P Update deps
  • [23] BWDUANCV Second part of processing result is only about stop_future
  • [24] XGP44R5H Rework stopping xmpp connection
  • [25] L3D22A5J Prepare to check incoming presence
  • [26] QWE26TMV update deps
  • [27] J7VX56FW ToDo
  • [28] QTCUURXN Add additional requirement for command stream
  • [29] HCCX7VW6 Generate ids from counter
  • [30] FCPF2FV6 Break connection on iq error
  • [31] OGMBXBKP Move online to XmppConnection
  • [32] PFC7OJQF Query roster
  • [33] OB3HA2MD Use Client::new_with_jid to parse jid only once
  • [34] AA2ZWGRL Enter to MUC
  • [35] AYQZ2UIA Update deps
  • [36] VS6AHRWI Move XMPP to separate dir
  • [37] QYY3KRGL Use failure instead Box<dyn Error>
  • [38] 5IKA4GO7 Rename xmpp client field from "inner" to "client"
  • [39] IK3YDPTY Update deps
  • [40] 4LRBIGVT Show info about xmpp errors
  • [41] FVVPKFTL Initial commit
  • [42] UO4WTU6U Update dependencies
  • [43] OANBCLN5 Move xmpp client into XmppState
  • [44] EBETRYK7 Add counter for id. Check for jid in roster
  • [45] PVCRPP3B Some servers don't send to in initial presence
  • [46] 2VZBEEXA Messages fixed
  • [47] CBWCXUZZ Prepare adding new items to roster
  • [48] UWY5EVZ6 Add dummy roster data
  • [49] SA2IOFGY Add items to roster
  • [50] DCGEFPRC Better README
  • [51] FWJDW3G5 Allow process xmpp incoming stanzas with futures
  • [52] HU3NZX5Z Process self-presence via new processing code
  • [53] DKXSFTDY Send stanzas via send queue
  • [54] SU4DNVCB Start to processing roster data
  • [55] RGOSS73U Convert self-presence to xmpp_parser's type
  • [56] JD62RVOJ Update dependencies
  • [57] YZVEEOYT Update dependencies
  • [58] FV6BJ5K6 Send self-presence and store account info in Rc so it willbe used in some future in parallel
  • [59] WBU7UOQW Read chatroom from config
  • [60] 37OMJ4CK Send MUC message
  • [61] 5A5UVGNM Move receiver closing logic out of xmpp processing
  • [62] V5HDBSZM Use jid for receiver address
  • [63] UMTLHH77 Process commands in the separate function
  • [64] 77USPY5I Sending messages works!
  • [65] VW7NVWAG Leave MUC properly
  • [66] 5Y6YJ6UH Add shutdown function to make actions before offline
  • [67] 5GINRCKL Send ping XEP-0199
  • [68] ZI4GJ72V Add message to xmpp command

Change contents

  • edit in src/xmpp/stanzas.rs at line 3
    [3.26]
    [3.57]
    use xmpp_parsers::message::{Body, Message, MessageType};
    use xmpp_parsers::ping::Ping;
  • replacement in src/xmpp/stanzas.rs at line 6
    [3.141][2.0:34]()
    use xmpp_parsers::roster::Roster;
    [3.141]
    [3.141]
    use xmpp_parsers::roster::{Item, Roster};
  • replacement in src/xmpp/stanzas.rs at line 18
    [3.196][2.35:196]()
    let mut get_roster = Iq::from_get(Roster {
    ver: None,
    items: vec![],
    });
    get_roster.id = Some(id.to_string());
    get_roster.into()
    [3.196]
    [3.357]
    Iq::from_get(
    id,
    Roster {
    items: vec![],
    ver: None,
    },
    )
    .into()
    }
    pub fn make_add_roster(id: &str, jid: xmpp_parsers::Jid) -> Element {
    Iq::from_set(
    id,
    Roster {
    items: vec![Item {
    jid,
    name: None,
    subscription: xmpp_parsers::roster::Subscription::None,
    ask: xmpp_parsers::roster::Ask::None,
    groups: vec![],
    }],
    ver: None,
    },
    )
    .into()
    }
    pub fn make_ask_subscribe(jid: xmpp_parsers::Jid) -> Element {
    let mut presence = Presence::new(PresenceType::Subscribe);
    presence.to = Some(jid);
    presence.into()
    }
    pub fn make_chat_message(jid: xmpp_parsers::Jid, text: String) -> Element {
    let mut message = Message::new(Some(jid));
    message.bodies.insert(String::new(), Body(text));
    message.type_ = MessageType::Chat;
    message.into()
    }
    pub fn make_muc_presence(id: &str, from: xmpp_parsers::Jid, to: xmpp_parsers::Jid) -> Element {
    let mut presence = Presence::new(PresenceType::None);
    presence.from = Some(from);
    presence.to = Some(to);
    presence.id = Some(id.to_string());
    presence.add_payload(xmpp_parsers::muc::Muc::new());
    presence.into()
    }
    pub fn make_muc_message(to: xmpp_parsers::Jid, text: String) -> Element {
    let mut message = Message::new(Some(to.into_bare_jid()));
    message.bodies.insert(String::new(), Body(text));
    message.type_ = MessageType::Groupchat;
    message.into()
  • edit in src/xmpp/stanzas.rs at line 73
    [3.359]
    pub fn make_muc_presence_leave(from: xmpp_parsers::Jid, to: xmpp_parsers::Jid) -> Element {
    let mut presence = Presence::new(PresenceType::Unavailable);
    presence.from = Some(from);
    presence.to = Some(to);
    presence.into()
    }
    pub fn make_ping(id: &str, from: xmpp_parsers::Jid) -> Element {
    let mut ping = Iq::from_get(id, Ping);
    ping.to = Some(from.clone().into_domain_jid());
    ping.from = Some(from);
    ping.into()
    }
    pub fn make_pong(id: &str, from: xmpp_parsers::Jid, to: Option<xmpp_parsers::Jid>) -> Element {
    let mut pong = Iq::from_result(id, None as Option<Roster>);
    pong.from = Some(from);
    pong.to = to;
    pong.into()
    }
  • replacement in src/xmpp/mod.rs at line 4
    [3.164][2.197:230]()
    use tokio_xmpp::{Client, Event};
    [3.164]
    [3.197]
    use tokio_xmpp::{Client, Event, Packet};
  • replacement in src/xmpp/mod.rs at line 8
    [3.1193][2.231:262]()
    use std::collections::HashMap;
    [3.1193]
    [3.420]
    use std::collections::{HashMap, VecDeque};
  • edit in src/xmpp/mod.rs at line 11
    [3.434][2.263:296]()
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  • edit in src/xmpp/mod.rs at line 12
    [2.297][2.297:377]()
    const ID_GET_ROSTER: &str = "id_get_roster0";
    ================================
  • edit in src/xmpp/mod.rs at line 13
    [2.400][2.400:433]()
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  • replacement in src/xmpp/mod.rs at line 16
    [3.1274][2.434:490]()
    roster: HashMap<jid::Jid, ()>,
    _counter: usize,
    [3.1274]
    [3.1786]
    /// known roster data
    roster: HashMap<
    xmpp_parsers::Jid,
    (
    xmpp_parsers::roster::Subscription,
    xmpp_parsers::roster::Ask,
    ),
    >,
    /// ids counter
    counter: usize,
    /// map from id of adding item to roster and jid of item
    pending_add_roster_ids: HashMap<String, xmpp_parsers::Jid>,
    /// stanzas to send
    send_queue: VecDeque<minidom::Element>,
    /// outgoing mailbox
    outgoing_mailbox: HashMap<xmpp_parsers::Jid, Vec<String>>,
    /// muc id to muc jid
    mucs: HashMap<String, xmpp_parsers::Jid>,
  • replacement in src/xmpp/mod.rs at line 42
    [2.524][2.524:611]()
    incoming: element_processor::Processor<XmppConnection, (), xmpp_parsers::Element>,
    [2.524]
    [3.1848]
    incoming: element_processor::Processor<XmppConnection, bool, xmpp_parsers::Element>,
  • replacement in src/xmpp/mod.rs at line 47
    [2.679][2.679:795]()
    let mut incoming =
    element_processor::Processor::new(&|_, e| warn!("Unknown stanza {:#?}", e));
    [2.679]
    [2.795]
    let mut incoming = element_processor::Processor::new(&|_, e| {
    warn!("Unknown stanza {:#?}", e);
    true
    });
    incoming.register(&XmppConnection::incoming_iq_processing);
  • replacement in src/xmpp/mod.rs at line 110
    [3.2671][2.848:900]()
    as Box<Future<Item = _, Error = _>>
    [3.2671]
    [3.944]
    as Box<dyn Future<Item = _, Error = _>>
  • replacement in src/xmpp/mod.rs at line 118
    [3.1591][2.901:1320]()
    let res_client = Client::new(&account.jid, &account.password);
    match res_client {
    Err(_e) => Box::new(future::ok(future::Loop::Continue(account)))
    as Box<Future<Item = _, Error = _>>,
    Ok(client) => {
    info!("xmpp initialized");
    [3.1591]
    [3.1476]
    let client =
    Client::new_with_jid(account.jid.clone(), &account.password);
    info!("xmpp initialized");
  • replacement in src/xmpp/mod.rs at line 122
    [3.1477][2.1321:1473]()
    let stop_future2 = stop_future.clone();
    let stop_future3 = stop_future.clone();
    [3.1477]
    [3.1065]
    let stop_future2 = stop_future.clone();
    let stop_future3 = stop_future.clone();
    let stop_future4 = stop_future.clone();
  • replacement in src/xmpp/mod.rs at line 126
    [3.1066][2.1474:3139]()
    // future to wait for online
    Box::new(
    XmppConnection {
    state: XmppState {
    client,
    data: std::default::Default::default(),
    },
    account,
    }
    .processing(XmppConnection::online, stop_future.clone())
    .map_err(|(acc, _)| acc)
    .and_then(|(conn, r)| match r {
    Ok(Either::A(_)) => future::ok(conn),
    Ok(Either::B(_)) => future::err(conn.account),
    Err(_e) => future::err(conn.account),
    })
    .and_then(|conn| conn.initial_roster(stop_future2))
    .and_then(|conn| conn.self_presence(stop_future3))
    .then(
    |r| match r {
    Ok(conn) => future::ok(future::Loop::Break(conn)),
    Err(acc) => future::ok(future::Loop::Continue(acc)),
    },
    ),
    )
    [3.1066]
    [3.3128]
    // future to wait for online
    Box::new(
    XmppConnection {
    state: XmppState {
    client,
    data: std::default::Default::default(),
    },
    account,
  • replacement in src/xmpp/mod.rs at line 135
    [3.3162][2.3140:3170]()
    }
    [3.3162]
    [3.3192]
    .processing(XmppConnection::online, stop_future.clone())
    .map_err(|(acc, _)| acc)
    .and_then(|(conn, r)| match r {
    Ok(Either::A(_)) => future::ok(conn),
    Ok(Either::B(_)) => future::err(conn.account),
    Err(_e) => future::err(conn.account),
    })
    .and_then(|conn| conn.initial_roster(stop_future2))
    .and_then(|conn| conn.self_presence(stop_future3))
    .and_then(|conn| conn.enter_mucs(stop_future4))
    .then(|r| match r {
    Ok(conn) => future::ok(future::Loop::Break(conn)),
    Err(acc) => future::ok(future::Loop::Continue(acc)),
    }),
    )
  • replacement in src/xmpp/mod.rs at line 168
    [3.3788][2.3171:3306]()
    fn xmpp_processing(
    self,
    event: &Event,
    ) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>> {
    [3.3788]
    [3.4545]
    /// Returns false on error to disconnect
    fn xmpp_processing(&mut self, event: &Event) -> bool {
  • replacement in src/xmpp/mod.rs at line 173
    [2.3369][2.3369:3437](),[2.3437][3.4606:4712](),[3.4606][3.4606:4712](),[3.4712][2.3438:3603]()
    processors.incoming.process(self, stanza.clone());
    info!("Incoming xmpp event: {:?}", stanza);
    let stanza = stanza.clone();
    use try_from::TryInto;
    if let Some(_iq) = stanza.try_into().ok() as Option<xmpp_parsers::iq::Iq> {}
    future::ok(self)
    [2.3369]
    [3.8539]
    processors.incoming.process(self, stanza.clone())
  • replacement in src/xmpp/mod.rs at line 175
    [3.8553][2.3604:3651]()
    Event::Online => future::ok(self),
    [3.8553]
    [3.8600]
    Event::Online => true,
  • replacement in src/xmpp/mod.rs at line 178
    [3.8670][2.3652:3694]()
    future::err(self.account)
    [3.8670]
    [3.8712]
    false
    }
    }
    }
    fn incoming_iq_processing(&mut self, iq: xmpp_parsers::iq::Iq) -> bool {
    use std::convert::TryInto;
    if let Some((_, jid)) = self.state.data.pending_add_roster_ids.remove_entry(&iq.id) {
    if let xmpp_parsers::iq::IqType::Result(None) = iq.payload {
    if self.state.data.roster.contains_key(&jid) {
    info!("Jid {} updated to roster", jid);
    } else {
    info!("Jid {} added in roster", jid);
    self.state.data.roster.insert(
    jid.clone(),
    (
    xmpp_parsers::roster::Subscription::None,
    xmpp_parsers::roster::Ask::None,
    ),
    );
    }
    self.process_jid(&jid);
    } else {
    warn!(
    "Wrong payload when adding {} to roster: {:?}",
    jid, iq.payload
    );
    }
    }
    match iq.payload {
    xmpp_parsers::iq::IqType::Set(element) => {
    if let Some(roster) =
    element.try_into().ok() as Option<xmpp_parsers::roster::Roster>
    {
    for i in roster.items {
    if let Some(ref mut rdata) = self.state.data.roster.get_mut(&i.jid) {
    info!("Update {} in roster", i.jid);
    rdata.0 = i.subscription;
    rdata.1 = i.ask;
    } else {
    info!("Add {} to roster", i.jid);
    self.state
    .data
    .roster
    .insert(i.jid.clone(), (i.subscription, i.ask));
    }
    self.process_jid(&i.jid);
    }
    }
    }
    xmpp_parsers::iq::IqType::Error(e) => {
    error!("iq error: {:?}", e);
    return false;
    }
    xmpp_parsers::iq::IqType::Get(element) => {
    if let Some(_ping) = element.try_into().ok() as Option<xmpp_parsers::ping::Ping> {
    let pong = stanzas::make_pong(&iq.id, self.state.client.jid.clone(), iq.from);
    self.state.data.send_queue.push_back(pong);
    }
  • edit in src/xmpp/mod.rs at line 238
    [3.8726]
    [3.8726]
    _ => (), // ignore
  • edit in src/xmpp/mod.rs at line 240
    [3.8736]
    [3.2124]
    true
  • replacement in src/xmpp/mod.rs at line 266
    [3.9205][2.3695:3750]()
    state: XmppState { client, data },
    [3.9205]
    [3.9264]
    state: XmppState { client, mut data },
  • replacement in src/xmpp/mod.rs at line 269
    [3.9319][2.3751:6822]()
    client
    .into_future()
    .select2(stop_future)
    .then(move |r| match r {
    Ok(Either::A(((event, client), b))) => {
    if let Some(event) = event {
    let xmpp = XmppConnection {
    state: XmppState { client, data },
    account,
    };
    Box::new(xmpp.xmpp_processing(&event).then(|r| match r {
    Ok(mut xmpp) => match stop_condition(&mut xmpp, event) {
    Ok(true) => future::ok(future::Loop::Break((
    xmpp,
    Ok(Either::A(b)),
    ))),
    Ok(false) => future::ok(future::Loop::Continue((
    xmpp,
    b,
    stop_condition,
    ))),
    Err(_e) => future::err((xmpp.account, Ok(Either::A(b)))),
    },
    Err(account) => future::err((account, Ok(Either::A(b)))),
    }))
    as Box<dyn Future<Item = _, Error = _>>
    } else {
    Box::new(future::err((account, Ok(Either::A(b)))))
    }
    }
    Ok(Either::B((t, a))) => Box::new(if let Some(client) = a.into_inner() {
    future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Ok(Either::B(t)),
    )))
    } else {
    future::err((account, Ok(Either::B(t))))
    }),
    Err(Either::A((e, b))) => {
    warn!("XMPP error: {}", e.0);
    Box::new(future::err((account, Ok(Either::A(b)))))
    }
    Err(Either::B((e, a))) => Box::new(if let Some(client) = a.into_inner() {
    future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Err(e),
    )))
    } else {
    future::err((account, Err(e)))
    }),
    })
    [3.9319]
    [3.5580]
    if let Some(send_element) = data.send_queue.pop_front() {
    use tokio::prelude::Sink;
    info!("Sending {:?}", send_element);
    Box::new(
    client
    .send(Packet::Stanza(send_element))
    .select2(stop_future)
    .then(move |r| match r {
    Ok(Either::A((client, b))) => {
    Box::new(future::ok(future::Loop::Continue((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    b,
    stop_condition,
    ))))
    as Box<dyn Future<Item = _, Error = _>>
    }
    Ok(Either::B((t, a))) => Box::new(a.then(|r| match r {
    Ok(client) => future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Ok(Either::B(t)),
    ))),
    Err(se) => {
    warn!("XMPP sending error: {}", se);
    future::err((account, Ok(Either::B(t))))
    }
    })),
    Err(Either::A((e, b))) => {
    warn!("XMPP sending error: {}", e);
    Box::new(future::err((account, Ok(Either::A(b)))))
    }
    Err(Either::B((e, a))) => Box::new(a.then(|r| match r {
    Ok(client) => future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Err(e),
    ))),
    Err(se) => {
    warn!("XMPP sending error: {}", se);
    future::err((account, Err(e)))
    }
    })),
    }),
    ) as Box<dyn Future<Item = _, Error = _>>
    } else {
    Box::new(
    client
    .into_future()
    .select2(stop_future)
    .then(move |r| match r {
    Ok(Either::A(((event, client), b))) => {
    if let Some(event) = event {
    let mut xmpp = XmppConnection {
    state: XmppState { client, data },
    account,
    };
    if xmpp.xmpp_processing(&event) {
    match stop_condition(&mut xmpp, event) {
    Ok(true) => future::ok(future::Loop::Break((
    xmpp,
    Ok(Either::A(b)),
    ))),
    Ok(false) => future::ok(future::Loop::Continue((
    xmpp,
    b,
    stop_condition,
    ))),
    Err(_e) => {
    future::err((xmpp.account, Ok(Either::A(b))))
    }
    }
    } else {
    future::err((xmpp.account, Ok(Either::A(b))))
    }
    } else {
    future::err((account, Ok(Either::A(b))))
    }
    }
    Ok(Either::B((t, a))) => {
    if let Some(client) = a.into_inner() {
    future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Ok(Either::B(t)),
    )))
    } else {
    future::err((account, Ok(Either::B(t))))
    }
    }
    Err(Either::A((e, b))) => {
    warn!("XMPP error: {}", e.0);
    future::err((account, Ok(Either::A(b))))
    }
    Err(Either::B((e, a))) => {
    if let Some(client) = a.into_inner() {
    future::ok(future::Loop::Break((
    XmppConnection {
    state: XmppState { client, data },
    account,
    },
    Err(e),
    )))
    } else {
    future::err((account, Err(e)))
    }
    }
    }),
    )
    }
  • replacement in src/xmpp/mod.rs at line 413
    [3.16485][2.6823:6900]()
    fn process_initial_roster(&mut self, event: Event) -> Result<bool, ()> {
    [3.16485]
    [3.16562]
    fn process_initial_roster(&mut self, event: Event, id_init_roster: &str) -> Result<bool, ()> {
  • replacement in src/xmpp/mod.rs at line 415
    [3.16604][2.6901:6936]()
    use try_from::TryInto;
    [3.16604]
    [3.16639]
    use std::convert::TryInto;
  • replacement in src/xmpp/mod.rs at line 418
    [3.16735][2.6937:8330]()
    if let Some(id) = iq.id {
    if id == ID_GET_ROSTER {
    match iq.payload {
    xmpp_parsers::iq::IqType::Error(_e) => {
    error!("Get error instead of roster");
    Err(())
    }
    xmpp_parsers::iq::IqType::Result(Some(result)) => {
    match result.try_into()
    as Result<xmpp_parsers::roster::Roster, _>
    {
    Ok(roster) => {
    self.state.data.roster.clear();
    info!("Got first roster:");
    for i in roster.items {
    info!(" >>> {:?}", i);
    self.state.data.roster.insert(i.jid, ());
    }
    Ok(true)
    }
    Err(e) => {
    error!("Cann't parse roster: {}", e);
    Err(())
    [3.16735]
    [3.18104]
    if iq.id == id_init_roster {
    match iq.payload {
    xmpp_parsers::iq::IqType::Error(_e) => {
    error!("Get error instead of roster");
    Err(())
    }
    xmpp_parsers::iq::IqType::Result(Some(result)) => {
    match result.try_into() as Result<xmpp_parsers::roster::Roster, _> {
    Ok(roster) => {
    self.state.data.roster.clear();
    info!("Got first roster:");
    for i in roster.items {
    info!(" >>> {:?}", i);
    self.state
    .data
    .roster
    .insert(i.jid, (i.subscription, i.ask));
  • edit in src/xmpp/mod.rs at line 436
    [3.18146]
    [3.18374]
    Ok(true)
  • edit in src/xmpp/mod.rs at line 438
    [3.18412]
    [3.6991]
    Err(e) => {
    error!("Cann't parse roster: {}", e);
    Err(())
    }
  • replacement in src/xmpp/mod.rs at line 443
    [3.7025][2.8331:8520]()
    _ => {
    error!("Unknown result of roster");
    Err(())
    }
    [3.7025]
    [3.7921]
    }
    _ => {
    error!("Unknown result of roster");
    Err(())
  • edit in src/xmpp/mod.rs at line 448
    [3.7951][2.8521:8592]()
    } else {
    Ok(false)
  • replacement in src/xmpp/mod.rs at line 450
    [3.18791][2.8593:8681]()
    error!("Iq stanza without id");
    Err(())
    [3.18791]
    [3.18879]
    Ok(false)
  • replacement in src/xmpp/mod.rs at line 471
    [3.19318][2.8682:8729]()
    state: XmppState { client, data },
    [3.19318]
    [3.19369]
    state: XmppState { client, mut data },
  • replacement in src/xmpp/mod.rs at line 475
    [3.8525][2.8730:8796]()
    let get_roster = stanzas::make_get_roster(ID_GET_ROSTER);
    [3.8525]
    [3.19641]
    data.counter += 1;
    let id_init_roster = format!("id_init_roster{}", data.counter);
    let get_roster = stanzas::make_get_roster(&id_init_roster);
  • replacement in src/xmpp/mod.rs at line 482
    [3.19750][2.8797:8827]()
    .send(get_roster)
    [3.19750]
    [3.19780]
    .send(Packet::Stanza(get_roster))
  • replacement in src/xmpp/mod.rs at line 492
    [3.20084][2.8828:8909]()
    .processing(XmppConnection::process_initial_roster, stop_future)
    [3.20084]
    [3.20165]
    .processing(
    move |conn, event| conn.process_initial_roster(event, &id_init_roster),
    stop_future,
    )
  • replacement in src/xmpp/mod.rs at line 524
    [3.6667][2.8910:8938]()
    .send(presence)
    [3.6667]
    [3.8226]
    .send(Packet::Stanza(presence))
  • replacement in src/xmpp/mod.rs at line 537
    [3.8658][2.8939:9323]()
    if s.name() == "presence"
    && s.attr("from").map_or(false, |f| f == conn.account.jid)
    && s.attr("to").map_or(false, |f| f == conn.account.jid)
    {
    Ok(true)
    } else {
    Ok(false)
    [3.8658]
    [3.9042]
    use std::convert::TryInto;
    match s.try_into() as Result<xmpp_parsers::presence::Presence, _> {
    Ok(presence) => {
    Ok(presence.from.as_ref() == Some(&conn.state.client.jid))
    }
    Err(e) => {
    warn!("Not a self-presence: {}", e);
    Ok(false)
    }
  • replacement in src/xmpp/mod.rs at line 563
    [3.21632][2.9324:9463]()
    fn process_command(
    self,
    cmd: &XmppCommand,
    ) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>> {
    [3.21632]
    [3.21686]
    fn process_jid(&mut self, xmpp_to: &xmpp_parsers::Jid) {
    if let Some(ref mut mailbox) = self.state.data.outgoing_mailbox.get_mut(xmpp_to) {
    if !mailbox.is_empty() {
    if let Some(ref mut rdata) = self.state.data.roster.get_mut(xmpp_to) {
    info!("Jid {} in roster", xmpp_to);
    let sub_to = match rdata.0 {
    xmpp_parsers::roster::Subscription::To => true,
    xmpp_parsers::roster::Subscription::Both => true,
    _ => false,
    };
    if sub_to {
    info!("Subscribed to {}", xmpp_to);
    self.state.data.send_queue.extend(
    mailbox.drain(..).map(|message| {
    stanzas::make_chat_message(xmpp_to.clone(), message)
    }),
    );
    } else if rdata.1 == xmpp_parsers::roster::Ask::None {
    info!("Not subscribed to {}", xmpp_to);
    self.state
    .data
    .send_queue
    .push_back(stanzas::make_ask_subscribe(xmpp_to.clone()));
    }
    } else {
    info!("Jid {} not in roster", xmpp_to);
    self.state.data.counter += 1;
    let id_add_roster = format!("id_add_roster{}", self.state.data.counter);
    let add_roster = stanzas::make_add_roster(&id_add_roster, xmpp_to.clone());
    self.state
    .data
    .pending_add_roster_ids
    .insert(id_add_roster, xmpp_to.clone());
    info!("Adding jid to roster... {:?}", add_roster);
    self.state.data.send_queue.push_back(add_roster);
    }
    }
    }
    }
    fn process_command(&mut self, cmd: XmppCommand) {
  • replacement in src/xmpp/mod.rs at line 607
    [3.21716][2.9464:9665]()
    if let Some(_jid_data) = self.state.data.roster.get(&cmd.xmpp_to) {
    info!("Jid {} in roster", cmd.xmpp_to);
    } else {
    info!("Jid {} not in roster", cmd.xmpp_to);
    [3.21716]
    [3.23186]
    match cmd {
    XmppCommand::Chat { xmpp_to, message } => {
    self.state
    .data
    .outgoing_mailbox
    .entry(xmpp_to.clone())
    .or_default()
    .push(message);
    self.process_jid(&xmpp_to);
    }
    XmppCommand::Chatroom { muc_id, message } => {
    if let Some(muc) = self.state.data.mucs.get(&muc_id) {
    self.state
    .data
    .send_queue
    .push_back(stanzas::make_muc_message(muc.clone(), message));
    } else {
    error!("Not found MUC {}", muc_id);
    }
    }
    XmppCommand::Ping => {
    self.state.data.counter += 1;
    let id_ping = format!("id_ping{}", self.state.data.counter);
    let ping = stanzas::make_ping(&id_ping, self.state.client.jid.clone());
    self.state.data.send_queue.push_back(ping);
    }
  • replacement in src/xmpp/mod.rs at line 634
    [3.23196][2.9666:9691]()
    future::ok(self)
    [3.23196]
    [3.5042]
    }
    fn shutdown(self) -> impl Future<Item = (), Error = failure::Error> {
    info!("Shutdown connection");
    let XmppConnection { account, state } = self;
    stream::iter_ok(
    state
    .data
    .mucs
    .values()
    .map(std::clone::Clone::clone)
    .collect::<Vec<_>>(),
    )
    .fold(state, move |XmppState { client, data }, muc_jid| {
    let muc_presence =
    stanzas::make_muc_presence_leave(account.jid.clone(), muc_jid.clone());
    info!("Sending muc leave presence... {:?}", muc_presence);
    use tokio::prelude::Sink;
    client
    .send(Packet::Stanza(muc_presence))
    .map_err(|e| {
    error!("Error on send muc presence: {}", e);
    e
    })
    .and_then(|client| future::ok(XmppState { client, data }))
    })
    .map(|_| ())
    }
    fn enter_mucs<F, E>(
    self,
    _stop_future: F,
    ) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>>
    where
    F: Future<Error = E> + 'static,
    E: Into<failure::Error> + 'static,
    {
    let XmppConnection { account, state } = self;
    let account2 = account.clone();
    let account3 = account.clone();
    stream::iter_ok(account.chatrooms.clone())
    .fold(state, move |XmppState { client, mut data }, muc_jid| {
    data.counter += 1;
    let id_muc_presence = format!("id_muc_presence{}", data.counter);
    let muc_presence = stanzas::make_muc_presence(
    &id_muc_presence,
    account2.jid.clone(),
    muc_jid.1.clone(),
    );
    info!("Sending muc presence... {:?}", muc_presence);
    let account4 = account2.clone();
    use tokio::prelude::Sink;
    client
    .send(Packet::Stanza(muc_presence))
    .map_err(|e| {
    error!("Error on send muc presence: {}", e);
    account4
    })
    .and_then(|client| {
    data.mucs.insert(muc_jid.0, muc_jid.1);
    future::ok(XmppState { client, data })
    })
    })
    .map(|state| XmppConnection {
    account: account3,
    state,
    })
  • replacement in src/xmpp/mod.rs at line 711
    [3.60][2.9692:9716]()
    pub struct XmppCommand;
    [3.60]
    [3.3816]
    pub enum XmppCommand {
    Chat {
    xmpp_to: xmpp_parsers::Jid,
    message: String,
    },
    Chatroom {
    muc_id: String,
    message: String,
    },
    Ping,
    }
  • replacement in src/xmpp/mod.rs at line 761
    [3.23809][2.9717:10314]()
    Ok((conn, r)) => match r {
    Ok(Either::A(f)) => Box::new(if let Some(cmd_recv) = f.into_inner() {
    future::ok(future::Loop::Continue(XmppProcessState {
    cmd_recv,
    signal,
    conn: conn.into(),
    }))
    } else {
    future::err(format_err!("Command receiver is gone"))
    })
    as Box<dyn Future<Item = _, Error = _>>,
    [3.23809]
    [3.24419]
    Ok((mut conn, r)) => match r {
    Ok(Either::A(f)) => {
    if let Some(cmd_recv) = f.into_inner() {
    future::ok(future::Loop::Continue(XmppProcessState {
    cmd_recv,
    signal,
    conn: conn.into(),
    }))
    } else {
    error!("Command receiver is gone");
    future::ok(future::Loop::Break(Some(conn)))
    }
    }
  • replacement in src/xmpp/mod.rs at line 776
    [3.24532][2.10315:10865]()
    Box::new(conn.process_command(&cmd).then(|r| {
    future::ok(future::Loop::Continue(XmppProcessState {
    cmd_recv,
    signal,
    conn: match r {
    Ok(conn) => conn.into(),
    Err(account) => account.into(),
    },
    }))
    [3.24532]
    [3.24822]
    conn.process_command(cmd);
    future::ok(future::Loop::Continue(XmppProcessState {
    cmd_recv,
    signal,
    conn: conn.into(),
  • edit in src/xmpp/mod.rs at line 783
    [3.24858][2.10866:10942]()
    as Box<dyn Future<Item = _, Error = _>>
  • replacement in src/xmpp/mod.rs at line 784
    [3.24895][2.10943:11021]()
    Box::new(future::ok(future::Loop::Break(())))
    [3.24895]
    [3.24963]
    future::ok(future::Loop::Break(Some(conn)))
  • replacement in src/xmpp/mod.rs at line 787
    [3.2257][2.11022:11122]()
    Err(_) => Box::new(future::err(format_err!("Command receiver is broken"))),
    [3.2257]
    [3.25109]
    Err(_) => {
    error!("Command receiver is broken");
    future::ok(future::Loop::Break(Some(conn)))
    }
  • replacement in src/xmpp/mod.rs at line 792
    [3.25132][2.11123:11183]()
    Err((account, r)) => Box::new(match r {
    [3.25132]
    [3.25183]
    Err((account, r)) => match r {
  • replacement in src/xmpp/mod.rs at line 813
    [3.26249][2.11184:11252]()
    future::ok(future::Loop::Break(()))
    [3.26249]
    [3.26317]
    future::ok(future::Loop::Break(None))
  • replacement in src/xmpp/mod.rs at line 817
    [3.26438][2.11253:11277]()
    }),
    [3.26438]
    [3.26461]
    },
  • edit in src/xmpp/mod.rs at line 820
    [3.26491]
    [3.10542]
    })
    .and_then(|opt_conn| {
    if let Some(conn) = opt_conn {
    Box::new(conn.shutdown()) as Box<dyn Future<Item = (), Error = _>>
    } else {
    Box::new(future::ok(()))
    }
  • replacement in src/xmpp/element_processor.rs at line 0
    [2.11301][2.11302:12350]()
    pub struct Processor<S: 'static, T: 'static, E: Clone + 'static> {
    processors: Vec<Box<dyn Fn(&mut S, E) -> Option<T>>>,
    default: &'static dyn Fn(&mut S, E) -> T,
    }
    impl<S: 'static, T: 'static, E: Clone + 'static> Processor<S, T, E> {
    pub fn new<F>(f: &'static F) -> Processor<S, T, E>
    where
    F: Fn(&mut S, E) -> T + 'static,
    {
    Processor {
    processors: vec![],
    default: f,
    }
    }
    pub fn register<F, A>(&mut self, f: &'static F)
    where
    F: Fn(&mut S, A) -> T + 'static,
    A: std::convert::TryFrom<E>,
    {
    self.processors.push(Box::new(move |s, e: E| {
    use std::convert::TryInto;
    (e.try_into().ok() as Option<A>).map(|a| f(s, a))
    }));
    }
    pub fn process(&self, s: &mut S, e: E) -> T {
    for processor in self.processors.iter() {
    match processor(s, e.clone()) {
    Some(t) => return t,
    None => continue,
    }
    }
    (*self.default)(s, e)
    }
    }
    [2.11301]
    type Func<S, T, E> = dyn Fn(&mut S, E) -> T;
    pub struct Processor<S: 'static, T: 'static, E: Clone + 'static> {
    processors: Vec<Box<Func<S, Option<T>, E>>>,
    default: &'static Func<S, T, E>,
    }
    impl<S: 'static, T: 'static, E: Clone + 'static> Processor<S, T, E> {
    pub fn new<F>(f: &'static F) -> Processor<S, T, E>
    where
    F: Fn(&mut S, E) -> T + 'static,
    {
    Processor {
    processors: vec![],
    default: f,
    }
    }
    pub fn register<F, A>(&mut self, f: &'static F)
    where
    F: Fn(&mut S, A) -> T + 'static,
    A: std::convert::TryFrom<E>,
    {
    self.processors.push(Box::new(move |s, e: E| {
    use std::convert::TryInto;
    (e.try_into().ok() as Option<A>).map(|a| f(s, a))
    }));
    }
    pub fn process(&self, s: &mut S, e: E) -> T {
    for processor in self.processors.iter() {
    match processor(s, e.clone()) {
    Some(t) => return t,
    None => continue,
    }
    }
    (*self.default)(s, e)
    }
    }
  • edit in src/main.rs at line 2
    [3.3885]
    [3.3885]
    #![deny(bare_trait_objects)]
  • edit in src/main.rs at line 8
    [3.3621][2.12351:12373]()
    extern crate minidom;
  • edit in src/main.rs at line 22
    [3.3921][2.12374:12406]()
    use hyper::service::service_fn;
  • replacement in src/main.rs at line 27
    [3.4155][2.12407:12433]()
    use tokio::prelude::Sink;
    [3.4155]
    [3.4092]
    use tokio::prelude::{Future, Sink, Stream};
  • edit in src/main.rs at line 37
    [3.4337]
    [3.8026]
    fn body_to_string(req: Request<Body>) -> impl Future<Item = String, Error = failure::Error> {
    req.into_body()
    .map_err(std::convert::Into::into)
    .fold(String::new(), |mut acc, ch| {
    std::str::from_utf8(&*ch).map(|s| {
    acc.push_str(s);
    acc
    })
    })
    }
    struct ServiceCmd {
    cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,
    }
    impl hyper::service::Service for ServiceCmd {
    type ReqBody = Body;
    type ResBody = Body;
    type Error = failure::Error;
    type Future =
    Box<dyn Future<Item = Response<Self::ResBody>, Error = Self::Error> + Send + 'static>;
    fn call(&mut self, req: Request<Self::ReqBody>) -> Self::Future {
    let xmpp_to_opt = req.headers().get("X-XMPP-To");
    let xmpp_to_res: Result<xmpp_parsers::Jid, failure::Error> = xmpp_to_opt.map_or_else(
    || Err(format_err!("No X-XMPP-To header")),
    |xmpp_to| {
    std::str::from_utf8(xmpp_to.as_bytes())
    .map_err(std::convert::Into::into)
    .and_then(|s| std::str::FromStr::from_str(s).map_err(std::convert::Into::into))
    },
    );
    let xmpp_muc_opt = req
    .headers()
    .get("X-XMPP-Muc")
    .map(|h| h.to_str().map(std::string::ToString::to_string));
  • edit in src/main.rs at line 76
    [3.8027]
    [3.18]
    match (xmpp_muc_opt, xmpp_to_res) {
    (None, Err(err)) => {
    warn!("Unknown destination: {}", err);
    Box::new(tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from(format!("Unknown destination: {}", err)))
    .map_err(std::convert::Into::into),
    )) as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    (None, Ok(xmpp_to)) => {
    info!("Got request. Reading body...");
    let cmd_send = self.cmd_send.clone();
    Box::new(body_to_string(req).and_then(move |message: String| {
    if !message.is_empty() {
    Box::new(
    cmd_send
    .clone()
    .send(XmppCommand::Chat { xmpp_to, message })
    .then(|r| match r {
    Ok(_) => tokio::prelude::future::ok(Response::new(Body::from(
    "Accepted",
    ))),
    Err(e) => {
    error!("Command sent error: {}", e);
    tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from(format!(
    "Command sent error: {}",
    e
    ))),
    )
    }
    })
    .map_err(std::convert::Into::into),
    )
    } else {
    warn!("Empty message");
    Box::new(tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from("Empty message"))
    .map_err(std::convert::Into::into),
    ))
    as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    })) as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    (Some(Ok(muc_id)), _) => {
    info!("Got MUC request. Reading body...");
    let cmd_send = self.cmd_send.clone();
    Box::new(body_to_string(req).and_then(move |message: String| {
    if !message.is_empty() {
    Box::new(
    cmd_send
    .clone()
    .send(XmppCommand::Chatroom { muc_id, message })
    .then(|r| match r {
    Ok(_) => tokio::prelude::future::ok(Response::new(Body::from(
    "Accepted",
    ))),
    Err(e) => {
    error!("Command sent error: {}", e);
    tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from(format!(
    "Command sent error: {}",
    e
    ))),
    )
    }
    })
    .map_err(std::convert::Into::into),
    )
    } else {
    warn!("Empty message");
    Box::new(tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from("Empty message"))
    .map_err(std::convert::Into::into),
    ))
    as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    })) as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    (Some(Err(err)), _) => {
    warn!("Unknown MUC destination: {}", err);
    Box::new(tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from(format!("Unknown MUC destination: {}", err)))
    .map_err(std::convert::Into::into),
    )) as Box<dyn Future<Item = _, Error = _> + Send + 'static>
    }
    }
    }
    }
    struct MakeServiceCmd {
    cmd_send: tokio_channel::mpsc::Sender<XmppCommand>,
    }
    impl<Ctx> hyper::service::MakeService<Ctx> for MakeServiceCmd {
    type ReqBody = Body;
    type ResBody = Body;
    type Error = failure::Error;
    type Service = ServiceCmd;
    type Future = tokio::prelude::future::FutureResult<ServiceCmd, Self::MakeError>;
    type MakeError = hyper::http::Error;
    fn make_service(&mut self, _ctx: Ctx) -> Self::Future {
    tokio::prelude::future::ok(ServiceCmd {
    cmd_send: self.cmd_send.clone(),
    })
    }
    }
  • replacement in src/main.rs at line 229
    [3.5155][2.12434:13203]()
    .serve(move || {
    let cmd_send = cmd_send.clone();
    service_fn(move |_req: Request<Body>| {
    info!("Got request");
    cmd_send.clone().send(XmppCommand {}).then(|r| match r {
    Ok(_) => tokio::prelude::future::ok(Response::new(Body::from("Accepted"))),
    Err(e) => {
    error!("Command sent error: {}", e);
    tokio::prelude::future::result(
    Response::builder()
    .status(hyper::StatusCode::BAD_REQUEST)
    .body(Body::from(format!("Command sent error: {}", e))),
    )
    }
    })
    })
    [3.5155]
    [3.11293]
    .serve(MakeServiceCmd {
    cmd_send: cmd_send.clone(),
  • edit in src/main.rs at line 237
    [3.6049]
    [3.5562]
    if let Some(ping) = config.account.ping {
    let ping = tokio::timer::Interval::new_interval(std::time::Duration::from_secs(ping));
    rt.spawn(
    ping.map_err(|e| {
    error!("Ping error: {}", e);
    })
    .for_each(move |_| {
    cmd_send
    .clone()
    .send(XmppCommand::Ping)
    .map_err(|e| {
    error!("Ping command error: {}", e);
    })
    .map(|_| ())
    })
    .select(
    ctrl_c
    .clone()
    .map(|_| ())
    .map_err(|e| error!("ping server error: {}", e)),
    )
    .map(|_| ())
    .map_err(|_| ()),
    );
    }
  • edit in src/config.rs at line 0
    [3.1396]
    [3.1397]
    use std::collections::HashMap;
  • replacement in src/config.rs at line 7
    [3.1502][2.13204:13225]()
    pub jid: String,
    [3.1502]
    [3.1523]
    #[serde(deserialize_with = "deserialize_jid")]
    pub jid: xmpp_parsers::Jid,
  • edit in src/config.rs at line 10
    [3.1549]
    [3.1549]
    #[serde(default, deserialize_with = "deserialize_jid_map")]
    pub chatrooms: HashMap<String, xmpp_parsers::Jid>,
    pub ping: Option<u64>,
  • edit in src/config.rs at line 30
    [3.1943]
    [3.1943]
    }
    fn deserialize_jid<'de, D>(deserializer: D) -> Result<xmpp_parsers::Jid, D::Error>
    where
    D: serde::Deserializer<'de>,
    {
    use serde::Deserialize;
    let s = String::deserialize(deserializer)?;
    std::str::FromStr::from_str(&s).map_err(serde::de::Error::custom)
    }
    fn deserialize_jid_map<'de, D>(
    deserializer: D,
    ) -> Result<HashMap<String, xmpp_parsers::Jid>, D::Error>
    where
    D: serde::Deserializer<'de>,
    {
    use serde::Deserialize;
    let s = HashMap::<String, String>::deserialize(deserializer)?;
    let size = s.len();
    s.into_iter()
    .map(|(k, v)| (k, std::str::FromStr::from_str(&v)))
    .take_while(|(_k, r)| r.is_ok())
    .fold(Ok(HashMap::with_capacity(size)), |res, (k, r)| match res {
    Ok(mut res) => match r {
    Ok(v) => {
    res.insert(k, v);
    Ok(res)
    }
    Err(e) => Err(e),
    },
    Err(e) => Err(e),
    })
    .map_err(serde::de::Error::custom)
  • edit in README.md at line 0
    [3.76]
    ### XMPP client daemon
    #### Sending messages
    ```
    curl http://localhost:8083/ -H "X-XMPP-To: some@domain.org" -d "Test"
    ```
    #### Sending messages to MUC
    ```
    curl http://localhost:8083/ -H "X-XMPP-Muc: smac" -d "Test"
    ```
  • replacement in Cargo.toml at line 12
    [3.6900][2.13226:13261]()
    tokio-xmpp = "0.2"
    failure = "0.1"
    [3.6900]
    [3.6935]
    tokio-xmpp = "1.0.0"
    failure = "0.1.5"
  • replacement in Cargo.toml at line 15
    [3.6950][2.13262:13275]()
    toml = "0.4"
    [3.6950]
    [3.6963]
    toml = "0.5"
  • replacement in Cargo.toml at line 21
    [3.6425][2.13276:13394]()
    minidom = "=0.9.1" # dependency of tokio-xmpp
    xmpp-parsers = "0.11"
    try_from = "=0.2.2" # dependency of xmpp-parsers
    [3.6425]
    xmpp-parsers = "0.13"
    minidom = "=0.10.0" # xmpp-parsers
  • edit in Cargo.lock at line 0
    [3.12201]
    [3.6543]
    # This file is automatically @generated by Cargo.
    # It is not intended for manual editing.
  • edit in Cargo.lock at line 3
    [3.6555]
    [3.6555]
    name = "MacTypes-sys"
    version = "2.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
  • replacement in Cargo.lock at line 12
    [3.6577][2.13395:13413]()
    version = "0.6.9"
    [3.6577]
    [3.6595]
    version = "0.7.3"
  • replacement in Cargo.lock at line 15
    [3.6677][2.13414:13487]()
    "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.6677]
    [3.6750]
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 23
    [3.7455][2.13488:13561]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.7455]
    [3.7528]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 28
    [3.7561][2.13562:13580]()
    version = "0.3.6"
    [3.7561]
    [2.13580]
    version = "0.3.10"
  • edit in Cargo.lock at line 32
    [2.13658][2.13658:13694](),[3.13512][3.1388:1466](),[3.19557][3.1388:1466](),[2.13694][3.1388:1466](),[3.14414][3.1388:1466](),[3.4795][3.1388:1466](),[3.6772][3.1388:1466](),[3.1388][3.1388:1466]()
    name = "arrayref"
    version = "0.3.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
  • replacement in Cargo.lock at line 33
    [3.7789][2.13695:13713]()
    version = "0.4.8"
    [3.7789]
    [3.7807]
    version = "0.4.10"
  • replacement in Cargo.lock at line 44
    [3.8093][2.13714:13786]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.8093]
    [3.8165]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 46
    [3.8239][2.13787:13860]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.8239]
    [3.8312]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 50
    [3.10388][2.13861:13898]()
    name = "backtrace"
    version = "0.2.3"
    [3.10388]
    [3.8364]
    name = "autocfg"
    version = "0.1.2"
  • edit in Cargo.lock at line 53
    [3.8429][2.13899:14455]()
    dependencies = [
    "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 56
    [3.9017][2.14456:14474]()
    version = "0.3.9"
    [3.9017]
    [3.9035]
    version = "0.3.15"
  • replacement in Cargo.lock at line 59
    [3.9117][2.14475:14855]()
    "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.9117]
    [3.9497]
    "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 69
    [3.9535][2.14856:14875]()
    version = "0.1.24"
    [3.9535]
    [3.9554]
    version = "0.1.28"
  • replacement in Cargo.lock at line 72
    [3.9636][2.14876:15018]()
    "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.9636]
    [3.9778]
    "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 78
    [3.9809][2.15019:15037]()
    version = "0.9.3"
    [3.9809]
    [3.9827]
    version = "0.10.1"
  • replacement in Cargo.lock at line 81
    [3.9909][2.15038:15188]()
    "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.9909]
    [3.10059]
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 91
    [3.10204][2.15189:15207]()
    version = "0.7.1"
    [3.10204]
    [3.10222]
    version = "0.8.0"
  • replacement in Cargo.lock at line 94
    [3.10304][2.15208:15435]()
    "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "crypto-mac 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.10304]
    [3.10531]
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 102
    [3.10568][2.15436:15454]()
    version = "0.3.3"
    [3.10568]
    [3.15479]
    version = "0.7.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "block-padding"
    version = "0.1.3"
  • replacement in Cargo.lock at line 116
    [3.15561][2.15455:15607]()
    "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.15561]
    [3.20937]
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 121
    [3.10855][2.15608:15626]()
    version = "0.2.0"
    [3.10855]
    [3.10873]
    version = "0.3.1"
  • replacement in Cargo.lock at line 126
    [3.10970][2.15627:15645]()
    version = "1.2.7"
    [3.10970]
    [3.10988]
    version = "1.3.1"
  • replacement in Cargo.lock at line 131
    [3.11081][2.15646:15665]()
    version = "0.4.11"
    [3.11081]
    [3.11100]
    version = "0.4.12"
  • replacement in Cargo.lock at line 134
    [3.11182][2.15666:15742]()
    "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.11182]
    [3.11258]
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 145
    [3.11467][2.15743:15762]()
    version = "1.0.25"
    [3.11467]
    [3.11486]
    version = "1.0.35"
  • replacement in Cargo.lock at line 150
    [3.11580][2.15763:15781]()
    version = "0.1.6"
    [3.11580]
    [3.11598]
    version = "0.1.7"
  • replacement in Cargo.lock at line 160
    [3.11948][2.15782:15854]()
    "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.11948]
    [3.12020]
    "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 165
    [3.12049][2.15855:15874]()
    version = "2.32.0"
    [3.12049]
    [3.12068]
    version = "2.33.0"
  • replacement in Cargo.lock at line 171
    [3.12374][2.15875:16024]()
    "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.12374]
    [3.12523]
    "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 184
    [3.12887][2.16025:16147]()
    [[package]]
    name = "constant_time_eq"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
  • replacement in Cargo.lock at line 191
    [3.13233][2.16148:16220]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13233]
    [3.13305]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 199
    [3.10117][2.16221:16293]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.10117]
    [3.13825]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 204
    [3.10219][2.16294:16312]()
    version = "0.6.2"
    [3.10219]
    [3.13883]
    version = "0.7.1"
  • replacement in Cargo.lock at line 207
    [3.13965][2.16313:16477]()
    "crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13965]
    [3.15736]
    "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 213
    [3.10346][2.16478:16496]()
    version = "0.6.1"
    [3.10346]
    [3.15794]
    version = "0.7.1"
  • replacement in Cargo.lock at line 216
    [3.15876][2.16497:16805]()
    "arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.15876]
    [3.10593]
    "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 225
    [3.14441][2.16806:16849]()
    name = "crossbeam-utils"
    version = "0.6.1"
    [3.14441]
    [3.14733]
    name = "crossbeam-queue"
    version = "0.1.2"
  • replacement in Cargo.lock at line 229
    [3.14815][2.16850:16923]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.14815]
    [3.14897]
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 233
    [3.14912][2.16924:16962]()
    name = "crypto-mac"
    version = "0.5.2"
    [3.14912]
    [3.4227]
    name = "crossbeam-utils"
    version = "0.6.5"
  • replacement in Cargo.lock at line 237
    [3.7801][2.16963:17126]()
    "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.7801]
    [3.7874]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 242
    [3.4305][2.17127:17166]()
    name = "dbghelp-sys"
    version = "0.2.0"
    [3.4305]
    [3.7366]
    name = "crypto-mac"
    version = "0.7.0"
  • replacement in Cargo.lock at line 246
    [3.7448][2.17167:17319]()
    "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.7448]
    [3.7611]
    "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 262
    [3.15609][2.17320:17338]()
    version = "0.7.6"
    [3.15609]
    [3.15627]
    version = "0.8.0"
  • replacement in Cargo.lock at line 265
    [3.15709][2.17339:17419]()
    "generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.15709]
    [3.15789]
    "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 270
    [3.15825][2.17420:17439]()
    version = "0.8.12"
    [3.15825]
    [3.15844]
    version = "0.8.17"
  • replacement in Cargo.lock at line 273
    [3.15926][2.17440:17513]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.15926]
    [3.7897]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 278
    [3.7932][2.17514:17532]()
    version = "0.6.0"
    [3.7932]
    [3.7950]
    version = "0.6.1"
  • replacement in Cargo.lock at line 284
    [3.8250][2.17533:17605]()
    "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.8250]
    [3.8322]
    "regex 1.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 290
    [3.4842][2.17606:17819]()
    version = "0.1.12"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "error-chain"
  • replacement in Cargo.lock at line 293
    [3.16849][2.17820:17896]()
    "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.16849]
    [3.16925]
    "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 298
    [3.16957][2.17897:17915]()
    version = "0.1.3"
    [3.16957]
    [3.16975]
    version = "0.1.5"
  • replacement in Cargo.lock at line 301
    [3.17057][2.17916:18073]()
    "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.17057]
    [3.17214]
    "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 307
    [3.17253][2.18074:18092]()
    version = "0.1.3"
    [3.17253]
    [3.17271]
    version = "0.1.5"
  • replacement in Cargo.lock at line 310
    [3.17353][2.18093:18317]()
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.17353]
    [3.8623]
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 336
    [3.18151]
    [3.18151]
    version = "0.1.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "fuchsia-cprng"
  • replacement in Cargo.lock at line 364
    [3.18854][2.18318:18406]()
    "new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.18854]
    [3.18942]
    "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 369
    [3.18974][2.18407:18426]()
    version = "0.1.25"
    [3.18974]
    [3.18993]
    version = "0.1.26"
  • replacement in Cargo.lock at line 377
    [3.19196][2.18427:18577]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19196]
    [3.19346]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 383
    [3.19384][2.18578:18596]()
    version = "0.9.0"
    [3.19384]
    [3.19402]
    version = "0.12.0"
  • replacement in Cargo.lock at line 391
    [3.19586][2.18597:18616]()
    version = "0.1.14"
    [3.19586]
    [3.19605]
    version = "0.1.18"
  • replacement in Cargo.lock at line 394
    [3.19687][2.18617:18766]()
    "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19687]
    [3.19836]
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 397
    [3.19906][2.18767:18914]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19906]
    [3.20053]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 401
    [3.8941][2.18915:19135]()
    "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.8941]
    [3.18475]
    "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "string 0.1.3 (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 = "hmac"
    version = "0.7.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 420
    [3.20551][2.19136:19208]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.20551]
    [3.20623]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 426
    [3.20726][2.19209:19228]()
    version = "0.1.14"
    [3.20726]
    [3.20745]
    version = "0.1.17"
  • replacement in Cargo.lock at line 429
    [3.20827][2.19229:19302]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.20827]
    [3.20900]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 449
    [3.21397][2.19303:19323]()
    version = "0.12.17"
    [3.21397]
    [3.21417]
    version = "0.12.27"
  • replacement in Cargo.lock at line 452
    [3.21499][2.19324:19472]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.21499]
    [3.21647]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 455
    [3.21729][2.19473:19615]()
    "h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.21729]
    [3.21871]
    "h2 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
    "http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 462
    [3.22231][2.19616:20235]()
    "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.22231]
    [3.22850]
    "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.18 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.7 (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.9 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 481
    [3.23203][2.20236:20324]()
    "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.23203]
    [3.23291]
    "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 494
    [3.23535][2.20325:20397]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.23535]
    [3.23607]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 506
    [3.24042][2.20398:20471]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.24042]
    [3.24115]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 517
    [3.24326][2.20472:20490]()
    version = "0.5.2"
    [3.24326]
    [3.24344]
    version = "0.5.3"
  • replacement in Cargo.lock at line 520
    [3.24426][2.20491:20720]()
    "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.24426]
    [3.24655]
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 541
    [3.25092][2.20721:20739]()
    version = "1.2.0"
    [3.25092]
    [3.25110]
    version = "1.3.0"
  • replacement in Cargo.lock at line 551
    [3.25316][2.20740:20759]()
    version = "0.2.44"
    [3.25316]
    [3.25335]
    version = "0.2.51"
  • replacement in Cargo.lock at line 556
    [3.25438][2.20760:20778]()
    version = "0.4.2"
    [3.25438]
    [3.25456]
    version = "0.5.2"
  • replacement in Cargo.lock at line 573
    [3.25934][2.20779:20852]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.25934]
    [3.26007]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 578
    [3.26041][2.20853:20871]()
    version = "0.1.1"
    [3.26041]
    [3.26059]
    version = "0.1.2"
  • replacement in Cargo.lock at line 581
    [3.26141][2.20872:20954]()
    "linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.26141]
    [3.26223]
    "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 591
    [3.26368][2.20955:20973]()
    version = "0.7.3"
    [3.26368]
    [3.26386]
    version = "0.7.5"
  • replacement in Cargo.lock at line 594
    [3.26468][2.20974:21355]()
    "phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.26468]
    [3.26849]
    "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 601
    [3.27015][2.21356:21430]()
    "tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.27015]
    [3.27089]
    "tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 611
    [3.27233][2.21431:21449]()
    version = "2.1.1"
    [3.27233]
    [3.27251]
    version = "2.2.0"
  • edit in Cargo.lock at line 613
    [3.27316][2.21450:21694]()
    dependencies = [
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 621
    [3.27705][2.21695:21713]()
    version = "0.9.1"
    [3.27705]
    [3.27723]
    version = "0.10.0"
  • replacement in Cargo.lock at line 624
    [3.27805][2.21714:21946]()
    "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.27805]
    [3.28037]
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "quick-xml 0.13.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 639
    [3.10535][2.21947:22019]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.10535]
    [3.10607]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 643
    [3.28843][2.22020:22091]()
    "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.28843]
    [3.28914]
    "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 653
    [3.29191][2.22092:22164]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.29191]
    [3.29263]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 673
    [3.29899][2.22165:22315]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.29899]
    [3.10901]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 676
    [3.10971][2.22316:22392]()
    "openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.10971]
    [3.30195]
    "openssl 0.10.20 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 678
    [3.30275][2.22393:22797]()
    "openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)",
    "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.30275]
    [3.30679]
    "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)",
    "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 690
    [3.30809][2.22798:23016]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.30809]
    [3.31027]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 697
    [3.31073][2.23017:23035]()
    version = "1.0.1"
    [3.31073]
    [3.31091]
    version = "1.0.3"
  • edit in Cargo.lock at line 699
    [3.31156][2.23036:23133]()
    dependencies = [
    "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 720
    [3.31727][2.23134:23152]()
    version = "1.8.0"
    [3.31727]
    [3.31745]
    version = "1.10.0"
  • replacement in Cargo.lock at line 723
    [3.31827][2.23153:23225]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.31827]
    [3.31899]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 725
    [3.31901]
    [3.39281]
    [[package]]
    name = "opaque-debug"
    version = "0.2.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
  • replacement in Cargo.lock at line 733
    [3.31931][2.23226:23246]()
    version = "0.10.15"
    [3.31931]
    [3.31951]
    version = "0.10.20"
  • replacement in Cargo.lock at line 737
    [3.32108][2.23247:23320]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.32108]
    [3.32181]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 739
    [3.32261][2.23321:23550]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.32261]
    [3.32490]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 751
    [3.32645][2.23551:23570]()
    version = "0.9.39"
    [3.32645]
    [3.32664]
    version = "0.9.43"
  • replacement in Cargo.lock at line 754
    [3.32746][2.23571:23713]()
    "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.32746]
    [3.32888]
    "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 757
    [3.32966]
    [3.32966]
    "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 771
    [3.33294][2.23714:23732]()
    version = "0.6.4"
    [3.33294]
    [3.33312]
    version = "0.7.1"
  • replacement in Cargo.lock at line 775
    [3.11532][2.23733:23816]()
    "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.11532]
    [3.33552]
    "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 780
    [3.33593][2.23817:23835]()
    version = "0.3.1"
    [3.33593]
    [3.33611]
    version = "0.4.0"
  • replacement in Cargo.lock at line 783
    [3.33693][2.23836:23979]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.33693]
    [3.33836]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 786
    [3.33916][2.23980:24128]()
    "smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.33916]
    [3.40242]
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "pbkdf2"
    version = "0.3.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 806
    [3.34214][2.24129:24148]()
    version = "0.7.23"
    [3.34214]
    [3.34233]
    version = "0.7.24"
  • replacement in Cargo.lock at line 809
    [3.34315][2.24149:24227]()
    "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.34315]
    [3.34393]
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 814
    [3.34429][2.24228:24247]()
    version = "0.7.23"
    [3.34429]
    [3.34448]
    version = "0.7.24"
  • replacement in Cargo.lock at line 817
    [3.34530][2.24248:24407]()
    "phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.34530]
    [3.34689]
    "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 823
    [3.34727][2.24408:24427]()
    version = "0.7.23"
    [3.34727]
    [3.34746]
    version = "0.7.24"
  • replacement in Cargo.lock at line 826
    [3.34828][2.24428:24577]()
    "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.34828]
    [3.34977]
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 832
    [3.35012][2.24578:24597]()
    version = "0.7.23"
    [3.35012]
    [3.35031]
    version = "0.7.24"
  • replacement in Cargo.lock at line 850
    [3.35464][2.24598:24617]()
    version = "0.4.24"
    [3.35464]
    [3.35483]
    version = "0.4.27"
  • replacement in Cargo.lock at line 863
    [3.35794][2.24618:24637]()
    version = "0.12.4"
    [3.35794]
    [3.35813]
    version = "0.13.3"
  • replacement in Cargo.lock at line 866
    [3.35895][2.24638:24791]()
    "encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.35895]
    [3.11782]
    "encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 869
    [3.11852][2.24792:24865]()
    "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.11852]
    [3.36191]
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 879
    [3.36333][2.24866:24885]()
    version = "0.6.10"
    [3.36333]
    [3.13435]
    version = "0.6.12"
  • replacement in Cargo.lock at line 882
    [3.13517][2.24886:24965]()
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13517]
    [2.24965]
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 887
    [2.24994][2.24994:25012]()
    version = "0.4.3"
    [2.24994]
    [2.25012]
    version = "0.5.6"
  • edit in Cargo.lock at line 890
    [2.25094][2.25094:25320](),[3.29702][3.37374:37377](),[2.25320][3.37374:37377](),[3.23333][3.37374:37377](),[3.13743][3.37374:37377](),[3.37374][3.37374:37377](),[3.37377][3.9029:9041](),[3.9029][3.9029:9041](),[3.9041][3.37378:37392](),[3.37392][2.25321:25339](),[3.23510][3.37410:37492](),[3.29721][3.37410:37492](),[3.11994][3.37410:37492](),[2.25339][3.37410:37492](),[3.41186][3.37410:37492](),[3.17174][3.37410:37492](),[3.37410][3.37410:37492]()
    "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand"
    version = "0.5.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
  • replacement in Cargo.lock at line 891
    [3.12070][2.25340:25642]()
    "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.12070]
    [3.12245]
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 899
    [3.12274][2.25643:25661]()
    version = "0.6.1"
    [3.12274]
    [3.12292]
    version = "0.6.5"
  • replacement in Cargo.lock at line 902
    [3.12374][2.25662:26044]()
    "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.12374]
    [3.12756]
    "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 908
    [3.12907][2.26045:26353]()
    "rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.12907]
    [3.13143]
    "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 917
    [3.13179][2.26354:26372]()
    version = "0.1.0"
    [3.13179]
    [3.13197]
    version = "0.1.1"
  • replacement in Cargo.lock at line 920
    [3.13279][2.26373:26529]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13279]
    [3.38333]
    "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 926
    [3.38659][2.26530:26548]()
    version = "0.2.2"
    [3.38659]
    [3.38677]
    version = "0.3.1"
  • replacement in Cargo.lock at line 929
    [3.38759][2.26549:26625]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.38759]
    [3.38835]
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 934
    [3.38869][2.26626:26644]()
    version = "0.3.0"
    [3.38869]
    [3.13436]
    version = "0.4.0"
  • replacement in Cargo.lock at line 942
    [3.13631][2.26645:26721]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13631]
    [3.13707]
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 950
    [3.13778][2.26722:26798]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13778]
    [3.30943]
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_jitter"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_os"
    version = "0.1.3"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 978
    [3.13875]
    [2.26799]
    version = "0.1.2"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "rand_xorshift"
  • replacement in Cargo.lock at line 990
    [3.13975][2.26818:26974]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.13975]
    [3.14131]
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 994
    [3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14146][3.14146:14169](),[3.14169][2.26975:26993]()
    name = "rand_xorshift"
    version = "0.1.0"
    [3.14146]
    [3.31977]
    name = "rdrand"
    version = "0.4.0"
  • replacement in Cargo.lock at line 998
    [3.32059][2.26994:27070]()
    "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.32059]
    [3.32135]
    "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1003
    [3.39910][2.27071:27090]()
    version = "0.1.43"
    [3.39910]
    [3.39929]
    version = "0.1.54"
  • replacement in Cargo.lock at line 1011
    [3.14463][2.27091:27172]()
    "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.14463]
    [3.14544]
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1016
    [3.14574][2.27173:27191]()
    version = "1.0.6"
    [3.14574]
    [3.14592]
    version = "1.1.5"
  • replacement in Cargo.lock at line 1019
    [3.14674][2.27192:27423]()
    "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.14674]
    [3.14905]
    "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1028
    [3.15099][2.27424:27442]()
    version = "0.6.3"
    [3.15099]
    [3.40259]
    version = "0.6.6"
  • replacement in Cargo.lock at line 1039
    [3.41080][2.27443:27516]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.41080]
    [3.41153]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1044
    [3.41189][2.27517:27535]()
    version = "0.6.1"
    [3.41189]
    [3.41207]
    version = "0.6.2"
  • replacement in Cargo.lock at line 1053
    [3.41481][2.27536:27554]()
    version = "0.1.9"
    [3.41481]
    [3.41499]
    version = "0.1.14"
  • edit in Cargo.lock at line 1067
    [3.15212][2.27555:27668]()
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "safemem"
    version = "0.3.0"
  • replacement in Cargo.lock at line 1071
    [3.42024][2.27669:27687]()
    version = "0.4.2"
    [3.42024]
    [3.42042]
    version = "0.4.3"
  • replacement in Cargo.lock at line 1074
    [3.42124][2.27688:27837]()
    "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.42124]
    [3.42273]
    "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1084
    [3.42306][2.27838:27857]()
    version = "0.1.14"
    [3.42306]
    [3.42325]
    version = "0.1.15"
  • replacement in Cargo.lock at line 1087
    [3.42407][2.27858:28009]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.42407]
    [3.42558]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1098
    [3.42717][2.28010:28028]()
    version = "0.2.1"
    [3.42717]
    [3.42735]
    version = "0.2.2"
  • replacement in Cargo.lock at line 1103
    [3.42985][2.28029:28190]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.42985]
    [3.43146]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1109
    [3.43193][2.28191:28209]()
    version = "0.2.1"
    [3.43193]
    [3.43211]
    version = "0.2.3"
  • edit in Cargo.lock at line 1112
    [3.43293]
    [3.43293]
    "MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1114
    [3.43379][2.28210:28282]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.43379]
    [3.43451]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1134
    [3.43832][2.28283:28580]()
    "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.43832]
    [3.15663]
    "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "hyper 0.12.27 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1139
    [3.15733][2.28581:28881]()
    "minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.15733]
    [3.15881]
    "minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1145
    [3.16040][2.28882:29186]()
    "tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.16040]
    [3.44887]
    "tokio-xmpp 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "toml 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "xmpp-parsers 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1152
    [3.44917][2.29187:29206]()
    version = "1.0.80"
    [3.44917]
    [3.44936]
    version = "1.0.90"
  • replacement in Cargo.lock at line 1157
    [3.45036][2.29207:29226]()
    version = "1.0.80"
    [3.45036]
    [3.45055]
    version = "1.0.90"
  • replacement in Cargo.lock at line 1160
    [3.45137][2.29227:29451]()
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.45137]
    [3.45361]
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1167
    [3.45396][2.29452:29471]()
    version = "1.0.33"
    [3.45396]
    [3.45415]
    version = "1.0.39"
  • replacement in Cargo.lock at line 1172
    [3.16584][2.29472:29545]()
    "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.16584]
    [3.45711]
    "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1177
    [3.45741][2.29546:29564]()
    version = "0.7.0"
    [3.45741]
    [3.45759]
    version = "0.8.1"
  • replacement in Cargo.lock at line 1180
    [3.45841][2.29565:29794]()
    "block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.45841]
    [3.46070]
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 1183
    [3.46146]
    [3.46146]
    "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1188
    [3.46175][2.29795:29813]()
    version = "0.7.1"
    [3.46175]
    [3.46193]
    version = "0.8.0"
  • replacement in Cargo.lock at line 1191
    [3.46275][2.29814:30043]()
    "block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.46275]
    [3.46504]
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 1194
    [3.46580]
    [3.46580]
    "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1199
    [3.46609][2.30044:30062]()
    version = "0.7.3"
    [3.46609]
    [3.46627]
    version = "0.8.1"
  • replacement in Cargo.lock at line 1202
    [3.46709][2.30063:30292]()
    "block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.46709]
    [3.46938]
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 1206
    [3.47011]
    [3.47011]
    "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1211
    [3.47047][2.30293:30311]()
    version = "0.1.6"
    [3.47047]
    [3.47065]
    version = "0.1.8"
  • replacement in Cargo.lock at line 1214
    [3.47147][2.30312:30459]()
    "arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.47147]
    [3.47294]
    "arc-swap 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1225
    [3.47438][2.30460:30478]()
    version = "0.4.1"
    [3.47438]
    [3.47456]
    version = "0.4.2"
  • replacement in Cargo.lock at line 1230
    [3.47552][2.30479:30497]()
    version = "0.6.6"
    [3.47552]
    [3.47570]
    version = "0.6.9"
  • edit in Cargo.lock at line 1232
    [3.47635][2.30498:30595]()
    dependencies = [
    "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 1238
    [3.47862][2.30596:30895]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.47862]
    [3.48161]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1251
    [3.48316][2.30896:30914]()
    version = "0.1.2"
    [3.48316]
    [3.48334]
    version = "0.1.3"
  • replacement in Cargo.lock at line 1259
    [3.48534][2.30915:31159]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.48534]
    [3.48778]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1263
    [3.48861][2.31160:31233]()
    "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.48861]
    [3.48934]
    "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1273
    [3.49252][2.31234:31545]()
    "phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.49252]
    [3.49563]
    "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1287
    [3.49805][2.31546:31564]()
    version = "0.7.0"
    [3.49805]
    [3.49823]
    version = "0.8.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "subtle"
    version = "1.0.0"
  • replacement in Cargo.lock at line 1307
    [3.50268][2.31565:31585]()
    version = "0.15.22"
    [3.50268]
    [3.50288]
    version = "0.15.30"
  • replacement in Cargo.lock at line 1310
    [3.50370][2.31586:31738]()
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.50370]
    [3.50522]
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1328
    [3.50947][2.31739:31963]()
    "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.50947]
    [3.51171]
    "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
    "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1336
    [3.51282][2.31964:31982]()
    version = "3.0.5"
    [3.51282]
    [3.51300]
    version = "3.0.7"
  • replacement in Cargo.lock at line 1339
    [3.51382][2.31983:32280]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.51382]
    [3.51679]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1344
    [3.51760][2.32281:32354]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.51760]
    [3.51833]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1349
    [3.51865][2.32355:32373]()
    version = "0.4.0"
    [3.51865]
    [3.51883]
    version = "0.4.1"
  • replacement in Cargo.lock at line 1354
    [3.52106][2.32374:32446]()
    "utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.52106]
    [3.17839]
    "utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1370
    [3.52519][2.32447:32600]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.52519]
    [3.52672]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1377
    [3.52785][2.32601:32620]()
    version = "0.10.0"
    [3.52785]
    [3.52804]
    version = "0.11.0"
  • replacement in Cargo.lock at line 1388
    [3.18340][2.32621:32699]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.18340]
    [3.52966]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1393
    [3.53210][2.32700:32719]()
    version = "0.1.40"
    [3.53210]
    [3.53229]
    version = "0.1.42"
  • replacement in Cargo.lock at line 1396
    [3.53311][2.32720:32946]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.53311]
    [3.53537]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
    "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1403
    [3.53567][2.32947:32966]()
    version = "0.1.13"
    [3.53567]
    [3.53586]
    version = "0.1.18"
  • replacement in Cargo.lock at line 1406
    [3.53668][2.32967:33115]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.53668]
    [3.53816]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1409
    [3.53887][2.33116:33191]()
    "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.53887]
    [3.53962]
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1411
    [3.54040][2.33192:33828]()
    "tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.54040]
    [3.19073]
    "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-fs 0.1.6 (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.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-sync 0.1.4 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1422
    [3.19149][2.33829:33905]()
    "tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19149]
    [3.19225]
    "tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1430
    [3.19363][2.33906:33981]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19363]
    [3.55024]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1438
    [3.55160][2.33982:34206]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.55160]
    [3.55384]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1445
    [3.55429][2.34207:34225]()
    version = "0.1.4"
    [3.55429]
    [3.55447]
    version = "0.1.6"
  • replacement in Cargo.lock at line 1448
    [3.55529][2.34226:34382]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.55529]
    [3.55685]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1454
    [3.55724][2.34383:34401]()
    version = "0.1.5"
    [3.55724]
    [3.55742]
    version = "0.1.7"
  • replacement in Cargo.lock at line 1457
    [3.55824][2.34402:34477]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.55824]
    [3.55899]
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1463
    [3.55932][2.34478:34496]()
    version = "0.1.4"
    [3.55932]
    [3.55950]
    version = "0.1.6"
  • replacement in Cargo.lock at line 1466
    [3.56032][2.34497:34731]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.56032]
    [3.56266]
    "futures 0.1.26 (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.13 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1473
    [3.56299][2.34732:34751]()
    version = "0.1.10"
    [3.56299]
    [3.56318]
    version = "0.1.12"
  • replacement in Cargo.lock at line 1476
    [3.56400][2.34752:34900]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.56400]
    [3.19690]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1483
    [3.56656][2.34901:34919]()
    version = "0.1.7"
    [3.56656]
    [3.56674]
    version = "0.1.9"
  • replacement in Cargo.lock at line 1486
    [3.56756][2.34920:35155]()
    "crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.56756]
    [3.19941]
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1491
    [3.57132][2.35156:35537]()
    "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.57132]
    [3.57513]
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "parking_lot 0.7.1 (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.7 (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.4 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1504
    [3.57650][2.35538:35685]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.57650]
    [3.57797]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1508
    [3.57942][2.35686:36074]()
    "signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.57942]
    [3.39434]
    "signal-hook 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.7 (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.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "tokio-sync"
    version = "0.1.4"
    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.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1526
    [3.58364][2.36075:36093]()
    version = "0.1.2"
    [3.58364]
    [3.58382]
    version = "0.1.3"
  • replacement in Cargo.lock at line 1529
    [3.58464][2.36094:36242]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.58464]
    [3.58612]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1533
    [3.58755][2.36243:36399]()
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.58755]
    [3.58911]
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1539
    [3.58952][2.36400:36418]()
    version = "0.1.9"
    [3.58952]
    [3.58970]
    version = "0.1.13"
  • replacement in Cargo.lock at line 1542
    [3.59052][2.36419:36658]()
    "crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.59052]
    [3.20603]
    "crossbeam-deque 0.7.1 (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.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1547
    [3.20673][2.36659:36886]()
    "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.20673]
    [3.59588]
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "rand 0.6.5 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1555
    [3.59624][2.36887:36905]()
    version = "0.2.8"
    [3.59624]
    [3.59642]
    version = "0.2.10"
  • replacement in Cargo.lock at line 1558
    [3.59724][2.36906:37215]()
    "crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.59724]
    [3.60033]
    "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1566
    [3.60067][2.37216:37234]()
    version = "0.2.0"
    [3.60067]
    [3.60085]
    version = "0.2.1"
  • replacement in Cargo.lock at line 1569
    [3.60167][2.37235:37310]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.60167]
    [3.60242]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1571
    [3.60319][2.37311:37387]()
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.60319]
    [3.60395]
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "tokio-trace-core"
    version = "0.1.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1587
    [3.60529][2.37388:37536]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.60529]
    [3.20941]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1592
    [3.60896][2.37537:37693]()
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.60896]
    [3.61052]
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1598
    [3.61086][2.37694:37712]()
    version = "0.2.4"
    [3.61086]
    [3.61104]
    version = "0.2.5"
  • replacement in Cargo.lock at line 1601
    [3.61186][2.37713:37861]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.61186]
    [3.61334]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1604
    [3.61406][2.37862:37934]()
    "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.61406]
    [3.21258]
    "libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1609
    [3.21407][2.37935:38091]()
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.21407]
    [3.61927]
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1615
    [3.61962][2.38092:38110]()
    version = "0.2.0"
    [3.61962]
    [3.61980]
    version = "1.0.0"
  • replacement in Cargo.lock at line 1618
    [3.62062][2.38111:38184]()
    "bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.62062]
    [3.62135]
    "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1620
    [3.62214][2.38185:38260]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.62214]
    [3.62289]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 1622
    [3.62360][2.38261:38405]()
    "jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1623
    [3.62581][2.38406:38627]()
    "quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
    "sasl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.62581]
    [3.62802]
    "quick-xml 0.13.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "sasl 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1627
    [3.62880][2.38628:39022]()
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tls 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-resolver 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.62880]
    [3.21637]
    "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tls 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-proto 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-resolver 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1632
    [3.21713][2.39023:39103]()
    "xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.21713]
    [3.63430]
    "xmpp-parsers 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1637
    [3.63459][2.39104:39123]()
    version = "0.4.10"
    [3.63459]
    [3.63478]
    version = "0.5.0"
  • replacement in Cargo.lock at line 1640
    [3.63560][2.39124:39197]()
    "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.63560]
    [3.63633]
    "serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1645
    [3.63673][2.39198:39216]()
    version = "0.4.3"
    [3.63673]
    [3.63691]
    version = "0.6.3"
  • replacement in Cargo.lock at line 1648
    [3.63773][2.39217:39447]()
    "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.63773]
    [3.64003]
    "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1652
    [3.64074][2.39448:39526]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.64074]
    [3.21812]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1654
    [3.21882][2.39527:39673]()
    "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.21882]
    [3.64368]
    "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1657
    [3.64442][2.39674:40065]()
    "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.64442]
    [3.22118]
    "tokio-executor 0.1.7 (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.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1668
    [3.65022][2.40066:40084]()
    version = "0.9.1"
    [3.65022]
    [3.65040]
    version = "0.10.3"
  • replacement in Cargo.lock at line 1671
    [3.65122][2.40085:40312]()
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.65122]
    [3.22265]
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1675
    [3.22340][2.40313:40391]()
    "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.22340]
    [3.22418]
    "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1677
    [3.22488][2.40392:40776]()
    "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "resolv-conf 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.22488]
    [3.65956]
    "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "tokio 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
    "trust-dns-proto 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1691
    [3.66103][2.40777:40795]()
    version = "0.2.2"
    [3.66103]
    [3.66121]
    version = "0.3.2"
  • edit in Cargo.lock at line 1693
    [3.66186]
    [3.66186]
    dependencies = [
    "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 1717
    [3.66669][2.40796:40814]()
    version = "0.1.7"
    [3.66669]
    [3.66687]
    version = "0.1.8"
  • edit in Cargo.lock at line 1719
    [3.66752]
    [3.66752]
    dependencies = [
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • edit in Cargo.lock at line 1739
    [3.7115][2.40815:41022]()
    name = "unreachable"
    version = "1.0.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
  • replacement in Cargo.lock at line 1750
    [3.67696][2.41023:41041]()
    version = "0.7.4"
    [3.67696]
    [3.22772]
    version = "0.7.5"
  • edit in Cargo.lock at line 1766
    [3.68055][2.41042:41271]()
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "version_check"
    version = "0.1.5"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "void"
    version = "1.0.2"
  • replacement in Cargo.lock at line 1773
    [3.68476][2.41272:41347]()
    "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.68476]
    [3.22890]
    "futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1790
    [3.68955][2.41348:41366]()
    version = "0.3.6"
    [3.68955]
    [3.68973]
    version = "0.3.7"
  • replacement in Cargo.lock at line 1809
    [3.22982][2.41367:41385]()
    version = "0.1.1"
    [3.22982]
    [3.23000]
    version = "0.1.2"
  • replacement in Cargo.lock at line 1812
    [3.23082][2.41386:41459]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.23082]
    [3.23155]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1825
    [3.23303][2.41460:41611]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.23303]
    [3.23454]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
    "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1834
    [3.70251][2.41612:41685]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.70251]
    [3.70324]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1842
    [3.70456][2.41686:41759]()
    "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.70456]
    [3.70529]
    "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1861
    [3.71090][2.41760:41910]()
    "markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.71090]
    [3.31448]
    "markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
    "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1867
    [3.31485][2.41911:41930]()
    version = "0.11.1"
    [3.31485]
    [3.31504]
    version = "0.12.2"
  • replacement in Cargo.lock at line 1870
    [3.31586][2.41931:42077]()
    "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "blake2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.31586]
    [3.31733]
    "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1873
    [3.31806][2.42078:42584]()
    "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha3 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.31806]
    [3.72103]
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "jid 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
    name = "xmpp-parsers"
    version = "0.13.1"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "jid 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
    "minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
    "sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1899
    [3.72117][2.42585:42740]()
    "checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
    [3.72117]
    [3.72272]
    "checksum MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eaf9f0d0b1cc33a4d2aee14fb4b2eac03462ef4db29c8ac4057327d8a71ad86f"
    "checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
  • replacement in Cargo.lock at line 1902
    [3.72425][2.42741:43194]()
    "checksum arc-swap 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5ed110e2537bdd3f5b9091707a8a5556a72ac49bbd7302ae0b28fdccb3246c"
    "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
    "checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc"
    [3.72425]
    [3.72878]
    "checksum arc-swap 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)" = "a57a5698f85c6fd92f19dad87ff2d822fc4ba79dd85c13914d8c4dad589cb815"
    "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
  • replacement in Cargo.lock at line 1905
    [3.73026][2.43195:43805]()
    "checksum backtrace 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "346d7644f0b5f9bc73082d3b2236b69a05fd35cce0cfa3724e184e6a5c9e2a2f"
    "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
    "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
    "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
    [3.73026]
    [3.73636]
    "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
    "checksum backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f106c02a3604afcdc0df5d36cc47b44b55917dbaf3d808f71c163a0ddba64637"
    "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
    "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
  • replacement in Cargo.lock at line 1910
    [3.73787][2.43806:44564]()
    "checksum blake2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73b77e29dbd0115e43938be2d5128ecf81c0353e00acaa65339a1242586951d9"
    "checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab"
    "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
    "checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d"
    "checksum bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "40ade3d27603c2cb345eb0912aec461a6dec7e06a4ae48589904e808335c7afa"
    [3.73787]
    [3.74545]
    "checksum blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91721a6330935673395a0607df4d49a9cb90ae12d259f1b3e0a3f6e1d486872e"
    "checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d"
    "checksum block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591"
    "checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
    "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
    "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
  • replacement in Cargo.lock at line 1917
    [3.74692][2.44565:44860]()
    "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
    "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
    [3.74692]
    [3.74987]
    "checksum cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "5e5f3fee5eeb60324c2781f1e41286bdee933850fff9b3c672587fed5ec58c83"
    "checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
  • replacement in Cargo.lock at line 1920
    [3.75136][2.44861:45009]()
    "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
    [3.75136]
    [3.75284]
    "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
  • edit in Cargo.lock at line 1922
    [3.75435][2.45010:45169]()
    "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
  • replacement in Cargo.lock at line 1924
    [3.75914][2.45170:45951]()
    "checksum crossbeam-deque 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe1b6f945f824c7a25afe44f62e25d714c0cc523f8e99d8db5cd1026e1269d3"
    "checksum crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8"
    "checksum crossbeam-utils 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c55913cc2799171a550e307918c0a360e8c16004820291bf3b638969b4a01816"
    "checksum crypto-mac 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0999b4ff4d3446d4ddb19a63e9e00c1876e75cd7000d20e57a693b4b3f08d958"
    "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"
    [3.75914]
    [3.76695]
    "checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
    "checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4"
    "checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
    "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
    "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
  • replacement in Cargo.lock at line 1930
    [3.76850][2.45952:46564]()
    "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90"
    "checksum encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ca20350a7cb5aab5b9034731123d6d412caf3e92d4985e739e411ba0955fd0eb"
    "checksum env_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "afb070faf94c85d17d50ca44f6ad076bce18ae92f0037d350947240a36e9d42e"
    "checksum error-chain 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faa976b4fd2e4c2b2f3f486874b19e61944d3de3de8b61c9fcf835d583871bcc"
    [3.76850]
    [3.77462]
    "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
    "checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
    "checksum env_logger 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b61fa891024a945da30a9581546e8cfaf5602c7b3f4c137a2805cf388f92075a"
  • replacement in Cargo.lock at line 1934
    [3.77616][2.46565:46872]()
    "checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
    "checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
    [3.77616]
    [3.77923]
    "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
    "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
  • edit in Cargo.lock at line 1940
    [3.78540]
    [3.78540]
    "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
  • replacement in Cargo.lock at line 1944
    [3.79005][2.46873:47024]()
    "checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
    [3.79005]
    [3.79156]
    "checksum futures 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "62941eff9507c8177d448bd83a44d9b9760856e184081d8cd79ba9f03dd24981"
  • replacement in Cargo.lock at line 1946
    [3.79314][2.47025:47327]()
    "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
    "checksum h2 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "1ac030ae20dee464c5d0f36544d8b914a6bc606da44a57e052d2b0f5dae129e0"
    [3.79314]
    [3.79616]
    "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
    "checksum h2 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "85ab6286db06040ddefb71641b50017c06874614001a134b423783e2db2920bd"
    "checksum hmac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f127a908633569f208325f86f71255d3363c79721d7f9fe31cd5569908819771"
  • replacement in Cargo.lock at line 1950
    [3.79767][2.47328:47476]()
    "checksum http 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "02096a6d2c55e63f7fcb800690e4f889a25f6ec342e3adb4594e293b625215ab"
    [3.79767]
    [3.79915]
    "checksum http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "eed324f0f0daf6ec10c474f150505af2c143f251722bf9dbd1261bd1f2ee2c1a"
  • replacement in Cargo.lock at line 1953
    [3.25390][2.47477:47627]()
    "checksum hyper 0.12.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c49a75385d35ff5e9202755f09beb0b878a05c4c363fcc52b23eeb5dcb6782cc"
    [3.25390]
    [3.80368]
    "checksum hyper 0.12.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4f2777434f26af6e4ce4fdcdccd3bed9d861d11e87bcbe72c0f51ddaca8ff848"
  • replacement in Cargo.lock at line 1959
    [3.81112][2.47628:47774]()
    "checksum jid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6c4cee633b7ce95e71202ecb99e632d15ad468de7753e616a924c93842f1a3d0"
    [3.81112]
    [3.81258]
    "checksum jid 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "24e8a3f2ab860aa08074136e3144a2425e678d8823206e5adcc6145dc136503a"
  • replacement in Cargo.lock at line 1962
    [3.81562][2.47775:47929]()
    "checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
    [3.81562]
    [3.25847]
    "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
  • replacement in Cargo.lock at line 1964
    [3.25998][2.47930:48236]()
    "checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311"
    "checksum linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7860ec297f7008ff7a1e3382d7f7e1dcd69efc94751a2284bafc3d013c2aa939"
    [3.25998]
    [3.26147]
    "checksum libc 0.2.51 (registry+https://github.com/rust-lang/crates.io-index)" = "bedcc7a809076656486ffe045abeeac163da1b558e963a31e29fbfbeba916917"
    "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
  • replacement in Cargo.lock at line 1968
    [3.26444][2.48237:48389]()
    "checksum lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4d06ff7ff06f729ce5f4e227876cb88d10bc59cd4ae1e09fbb2bde15c850dc21"
    [3.26444]
    [3.82622]
    "checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
  • replacement in Cargo.lock at line 1970
    [3.82768][2.48390:48544]()
    "checksum markup5ever 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a87c4100d614080c8ab43334fb028ebe387f273fb61ed4ff0eae9189b94b6be8"
    [3.82768]
    [3.82922]
    "checksum markup5ever 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "897636f9850c3eef4905a5540683ed53dc9393860f0846cab2c2ddf9939862ff"
  • replacement in Cargo.lock at line 1972
    [3.83072][2.48545:48694]()
    "checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
    [3.83072]
    [3.83221]
    "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
  • replacement in Cargo.lock at line 1974
    [3.83373][2.48695:48845]()
    "checksum minidom 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0a5296bf9d0ac9e4a6e4cb844e3ee84bf33f841c7b3ae2cc87f05ceb81b50ae"
    [3.83373]
    [3.83523]
    "checksum minidom 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "275024eea6c6ff4ace22f2750843831183785288eec1cff91a4e6b8898cf94f9"
  • replacement in Cargo.lock at line 1980
    [3.84268][2.48846:49010]()
    "checksum new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cdc457076c78ab54d5e0d6fa7c47981757f1e34dc39ff92787f217dede586c4"
    [3.84268]
    [3.26595]
    "checksum new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f40f005c60db6e03bae699e414c58bf9aa7ea02a2d0b9bfbcf19286cc4c82b30"
  • replacement in Cargo.lock at line 1984
    [3.84890][2.49011:49314]()
    "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
    "checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613"
    [3.84890]
    [3.85193]
    "checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
    "checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
    "checksum openssl 0.10.20 (registry+https://github.com/rust-lang/crates.io-index)" = "5a0d6b781aac4ac1bd6cafe2a2f0ad8c16ae8e1dd5184822a16c50139f8838d9"
  • replacement in Cargo.lock at line 1988
    [3.85349][2.49315:49470]()
    "checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106"
    [3.85349]
    [3.26746]
    "checksum openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)" = "33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"
  • replacement in Cargo.lock at line 1990
    [3.26899][2.49471:49784]()
    "checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
    "checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
    [3.26899]
    [3.85970]
    "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
    "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
    "checksum pbkdf2 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
  • replacement in Cargo.lock at line 1994
    [3.86129][2.49785:50398]()
    "checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6"
    "checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
    "checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
    "checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
    [3.86129]
    [3.86742]
    "checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
    "checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
    "checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
    "checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
  • replacement in Cargo.lock at line 2000
    [3.87055][2.50399:50554]()
    "checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
    [3.87055]
    [3.87210]
    "checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
  • replacement in Cargo.lock at line 2002
    [3.87364][2.50555:50708]()
    "checksum quick-xml 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8065cbb01701c11cc195cde85cbf39d1c6a80705b67a157ebb3042e0e5777f"
    [3.87364]
    [3.87517]
    "checksum quick-xml 0.13.3 (registry+https://github.com/rust-lang/crates.io-index)" = "22fcc48ecef4609b243e8c01ff4695d08ee0fc9d5bdbc54630e1a5fe8bb40953"
  • replacement in Cargo.lock at line 2004
    [3.87666][2.50709:51757]()
    "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
    "checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
    "checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
    "checksum rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9d223d52ae411a33cf7e54ec6034ec165df296ccd23533d671a28252b6f66a"
    "checksum rand_chacha 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "771b009e3a508cb67e8823dda454aaa5368c7bc1c16829fb77d3e980440dd34a"
    "checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
    "checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
    [3.87666]
    [3.27508]
    "checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
    "checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
    "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
    "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
    "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
    "checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
  • replacement in Cargo.lock at line 2012
    [3.27811][2.51758:52222]()
    "checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05"
    "checksum rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "effa3fcaa47e18db002bdde6060944b6d2f9cfd8db471c30e873448ad9187be3"
    "checksum redox_syscall 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "679da7508e9a6390aeaf7fbd02a800fdc64b73fe2204dd2c8ae66d22d9d5ad5d"
    [3.27811]
    [3.89481]
    "checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832"
    "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
    "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
    "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
    "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
    "checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
  • replacement in Cargo.lock at line 2019
    [3.89637][2.52223:52526]()
    "checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467"
    "checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e"
    [3.89637]
    [3.89940]
    "checksum regex 1.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "559008764a17de49a3146b234641644ed37d118d1ef641a0bb573d146edc6ce0"
    "checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
  • replacement in Cargo.lock at line 2022
    [3.90097][2.52527:52838]()
    "checksum resolv-conf 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c62bd95a41841efdf7fca2ae9951e64a8d8eae7e5da196d8ce489a2241491a92"
    "checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
    [3.90097]
    [3.90408]
    "checksum resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
    "checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288"
  • replacement in Cargo.lock at line 2026
    [3.28726][2.52839:53288]()
    "checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
    "checksum sasl 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbda5436dcd059da44fbf84b87a7164c5e3cad354efd0630c1f2be3c51c8859"
    "checksum schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56"
    [3.28726]
    [3.91159]
    "checksum sasl 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e457758c85b736bbad56dc099406cd2a9c19554cf81880dba7a51d092929e600"
    "checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
  • replacement in Cargo.lock at line 2029
    [3.91312][2.53289:53615]()
    "checksum security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "697d3f3c23a618272ead9e1fb259c1411102b31c6af8b93f1d64cca9c3b0e8e0"
    "checksum security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab01dfbe5756785b5b4d46e0289e5a18071dfa9a7c2b24213ea00b9ef9b665bf"
    [3.91312]
    [3.91638]
    "checksum security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfab8dda0e7a327c696d893df9ffa19cadc4bd195797997f5223cf5831beaf05"
    "checksum security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3d6696852716b589dff9e886ff83778bb635150168e83afa8ac6b8a78cb82abc"
  • replacement in Cargo.lock at line 2033
    [3.91943][2.53616:54671]()
    "checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef"
    "checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c"
    "checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811"
    "checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded"
    "checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0"
    "checksum sha3 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b64dcef59ed4290b9fb562b53df07f564690d6539e8ecdd4728cf392477530bc"
    "checksum signal-hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8941ae94fa73d0f73b422774b3a40a7195cecd88d1c090f4b37ade7dc795ab66"
    [3.91943]
    [3.92998]
    "checksum serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "aa5f7c20820475babd2c077c3ab5f8c77a31c15e16ea38687b4c02d3e48680f4"
    "checksum serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)" = "58fc82bec244f168b23d1963b45c8bf5726e9a15a9d146a067f9081aeed2de79"
    "checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
    "checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
    "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
    "checksum sha3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34a5e54083ce2b934bf059fdf38e7330a154177e029ab6c4e18638f2f624053a"
    "checksum signal-hook 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "97a47ae722318beceb0294e6f3d601205a1e6abaa4437d9d33e3a212233e3021"
  • replacement in Cargo.lock at line 2041
    [3.93150][2.54672:54970]()
    "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d"
    "checksum smallvec 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "622df2d454c29a4d89b30dc3b27b42d7d90d6b9e587dbf8f67652eb7514da484"
    [3.93150]
    [3.93448]
    "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
    "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
  • replacement in Cargo.lock at line 2045
    [3.93759][2.54971:55120]()
    "checksum string 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "98998cced76115b1da46f63388b909d118a37ae0be0f82ad35773d4a4bc9d18d"
    [3.93759]
    [3.93908]
    "checksum string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b639411d0b9c738748b5397d5ceba08e648f4f1992231aa859af1a017f31f60b"
  • replacement in Cargo.lock at line 2049
    [3.94388][2.55121:55270]()
    "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
    [3.94388]
    [3.94537]
    "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
    "checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
  • replacement in Cargo.lock at line 2052
    [3.94685][2.55271:55419]()
    "checksum syn 0.15.22 (registry+https://github.com/rust-lang/crates.io-index)" = "ae8b29eb5210bc5cf63ed6149cbf9adfc82ac0be023d8735c176ee74a2db4da7"
    [3.94685]
    [3.94833]
    "checksum syn 0.15.30 (registry+https://github.com/rust-lang/crates.io-index)" = "66c8865bf5a7cbb662d8b011950060b3c8743dca141b054bf7195b20d314d8e2"
  • replacement in Cargo.lock at line 2055
    [3.29644][2.55420:55721]()
    "checksum tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7e91405c14320e5c79b3d148e1c86f40749a36e490642202a31689cb1a3452b2"
    "checksum tendril 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9de21546595a0873061940d994bbbc5c35f024ae4fd61ec5c5b159115684f508"
    [3.29644]
    [3.29796]
    "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
    "checksum tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b"
  • replacement in Cargo.lock at line 2059
    [3.95741][2.55722:55874]()
    "checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
    [3.95741]
    [3.29949]
    "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
  • replacement in Cargo.lock at line 2061
    [3.30104][2.55875:56172]()
    "checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
    "checksum tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "a7817d4c98cc5be21360b3b37d6036fe9b7aefa5b7a201b7b16ff33423822f7d"
    [3.30104]
    [3.30254]
    "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
    "checksum tokio 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "65641e515a437b308ab131a82ce3042ff9795bef5d6c5a9be4eb24195c417fd9"
  • replacement in Cargo.lock at line 2065
    [3.96655][2.56173:56952]()
    "checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6"
    "checksum tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c117b6cf86bb730aab4834f10df96e4dd586eff2c3c27d3781348da49e255bde"
    "checksum tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "60ae25f6b17d25116d2cba342083abe5255d3c2c79cb21ea11aa049c53bf7c75"
    "checksum tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "7392fe0a70d5ce0c882c4778116c519bd5dbaa8a7c3ae3d04578b3afafdcda21"
    "checksum tokio-reactor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "502b625acb4ee13cbb3b90b8ca80e0addd263ddacf6931666ef751e610b07fb5"
    [3.96655]
    [3.30731]
    "checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
    "checksum tokio-executor 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "83ea44c6c0773cc034771693711c35c677b4b5a4b21b9e7071704c54de7d555e"
    "checksum tokio-fs 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af"
    "checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
    "checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
  • replacement in Cargo.lock at line 2071
    [3.30886][2.56953:57570]()
    "checksum tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ad235e9dadd126b2d47f6736f65aa1fdcd6420e66ca63f44177bc78df89f912"
    "checksum tokio-threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "56c5556262383032878afad66943926a1d1f0967f17e94bd7764ceceb3b70e7f"
    "checksum tokio-timer 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4f37f0111d76cc5da132fe9bc0590b9b9cfd079bc7e75ac3846278430a299ff8"
    "checksum tokio-tls 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e53fdbf3156f588be1676022fe794232b24922d426e8c14f4e46891c1e31c440"
    [3.30886]
    [3.31201]
    "checksum tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "fda385df506bf7546e70872767f71e81640f1f251bdf2fd8eb81a0eaec5fe022"
    "checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
    "checksum tokio-threadpool 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "ec5759cf26cf9659555f36c431b515e3d05f66831741c85b4b5d5dfb9cf1323c"
    "checksum tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2910970404ba6fa78c5539126a9ae2045d62e3713041e447f695f41405a120c6"
    "checksum tokio-tls 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "354b8cd83825b3c20217a9dc174d6a0c67441a2fae5c41bcb1ea6679f6ae0f7c"
    "checksum tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3"
  • replacement in Cargo.lock at line 2078
    [3.31353][2.57571:58343]()
    "checksum tokio-uds 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "99ce87382f6c1a24b513a72c048b2c8efe66cb5161c9061d00bee510f08dc168"
    "checksum tokio-xmpp 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c27385c4781afc851c61ac66d79463c511bf073d3a5d71b8bfd13a816e475989"
    "checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
    "checksum trust-dns-proto 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f1525ca4e26f5a09d81b79584f19225e7dba5606ae3a416311c2751c5cea60bb"
    "checksum trust-dns-resolver 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4a821ad51a29816420b8cac4b026756b81c023630b97eaa4c8090637ee3508bd"
    [3.31353]
    [3.99130]
    "checksum tokio-uds 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445"
    "checksum tokio-xmpp 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "952074d50e2a9907e714d28bb988232cc2f8c64542d3a97822e6d6afdd7a105f"
    "checksum toml 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "87c5890a989fa47ecdc7bcb4c63a77a82c18f306714104b1decfd722db17b39e"
    "checksum trust-dns-proto 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "09144f0992b0870fa8d2972cc069cbf1e3c0fda64d1f3d45c4d68d0e0b52ad4e"
    "checksum trust-dns-resolver 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8a9f877f7a1ad821ab350505e1f1b146a4960402991787191d6d8cab2ce2de2c"
  • replacement in Cargo.lock at line 2084
    [3.99281][2.58344:58495]()
    "checksum try_from 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "923a7ee3e97dbfe8685261beb4511cc9620a1252405d02693d43169729570111"
    [3.99281]
    [3.99432]
    "checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
  • replacement in Cargo.lock at line 2088
    [3.99889][2.58496:58660]()
    "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
    [3.99889]
    [3.100053]
    "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
  • edit in Cargo.lock at line 2092
    [3.100517][2.58661:58815]()
    "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
  • replacement in Cargo.lock at line 2093
    [3.31953][2.58816:58964]()
    "checksum utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bab35f71693630bb1953dce0f2bcd780e7cde025027124a202ac08a45ba25141"
    [3.31953]
    [3.31954]
    "checksum utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
  • edit in Cargo.lock at line 2097
    [3.101417][2.58965:59268]()
    "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
    "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
  • replacement in Cargo.lock at line 2100
    [3.102169][2.59269:59418]()
    "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
    [3.102169]
    [3.102318]
    "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
  • replacement in Cargo.lock at line 2103
    [3.102642][2.59419:59573]()
    "checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
    [3.102642]
    [3.102796]
    "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
  • replacement in Cargo.lock at line 2110
    [3.32568][2.59574:59730]()
    "checksum xmpp-parsers 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2e1e0a279d5af83a1dff442249f8a43214ac120267acfaac494b9d28c0027fea"
    [3.32568]
    "checksum xmpp-parsers 0.12.2 (registry+https://github.com/rust-lang/crates.io-index)" = "58b4400e1ae0d246044db5fa7f2e693fdfe9cc6e8eaa72ef2a68c5dc1d3c96de"
    "checksum xmpp-parsers 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5094cec449beca92f82ae4d7fe13cda058005849766d71b86c23e6217f61a357"