Merge branch 'master' of git.curoverse.com:arvados into 11876-r-sdk
authorFuad Muhic <fmuhic@capeannenterprises.com>
Wed, 10 Jan 2018 17:06:30 +0000 (18:06 +0100)
committerFuad Muhic <fmuhic@capeannenterprises.com>
Wed, 10 Jan 2018 17:06:30 +0000 (18:06 +0100)
Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic@capeannenterprises.com>

18 files changed:
build/run-tests.sh
sdk/cwl/arvados_cwl/arvworkflow.py
sdk/cwl/tests/arvados-tests.yml
sdk/cwl/tests/wf/runin-with-ttl-wf.cwl [new file with mode: 0644]
services/crunch-run/git_mount.go
services/keepproxy/keepproxy_test.go
services/keepstore/handler_test.go
tools/arvbox/bin/arvbox
tools/arvbox/lib/arvbox/docker/Dockerfile.base
tools/arvbox/lib/arvbox/docker/common.sh
tools/arvbox/lib/arvbox/docker/runit/1 [new file with mode: 0755]
tools/arvbox/lib/arvbox/docker/runit/2 [new file with mode: 0755]
tools/arvbox/lib/arvbox/docker/runit/3 [new file with mode: 0755]
tools/arvbox/lib/arvbox/docker/runit/ctrlaltdel [new file with mode: 0755]
tools/arvbox/lib/arvbox/docker/service/docker/run
tools/arvbox/lib/arvbox/docker/service/ready/run-service
tools/arvbox/lib/arvbox/docker/service/workbench/run
vendor/vendor.json

index e831bf3503b8cb006d55b40e64af1c4a22d66dd9..a02f732cb374e05f8dccfb3dadc9867c42e9456b 100755 (executable)
@@ -476,6 +476,7 @@ setup_virtualenv() {
 export PERLINSTALLBASE
 export PERLLIB="$PERLINSTALLBASE/lib/perl5:${PERLLIB:+$PERLLIB}"
 
+
 export GOPATH
 mkdir -p "$GOPATH/src/git.curoverse.com"
 rmdir -v --parents --ignore-fail-on-non-empty "$GOPATH/src/git.curoverse.com/arvados.git/tmp/GOPATH"
@@ -489,6 +490,22 @@ ln -vsnfT "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \
     || fatal "symlink failed"
 go get -v github.com/kardianos/govendor \
     || fatal "govendor install failed"
+cd "$GOPATH/src/git.curoverse.com/arvados.git" \
+    || fatal
+# Remove cached source dirs in workdir. Otherwise, they won't qualify
+# as +missing or +external below, and we won't be able to detect that
+# they're missing from vendor/vendor.json.
+rm -r vendor/*/
+go get -v -d ...
+"$GOPATH/bin/govendor" sync \
+    || fatal "govendor sync failed"
+[[ -z $("$GOPATH/bin/govendor" list +unused +missing +external | tee /dev/stderr) ]] \
+    || fatal "vendor/vendor.json has unused or missing dependencies -- try:
+* govendor remove +unused
+* govendor add +missing +external
+"
+cd "$WORKSPACE"
+
 
 setup_virtualenv "$VENVDIR" --python python2.7
 . "$VENVDIR/bin/activate"
@@ -834,9 +851,6 @@ install_apiserver() {
 }
 do_install services/api apiserver
 
-cd "$GOPATH/src/git.curoverse.com/arvados.git" && \
-    "$GOPATH/bin/govendor" sync -v || \
-        fatal "govendor sync failed"
 declare -a gostuff
 gostuff=(
     cmd/arvados-client
index d426c1ad6f32fef90e0a5b15a3691fe811c78760..79bfacd28a10daad1393bf090f2350e7c166244c 100644 (file)
@@ -158,7 +158,7 @@ class ArvadosWorkflow(Workflow):
                 "inputs": self.tool["inputs"],
                 "outputs": self.tool["outputs"],
                 "stdout": "cwl.output.json",
-                "requirements": workflowobj["requirements"]+[
+                "requirements": self.requirements+[
                     {
                     "class": "InitialWorkDirRequirement",
                     "listing": [{
@@ -172,7 +172,7 @@ class ArvadosWorkflow(Workflow):
                             "entry": json.dumps(joborder_keepmount, indent=2, sort_keys=True, separators=(',',': ')).replace("\\", "\\\\").replace('$(', '\$(').replace('${', '\${')
                         }]
                 }],
-                "hints": workflowobj["hints"],
+                "hints": self.hints,
                 "arguments": ["--no-container", "--move-outputs", "--preserve-entire-environment", "workflow.cwl#main", "cwl.input.yml"]
             })
             kwargs["loader"] = self.doc_loader
index cfb2fa4a9a8b88c0bee1e5e62ca5cdd9275daa69..d99cf6c189dc16761f73e5c1699ceed68baf9e9b 100644 (file)
   output: {}
   tool: secondary/wf.cwl
   doc: "RunInSingleContainer applies secondaryFile discovery & manipulation before generating cwl.input.yml"
+
+- job: null
+  output:
+    out: out
+  tool: wf/runin-with-ttl-wf.cwl
+  doc: "RunInSingleContainer respects outputTTL"
diff --git a/sdk/cwl/tests/wf/runin-with-ttl-wf.cwl b/sdk/cwl/tests/wf/runin-with-ttl-wf.cwl
new file mode 100644 (file)
index 0000000..713e0c0
--- /dev/null
@@ -0,0 +1,63 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+class: Workflow
+cwlVersion: v1.0
+$namespaces:
+  arv: "http://arvados.org/cwl#"
+inputs:
+  fileblub:
+    type: File
+    default:
+      class: File
+      location: keep:d7514270f356df848477718d58308cc4+94/a
+      secondaryFiles:
+        - class: File
+          location: keep:d7514270f356df848477718d58308cc4+94/b
+outputs:
+  out:
+    type: string
+    outputSource: substep/out
+requirements:
+  SubworkflowFeatureRequirement: {}
+  ScatterFeatureRequirement: {}
+  InlineJavascriptRequirement: {}
+  StepInputExpressionRequirement: {}
+hints:
+  arv:IntermediateOutput:
+    outputTTL: 60
+steps:
+  substep:
+    in:
+      fileblub: fileblub
+    out: [out]
+    hints:
+      - class: arv:RunInSingleContainer
+    run:
+      class: Workflow
+      id: mysub
+      inputs:
+        fileblub: File
+      outputs:
+        out:
+          type: string
+          outputSource: cat1/out
+      steps:
+        cat1:
+          in:
+            fileblub: fileblub
+          out: [out]
+          run:
+            class: CommandLineTool
+            id: subtool
+            inputs:
+              fileblub:
+                type: File
+                inputBinding: {position: 1}
+            outputs:
+              out:
+                type: string
+                outputBinding:
+                  outputEval: "out"
+            baseCommand: cat
index 92b83710b13e9966bfba521214c1bbc50f48fd31..2ecc8726f5e54d91518b3f20c08eb8f1dec41852 100644 (file)
@@ -8,7 +8,7 @@ import (
        "regexp"
 
        "git.curoverse.com/arvados.git/sdk/go/arvados"
-       "gopkg.in/src-d/go-billy.v3/osfs"
+       "gopkg.in/src-d/go-billy.v4/osfs"
        git "gopkg.in/src-d/go-git.v4"
        git_config "gopkg.in/src-d/go-git.v4/config"
        git_plumbing "gopkg.in/src-d/go-git.v4/plumbing"
@@ -78,7 +78,10 @@ func (gm gitMount) extractTree(ac IArvadosClient, dir string, token string) erro
        }
        err = repo.Fetch(&git.FetchOptions{
                RemoteName: "origin",
-               Auth:       git_http.NewBasicAuth("none", token),
+               Auth: &git_http.BasicAuth{
+                       Username: "none",
+                       Password: token,
+               },
        })
        if err != nil {
                return fmt.Errorf("git fetch %q: %s", u.String(), err)
index bb0e9bbf6874859211fefea70955472cc797afb3..de72e747f3fa10c1cc1c3d64839ec317c29d42e3 100644 (file)
@@ -355,7 +355,7 @@ func (s *ServerRequiredSuite) TestGetDisabled(c *C) {
                _, _, err := kc.Ask(hash)
                errNotFound, _ := err.(keepclient.ErrNotFound)
                c.Check(errNotFound, NotNil)
-               c.Assert(strings.Contains(err.Error(), "HTTP 400"), Equals, true)
+               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
                c.Log("Ask 1")
        }
 
@@ -371,7 +371,7 @@ func (s *ServerRequiredSuite) TestGetDisabled(c *C) {
                blocklen, _, err := kc.Ask(hash)
                errNotFound, _ := err.(keepclient.ErrNotFound)
                c.Check(errNotFound, NotNil)
-               c.Assert(strings.Contains(err.Error(), "HTTP 400"), Equals, true)
+               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
                c.Check(blocklen, Equals, int64(0))
                c.Log("Ask 2")
        }
@@ -380,7 +380,7 @@ func (s *ServerRequiredSuite) TestGetDisabled(c *C) {
                _, blocklen, _, err := kc.Get(hash)
                errNotFound, _ := err.(keepclient.ErrNotFound)
                c.Check(errNotFound, NotNil)
-               c.Assert(strings.Contains(err.Error(), "HTTP 400"), Equals, true)
+               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
                c.Check(blocklen, Equals, int64(0))
                c.Log("Get")
        }
@@ -596,14 +596,14 @@ func (s *ServerRequiredSuite) TestAskGetKeepProxyConnectionError(c *C) {
        c.Check(err, NotNil)
        errNotFound, _ := err.(*keepclient.ErrNotFound)
        c.Check(errNotFound.Temporary(), Equals, true)
-       c.Assert(strings.Contains(err.Error(), "connection refused"), Equals, true)
+       c.Assert(err, ErrorMatches, ".*connection refused.*")
 
        // Get should result in temporary connection refused error
        _, _, _, err = kc.Get(hash)
        c.Check(err, NotNil)
        errNotFound, _ = err.(*keepclient.ErrNotFound)
        c.Check(errNotFound.Temporary(), Equals, true)
-       c.Assert(strings.Contains(err.Error(), "connection refused"), Equals, true)
+       c.Assert(err, ErrorMatches, ".*connection refused.*")
 }
 
 func (s *NoKeepServerSuite) TestAskGetNoKeepServerError(c *C) {
@@ -644,5 +644,5 @@ func (s *ServerRequiredSuite) TestPing(c *C) {
        resp := httptest.NewRecorder()
        rtr.ServeHTTP(resp, req)
        c.Check(resp.Code, Equals, 200)
-       c.Assert(strings.Contains(resp.Body.String(), `{"health":"OK"}`), Equals, true)
+       c.Assert(resp.Body.String(), Matches, `{"health":"OK"}\n?`)
 }
index 4d042a70dd376ea1e04bdff16283ab80669dfd0f..f012ea3902217c55502d7aebe12b072d004985ec 100644 (file)
@@ -1107,7 +1107,7 @@ func TestUntrashHandler(t *testing.T) {
        response = IssueRequest(datamanagerWrongMethodReq)
        ExpectStatusCode(t,
                "Only PUT method is supported for untrash",
-               http.StatusBadRequest,
+               http.StatusMethodNotAllowed,
                response)
 
        // datamanagerReq => StatusOK
index f4a65da537ecb96f861c946ba8c92a2938dd1600..234d15aecd03d42537b5f93f02a4dcd8b3f0340b 100755 (executable)
@@ -220,8 +220,8 @@ run() {
                        "--volume=$PIPCACHE:/var/lib/pip:rw" \
                        "--volume=$NPMCACHE:/var/lib/npm:rw" \
                        "--volume=$GOSTUFF:/var/lib/gopath:rw" \
-                       arvados/arvbox-dev$TAG \
-                       /usr/local/bin/runsvinit -svdir=/etc/test-service
+                      "--env=SVDIR=/etc/test-service" \
+                       arvados/arvbox-dev$TAG
 
                 docker exec -ti \
                        $ARVBOX_CONTAINER \
index f29066ec9fcb71de007837e295de61bcefc85ffa..83d507b62b4931163b73dded52240705ebd2ae70 100644 (file)
@@ -62,10 +62,6 @@ RUN mkdir -p /etc/apt/sources.list.d && \
 
 RUN rm -rf /var/lib/postgresql && mkdir -p /var/lib/postgresql
 
-RUN cd /root && \
-    GOPATH=$PWD go get github.com/curoverse/runsvinit && \
-    install bin/runsvinit /usr/local/bin
-
 ENV PJSVERSION=1.9.8
 # bitbucket is the origin, but downloads fail sometimes, so use our own mirror instead.
 #ENV PJSURL=https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-${PJSVERSION}-linux-x86_64.tar.bz2
@@ -96,8 +92,9 @@ ADD crunch-setup.sh gitolite.rc \
     application_yml_override.py api-setup.sh \
     /usr/local/lib/arvbox/
 
-RUN mkdir /etc/docker
-ADD daemon.json /etc/docker/
+ADD runit /etc/runit
 
 # Start the supervisor.
-CMD ["/usr/local/bin/runsvinit"]
+ENV SVDIR /etc/service
+STOPSIGNAL SIGINT
+CMD ["/sbin/runit"]
index c5e15233bcb9720a7a8f7d416a8bf274e42fa623..2cb8473657e7705bc0759bd054da0e0d57222754 100644 (file)
@@ -46,17 +46,16 @@ run_bundler() {
     else
         frozen=""
     fi
-    if ! test -x bundle ; then
+    if ! test -x /var/lib/gems/bin/bundler ; then
         bundlergem=$(ls -r $GEM_HOME/cache/bundler-*.gem 2>/dev/null | head -n1 || true)
         if test -n "$bundlergem" ; then
             flock /var/lib/gems/gems.lock gem install --local --no-document $bundlergem
         else
             flock /var/lib/gems/gems.lock gem install --no-document bundler
         fi
-        ln -sf /var/lib/gems/bin/bundle /usr/local/bin
     fi
-    if ! flock /var/lib/gems/gems.lock bundle install --path $GEM_HOME --local --no-deployment $frozen "$@" ; then
-        flock /var/lib/gems/gems.lock bundle install --path $GEM_HOME --no-deployment $frozen "$@"
+    if ! flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --local --no-deployment $frozen "$@" ; then
+        flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --no-deployment $frozen "$@"
     fi
 }
 
diff --git a/tools/arvbox/lib/arvbox/docker/runit/1 b/tools/arvbox/lib/arvbox/docker/runit/1
new file mode 100755 (executable)
index 0000000..fea9cf6
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+# system one time tasks
+
+PATH=/command:/sbin:/bin:/usr/sbin:/usr/bin
+
+touch /run/runit.stopit
+chmod 0 /run/runit.stopit
diff --git a/tools/arvbox/lib/arvbox/docker/runit/2 b/tools/arvbox/lib/arvbox/docker/runit/2
new file mode 100755 (executable)
index 0000000..6b092ea
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
+
+echo
+echo "Arvados-in-a-box starting"
+echo
+
+exec env - PATH=$PATH \
+runsvdir -P $SVDIR
diff --git a/tools/arvbox/lib/arvbox/docker/runit/3 b/tools/arvbox/lib/arvbox/docker/runit/3
new file mode 100755 (executable)
index 0000000..525b96b
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+exec 2>&1
+
+PATH=/command:/sbin:/bin:/usr/sbin:/usr/bin
+
+LAST=0
+test -x /run/runit.reboot && LAST=6
+
+echo 'Waiting for services to stop...'
+sv -w196 force-stop /service/*
+sv exit /service/*
+
+echo 'Shutdown...'
+/etc/init.d/rc $LAST
diff --git a/tools/arvbox/lib/arvbox/docker/runit/ctrlaltdel b/tools/arvbox/lib/arvbox/docker/runit/ctrlaltdel
new file mode 100755 (executable)
index 0000000..02bb2ea
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+exec 2>&1
+
+PATH=/command:/sbin:/bin:/usr/sbin:/usr/bin
+
+LAST=0
+test -x /run/runit.reboot && LAST=6
+
+echo 'Waiting for services to stop...'
+sv -w196 force-stop $SVDIR/*
+sv exit $SVDIR/*
+
+echo 'Shutdown...'
index cbc8486d6ee88f23afb516ed81e98e4bd89469f7..b6dbaf1abb2db174ccceca73258bd0727ca850e2 100755 (executable)
@@ -100,6 +100,12 @@ rm -rf /var/run/docker.pid
 read pid cmd state ppid pgrp session tty_nr tpgid rest < /proc/self/stat
 trap "kill -TERM -$pgrp; exit" EXIT TERM KILL SIGKILL SIGTERM SIGQUIT
 
-if ! docker daemon --storage-driver=overlay $DOCKER_DAEMON_ARGS ; then
-    docker daemon $DOCKER_DAEMON_ARGS
+mkdir /etc/docker
+# Prefer overlay2
+echo '{"storage-driver": "overlay2"}' > /etc/docker/daemon.json
+
+if ! dockerd ; then
+    # Oops overlay2 didn't work, let docker choose a default.
+    echo '{}' > /etc/docker/daemon.json
+    dockerd
 fi
index 3c7eff61765a8b638a9722cf6f489895e3d0c85f..6d5fe243e09d6ec639f166ba618001e94bc7f4d8 100755 (executable)
@@ -8,9 +8,6 @@
 set -eu -o pipefail
 
 if ! [[ -d /tmp/arvbox-ready ]] ; then
-   echo
-   echo "Arvados-in-a-box starting"
-   echo
    echo "Note: if this is a fresh arvbox installation, it may take 10-15 minutes (or longer) to download and"
    echo "install dependencies.  Use \"arvbox log\" to monitor the progress of specific services."
    echo
index a41922bb343948656d838f3d958c0b8131fa9d26..d90a2e2f8170d9d8d5960b69ba903822538a0ce0 100755 (executable)
@@ -1,10 +1,12 @@
-#!/bin/sh
+#!/bin/bash
 # Copyright (C) The Arvados Authors. All rights reserved.
 #
 # SPDX-License-Identifier: AGPL-3.0
 
 set -e
 
+.  /usr/local/lib/arvbox/common.sh
+
 /usr/local/lib/arvbox/runsu.sh $0-service $1
 
 cd /usr/src/arvados/apps/workbench
index 9798e86c81a65d5dee61d2a103c925e0e68067e8..aeac93e475bb265d1ed7fb7fcfb75870604838e3 100644 (file)
                        "revisionTime": "2017-07-27T13:52:37Z"
                },
                {
-                       "checksumSHA1": "Rjy2uYZkQ8Kjht6ZFU0qzm2I/kI=",
-                       "origin": "github.com/docker/docker/vendor/github.com/Microsoft/go-winio",
+                       "checksumSHA1": "o/3cn04KAiwC7NqNVvmfVTD+hgA=",
                        "path": "github.com/Microsoft/go-winio",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "78439966b38d69bf38227fbf57ac8a6fee70f69a",
+                       "revisionTime": "2017-08-04T20:09:54Z"
                },
                {
-                       "checksumSHA1": "DYv6Q1+VfnUVxMwvk5IshAClLvw=",
+                       "checksumSHA1": "CWLxwFSj7MNed2MzAOSm0Cg9p+o=",
                        "path": "github.com/Sirupsen/logrus",
-                       "revision": "5e5dc898656f695e2a086b8e12559febbfc01562",
-                       "revisionTime": "2017-05-15T10:45:16Z"
+                       "revision": "d682213848ed68c0a260ca37d6dd5ace8423f5ba",
+                       "revisionTime": "2017-12-05T20:32:29Z"
                },
                {
                        "checksumSHA1": "+Zz+leZHHC9C0rx8DoRuffSRPso=",
                        "path": "github.com/coreos/go-systemd/daemon",
-                       "revision": "1f9909e51b2dab2487c26d64c8f2e7e580e4c9f5",
-                       "revisionTime": "2017-03-24T09:58:19Z"
+                       "revision": "cc4f39464dc797b91c8025330de585294c2a6950",
+                       "revisionTime": "2018-01-08T08:51:32Z"
                },
                {
                        "checksumSHA1": "pAu+do4x7E5SFLfIqJeGwhcOd6E=",
                },
                {
                        "checksumSHA1": "Gj+xR1VgFKKmFXYOJMnAczC3Znk=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/distribution/digestset",
                        "path": "github.com/docker/distribution/digestset",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "277ed486c948042cab91ad367c379524f3b25e18",
+                       "revisionTime": "2018-01-05T23:27:52Z"
                },
                {
-                       "checksumSHA1": "m4wEFD0Mh+ClfprUqgl0GyNmk7Q=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/distribution/reference",
+                       "checksumSHA1": "2Fe4D6PGaVE2he4fUeenLmhC1lE=",
                        "path": "github.com/docker/distribution/reference",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "277ed486c948042cab91ad367c379524f3b25e18",
+                       "revisionTime": "2018-01-05T23:27:52Z"
                },
                {
-                       "checksumSHA1": "5b7eC73lORtIUFCjz548jXkLlKU=",
+                       "checksumSHA1": "QKCQfrTv4wTL0KBDMHpWM/jHl9I=",
                        "path": "github.com/docker/docker/api",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "jFY7z3SSvQaJg51/nwzUkB/LDAc=",
+                       "checksumSHA1": "b91BIyJbqy05pXpEh1eGCJkdjYc=",
                        "path": "github.com/docker/docker/api/types",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "jVJDbe0IcyjoKc2xbohwzQr+FF0=",
                        "path": "github.com/docker/docker/api/types/blkiodev",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "AeSC0BOu1uapkGqfSXtfVSpwJzs=",
+                       "checksumSHA1": "DuOqFTQ95vKSuSE/Va88yRN/wb8=",
                        "path": "github.com/docker/docker/api/types/container",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "fzeGodcTcWuV18AT0BcvB4EFByo=",
+                       "checksumSHA1": "XDP7i6sMYGnUKeFzgt+mFBJwjjw=",
                        "path": "github.com/docker/docker/api/types/events",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "J2OKngfI3vgswudr9PZVUFcRRu0=",
+                       "checksumSHA1": "S4SWOa0XduRd8ene8Alwih2Nwcw=",
                        "path": "github.com/docker/docker/api/types/filters",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "yeB781yxPhnN6OXQ9/qSsyih3ek=",
+                       "checksumSHA1": "KuC0C6jo1t7tlvIqb7G3u1FIaZU=",
                        "path": "github.com/docker/docker/api/types/image",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "UK+VdM648oWzyqE4OqttgmPqjoA=",
+                       "checksumSHA1": "uJeLBKpHZXP+bWhXP4HhpyUTWYI=",
                        "path": "github.com/docker/docker/api/types/mount",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "oC2We2SzAYMULIfr7fXaoofnF+c=",
+                       "checksumSHA1": "Gskp+nvbVe8Gk1xPLHylZvNmqTg=",
                        "path": "github.com/docker/docker/api/types/network",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "r2vWq7Uc3ExKzMqYgH0b4AKjLKY=",
                        "path": "github.com/docker/docker/api/types/registry",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "VTxWyFud/RedrpllGdQonVtGM/A=",
                        "path": "github.com/docker/docker/api/types/strslice",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "B+yL7OD7dDV+n+XURK5x0N8U1pQ=",
+                       "checksumSHA1": "Q0U3queMsCw+rPPztXnRHwAxQEc=",
                        "path": "github.com/docker/docker/api/types/swarm",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "B7ZwKzrv3t3Vlox6/bYMHhMjsM8=",
+                       "checksumSHA1": "kVfD1e4Gak7k6tqDX5nrgQ57EYY=",
+                       "path": "github.com/docker/docker/api/types/swarm/runtime",
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
+               },
+               {
+                       "checksumSHA1": "77axKFOjRx1nGrzIggGXfTxUYVQ=",
                        "path": "github.com/docker/docker/api/types/time",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "uDPQ3nHsrvGQc9tg/J9OSC4N5dQ=",
                        "path": "github.com/docker/docker/api/types/versions",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "IBJy2zPEnYmcFJ3lM1eiRWnCxTA=",
                        "path": "github.com/docker/docker/api/types/volume",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "3bbQi817xzhn5andyThfuZcmHvk=",
+                       "checksumSHA1": "zQvx3WYTAwbPZEaVPjAsrmW7V00=",
                        "path": "github.com/docker/docker/client",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "jmo/t2zXAxirEPoFucNPXA/1SEc=",
-                       "path": "github.com/docker/docker/pkg/ioutils",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "ndnAFCfsGC3upNQ6jAEwzxcurww=",
-                       "path": "github.com/docker/docker/pkg/longpath",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "3u2xJnbqYSxOP3kOORetQD7P1Co=",
-                       "path": "github.com/docker/docker/pkg/mount",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "nhKmQDaWa+qKP2VWEy05CrTyids=",
-                       "path": "github.com/docker/docker/pkg/system",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "8I0Ez+aUYGpsDEVZ8wN/Ztf6Zqs=",
-                       "path": "github.com/docker/docker/pkg/tlsconfig",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "JbiWTzH699Sqz25XmDlsARpMN9w=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/go-connections/nat",
                        "path": "github.com/docker/go-connections/nat",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "3ede32e2033de7505e6500d6c868c2b9ed9f169d",
+                       "revisionTime": "2017-06-23T20:36:43Z"
                },
                {
                        "checksumSHA1": "jUfDG3VQsA2UZHvvIXncgiddpYA=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/go-connections/sockets",
                        "path": "github.com/docker/go-connections/sockets",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "3ede32e2033de7505e6500d6c868c2b9ed9f169d",
+                       "revisionTime": "2017-06-23T20:36:43Z"
                },
                {
-                       "checksumSHA1": "tuSzlS1UQ03+5Fvtqr5hI5sLLhA=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/go-connections/tlsconfig",
+                       "checksumSHA1": "c6lDGNwTm5mYq18IHP+lqYpk8xU=",
                        "path": "github.com/docker/go-connections/tlsconfig",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "3ede32e2033de7505e6500d6c868c2b9ed9f169d",
+                       "revisionTime": "2017-06-23T20:36:43Z"
                },
                {
-                       "checksumSHA1": "Pv1NbtDY4wETwwSD2DsI+s8de/I=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/go-units",
+                       "checksumSHA1": "kP4hqQGUNNXhgYxgB4AMWfNvmnA=",
                        "path": "github.com/docker/go-units",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
-               },
-               {
-                       "checksumSHA1": "r5hHPg1v9SL/gyatPWdaujG9aoE=",
-                       "origin": "github.com/docker/docker/vendor/github.com/docker/libtrust",
-                       "path": "github.com/docker/libtrust",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "d59758554a3d3911fa25c0269de1ebe2f1912c39",
+                       "revisionTime": "2017-12-21T20:03:56Z"
                },
                {
                        "checksumSHA1": "ImX1uv6O09ggFeBPUJJ2nu7MPSA=",
                        "revision": "0ca9ea5df5451ffdf184b4428c902747c2c11cd7",
                        "revisionTime": "2017-03-27T23:54:44Z"
                },
+               {
+                       "checksumSHA1": "wn2shNJMwRZpvuvkf1s7h0wvqHI=",
+                       "path": "github.com/gogo/protobuf/proto",
+                       "revision": "160de10b2537169b5ae3e7e221d28269ef40d311",
+                       "revisionTime": "2018-01-04T10:21:28Z"
+               },
                {
                        "checksumSHA1": "iIUYZyoanCQQTUaWsu8b+iOSPt4=",
                        "origin": "github.com/docker/docker/vendor/github.com/gorilla/context",
                        "path": "github.com/gorilla/context",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "zmCk+lgIeiOf0Ng9aFP9aFy8ksE=",
+                       "checksumSHA1": "fSs1WcPh2F5JJtxqYC+Jt8yCkYc=",
                        "path": "github.com/gorilla/mux",
-                       "revision": "4c1c3952b7d9d0a061a3fa7b36fd373ba0398ebc",
-                       "revisionTime": "2017-04-27T04:12:50Z"
+                       "revision": "5bbbb5b2b5729b132181cc7f4aa3b3c973e9a0ed",
+                       "revisionTime": "2018-01-07T15:57:08Z"
+               },
+               {
+                       "checksumSHA1": "d9PxF1XQGLMJZRct2R8qVM/eYlE=",
+                       "path": "github.com/hashicorp/golang-lru",
+                       "revision": "0a025b7e63adc15a622f29b0b2c4c3848243bbf6",
+                       "revisionTime": "2016-08-13T22:13:03Z"
+               },
+               {
+                       "checksumSHA1": "9hffs0bAIU6CquiRhKQdzjHnKt0=",
+                       "path": "github.com/hashicorp/golang-lru/simplelru",
+                       "revision": "0a025b7e63adc15a622f29b0b2c4c3848243bbf6",
+                       "revisionTime": "2016-08-13T22:13:03Z"
                },
                {
                        "checksumSHA1": "iCsyavJDnXC9OY//p52IWJWy7PY=",
                        "revisionTime": "2015-07-11T00:45:18Z"
                },
                {
-                       "checksumSHA1": "uTUsjF7bymOuKvXbW2BpkK/w4Vg=",
+                       "checksumSHA1": "oX6jFQD74oOApvDIhOzW2dXpg5Q=",
+                       "path": "github.com/kevinburke/ssh_config",
+                       "revision": "802051befeb51da415c46972b5caf36e7c33c53d",
+                       "revisionTime": "2017-10-13T21:14:58Z"
+               },
+               {
+                       "checksumSHA1": "IfZcD4U1dtllJKlPNeD2aU4Jn98=",
                        "path": "github.com/lib/pq",
-                       "revision": "2704adc878c21e1329f46f6e56a1c387d788ff94",
-                       "revisionTime": "2017-03-24T20:46:54Z"
+                       "revision": "83612a56d3dd153a94a629cd64925371c9adad78",
+                       "revisionTime": "2017-11-26T05:04:59Z"
                },
                {
-                       "checksumSHA1": "q5SZBWFVC3wOIzftf+l/h5WLG1k=",
+                       "checksumSHA1": "AU3fA8Sm33Vj9PBoRPSeYfxLRuE=",
                        "path": "github.com/lib/pq/oid",
-                       "revision": "2704adc878c21e1329f46f6e56a1c387d788ff94",
-                       "revisionTime": "2017-03-24T20:46:54Z"
+                       "revision": "83612a56d3dd153a94a629cd64925371c9adad78",
+                       "revisionTime": "2017-11-26T05:04:59Z"
                },
                {
                        "checksumSHA1": "V/quM7+em2ByJbWBLOsEwnY3j/Q=",
                        "revisionTime": "2016-12-03T19:45:07Z"
                },
                {
-                       "checksumSHA1": "OUupkCHnh8e3RHRNcMFqQJqhaQI=",
-                       "origin": "github.com/docker/docker/vendor/github.com/opencontainers/go-digest",
+                       "checksumSHA1": "OFNit1Qx2DdWhotfREKodDNUwCM=",
                        "path": "github.com/opencontainers/go-digest",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "279bed98673dd5bef374d3b6e4b09e2af76183bf",
+                       "revisionTime": "2017-06-07T19:53:33Z"
                },
                {
-                       "checksumSHA1": "qzsBSt0cnEYNIkYk7slHjmPl7o0=",
+                       "checksumSHA1": "ZGlIwSRjdLYCUII7JLE++N4w7Xc=",
                        "path": "github.com/opencontainers/image-spec/specs-go",
-                       "revision": "f03dbe35d449c54915d235f1a3cf8f585a24babe",
-                       "revisionTime": "2017-05-15T20:58:57Z"
+                       "revision": "577479e4dc273d3779f00c223c7e0dba4cd6b8b0",
+                       "revisionTime": "2017-11-25T02:40:18Z"
                },
                {
-                       "checksumSHA1": "vp5gfnUG920xBY1genCCoppZILc=",
+                       "checksumSHA1": "jdbXRRzeu0njLE9/nCEZG+Yg/Jk=",
                        "path": "github.com/opencontainers/image-spec/specs-go/v1",
-                       "revision": "f03dbe35d449c54915d235f1a3cf8f585a24babe",
-                       "revisionTime": "2017-05-15T20:58:57Z"
+                       "revision": "577479e4dc273d3779f00c223c7e0dba4cd6b8b0",
+                       "revisionTime": "2017-11-25T02:40:18Z"
                },
                {
-                       "checksumSHA1": "PdQm3s8DoVJ17Vk8n7o5iPa7PK0=",
-                       "origin": "github.com/docker/docker/vendor/github.com/pkg/errors",
+                       "checksumSHA1": "F1IYMLBLAZaTOWnmXsgaxTGvrWI=",
+                       "path": "github.com/pelletier/go-buffruneio",
+                       "revision": "c37440a7cf42ac63b919c752ca73a85067e05992",
+                       "revisionTime": "2017-02-27T22:03:11Z"
+               },
+               {
+                       "checksumSHA1": "xCv4GBFyw07vZkVtKF/XrUnkHRk=",
                        "path": "github.com/pkg/errors",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "e881fd58d78e04cf6d0de1217f8707c8cc2249bc",
+                       "revisionTime": "2017-12-16T07:03:16Z"
                },
                {
                        "checksumSHA1": "UwtyqB7CaUWPlw0DVJQvw0IFQZs=",
                        "revision": "ba9c9e33906f58169366275e3450db66139a31a9",
                        "revisionTime": "2015-12-15T15:34:51Z"
                },
+               {
+                       "checksumSHA1": "TT1rac6kpQp2vz24m5yDGUNQ/QQ=",
+                       "path": "golang.org/x/crypto/cast5",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
                {
                        "checksumSHA1": "IQkUIOnvlf0tYloFx9mLaXSvXWQ=",
                        "path": "golang.org/x/crypto/curve25519",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
                        "checksumSHA1": "1hwn8cgg4EVXhCpJIqmMbzqnUo0=",
                        "path": "golang.org/x/crypto/ed25519",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
                        "checksumSHA1": "LXFcVx8I587SnWmKycSDEq9yvK8=",
                        "path": "golang.org/x/crypto/ed25519/internal/edwards25519",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "ooU7jaiYSUKlg5BVllI8lsq+5Qk=",
+                       "path": "golang.org/x/crypto/openpgp",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "olOKkhrdkYQHZ0lf1orrFQPQrv4=",
+                       "path": "golang.org/x/crypto/openpgp/armor",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
-                       "checksumSHA1": "R9/BEjpj6VT5IZN6EDPs4gjMJz0=",
+                       "checksumSHA1": "eo/KtdjieJQXH7Qy+faXFcF70ME=",
+                       "path": "golang.org/x/crypto/openpgp/elgamal",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "rlxVSaGgqdAgwblsErxTxIfuGfg=",
+                       "path": "golang.org/x/crypto/openpgp/errors",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "Pq88+Dgh04UdXWZN6P+bLgYnbRc=",
+                       "path": "golang.org/x/crypto/openpgp/packet",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "s2qT4UwvzBSkzXuiuMkowif1Olw=",
+                       "path": "golang.org/x/crypto/openpgp/s2k",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "NHjGg73p5iGZ+7tflJ4cVABNmKE=",
                        "path": "golang.org/x/crypto/ssh",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
                        "checksumSHA1": "NMRX0onGReaL9IfLr0XQ3kl5Id0=",
                        "path": "golang.org/x/crypto/ssh/agent",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
                        "checksumSHA1": "zBHtHvMj+MXa1qa4aglBt46uUck=",
                        "path": "golang.org/x/crypto/ssh/knownhosts",
-                       "revision": "94eea52f7b742c7cbe0b03b22f0c4c8631ece122",
-                       "revisionTime": "2017-11-28T01:43:40Z"
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
+               },
+               {
+                       "checksumSHA1": "X1NTlfcau2XcV6WtAHF6b/DECOA=",
+                       "path": "golang.org/x/crypto/ssh/terminal",
+                       "revision": "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8",
+                       "revisionTime": "2017-11-25T19:00:56Z"
                },
                {
                        "checksumSHA1": "Y+HGqEkYM15ir+J93MEaHdyFy0c=",
                        "origin": "github.com/docker/docker/vendor/golang.org/x/net/context",
                        "path": "golang.org/x/net/context",
-                       "revision": "d94164867c2df977ceb8d9df3d90364d0a682d05",
-                       "revisionTime": "2017-12-04T17:54:02Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "WHc3uByvGaMcnSoI21fhzYgbOgg=",
-                       "origin": "github.com/docker/docker/vendor/golang.org/x/net/context/ctxhttp",
                        "path": "golang.org/x/net/context/ctxhttp",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "434ec0c7fe3742c984919a691b2018a6e9694425",
+                       "revisionTime": "2017-09-25T09:26:47Z"
                },
                {
-                       "checksumSHA1": "LvdVRE0FqdR68SvVpRkHs1rxhcA=",
-                       "origin": "github.com/docker/docker/vendor/golang.org/x/net/proxy",
+                       "checksumSHA1": "r9l4r3H6FOLQ0c2JaoXpopFjpnw=",
                        "path": "golang.org/x/net/proxy",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "434ec0c7fe3742c984919a691b2018a6e9694425",
+                       "revisionTime": "2017-09-25T09:26:47Z"
                },
                {
-                       "checksumSHA1": "yppNZB5y0GmJrt/TYOASrhe2oVc=",
+                       "checksumSHA1": "TBlnCuZUOzJHLu5DNY7XEj8TvbU=",
                        "path": "golang.org/x/net/webdav",
-                       "revision": "f01ecb60fe3835d80d9a0b7b2bf24b228c89260e",
-                       "revisionTime": "2017-07-11T11:58:19Z"
+                       "revision": "434ec0c7fe3742c984919a691b2018a6e9694425",
+                       "revisionTime": "2017-09-25T09:26:47Z"
                },
                {
                        "checksumSHA1": "XgtZlzd39qIkBHs6XYrq9dhTCog=",
                        "path": "golang.org/x/net/webdav/internal/xml",
-                       "revision": "f01ecb60fe3835d80d9a0b7b2bf24b228c89260e",
-                       "revisionTime": "2017-07-11T11:58:19Z"
+                       "revision": "434ec0c7fe3742c984919a691b2018a6e9694425",
+                       "revisionTime": "2017-09-25T09:26:47Z"
                },
                {
                        "checksumSHA1": "7EZyXN0EmZLgGxZxK01IJua4c8o=",
                        "path": "golang.org/x/net/websocket",
-                       "revision": "513929065c19401a1c7b76ecd942f9f86a0c061b",
-                       "revisionTime": "2017-05-12T22:20:15Z"
+                       "revision": "434ec0c7fe3742c984919a691b2018a6e9694425",
+                       "revisionTime": "2017-09-25T09:26:47Z"
                },
                {
-                       "checksumSHA1": "dUfdXzRJupI9VpqNR2LlppeZvLc=",
+                       "checksumSHA1": "znPq37/LZ4pJh7B4Lbu0ZuoMhNk=",
                        "origin": "github.com/docker/docker/vendor/golang.org/x/sys/unix",
                        "path": "golang.org/x/sys/unix",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
-                       "checksumSHA1": "fpW2dhGFC6SrVzipJx7fjg2DIH8=",
+                       "checksumSHA1": "8BcMOi8XTSigDtV2npDc8vMrS60=",
                        "origin": "github.com/docker/docker/vendor/golang.org/x/sys/windows",
                        "path": "golang.org/x/sys/windows",
-                       "revision": "280327cb4d1e1fe4f118d00596ce0b3a6ae6d07e",
-                       "revisionTime": "2017-05-17T20:48:28Z"
+                       "revision": "94b8a116fbf1cd90e68d8f5361b520d326a66f9b",
+                       "revisionTime": "2018-01-09T01:38:17Z"
                },
                {
                        "checksumSHA1": "ziMb9+ANGRJSSIuxYdRbA+cDRBQ=",
                        "path": "golang.org/x/text/transform",
-                       "revision": "57961680700a5336d15015c8c50686ca5ba362a4",
-                       "revisionTime": "2017-11-28T12:17:19Z"
+                       "revision": "e19ae1496984b1c655b8044a65c0300a3c878dd3",
+                       "revisionTime": "2017-12-24T20:31:28Z"
                },
                {
-                       "checksumSHA1": "BwRNKgzIMUxk56OScxyr43BV6IE=",
+                       "checksumSHA1": "BCNYmf4Ek93G4lk5x3ucNi/lTwA=",
                        "path": "golang.org/x/text/unicode/norm",
-                       "revision": "57961680700a5336d15015c8c50686ca5ba362a4",
-                       "revisionTime": "2017-11-28T12:17:19Z"
+                       "revision": "e19ae1496984b1c655b8044a65c0300a3c878dd3",
+                       "revisionTime": "2017-12-24T20:31:28Z"
                },
                {
                        "checksumSHA1": "CEFTYXtWmgSh+3Ik1NmDaJcz4E0=",
                        "revisionTime": "2016-12-08T18:13:25Z"
                },
                {
-                       "checksumSHA1": "OMS7bwaAYpmocTLflRC8ctukGo8=",
-                       "path": "gopkg.in/src-d/go-billy.v3",
-                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
-                       "revisionTime": "2017-06-27T10:15:46Z"
+                       "checksumSHA1": "GdsHg+yOsZtdMvD9HJFovPsqKec=",
+                       "path": "gopkg.in/src-d/go-billy.v4",
+                       "revision": "053dbd006f81a230434f712314aacfb540b52cc5",
+                       "revisionTime": "2017-11-27T19:20:57Z"
                },
                {
-                       "checksumSHA1": "BfxlZXUAo+4gqICRNkn1fbJu/Jw=",
-                       "path": "gopkg.in/src-d/go-billy.v3/helper/chroot",
-                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
-                       "revisionTime": "2017-06-27T10:15:46Z"
+                       "checksumSHA1": "yscejfasrttJfPq91pn7gArFb5o=",
+                       "path": "gopkg.in/src-d/go-billy.v4/helper/chroot",
+                       "revision": "053dbd006f81a230434f712314aacfb540b52cc5",
+                       "revisionTime": "2017-11-27T19:20:57Z"
                },
                {
-                       "checksumSHA1": "PwXEhy280k1rj6obYt+/ZfZ5SzI=",
-                       "path": "gopkg.in/src-d/go-billy.v3/helper/polyfill",
-                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
-                       "revisionTime": "2017-06-27T10:15:46Z"
+                       "checksumSHA1": "B7HAyGfl+ONIAvlHzbvSsLisx9o=",
+                       "path": "gopkg.in/src-d/go-billy.v4/helper/polyfill",
+                       "revision": "053dbd006f81a230434f712314aacfb540b52cc5",
+                       "revisionTime": "2017-11-27T19:20:57Z"
                },
                {
-                       "checksumSHA1": "5QGZZIfRAeRt5guZzx6UA52uwEk=",
-                       "path": "gopkg.in/src-d/go-billy.v3/osfs",
-                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
-                       "revisionTime": "2017-06-27T10:15:46Z"
+                       "checksumSHA1": "1CnG3JdmIQoa6mE0O98BfymLmuM=",
+                       "path": "gopkg.in/src-d/go-billy.v4/osfs",
+                       "revision": "053dbd006f81a230434f712314aacfb540b52cc5",
+                       "revisionTime": "2017-11-27T19:20:57Z"
                },
                {
-                       "checksumSHA1": "gHdA6TMpLCZhKio7ltM7H4eDX2k=",
-                       "path": "gopkg.in/src-d/go-billy.v3/util",
-                       "revision": "c329b7bc7b9d24905d2bc1b85bfa29f7ae266314",
-                       "revisionTime": "2017-06-27T10:15:46Z"
+                       "checksumSHA1": "lo42NuhQJppy2ne/uwPR2T9BSPY=",
+                       "path": "gopkg.in/src-d/go-billy.v4/util",
+                       "revision": "053dbd006f81a230434f712314aacfb540b52cc5",
+                       "revisionTime": "2017-11-27T19:20:57Z"
                },
                {
-                       "checksumSHA1": "E0ZxsMpf8GRZTfMzens8FK/Odvs=",
+                       "checksumSHA1": "ydjzL2seh3M8h9svrSDV5y/KQJU=",
                        "path": "gopkg.in/src-d/go-git.v4",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "1d4PgjU+LhyJ2ROnz/WwrEKVh28=",
+                       "checksumSHA1": "TSoIlaADKlw3Zx0ysCCBn6kyXNE=",
                        "path": "gopkg.in/src-d/go-git.v4/config",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "A3WduoxOIVoBnsDAEZtI798CZtU=",
+                       "checksumSHA1": "B2OLPJ4wnJIM2TMjTyzusYluUeI=",
                        "path": "gopkg.in/src-d/go-git.v4/internal/revision",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "Re676e7BhdKLVVNfvNhnbiec2JM=",
+                       "checksumSHA1": "o9YH41kQMefVGUS7d3WWSLLhIRk=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "neTbLTzQ9+vo97D5i+3K9iprn5c=",
+                       "checksumSHA1": "BrsKLhmB0BtaMY+ol1oglnHhvrs=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/cache",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "pHPMiAzXG/TJqTLEKj2SHjxX4zs=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/filemode",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "RzTdA6jLPwD/m6mq+rgS2CB04d4=",
+                       "checksumSHA1": "UGIM9BX7w3MhiadsuN6f8Bx0VZU=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/config",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "vOD599V5I9EsWuGT9BIU8ZAyiNY=",
+                       "checksumSHA1": "L1H7nPf65//6nQGt3Lzq16vLD8w=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/diff",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "mI7Ks4Bumh+OYkxuSBrIeBTAKoA=",
+                       "checksumSHA1": "87WhYdropmGA4peZOembY5hEgq8=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/gitignore",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "G0TX3efLdk7noo/n1Dt9Tzempig=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/idxfile",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "naVExGq1c3bXZ4+Em3slvB7I8so=",
+                       "checksumSHA1": "q7HtzrSzVE9qN5N3QOxkLFcZI1U=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/index",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "RYeQffgqVS4Kbbk2YVcaPadXCiI=",
+                       "checksumSHA1": "0IxJpGMfdnr3cuuVE59u+1B5n9o=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/objfile",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "q22wOnNvgQNTuWAkcYKa1xVk7og=",
+                       "checksumSHA1": "LJnyldAM69WmMXW5avaEeSScKTU=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/packfile",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "rA6jJ2fxdcALXL7EaP8Ja37xXjw=",
+                       "checksumSHA1": "T8efjPxCKp23RvSBI51qugHzgxw=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/format/pktline",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "6LZ2gIv993WaeqA2QMMvf04BRzk=",
+                       "checksumSHA1": "97LEL3gxgDWPP/UlRHMfKb5I0RA=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/object",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "sBjAjpwQtYwh1xgCC/Np6k1QCxA=",
+                       "checksumSHA1": "PQmY1mHiPdNBNrh3lESZe3QH36c=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "+iFHG0LBT3gYImczKZy9Gkjogpk=",
+                       "checksumSHA1": "JjHHYoWDYf0H//nP2FIS05ZLgj8=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/capability",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "wVfbzV5BNhjW/HFFJuTCjkPSJ5M=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/protocol/packp/sideband",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "xnSL7xqAg9rUrqzrFy2OtOkfBHY=",
+                       "checksumSHA1": "m8nTTRFD7kmX9nT5Yfr9lqabR4s=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/revlist",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "QL14x3W+ObgTwz2wRXyMhxGM9jM=",
+                       "checksumSHA1": "Xito+BwVCMpKrhcvgz5wU+MRmEo=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/storer",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "kKJbFD1KBIE37kZACAzrDdwwzlw=",
+                       "checksumSHA1": "AVSX04sTj3cBv1muAmIbPE9D9FY=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "aReXFIha6HkU5jPfLWWAEMPhEp4=",
+                       "checksumSHA1": "cmOntUALmiRvvblEXAQXNO4Oous=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/client",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "KLaUkXK0IPfAwIyC9WuzgpKl4Ts=",
+                       "checksumSHA1": "gaKy+c/OjPQFLhENnSAFEZUngok=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/file",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "4B79ZyIoeNpT4OWl/CvEQn9RP+g=",
+                       "checksumSHA1": "chcAwbm6J5uXXn6IV58+G6RKCjU=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/git",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "0H7p/EuPC+LQdRWLoNO775/JIPw=",
+                       "checksumSHA1": "m9TNeIIGUBdZ0qdSl5Xa/0TIvfo=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/http",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "1P0AgwgfasGL7aL5+FuuDan835c=",
+                       "checksumSHA1": "6asrmcjb98FpRr83ICCODXdGWdE=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/internal/common",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "WqaZfy8UDC25vPX8DJEUZH9urhw=",
+                       "checksumSHA1": "MGiWWrsy8iQ5ZdCXEN2Oc4oprCk=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/server",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "NY+2qZNBynx/7d7vm20G7nU4LGk=",
+                       "checksumSHA1": "vat8YhxXGXNcg8HvCDfHAR6BcL0=",
                        "path": "gopkg.in/src-d/go-git.v4/plumbing/transport/ssh",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "FlVLBdu4cjlXj9zjRRNDurRLABU=",
                        "path": "gopkg.in/src-d/go-git.v4/storage",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "FIbvDZtO3BdDAU+6Ogi1iCqj0cA=",
+                       "checksumSHA1": "IpSxC31PynwJBajOaHR7gtnVc7I=",
                        "path": "gopkg.in/src-d/go-git.v4/storage/filesystem",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "pPcJtH7jHTjiwhlyGDEr6dMOHiM=",
+                       "checksumSHA1": "OaZO6dgvn6PMvezw0bYQUGLSrF0=",
                        "path": "gopkg.in/src-d/go-git.v4/storage/filesystem/internal/dotgit",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "OfzMDAIu253dJ9591gd3w/APq0I=",
+                       "checksumSHA1": "jPRm9YqpcJzx4oasd6PBdD33Dgo=",
                        "path": "gopkg.in/src-d/go-git.v4/storage/memory",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "AzdUpuGqSNnNK6DgdNjWrn99i3o=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/binary",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "vniUxB6bbDYazl21cOfmhdZZiY8=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/diff",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "UM8j6MDPfIvBJOYrXWYFpN6nwk8=",
+                       "checksumSHA1": "cspCXRxvzvoNOEUB7wRgOKYrVjQ=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/ioutil",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "6gGibezR20asX5JgNsGR9AWiF1s=",
+                       "checksumSHA1": "shsY2I1OFbnjopNWF21Tkfx+tac=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "EkYWmjvMAaEG9JPYtwE6x7hwxjY=",
+                       "checksumSHA1": "QiHHx1Qb/Vv4W6uQb+mJU2zMqLo=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/filesystem",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "M+6y9mdBFksksEGBceBh9Se3W7Y=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/index",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "7eEw/xsSrFLfSppRf/JIt9u7lbU=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/internal/frame",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
-                       "checksumSHA1": "0H0x2urvYdo68NY6fGFJG59lqoI=",
+                       "checksumSHA1": "qCb9d3cwnPHVLqS/U9NAzK+1Ptg=",
                        "path": "gopkg.in/src-d/go-git.v4/utils/merkletrie/noder",
-                       "revision": "f9879dd043f84936a1f8acb8a53b74332a7ae135",
-                       "revisionTime": "2017-09-04T17:43:36Z"
+                       "revision": "bf3b1f1fb9e0a04d0f87511a7ded2562b48a19d8",
+                       "revisionTime": "2018-01-08T13:05:52Z"
                },
                {
                        "checksumSHA1": "I4c3qsEX8KAUTeB9+2pwVX/2ojU=",
                        "revisionTime": "2017-11-15T19:30:34Z"
                },
                {
-                       "checksumSHA1": "fALlQNY1fM99NesfLJ50KguWsio=",
+                       "checksumSHA1": "qOmvuDm+F+2nQQecUZBVkZrTn6Y=",
                        "path": "gopkg.in/yaml.v2",
-                       "revision": "cd8b52f8269e0feb286dfeef29f8fe4d5b397e0b",
-                       "revisionTime": "2017-04-07T17:21:22Z"
+                       "revision": "d670f9405373e636a5a2765eea47fac0c9bc91a4",
+                       "revisionTime": "2018-01-09T11:43:31Z"
                },
                {
                        "checksumSHA1": "rBIcwbUjE9w1aV0qh7lAL1hcxCQ=",