diff options
author | Stan Hu <stanhu@gmail.com> | 2018-03-28 03:56:28 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-04-05 18:01:44 +0300 |
commit | b8802e3dd039c30e80c7e2921b04802c31a477f8 (patch) | |
tree | 596cae3e23f9e9890d3b65b7d3bd82d711789b3e | |
parent | b35254653e7e39171dfd2d0cc19cc1d661041bcf (diff) |
Support RPC for Repository cleanup
-rw-r--r-- | internal/service/repository/calculate_checksum.go | 13 | ||||
-rw-r--r-- | internal/service/repository/cleanup.go | 17 | ||||
-rw-r--r-- | internal/service/repository/cleanup_test.go | 187 | ||||
-rw-r--r-- | internal/service/repository/gc_test.go | 135 | ||||
-rw-r--r-- | vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION | 2 | ||||
-rw-r--r-- | vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go | 4 | ||||
-rw-r--r-- | vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go | 401 | ||||
-rw-r--r-- | vendor/vendor.json | 10 |
8 files changed, 494 insertions, 275 deletions
diff --git a/internal/service/repository/calculate_checksum.go b/internal/service/repository/calculate_checksum.go new file mode 100644 index 000000000..bbae4e94a --- /dev/null +++ b/internal/service/repository/calculate_checksum.go @@ -0,0 +1,13 @@ +package repository + +// Stubbed out until https://gitlab.com/gitlab-org/gitaly/merge_requests/642 is done + +import ( + pb "gitlab.com/gitlab-org/gitaly-proto/go" + "gitlab.com/gitlab-org/gitaly/internal/helper" + "golang.org/x/net/context" +) + +func (s *server) CalculateChecksum(ctx context.Context, in *pb.CalculateChecksumRequest) (*pb.CalculateChecksumResponse, error) { + return nil, helper.Unimplemented +} diff --git a/internal/service/repository/cleanup.go b/internal/service/repository/cleanup.go index f0c8d1c96..c3e99daf2 100644 --- a/internal/service/repository/cleanup.go +++ b/internal/service/repository/cleanup.go @@ -7,10 +7,27 @@ import ( "strings" "time" + "golang.org/x/net/context" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + + pb "gitlab.com/gitlab-org/gitaly-proto/go" + "gitlab.com/gitlab-org/gitaly/internal/helper" ) +func (server) Cleanup(_ctx context.Context, in *pb.CleanupRequest) (*pb.CleanupResponse, error) { + repoPath, err := helper.GetRepoPath(in.GetRepository()) + if err != nil { + return nil, err + } + + if err := cleanupRepo(repoPath); err != nil { + return nil, err + } + + return &pb.CleanupResponse{}, nil +} + func cleanupRepo(repoPath string) error { threshold := time.Now().Add(-1 * time.Hour) if err := cleanRefsLocks(filepath.Join(repoPath, "refs"), threshold); err != nil { diff --git a/internal/service/repository/cleanup_test.go b/internal/service/repository/cleanup_test.go new file mode 100644 index 000000000..70de2fab8 --- /dev/null +++ b/internal/service/repository/cleanup_test.go @@ -0,0 +1,187 @@ +package repository + +import ( + "os" + "path/filepath" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "gitlab.com/gitlab-org/gitaly/internal/testhelper" + + pb "gitlab.com/gitlab-org/gitaly-proto/go" +) + +func TestCleanupDeletesRefsLocks(t *testing.T) { + server, serverSocketPath := runRepoServer(t) + defer server.Stop() + + client, conn := newRepositoryClient(t, serverSocketPath) + defer conn.Close() + + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + ctx, cancel := testhelper.Context() + defer cancel() + + req := &pb.CleanupRequest{Repository: testRepo} + refsPath := filepath.Join(testRepoPath, "refs") + + keepRefPath := filepath.Join(refsPath, "heads", "keepthis") + createFileWithTimes(keepRefPath, freshTime) + keepOldRefPath := filepath.Join(refsPath, "heads", "keepthisalso") + createFileWithTimes(keepOldRefPath, oldTime) + keepDeceitfulRef := filepath.Join(refsPath, "heads", " .lock.not-actually-a-lock.lock ") + createFileWithTimes(keepDeceitfulRef, oldTime) + + keepLockPath := filepath.Join(refsPath, "heads", "keepthis.lock") + createFileWithTimes(keepLockPath, freshTime) + + deleteLockPath := filepath.Join(refsPath, "heads", "deletethis.lock") + createFileWithTimes(deleteLockPath, oldTime) + + c, err := client.Cleanup(ctx, req) + assert.NoError(t, err) + assert.NotNil(t, c) + + // Sanity checks + assert.FileExists(t, keepRefPath) + assert.FileExists(t, keepOldRefPath) + assert.FileExists(t, keepDeceitfulRef) + + assert.FileExists(t, keepLockPath) + + testhelper.AssertFileNotExists(t, deleteLockPath) +} + +func TestCleanupDeletesPackedRefsLock(t *testing.T) { + server, serverSocketPath := runRepoServer(t) + defer server.Stop() + + client, conn := newRepositoryClient(t, serverSocketPath) + defer conn.Close() + + testCases := []struct { + desc string + lockTime *time.Time + shouldExist bool + }{ + { + desc: "with a recent lock", + lockTime: &freshTime, + shouldExist: true, + }, + { + desc: "with an old lock", + lockTime: &oldTime, + shouldExist: false, + }, + { + desc: "with a non-existing lock", + lockTime: nil, + shouldExist: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + // Force the packed-refs file to have an old time to test that even + // in that case it doesn't get deleted + packedRefsPath := filepath.Join(testRepoPath, "packed-refs") + os.Chtimes(packedRefsPath, oldTime, oldTime) + + req := &pb.CleanupRequest{Repository: testRepo} + lockPath := filepath.Join(testRepoPath, "packed-refs.lock") + + if tc.lockTime != nil { + createFileWithTimes(lockPath, *tc.lockTime) + } + + ctx, cancel := testhelper.Context() + defer cancel() + + c, err := client.Cleanup(ctx, req) + + // Sanity checks + assert.FileExists(t, filepath.Join(testRepoPath, "HEAD")) // For good measure + assert.FileExists(t, packedRefsPath) + + if tc.shouldExist { + assert.FileExists(t, lockPath) + } else { + assert.NoError(t, err) + assert.NotNil(t, c) + + testhelper.AssertFileNotExists(t, lockPath) + } + }) + } +} + +func TestCleanupDeletesStaleWorktrees(t *testing.T) { + server, serverSocketPath := runRepoServer(t) + defer server.Stop() + + client, conn := newRepositoryClient(t, serverSocketPath) + defer conn.Close() + + testCases := []struct { + desc string + worktreeTime time.Time + shouldExist bool + }{ + { + desc: "with a recent worktree", + worktreeTime: freshTime, + shouldExist: true, + }, + { + desc: "with a slightly old worktree", + worktreeTime: oldTime, + shouldExist: true, + }, + { + desc: "with an old worktree", + worktreeTime: oldTreeTime, + shouldExist: false, + }, + } + + for _, tc := range testCases { + t.Run(tc.desc, func(t *testing.T) { + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + req := &pb.CleanupRequest{Repository: testRepo} + + testhelper.AddWorktree(t, testRepoPath, "test-worktree") + basePath := filepath.Join(testRepoPath, "worktrees") + worktreePath := filepath.Join(basePath, "test-worktree") + + require.NoError(t, os.Chtimes(worktreePath, tc.worktreeTime, tc.worktreeTime)) + + ctx, cancel := testhelper.Context() + defer cancel() + + c, err := client.Cleanup(ctx, req) + + // Sanity check + assert.FileExists(t, filepath.Join(testRepoPath, "HEAD")) // For good measure + + if tc.shouldExist { + assert.DirExists(t, basePath) + assert.DirExists(t, worktreePath) + } else { + assert.NoError(t, err) + assert.NotNil(t, c) + + testhelper.AssertFileNotExists(t, worktreePath) + } + }) + } +} diff --git a/internal/service/repository/gc_test.go b/internal/service/repository/gc_test.go index f1bbe87ad..951f983c4 100644 --- a/internal/service/repository/gc_test.go +++ b/internal/service/repository/gc_test.go @@ -13,7 +13,6 @@ import ( "google.golang.org/grpc/codes" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitaly/internal/testhelper" pb "gitlab.com/gitlab-org/gitaly-proto/go" @@ -127,139 +126,7 @@ func TestGarbageCollectDeletesRefsLocks(t *testing.T) { assert.FileExists(t, keepLockPath) - // There's assert.FileExists but no assert.NotFileExists ¯\_(ツ)_/¯ - _, err = os.Stat(deleteLockPath) - assert.True(t, os.IsNotExist(err)) -} - -func TestGarbageCollectDeletesPackedRefsLock(t *testing.T) { - server, serverSocketPath := runRepoServer(t) - defer server.Stop() - - client, conn := newRepositoryClient(t, serverSocketPath) - defer conn.Close() - - testCases := []struct { - desc string - lockTime *time.Time - shouldExist bool - }{ - { - desc: "with a recent lock", - lockTime: &freshTime, - shouldExist: true, - }, - { - desc: "with an old lock", - lockTime: &oldTime, - shouldExist: false, - }, - { - desc: "with a non-existing lock", - lockTime: nil, - shouldExist: false, - }, - } - - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) - defer cleanupFn() - - // Force the packed-refs file to have an old time to test that even - // in that case it doesn't get deleted - packedRefsPath := filepath.Join(testRepoPath, "packed-refs") - os.Chtimes(packedRefsPath, oldTime, oldTime) - - req := &pb.GarbageCollectRequest{Repository: testRepo} - lockPath := filepath.Join(testRepoPath, "packed-refs.lock") - - if tc.lockTime != nil { - createFileWithTimes(lockPath, *tc.lockTime) - } - - ctx, cancel := testhelper.Context() - defer cancel() - - c, err := client.GarbageCollect(ctx, req) - - // Sanity checks - assert.FileExists(t, filepath.Join(testRepoPath, "HEAD")) // For good measure - assert.FileExists(t, packedRefsPath) - - if tc.shouldExist { - assert.FileExists(t, lockPath) - } else { - assert.NoError(t, err) - assert.NotNil(t, c) - - testhelper.AssertFileNotExists(t, lockPath) - } - }) - } -} - -func TestGarbageCollectDeletesStaleWorktrees(t *testing.T) { - server, serverSocketPath := runRepoServer(t) - defer server.Stop() - - client, conn := newRepositoryClient(t, serverSocketPath) - defer conn.Close() - - testCases := []struct { - desc string - worktreeTime time.Time - shouldExist bool - }{ - { - desc: "with a recent worktree", - worktreeTime: freshTime, - shouldExist: true, - }, - { - desc: "with a slightly old worktree", - worktreeTime: oldTime, - shouldExist: true, - }, - { - desc: "with an old worktree", - worktreeTime: oldTreeTime, - shouldExist: false, - }, - } - - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) - defer cleanupFn() - - req := &pb.GarbageCollectRequest{Repository: testRepo} - - testhelper.AddWorktree(t, testRepoPath, "test-worktree") - basePath := filepath.Join(testRepoPath, "worktrees") - worktreePath := filepath.Join(basePath, "test-worktree") - - require.NoError(t, os.Chtimes(worktreePath, tc.worktreeTime, tc.worktreeTime)) - - ctx, cancel := testhelper.Context() - defer cancel() - - c, err := client.GarbageCollect(ctx, req) - - // Sanity check - assert.FileExists(t, filepath.Join(testRepoPath, "HEAD")) // For good measure - - if tc.shouldExist { - assert.DirExists(t, basePath) - assert.DirExists(t, worktreePath) - } else { - assert.NoError(t, err) - assert.NotNil(t, c) - - testhelper.AssertFileNotExists(t, worktreePath) - } - }) - } + testhelper.AssertFileNotExists(t, deleteLockPath) } func TestGarbageCollectFailure(t *testing.T) { diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION index 8f63f4f9a..c5c735103 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION @@ -1 +1 @@ -0.91.0 +0.94.0 diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go index aac1d29ab..5fa4af8c3 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go @@ -177,6 +177,8 @@ It has these top-level messages: RepackFullResponse GarbageCollectRequest GarbageCollectResponse + CleanupRequest + CleanupResponse RepositorySizeRequest RepositorySizeResponse ApplyGitattributesRequest @@ -215,6 +217,8 @@ It has these top-level messages: FindLicenseResponse GetInfoAttributesRequest GetInfoAttributesResponse + CalculateChecksumRequest + CalculateChecksumResponse ServerInfoRequest ServerInfoResponse Repository diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go index e7a27bee3..5ee68bb39 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/repository-service.pb.go @@ -43,7 +43,7 @@ func (x GetArchiveRequest_Format) String() string { return proto.EnumName(GetArchiveRequest_Format_name, int32(x)) } func (GetArchiveRequest_Format) EnumDescriptor() ([]byte, []int) { - return fileDescriptor10, []int{16, 0} + return fileDescriptor10, []int{18, 0} } type RepositoryExistsRequest struct { @@ -166,6 +166,30 @@ func (m *GarbageCollectResponse) String() string { return proto.Compa func (*GarbageCollectResponse) ProtoMessage() {} func (*GarbageCollectResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{7} } +type CleanupRequest struct { + Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` +} + +func (m *CleanupRequest) Reset() { *m = CleanupRequest{} } +func (m *CleanupRequest) String() string { return proto.CompactTextString(m) } +func (*CleanupRequest) ProtoMessage() {} +func (*CleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} } + +func (m *CleanupRequest) GetRepository() *Repository { + if m != nil { + return m.Repository + } + return nil +} + +type CleanupResponse struct { +} + +func (m *CleanupResponse) Reset() { *m = CleanupResponse{} } +func (m *CleanupResponse) String() string { return proto.CompactTextString(m) } +func (*CleanupResponse) ProtoMessage() {} +func (*CleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} } + type RepositorySizeRequest struct { Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` } @@ -173,7 +197,7 @@ type RepositorySizeRequest struct { func (m *RepositorySizeRequest) Reset() { *m = RepositorySizeRequest{} } func (m *RepositorySizeRequest) String() string { return proto.CompactTextString(m) } func (*RepositorySizeRequest) ProtoMessage() {} -func (*RepositorySizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} } +func (*RepositorySizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{10} } func (m *RepositorySizeRequest) GetRepository() *Repository { if m != nil { @@ -190,7 +214,7 @@ type RepositorySizeResponse struct { func (m *RepositorySizeResponse) Reset() { *m = RepositorySizeResponse{} } func (m *RepositorySizeResponse) String() string { return proto.CompactTextString(m) } func (*RepositorySizeResponse) ProtoMessage() {} -func (*RepositorySizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} } +func (*RepositorySizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{11} } func (m *RepositorySizeResponse) GetSize() int64 { if m != nil { @@ -207,7 +231,7 @@ type ApplyGitattributesRequest struct { func (m *ApplyGitattributesRequest) Reset() { *m = ApplyGitattributesRequest{} } func (m *ApplyGitattributesRequest) String() string { return proto.CompactTextString(m) } func (*ApplyGitattributesRequest) ProtoMessage() {} -func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{10} } +func (*ApplyGitattributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{12} } func (m *ApplyGitattributesRequest) GetRepository() *Repository { if m != nil { @@ -229,7 +253,7 @@ type ApplyGitattributesResponse struct { func (m *ApplyGitattributesResponse) Reset() { *m = ApplyGitattributesResponse{} } func (m *ApplyGitattributesResponse) String() string { return proto.CompactTextString(m) } func (*ApplyGitattributesResponse) ProtoMessage() {} -func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{11} } +func (*ApplyGitattributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{13} } type FetchRemoteRequest struct { Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` @@ -245,7 +269,7 @@ type FetchRemoteRequest struct { func (m *FetchRemoteRequest) Reset() { *m = FetchRemoteRequest{} } func (m *FetchRemoteRequest) String() string { return proto.CompactTextString(m) } func (*FetchRemoteRequest) ProtoMessage() {} -func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{12} } +func (*FetchRemoteRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{14} } func (m *FetchRemoteRequest) GetRepository() *Repository { if m != nil { @@ -309,7 +333,7 @@ type FetchRemoteResponse struct { func (m *FetchRemoteResponse) Reset() { *m = FetchRemoteResponse{} } func (m *FetchRemoteResponse) String() string { return proto.CompactTextString(m) } func (*FetchRemoteResponse) ProtoMessage() {} -func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{13} } +func (*FetchRemoteResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{15} } type CreateRepositoryRequest struct { Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` @@ -318,7 +342,7 @@ type CreateRepositoryRequest struct { func (m *CreateRepositoryRequest) Reset() { *m = CreateRepositoryRequest{} } func (m *CreateRepositoryRequest) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryRequest) ProtoMessage() {} -func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{14} } +func (*CreateRepositoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{16} } func (m *CreateRepositoryRequest) GetRepository() *Repository { if m != nil { @@ -333,7 +357,7 @@ type CreateRepositoryResponse struct { func (m *CreateRepositoryResponse) Reset() { *m = CreateRepositoryResponse{} } func (m *CreateRepositoryResponse) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryResponse) ProtoMessage() {} -func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{15} } +func (*CreateRepositoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{17} } type GetArchiveRequest struct { Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` @@ -345,7 +369,7 @@ type GetArchiveRequest struct { func (m *GetArchiveRequest) Reset() { *m = GetArchiveRequest{} } func (m *GetArchiveRequest) String() string { return proto.CompactTextString(m) } func (*GetArchiveRequest) ProtoMessage() {} -func (*GetArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{16} } +func (*GetArchiveRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{18} } func (m *GetArchiveRequest) GetRepository() *Repository { if m != nil { @@ -382,7 +406,7 @@ type GetArchiveResponse struct { func (m *GetArchiveResponse) Reset() { *m = GetArchiveResponse{} } func (m *GetArchiveResponse) String() string { return proto.CompactTextString(m) } func (*GetArchiveResponse) ProtoMessage() {} -func (*GetArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{17} } +func (*GetArchiveResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{19} } func (m *GetArchiveResponse) GetData() []byte { if m != nil { @@ -398,7 +422,7 @@ type HasLocalBranchesRequest struct { func (m *HasLocalBranchesRequest) Reset() { *m = HasLocalBranchesRequest{} } func (m *HasLocalBranchesRequest) String() string { return proto.CompactTextString(m) } func (*HasLocalBranchesRequest) ProtoMessage() {} -func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{18} } +func (*HasLocalBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{20} } func (m *HasLocalBranchesRequest) GetRepository() *Repository { if m != nil { @@ -414,7 +438,7 @@ type HasLocalBranchesResponse struct { func (m *HasLocalBranchesResponse) Reset() { *m = HasLocalBranchesResponse{} } func (m *HasLocalBranchesResponse) String() string { return proto.CompactTextString(m) } func (*HasLocalBranchesResponse) ProtoMessage() {} -func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{19} } +func (*HasLocalBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{21} } func (m *HasLocalBranchesResponse) GetValue() bool { if m != nil { @@ -433,7 +457,7 @@ type FetchSourceBranchRequest struct { func (m *FetchSourceBranchRequest) Reset() { *m = FetchSourceBranchRequest{} } func (m *FetchSourceBranchRequest) String() string { return proto.CompactTextString(m) } func (*FetchSourceBranchRequest) ProtoMessage() {} -func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{20} } +func (*FetchSourceBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{22} } func (m *FetchSourceBranchRequest) GetRepository() *Repository { if m != nil { @@ -470,7 +494,7 @@ type FetchSourceBranchResponse struct { func (m *FetchSourceBranchResponse) Reset() { *m = FetchSourceBranchResponse{} } func (m *FetchSourceBranchResponse) String() string { return proto.CompactTextString(m) } func (*FetchSourceBranchResponse) ProtoMessage() {} -func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{21} } +func (*FetchSourceBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{23} } func (m *FetchSourceBranchResponse) GetResult() bool { if m != nil { @@ -486,7 +510,7 @@ type FsckRequest struct { func (m *FsckRequest) Reset() { *m = FsckRequest{} } func (m *FsckRequest) String() string { return proto.CompactTextString(m) } func (*FsckRequest) ProtoMessage() {} -func (*FsckRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{22} } +func (*FsckRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{24} } func (m *FsckRequest) GetRepository() *Repository { if m != nil { @@ -502,7 +526,7 @@ type FsckResponse struct { func (m *FsckResponse) Reset() { *m = FsckResponse{} } func (m *FsckResponse) String() string { return proto.CompactTextString(m) } func (*FsckResponse) ProtoMessage() {} -func (*FsckResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{23} } +func (*FsckResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{25} } func (m *FsckResponse) GetError() []byte { if m != nil { @@ -523,7 +547,7 @@ type WriteRefRequest struct { func (m *WriteRefRequest) Reset() { *m = WriteRefRequest{} } func (m *WriteRefRequest) String() string { return proto.CompactTextString(m) } func (*WriteRefRequest) ProtoMessage() {} -func (*WriteRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{24} } +func (*WriteRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{26} } func (m *WriteRefRequest) GetRepository() *Repository { if m != nil { @@ -574,7 +598,7 @@ type WriteRefResponse struct { func (m *WriteRefResponse) Reset() { *m = WriteRefResponse{} } func (m *WriteRefResponse) String() string { return proto.CompactTextString(m) } func (*WriteRefResponse) ProtoMessage() {} -func (*WriteRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{25} } +func (*WriteRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{27} } func (m *WriteRefResponse) GetError() []byte { if m != nil { @@ -594,7 +618,7 @@ type FindMergeBaseRequest struct { func (m *FindMergeBaseRequest) Reset() { *m = FindMergeBaseRequest{} } func (m *FindMergeBaseRequest) String() string { return proto.CompactTextString(m) } func (*FindMergeBaseRequest) ProtoMessage() {} -func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{26} } +func (*FindMergeBaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{28} } func (m *FindMergeBaseRequest) GetRepository() *Repository { if m != nil { @@ -617,7 +641,7 @@ type FindMergeBaseResponse struct { func (m *FindMergeBaseResponse) Reset() { *m = FindMergeBaseResponse{} } func (m *FindMergeBaseResponse) String() string { return proto.CompactTextString(m) } func (*FindMergeBaseResponse) ProtoMessage() {} -func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{27} } +func (*FindMergeBaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{29} } func (m *FindMergeBaseResponse) GetBase() string { if m != nil { @@ -634,7 +658,7 @@ type CreateForkRequest struct { func (m *CreateForkRequest) Reset() { *m = CreateForkRequest{} } func (m *CreateForkRequest) String() string { return proto.CompactTextString(m) } func (*CreateForkRequest) ProtoMessage() {} -func (*CreateForkRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{28} } +func (*CreateForkRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{30} } func (m *CreateForkRequest) GetRepository() *Repository { if m != nil { @@ -656,7 +680,7 @@ type CreateForkResponse struct { func (m *CreateForkResponse) Reset() { *m = CreateForkResponse{} } func (m *CreateForkResponse) String() string { return proto.CompactTextString(m) } func (*CreateForkResponse) ProtoMessage() {} -func (*CreateForkResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{29} } +func (*CreateForkResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{31} } type IsRebaseInProgressRequest struct { Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` @@ -666,7 +690,7 @@ type IsRebaseInProgressRequest struct { func (m *IsRebaseInProgressRequest) Reset() { *m = IsRebaseInProgressRequest{} } func (m *IsRebaseInProgressRequest) String() string { return proto.CompactTextString(m) } func (*IsRebaseInProgressRequest) ProtoMessage() {} -func (*IsRebaseInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{30} } +func (*IsRebaseInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{32} } func (m *IsRebaseInProgressRequest) GetRepository() *Repository { if m != nil { @@ -689,7 +713,7 @@ type IsRebaseInProgressResponse struct { func (m *IsRebaseInProgressResponse) Reset() { *m = IsRebaseInProgressResponse{} } func (m *IsRebaseInProgressResponse) String() string { return proto.CompactTextString(m) } func (*IsRebaseInProgressResponse) ProtoMessage() {} -func (*IsRebaseInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{31} } +func (*IsRebaseInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{33} } func (m *IsRebaseInProgressResponse) GetInProgress() bool { if m != nil { @@ -706,7 +730,7 @@ type IsSquashInProgressRequest struct { func (m *IsSquashInProgressRequest) Reset() { *m = IsSquashInProgressRequest{} } func (m *IsSquashInProgressRequest) String() string { return proto.CompactTextString(m) } func (*IsSquashInProgressRequest) ProtoMessage() {} -func (*IsSquashInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{32} } +func (*IsSquashInProgressRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{34} } func (m *IsSquashInProgressRequest) GetRepository() *Repository { if m != nil { @@ -729,7 +753,7 @@ type IsSquashInProgressResponse struct { func (m *IsSquashInProgressResponse) Reset() { *m = IsSquashInProgressResponse{} } func (m *IsSquashInProgressResponse) String() string { return proto.CompactTextString(m) } func (*IsSquashInProgressResponse) ProtoMessage() {} -func (*IsSquashInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{33} } +func (*IsSquashInProgressResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{35} } func (m *IsSquashInProgressResponse) GetInProgress() bool { if m != nil { @@ -747,7 +771,7 @@ func (m *CreateRepositoryFromURLRequest) Reset() { *m = CreateRepository func (m *CreateRepositoryFromURLRequest) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryFromURLRequest) ProtoMessage() {} func (*CreateRepositoryFromURLRequest) Descriptor() ([]byte, []int) { - return fileDescriptor10, []int{34} + return fileDescriptor10, []int{36} } func (m *CreateRepositoryFromURLRequest) GetRepository() *Repository { @@ -771,7 +795,7 @@ func (m *CreateRepositoryFromURLResponse) Reset() { *m = CreateRepositor func (m *CreateRepositoryFromURLResponse) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryFromURLResponse) ProtoMessage() {} func (*CreateRepositoryFromURLResponse) Descriptor() ([]byte, []int) { - return fileDescriptor10, []int{35} + return fileDescriptor10, []int{37} } type CreateBundleRequest struct { @@ -781,7 +805,7 @@ type CreateBundleRequest struct { func (m *CreateBundleRequest) Reset() { *m = CreateBundleRequest{} } func (m *CreateBundleRequest) String() string { return proto.CompactTextString(m) } func (*CreateBundleRequest) ProtoMessage() {} -func (*CreateBundleRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{36} } +func (*CreateBundleRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{38} } func (m *CreateBundleRequest) GetRepository() *Repository { if m != nil { @@ -797,7 +821,7 @@ type CreateBundleResponse struct { func (m *CreateBundleResponse) Reset() { *m = CreateBundleResponse{} } func (m *CreateBundleResponse) String() string { return proto.CompactTextString(m) } func (*CreateBundleResponse) ProtoMessage() {} -func (*CreateBundleResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{37} } +func (*CreateBundleResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{39} } func (m *CreateBundleResponse) GetData() []byte { if m != nil { @@ -814,7 +838,7 @@ type WriteConfigRequest struct { func (m *WriteConfigRequest) Reset() { *m = WriteConfigRequest{} } func (m *WriteConfigRequest) String() string { return proto.CompactTextString(m) } func (*WriteConfigRequest) ProtoMessage() {} -func (*WriteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{38} } +func (*WriteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{40} } func (m *WriteConfigRequest) GetRepository() *Repository { if m != nil { @@ -837,7 +861,7 @@ type WriteConfigResponse struct { func (m *WriteConfigResponse) Reset() { *m = WriteConfigResponse{} } func (m *WriteConfigResponse) String() string { return proto.CompactTextString(m) } func (*WriteConfigResponse) ProtoMessage() {} -func (*WriteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{39} } +func (*WriteConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{41} } func (m *WriteConfigResponse) GetError() []byte { if m != nil { @@ -856,7 +880,7 @@ func (m *CreateRepositoryFromBundleRequest) Reset() { *m = CreateReposit func (m *CreateRepositoryFromBundleRequest) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryFromBundleRequest) ProtoMessage() {} func (*CreateRepositoryFromBundleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor10, []int{40} + return fileDescriptor10, []int{42} } func (m *CreateRepositoryFromBundleRequest) GetRepository() *Repository { @@ -880,7 +904,7 @@ func (m *CreateRepositoryFromBundleResponse) Reset() { *m = CreateReposi func (m *CreateRepositoryFromBundleResponse) String() string { return proto.CompactTextString(m) } func (*CreateRepositoryFromBundleResponse) ProtoMessage() {} func (*CreateRepositoryFromBundleResponse) Descriptor() ([]byte, []int) { - return fileDescriptor10, []int{41} + return fileDescriptor10, []int{43} } type FindLicenseRequest struct { @@ -890,7 +914,7 @@ type FindLicenseRequest struct { func (m *FindLicenseRequest) Reset() { *m = FindLicenseRequest{} } func (m *FindLicenseRequest) String() string { return proto.CompactTextString(m) } func (*FindLicenseRequest) ProtoMessage() {} -func (*FindLicenseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{42} } +func (*FindLicenseRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{44} } func (m *FindLicenseRequest) GetRepository() *Repository { if m != nil { @@ -906,7 +930,7 @@ type FindLicenseResponse struct { func (m *FindLicenseResponse) Reset() { *m = FindLicenseResponse{} } func (m *FindLicenseResponse) String() string { return proto.CompactTextString(m) } func (*FindLicenseResponse) ProtoMessage() {} -func (*FindLicenseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{43} } +func (*FindLicenseResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{45} } func (m *FindLicenseResponse) GetLicenseShortName() string { if m != nil { @@ -922,7 +946,7 @@ type GetInfoAttributesRequest struct { func (m *GetInfoAttributesRequest) Reset() { *m = GetInfoAttributesRequest{} } func (m *GetInfoAttributesRequest) String() string { return proto.CompactTextString(m) } func (*GetInfoAttributesRequest) ProtoMessage() {} -func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{44} } +func (*GetInfoAttributesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{46} } func (m *GetInfoAttributesRequest) GetRepository() *Repository { if m != nil { @@ -938,7 +962,7 @@ type GetInfoAttributesResponse struct { func (m *GetInfoAttributesResponse) Reset() { *m = GetInfoAttributesResponse{} } func (m *GetInfoAttributesResponse) String() string { return proto.CompactTextString(m) } func (*GetInfoAttributesResponse) ProtoMessage() {} -func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{45} } +func (*GetInfoAttributesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{47} } func (m *GetInfoAttributesResponse) GetAttributes() []byte { if m != nil { @@ -947,6 +971,38 @@ func (m *GetInfoAttributesResponse) GetAttributes() []byte { return nil } +type CalculateChecksumRequest struct { + Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` +} + +func (m *CalculateChecksumRequest) Reset() { *m = CalculateChecksumRequest{} } +func (m *CalculateChecksumRequest) String() string { return proto.CompactTextString(m) } +func (*CalculateChecksumRequest) ProtoMessage() {} +func (*CalculateChecksumRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{48} } + +func (m *CalculateChecksumRequest) GetRepository() *Repository { + if m != nil { + return m.Repository + } + return nil +} + +type CalculateChecksumResponse struct { + Checksum string `protobuf:"bytes,1,opt,name=checksum" json:"checksum,omitempty"` +} + +func (m *CalculateChecksumResponse) Reset() { *m = CalculateChecksumResponse{} } +func (m *CalculateChecksumResponse) String() string { return proto.CompactTextString(m) } +func (*CalculateChecksumResponse) ProtoMessage() {} +func (*CalculateChecksumResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{49} } + +func (m *CalculateChecksumResponse) GetChecksum() string { + if m != nil { + return m.Checksum + } + return "" +} + func init() { proto.RegisterType((*RepositoryExistsRequest)(nil), "gitaly.RepositoryExistsRequest") proto.RegisterType((*RepositoryExistsResponse)(nil), "gitaly.RepositoryExistsResponse") @@ -956,6 +1012,8 @@ func init() { proto.RegisterType((*RepackFullResponse)(nil), "gitaly.RepackFullResponse") proto.RegisterType((*GarbageCollectRequest)(nil), "gitaly.GarbageCollectRequest") proto.RegisterType((*GarbageCollectResponse)(nil), "gitaly.GarbageCollectResponse") + proto.RegisterType((*CleanupRequest)(nil), "gitaly.CleanupRequest") + proto.RegisterType((*CleanupResponse)(nil), "gitaly.CleanupResponse") proto.RegisterType((*RepositorySizeRequest)(nil), "gitaly.RepositorySizeRequest") proto.RegisterType((*RepositorySizeResponse)(nil), "gitaly.RepositorySizeResponse") proto.RegisterType((*ApplyGitattributesRequest)(nil), "gitaly.ApplyGitattributesRequest") @@ -994,6 +1052,8 @@ func init() { proto.RegisterType((*FindLicenseResponse)(nil), "gitaly.FindLicenseResponse") proto.RegisterType((*GetInfoAttributesRequest)(nil), "gitaly.GetInfoAttributesRequest") proto.RegisterType((*GetInfoAttributesResponse)(nil), "gitaly.GetInfoAttributesResponse") + proto.RegisterType((*CalculateChecksumRequest)(nil), "gitaly.CalculateChecksumRequest") + proto.RegisterType((*CalculateChecksumResponse)(nil), "gitaly.CalculateChecksumResponse") proto.RegisterEnum("gitaly.GetArchiveRequest_Format", GetArchiveRequest_Format_name, GetArchiveRequest_Format_value) } @@ -1031,6 +1091,8 @@ type RepositoryServiceClient interface { WriteConfig(ctx context.Context, in *WriteConfigRequest, opts ...grpc.CallOption) (*WriteConfigResponse, error) FindLicense(ctx context.Context, in *FindLicenseRequest, opts ...grpc.CallOption) (*FindLicenseResponse, error) GetInfoAttributes(ctx context.Context, in *GetInfoAttributesRequest, opts ...grpc.CallOption) (RepositoryService_GetInfoAttributesClient, error) + CalculateChecksum(ctx context.Context, in *CalculateChecksumRequest, opts ...grpc.CallOption) (*CalculateChecksumResponse, error) + Cleanup(ctx context.Context, in *CleanupRequest, opts ...grpc.CallOption) (*CleanupResponse, error) } type repositoryServiceClient struct { @@ -1342,6 +1404,24 @@ func (x *repositoryServiceGetInfoAttributesClient) Recv() (*GetInfoAttributesRes return m, nil } +func (c *repositoryServiceClient) CalculateChecksum(ctx context.Context, in *CalculateChecksumRequest, opts ...grpc.CallOption) (*CalculateChecksumResponse, error) { + out := new(CalculateChecksumResponse) + err := grpc.Invoke(ctx, "/gitaly.RepositoryService/CalculateChecksum", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *repositoryServiceClient) Cleanup(ctx context.Context, in *CleanupRequest, opts ...grpc.CallOption) (*CleanupResponse, error) { + out := new(CleanupResponse) + err := grpc.Invoke(ctx, "/gitaly.RepositoryService/Cleanup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for RepositoryService service type RepositoryServiceServer interface { @@ -1368,6 +1448,8 @@ type RepositoryServiceServer interface { WriteConfig(context.Context, *WriteConfigRequest) (*WriteConfigResponse, error) FindLicense(context.Context, *FindLicenseRequest) (*FindLicenseResponse, error) GetInfoAttributes(*GetInfoAttributesRequest, RepositoryService_GetInfoAttributesServer) error + CalculateChecksum(context.Context, *CalculateChecksumRequest) (*CalculateChecksumResponse, error) + Cleanup(context.Context, *CleanupRequest) (*CleanupResponse, error) } func RegisterRepositoryServiceServer(s *grpc.Server, srv RepositoryServiceServer) { @@ -1805,6 +1887,42 @@ func (x *repositoryServiceGetInfoAttributesServer) Send(m *GetInfoAttributesResp return x.ServerStream.SendMsg(m) } +func _RepositoryService_CalculateChecksum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CalculateChecksumRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RepositoryServiceServer).CalculateChecksum(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitaly.RepositoryService/CalculateChecksum", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RepositoryServiceServer).CalculateChecksum(ctx, req.(*CalculateChecksumRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RepositoryService_Cleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CleanupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RepositoryServiceServer).Cleanup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitaly.RepositoryService/Cleanup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RepositoryServiceServer).Cleanup(ctx, req.(*CleanupRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _RepositoryService_serviceDesc = grpc.ServiceDesc{ ServiceName: "gitaly.RepositoryService", HandlerType: (*RepositoryServiceServer)(nil), @@ -1885,6 +2003,14 @@ var _RepositoryService_serviceDesc = grpc.ServiceDesc{ MethodName: "FindLicense", Handler: _RepositoryService_FindLicense_Handler, }, + { + MethodName: "CalculateChecksum", + Handler: _RepositoryService_CalculateChecksum_Handler, + }, + { + MethodName: "Cleanup", + Handler: _RepositoryService_Cleanup_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -1914,100 +2040,105 @@ var _RepositoryService_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("repository-service.proto", fileDescriptor10) } var fileDescriptor10 = []byte{ - // 1508 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xef, 0x6e, 0xdb, 0xb6, - 0x16, 0xb7, 0xf3, 0xd7, 0x3e, 0x71, 0x5b, 0x87, 0x49, 0x1a, 0x45, 0x49, 0x9b, 0x84, 0xb7, 0xb8, - 0x37, 0xb7, 0xed, 0x0d, 0x8a, 0xe4, 0xcb, 0x05, 0x86, 0xa1, 0x48, 0x82, 0x26, 0xf1, 0xda, 0x14, - 0x99, 0xd2, 0xa1, 0x40, 0xb0, 0xc1, 0x50, 0x6c, 0xda, 0x16, 0x22, 0x8b, 0x2e, 0x49, 0xa7, 0x4d, - 0x3f, 0xef, 0xc3, 0x1e, 0x65, 0xcf, 0xb1, 0x57, 0xd8, 0x63, 0xec, 0x25, 0x06, 0x91, 0x94, 0x28, - 0x59, 0x52, 0x56, 0x40, 0x1d, 0xf6, 0x4d, 0x3c, 0x24, 0x7f, 0xe7, 0xf0, 0x1c, 0x9e, 0xc3, 0xdf, - 0x11, 0x58, 0x8c, 0x8c, 0x28, 0xf7, 0x04, 0x65, 0xb7, 0xff, 0xe3, 0x84, 0xdd, 0x78, 0x1d, 0xb2, - 0x3b, 0x62, 0x54, 0x50, 0x34, 0xd7, 0xf7, 0x84, 0xeb, 0xdf, 0xda, 0x0d, 0x3e, 0x70, 0x19, 0xe9, - 0x2a, 0x29, 0x3e, 0x83, 0x55, 0x27, 0xde, 0xf1, 0xea, 0x93, 0xc7, 0x05, 0x77, 0xc8, 0x87, 0x31, - 0xe1, 0x02, 0xed, 0x01, 0x18, 0x30, 0xab, 0xba, 0x55, 0xdd, 0x59, 0xd8, 0x43, 0xbb, 0x0a, 0x65, - 0xd7, 0x6c, 0x72, 0x12, 0xab, 0xf0, 0x1e, 0x58, 0x59, 0x38, 0x3e, 0xa2, 0x01, 0x27, 0xe8, 0x21, - 0xcc, 0x11, 0x29, 0x91, 0x58, 0x35, 0x47, 0x8f, 0xf0, 0x5b, 0xb9, 0xc7, 0xed, 0x5c, 0xb7, 0x82, - 0x0e, 0x23, 0x43, 0x12, 0x08, 0xd7, 0x2f, 0x63, 0xc3, 0x3a, 0xac, 0xe5, 0xe0, 0x29, 0x23, 0xb0, - 0x0f, 0x8b, 0x6a, 0xf2, 0x78, 0xec, 0x97, 0xd1, 0x82, 0xfe, 0x05, 0xf7, 0x3a, 0x8c, 0xb8, 0x82, - 0xb4, 0xaf, 0x3c, 0x31, 0x74, 0x47, 0xd6, 0x94, 0x3c, 0x54, 0x43, 0x09, 0x0f, 0xa5, 0x0c, 0x2f, - 0x03, 0x4a, 0x6a, 0xd3, 0x36, 0x8c, 0x60, 0xe5, 0xc4, 0x65, 0x57, 0x6e, 0x9f, 0x1c, 0x51, 0xdf, - 0x27, 0x1d, 0xf1, 0xb7, 0xdb, 0x61, 0xc1, 0xc3, 0x49, 0x8d, 0xda, 0x96, 0xd7, 0xb0, 0x62, 0x80, - 0x2f, 0xbc, 0xcf, 0xa4, 0x8c, 0xe7, 0x9f, 0xc3, 0xc3, 0x49, 0x30, 0x1d, 0x7b, 0x04, 0x33, 0xdc, - 0xfb, 0x4c, 0x24, 0xce, 0xb4, 0x23, 0xbf, 0xf1, 0x35, 0xac, 0x1d, 0x8c, 0x46, 0xfe, 0xed, 0x89, - 0x27, 0x5c, 0x21, 0x98, 0x77, 0x35, 0x16, 0xa4, 0xcc, 0xe5, 0x43, 0x36, 0xd4, 0x18, 0xb9, 0xf1, - 0xb8, 0x47, 0x03, 0xe9, 0x85, 0x86, 0x13, 0x8f, 0xf1, 0x06, 0xd8, 0x79, 0xca, 0xb4, 0x17, 0x7e, - 0x9e, 0x02, 0x74, 0x4c, 0x44, 0x67, 0xe0, 0x90, 0x21, 0x15, 0x65, 0x7c, 0x10, 0xde, 0x72, 0x26, - 0x41, 0xa4, 0x09, 0x75, 0x47, 0x8f, 0xd0, 0x32, 0xcc, 0xf6, 0x28, 0xeb, 0x10, 0x6b, 0x5a, 0xc6, - 0x47, 0x0d, 0xd0, 0x2a, 0xcc, 0x07, 0xb4, 0x2d, 0xdc, 0x3e, 0xb7, 0x66, 0x54, 0x52, 0x04, 0xf4, - 0x9d, 0xdb, 0xe7, 0xc8, 0x82, 0x79, 0xe1, 0x0d, 0x09, 0x1d, 0x0b, 0x6b, 0x76, 0xab, 0xba, 0x33, - 0xeb, 0x44, 0xc3, 0x70, 0x0b, 0xe7, 0x83, 0xf6, 0x35, 0xb9, 0xb5, 0xe6, 0x94, 0x06, 0xce, 0x07, - 0xaf, 0xc9, 0x2d, 0xda, 0x84, 0x85, 0xeb, 0x80, 0x7e, 0x0c, 0xda, 0x03, 0x1a, 0x26, 0xd9, 0xbc, - 0x9c, 0x04, 0x29, 0x3a, 0x0d, 0x25, 0x68, 0x0d, 0x6a, 0x01, 0x6d, 0x8f, 0xd8, 0x38, 0x20, 0x56, - 0x5d, 0x6a, 0x9b, 0x0f, 0xe8, 0x79, 0x38, 0xfc, 0x6e, 0xa6, 0x56, 0x6b, 0xd6, 0xf1, 0x0a, 0x2c, - 0xa5, 0xbc, 0xa0, 0xbd, 0x73, 0x06, 0xab, 0x47, 0xf2, 0x36, 0x25, 0x8e, 0x5c, 0xe2, 0x96, 0xd8, - 0x60, 0x65, 0xe1, 0xb4, 0xaa, 0x3f, 0xaa, 0xb0, 0x78, 0x42, 0xc4, 0x01, 0xeb, 0x0c, 0xbc, 0x9b, - 0x52, 0x71, 0x58, 0x87, 0x7a, 0x87, 0x0e, 0x87, 0x9e, 0x68, 0x7b, 0x5d, 0x1d, 0x8a, 0x9a, 0x12, - 0xb4, 0xba, 0x61, 0x90, 0x46, 0x8c, 0xf4, 0xbc, 0x4f, 0x32, 0x1a, 0x75, 0x47, 0x8f, 0xd0, 0xff, - 0x61, 0xae, 0x47, 0xd9, 0xd0, 0x15, 0x32, 0x1a, 0xf7, 0xf7, 0xb6, 0x22, 0x25, 0x19, 0x9b, 0x76, - 0x8f, 0xe5, 0x3a, 0x47, 0xaf, 0xc7, 0xfb, 0x30, 0xa7, 0x24, 0x68, 0x1e, 0xa6, 0x2f, 0x5b, 0xe7, - 0xcd, 0x4a, 0xf8, 0xf1, 0xee, 0xc0, 0x69, 0x56, 0x11, 0xc0, 0xdc, 0xbb, 0x03, 0xa7, 0x7d, 0x72, - 0xd9, 0x9c, 0x42, 0x0b, 0x30, 0x1f, 0x7e, 0x1f, 0x5e, 0xee, 0x35, 0xa7, 0xf1, 0x0e, 0xa0, 0x24, - 0xb0, 0xc9, 0x95, 0xae, 0x2b, 0x5c, 0x79, 0xce, 0x86, 0x23, 0xbf, 0xc3, 0x10, 0x9c, 0xba, 0xfc, - 0x0d, 0xed, 0xb8, 0xfe, 0x21, 0x73, 0x83, 0xce, 0xa0, 0x54, 0xa6, 0xe0, 0x17, 0x60, 0x65, 0xe1, - 0xb4, 0xfa, 0x65, 0x98, 0xbd, 0x71, 0xfd, 0x31, 0xd1, 0x55, 0x5a, 0x0d, 0xf0, 0xef, 0x55, 0xb0, - 0xe4, 0xdd, 0xb8, 0xa0, 0x63, 0xd6, 0x21, 0x6a, 0x57, 0x99, 0xf8, 0xbc, 0x84, 0x45, 0x2e, 0xa1, - 0xda, 0x89, 0xad, 0x53, 0x85, 0x5b, 0x9b, 0x6a, 0xb1, 0x93, 0x2a, 0x7c, 0x1a, 0xe0, 0x4a, 0x1a, - 0x23, 0x43, 0xd9, 0x70, 0x1a, 0x3c, 0x61, 0x20, 0x7a, 0x04, 0x20, 0x5c, 0xd6, 0x27, 0xa2, 0xcd, - 0x48, 0x4f, 0x06, 0xb5, 0xe1, 0xd4, 0x95, 0xc4, 0x21, 0x3d, 0xbc, 0x0f, 0x6b, 0x39, 0x87, 0x32, - 0xef, 0x15, 0x23, 0x7c, 0xec, 0x8b, 0xe8, 0xbd, 0x52, 0x23, 0x7c, 0x00, 0x0b, 0xc7, 0xbc, 0x73, - 0x5d, 0xc6, 0xff, 0x4f, 0xa0, 0xa1, 0x20, 0x8c, 0xcf, 0x09, 0x63, 0x94, 0xe9, 0x98, 0xab, 0x01, - 0xfe, 0xad, 0x0a, 0x0f, 0xde, 0x33, 0x2f, 0x4c, 0x94, 0x5e, 0x19, 0x57, 0x37, 0x61, 0x3a, 0x3c, - 0xbd, 0x2a, 0x89, 0xe1, 0x67, 0xaa, 0x52, 0x4e, 0xa7, 0x2b, 0x25, 0xda, 0x86, 0x06, 0xf5, 0xbb, - 0xed, 0x78, 0x5e, 0x39, 0x6d, 0x81, 0xfa, 0x5d, 0x27, 0x5a, 0x12, 0xd7, 0xb2, 0xd9, 0x64, 0x2d, - 0x5b, 0x86, 0x59, 0x3e, 0x20, 0xbe, 0x2f, 0xcb, 0x52, 0xcd, 0x51, 0x03, 0xbc, 0x03, 0x4d, 0x73, - 0x86, 0x3b, 0x8f, 0x3b, 0x80, 0xe5, 0x63, 0x2f, 0xe8, 0x9e, 0x11, 0xd6, 0x27, 0x87, 0x2e, 0x2f, - 0x95, 0xfd, 0x1b, 0x50, 0x8f, 0x0e, 0xc0, 0xad, 0xa9, 0xad, 0xe9, 0x30, 0xec, 0xb1, 0x00, 0x3f, - 0x83, 0x95, 0x09, 0x4d, 0x26, 0xf5, 0xae, 0x5c, 0xae, 0xae, 0x7e, 0xdd, 0x91, 0xdf, 0xf8, 0x97, - 0x2a, 0x2c, 0xaa, 0x7a, 0x75, 0x4c, 0xd9, 0xf5, 0x3f, 0x79, 0xe5, 0x43, 0x3a, 0x91, 0xb4, 0x24, - 0xa6, 0x34, 0x6b, 0x2d, 0xee, 0x90, 0xd0, 0xd8, 0x56, 0x70, 0xce, 0x68, 0x9f, 0x11, 0xce, 0x4b, - 0x96, 0x4e, 0x26, 0xe1, 0x12, 0xa5, 0x53, 0x09, 0x5a, 0x5d, 0xfc, 0x2d, 0xd8, 0x79, 0xda, 0xb4, - 0x03, 0x37, 0x61, 0xc1, 0x0b, 0xda, 0x23, 0x2d, 0xd6, 0x89, 0x03, 0x5e, 0xbc, 0x50, 0x19, 0x7b, - 0xf1, 0x61, 0xec, 0xf2, 0xc1, 0x57, 0x33, 0x96, 0x4b, 0xb8, 0x84, 0xb1, 0x4a, 0x10, 0x19, 0x9b, - 0xd5, 0xf6, 0xa5, 0xc6, 0xf6, 0xe0, 0xf1, 0xe4, 0x4b, 0x75, 0xcc, 0xe8, 0xf0, 0x07, 0xe7, 0x4d, - 0xc9, 0x74, 0x1c, 0x33, 0x5f, 0xdb, 0x1a, 0x7e, 0xe2, 0x6d, 0xd8, 0x2c, 0xd4, 0xa3, 0x83, 0xdc, - 0x82, 0x25, 0xb5, 0xe4, 0x70, 0x1c, 0x74, 0xfd, 0x52, 0x2c, 0xed, 0x29, 0x2c, 0xa7, 0xa1, 0xee, - 0x78, 0x77, 0x08, 0x20, 0x99, 0xbd, 0x47, 0x34, 0xe8, 0x79, 0xfd, 0x92, 0x71, 0xea, 0x8d, 0x7d, - 0xbf, 0x3d, 0x72, 0xc5, 0x20, 0x8a, 0x53, 0x28, 0x38, 0x77, 0xc5, 0x00, 0x3f, 0x83, 0xa5, 0x94, - 0x9a, 0x3b, 0xeb, 0xc4, 0x35, 0x6c, 0xe7, 0x79, 0xab, 0xb4, 0x63, 0x62, 0x07, 0x4c, 0x25, 0x1c, - 0xf0, 0x04, 0xf0, 0x5d, 0xca, 0x74, 0x74, 0x4e, 0x01, 0x85, 0x05, 0xe5, 0x8d, 0xd7, 0x21, 0x41, - 0xa9, 0xc2, 0x85, 0x8f, 0x60, 0x29, 0x85, 0xa4, 0x3d, 0xf1, 0x1c, 0x90, 0xaf, 0x44, 0x6d, 0x3e, - 0xa0, 0x4c, 0xb4, 0x03, 0x77, 0x18, 0x95, 0xa9, 0xa6, 0x9e, 0xb9, 0x08, 0x27, 0xde, 0xba, 0x43, - 0x12, 0x76, 0x54, 0x27, 0x44, 0xb4, 0x82, 0x1e, 0x3d, 0xf8, 0x1a, 0xc4, 0x1a, 0x7f, 0x03, 0x6b, - 0x39, 0x78, 0xda, 0xb4, 0xc7, 0x00, 0x86, 0x51, 0xeb, 0x48, 0x25, 0x24, 0x7b, 0xbf, 0x3e, 0x90, - 0x2d, 0x57, 0xd4, 0x15, 0xa8, 0x9e, 0x14, 0xbd, 0x87, 0xe6, 0x64, 0xa3, 0x88, 0x36, 0xb3, 0x66, - 0xa4, 0x3a, 0x52, 0x7b, 0xab, 0x78, 0x81, 0x0e, 0x44, 0x05, 0x5d, 0x46, 0x0d, 0x5e, 0xa2, 0xfb, - 0x43, 0xc9, 0x8d, 0xb9, 0x8d, 0xa6, 0xbd, 0x7d, 0xc7, 0x8a, 0x18, 0xfb, 0x15, 0x80, 0x69, 0xe7, - 0xd0, 0x5a, 0x7a, 0x4b, 0xa2, 0xa1, 0xb4, 0xed, 0xbc, 0xa9, 0x18, 0xe6, 0x7b, 0xb8, 0x9f, 0xee, - 0xc6, 0xd0, 0xa3, 0x98, 0x67, 0xe6, 0xf5, 0x85, 0xf6, 0xe3, 0xa2, 0xe9, 0x24, 0x64, 0xba, 0xf3, - 0x32, 0x90, 0xb9, 0xed, 0x9d, 0x81, 0xcc, 0x6f, 0xd8, 0x70, 0x05, 0xfd, 0x04, 0x28, 0xdb, 0x31, - 0xa1, 0xd8, 0x4f, 0x85, 0xad, 0x9b, 0x8d, 0xef, 0x5a, 0x12, 0xc3, 0x9f, 0xc2, 0x42, 0xa2, 0xd7, - 0x40, 0xb1, 0xc7, 0xb2, 0x6d, 0x98, 0xbd, 0x9e, 0x3b, 0x17, 0x23, 0xbd, 0x87, 0xe6, 0x64, 0x8a, - 0x9a, 0xab, 0x54, 0xd0, 0xb8, 0x98, 0xab, 0x54, 0xd8, 0x8a, 0x54, 0xd0, 0x09, 0x80, 0xa1, 0xe7, - 0x26, 0xdc, 0x99, 0x5e, 0xc0, 0x84, 0x3b, 0xcb, 0xe6, 0x71, 0xe5, 0x45, 0x35, 0xb4, 0x70, 0x92, - 0x6e, 0x1b, 0x0b, 0x0b, 0x78, 0xbd, 0xb1, 0xb0, 0x88, 0xa9, 0xab, 0xcb, 0x9e, 0xe1, 0xaf, 0xe6, - 0xb2, 0x17, 0xf1, 0x75, 0x73, 0xd9, 0x0b, 0xc9, 0x2f, 0xae, 0xa0, 0x7d, 0x98, 0x09, 0x39, 0x2a, - 0x5a, 0x8a, 0x17, 0x1b, 0xd2, 0x6b, 0x2f, 0xa7, 0x85, 0xf1, 0xa6, 0x97, 0x50, 0x8b, 0xd8, 0x1e, - 0x5a, 0x8d, 0xd6, 0x4c, 0x70, 0x58, 0xdb, 0xca, 0x4e, 0xc4, 0x00, 0x6f, 0xe1, 0x5e, 0x8a, 0x9a, - 0xa1, 0x8d, 0x58, 0x53, 0x0e, 0x37, 0xb4, 0x1f, 0x15, 0xcc, 0x26, 0x53, 0xd6, 0x50, 0x26, 0x13, - 0xc3, 0x0c, 0xa1, 0x33, 0x31, 0xcc, 0x61, 0x58, 0x32, 0x19, 0xb2, 0xac, 0xc7, 0x24, 0x43, 0x21, - 0xff, 0x32, 0xc9, 0x50, 0x4c, 0x9a, 0x22, 0xf8, 0x49, 0x9e, 0x92, 0x84, 0x2f, 0x60, 0x4c, 0x49, - 0xf8, 0x22, 0x9a, 0x83, 0x2b, 0xc8, 0xcf, 0x36, 0xf0, 0x9a, 0x5f, 0xa0, 0x7f, 0x17, 0xe5, 0x41, - 0x9a, 0xe8, 0xd8, 0xff, 0xf9, 0xcb, 0x75, 0xb1, 0xb6, 0x33, 0x68, 0x24, 0xf9, 0x05, 0x5a, 0x4f, - 0x6f, 0x4d, 0xbd, 0xd3, 0xf6, 0x46, 0xfe, 0x64, 0x22, 0x79, 0x3e, 0x82, 0x5d, 0xfc, 0x02, 0xa3, - 0xff, 0xde, 0x65, 0x57, 0x5a, 0xd5, 0xd3, 0x2f, 0x59, 0x1a, 0x29, 0xde, 0xa9, 0x86, 0x15, 0x2a, - 0x41, 0x4a, 0x4c, 0x85, 0xca, 0x12, 0x22, 0x53, 0xa1, 0x72, 0x58, 0x8c, 0xae, 0x75, 0xe6, 0x51, - 0x4f, 0xd4, 0xba, 0x0c, 0x67, 0x48, 0xd4, 0xba, 0x2c, 0x0b, 0xc0, 0x15, 0xf4, 0xa3, 0xfc, 0x3d, - 0x92, 0x7e, 0x89, 0x51, 0xf2, 0x2f, 0x45, 0xee, 0xa3, 0x6f, 0x12, 0xbe, 0xf0, 0x19, 0x0f, 0x5d, - 0x7d, 0x35, 0x27, 0xff, 0x09, 0xef, 0xff, 0x19, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x46, 0xbc, 0xfa, - 0x45, 0x16, 0x00, 0x00, + // 1587 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xef, 0x6e, 0xdb, 0x36, + 0x10, 0xb7, 0xf3, 0xd7, 0xbe, 0xb8, 0xad, 0xc3, 0xfc, 0x93, 0x95, 0xb4, 0x49, 0xb8, 0x62, 0xcb, + 0xda, 0x2e, 0x28, 0x92, 0x0f, 0x1b, 0xb0, 0x0d, 0x45, 0x92, 0x35, 0x89, 0xd7, 0xa6, 0xc8, 0x94, + 0x0e, 0x05, 0x82, 0x0d, 0x86, 0x22, 0xd3, 0xb6, 0x60, 0x59, 0x72, 0x49, 0x2a, 0x6d, 0xfa, 0x79, + 0x1f, 0xf6, 0x5c, 0x7d, 0x85, 0x3d, 0xc6, 0x5e, 0x62, 0x10, 0x45, 0x89, 0x92, 0x25, 0x65, 0x05, + 0xd4, 0x61, 0xdf, 0xc4, 0xe3, 0xf1, 0x77, 0xa7, 0x3b, 0xde, 0xe9, 0x77, 0x02, 0x8d, 0x92, 0xb1, + 0xc7, 0x6c, 0xee, 0xd1, 0x9b, 0x6f, 0x18, 0xa1, 0xd7, 0xb6, 0x45, 0x76, 0xc7, 0xd4, 0xe3, 0x1e, + 0x9a, 0xeb, 0xdb, 0xdc, 0x74, 0x6e, 0xf4, 0x06, 0x1b, 0x98, 0x94, 0x74, 0x43, 0x29, 0x3e, 0x83, + 0x35, 0x23, 0x3e, 0xf1, 0xfc, 0xbd, 0xcd, 0x38, 0x33, 0xc8, 0x5b, 0x9f, 0x30, 0x8e, 0xf6, 0x00, + 0x14, 0x98, 0x56, 0xdd, 0xaa, 0xee, 0x2c, 0xec, 0xa1, 0xdd, 0x10, 0x65, 0x57, 0x1d, 0x32, 0x12, + 0x5a, 0x78, 0x0f, 0xb4, 0x2c, 0x1c, 0x1b, 0x7b, 0x2e, 0x23, 0x68, 0x15, 0xe6, 0x88, 0x90, 0x08, + 0xac, 0x9a, 0x21, 0x57, 0xf8, 0x95, 0x38, 0x63, 0x5a, 0xc3, 0xb6, 0x6b, 0x51, 0x32, 0x22, 0x2e, + 0x37, 0x9d, 0x32, 0x3e, 0xac, 0x43, 0x2b, 0x07, 0x2f, 0x74, 0x02, 0x3b, 0xb0, 0x18, 0x6e, 0x1e, + 0xfb, 0x4e, 0x19, 0x2b, 0xe8, 0x0b, 0xb8, 0x63, 0x51, 0x62, 0x72, 0xd2, 0xb9, 0xb2, 0xf9, 0xc8, + 0x1c, 0x6b, 0x53, 0xe2, 0xa5, 0x1a, 0xa1, 0xf0, 0x50, 0xc8, 0xf0, 0x32, 0xa0, 0xa4, 0x35, 0xe9, + 0xc3, 0x18, 0x56, 0x4e, 0x4c, 0x7a, 0x65, 0xf6, 0xc9, 0x91, 0xe7, 0x38, 0xc4, 0xe2, 0xff, 0xb9, + 0x1f, 0x1a, 0xac, 0x4e, 0x5a, 0x94, 0xbe, 0xfc, 0x04, 0x77, 0x8f, 0x1c, 0x62, 0xba, 0xfe, 0xb8, + 0x4c, 0xc8, 0x17, 0xe1, 0x5e, 0x8c, 0x22, 0x81, 0x5f, 0xc0, 0x8a, 0x52, 0xbe, 0xb0, 0x3f, 0x90, + 0x32, 0xf8, 0x4f, 0x60, 0x75, 0x12, 0x4c, 0x5e, 0x2a, 0x04, 0x33, 0xcc, 0xfe, 0x40, 0x04, 0xce, + 0xb4, 0x21, 0x9e, 0xf1, 0x10, 0x5a, 0x07, 0xe3, 0xb1, 0x73, 0x73, 0x62, 0x73, 0x93, 0x73, 0x6a, + 0x5f, 0xf9, 0x9c, 0x94, 0xb9, 0xd5, 0x48, 0x87, 0x1a, 0x25, 0xd7, 0x36, 0xb3, 0x3d, 0x57, 0x84, + 0xb7, 0x61, 0xc4, 0x6b, 0xbc, 0x01, 0x7a, 0x9e, 0x31, 0x19, 0x85, 0x3f, 0xa6, 0x00, 0x1d, 0x13, + 0x6e, 0x0d, 0x0c, 0x32, 0xf2, 0x78, 0x99, 0x18, 0x04, 0xe5, 0x43, 0x05, 0x88, 0x70, 0xa1, 0x6e, + 0xc8, 0x15, 0x5a, 0x86, 0xd9, 0x9e, 0x47, 0x2d, 0xa2, 0x4d, 0x8b, 0xc4, 0x87, 0x0b, 0xb4, 0x06, + 0xf3, 0xae, 0xd7, 0xe1, 0x66, 0x9f, 0x69, 0x33, 0x61, 0xb5, 0xb9, 0xde, 0x6b, 0xb3, 0xcf, 0x90, + 0x06, 0xf3, 0xdc, 0x1e, 0x11, 0xcf, 0xe7, 0xda, 0xec, 0x56, 0x75, 0x67, 0xd6, 0x88, 0x96, 0xc1, + 0x11, 0xc6, 0x06, 0x9d, 0x21, 0xb9, 0xd1, 0xe6, 0x42, 0x0b, 0x8c, 0x0d, 0x5e, 0x90, 0x1b, 0xb4, + 0x09, 0x0b, 0x43, 0xd7, 0x7b, 0xe7, 0x76, 0x06, 0x5e, 0x50, 0xbd, 0xf3, 0x62, 0x13, 0x84, 0xe8, + 0x34, 0x90, 0xa0, 0x16, 0xd4, 0x5c, 0xaf, 0x33, 0xa6, 0xbe, 0x4b, 0xb4, 0xba, 0xb0, 0x36, 0xef, + 0x7a, 0xe7, 0xc1, 0xf2, 0xe7, 0x99, 0x5a, 0xad, 0x59, 0xc7, 0x2b, 0xb0, 0x94, 0x8a, 0x82, 0x8c, + 0xce, 0x19, 0xac, 0x1d, 0x89, 0x6b, 0x9a, 0x78, 0xe5, 0x12, 0xb7, 0x44, 0x07, 0x2d, 0x0b, 0x27, + 0x4d, 0xfd, 0x5d, 0x85, 0xc5, 0x13, 0xc2, 0x0f, 0xa8, 0x35, 0xb0, 0xaf, 0x4b, 0xe5, 0x61, 0x1d, + 0xea, 0x96, 0x37, 0x1a, 0xd9, 0xbc, 0x63, 0x77, 0x65, 0x2a, 0x6a, 0xa1, 0xa0, 0xdd, 0x0d, 0x92, + 0x34, 0xa6, 0xa4, 0x67, 0xbf, 0x17, 0xd9, 0xa8, 0x1b, 0x72, 0x85, 0xbe, 0x83, 0xb9, 0x9e, 0x47, + 0x47, 0x26, 0x17, 0xd9, 0xb8, 0xbb, 0xb7, 0x15, 0x19, 0xc9, 0xf8, 0xb4, 0x7b, 0x2c, 0xf4, 0x0c, + 0xa9, 0x8f, 0xf7, 0x61, 0x2e, 0x94, 0xa0, 0x79, 0x98, 0xbe, 0x6c, 0x9f, 0x37, 0x2b, 0xc1, 0xc3, + 0xeb, 0x03, 0xa3, 0x59, 0x45, 0x00, 0x73, 0xaf, 0x0f, 0x8c, 0xce, 0xc9, 0x65, 0x73, 0x0a, 0x2d, + 0xc0, 0x7c, 0xf0, 0x7c, 0x78, 0xb9, 0xd7, 0x9c, 0xc6, 0x3b, 0x80, 0x92, 0xc0, 0xaa, 0x56, 0xba, + 0x26, 0x37, 0xc5, 0x7b, 0x36, 0x0c, 0xf1, 0x1c, 0xa4, 0xe0, 0xd4, 0x64, 0x2f, 0x3d, 0xcb, 0x74, + 0x0e, 0xa9, 0xe9, 0x5a, 0x83, 0x52, 0x95, 0x82, 0x9f, 0x82, 0x96, 0x85, 0x93, 0xe6, 0x97, 0x61, + 0xf6, 0xda, 0x74, 0x7c, 0x22, 0xdb, 0x7f, 0xb8, 0xc0, 0x7f, 0x55, 0x41, 0x13, 0x77, 0xe3, 0xc2, + 0xf3, 0xa9, 0x45, 0xc2, 0x53, 0x65, 0xf2, 0xf3, 0x0c, 0x16, 0x99, 0x80, 0xea, 0x24, 0x8e, 0x4e, + 0x15, 0x1e, 0x6d, 0x86, 0xca, 0x46, 0xaa, 0xa3, 0x4a, 0x80, 0x2b, 0xe1, 0x8c, 0x48, 0x65, 0xc3, + 0x68, 0xb0, 0x84, 0x83, 0xe8, 0x3e, 0x00, 0x37, 0x69, 0x9f, 0xf0, 0x0e, 0x25, 0x3d, 0x91, 0xd4, + 0x86, 0x51, 0x0f, 0x25, 0x06, 0xe9, 0xe1, 0x7d, 0x68, 0xe5, 0xbc, 0x94, 0xfa, 0x10, 0x52, 0xc2, + 0x7c, 0x87, 0x47, 0x1f, 0xc2, 0x70, 0x85, 0x0f, 0x60, 0xe1, 0x98, 0x59, 0xc3, 0x32, 0xf1, 0x7f, + 0x08, 0x8d, 0x10, 0x42, 0xc5, 0x9c, 0x50, 0xea, 0x51, 0x99, 0xf3, 0x70, 0x81, 0x3f, 0x56, 0xe1, + 0xde, 0x1b, 0x6a, 0x07, 0x85, 0xd2, 0x2b, 0x13, 0xea, 0x26, 0x4c, 0x07, 0x6f, 0x1f, 0xb6, 0xc4, + 0xe0, 0x31, 0xd5, 0x29, 0xa7, 0xd3, 0x9d, 0x12, 0x6d, 0x43, 0xc3, 0x73, 0xba, 0x9d, 0x78, 0x3f, + 0x0c, 0xda, 0x82, 0xe7, 0x74, 0x8d, 0x48, 0x25, 0xee, 0x65, 0xb3, 0xc9, 0x5e, 0xb6, 0x0c, 0xb3, + 0x6c, 0x40, 0x1c, 0x47, 0xb4, 0xa5, 0x9a, 0x11, 0x2e, 0xf0, 0x0e, 0x34, 0xd5, 0x3b, 0xdc, 0xfa, + 0xba, 0x03, 0x58, 0x3e, 0xb6, 0xdd, 0xee, 0x19, 0xa1, 0x7d, 0x72, 0x68, 0xb2, 0x52, 0xd5, 0xbf, + 0x01, 0xf5, 0xe8, 0x05, 0x98, 0x36, 0xb5, 0x35, 0x1d, 0xa4, 0x3d, 0x16, 0xe0, 0xc7, 0xb0, 0x32, + 0x61, 0x49, 0x95, 0xde, 0x95, 0xc9, 0xc2, 0xab, 0x5f, 0x37, 0xc4, 0x33, 0xfe, 0xb3, 0x0a, 0x8b, + 0x61, 0xbf, 0x3a, 0xf6, 0xe8, 0xf0, 0xff, 0xbc, 0xf2, 0x01, 0x4f, 0x49, 0x7a, 0x12, 0x73, 0xa5, + 0x56, 0x9b, 0x19, 0x24, 0x70, 0xb6, 0xed, 0x9e, 0x53, 0xaf, 0x4f, 0x09, 0x63, 0x25, 0x5b, 0x27, + 0x15, 0x70, 0x89, 0xd6, 0x19, 0x0a, 0xda, 0x5d, 0xfc, 0x23, 0xe8, 0x79, 0xd6, 0x64, 0x00, 0x37, + 0x61, 0xc1, 0x76, 0x3b, 0x63, 0x29, 0x96, 0x85, 0x03, 0x76, 0xac, 0x18, 0x3a, 0x7b, 0xf1, 0xd6, + 0x37, 0xd9, 0xe0, 0xb3, 0x39, 0xcb, 0x04, 0x5c, 0xc2, 0xd9, 0x50, 0x10, 0x39, 0x9b, 0xb5, 0xf6, + 0xa9, 0xce, 0xf6, 0xe0, 0xc1, 0xe4, 0x97, 0xea, 0x98, 0x7a, 0xa3, 0x5f, 0x8d, 0x97, 0x25, 0xcb, + 0xd1, 0xa7, 0x8e, 0xf4, 0x35, 0x78, 0xc4, 0xdb, 0xb0, 0x59, 0x68, 0x47, 0x26, 0xb9, 0x0d, 0x4b, + 0xa1, 0xca, 0xa1, 0xef, 0x76, 0x9d, 0x52, 0x2c, 0xed, 0x11, 0x2c, 0xa7, 0xa1, 0x6e, 0xf9, 0xee, + 0x10, 0x40, 0xa2, 0x7a, 0x8f, 0x3c, 0xb7, 0x67, 0xf7, 0x4b, 0xe6, 0xa9, 0xe7, 0x3b, 0x4e, 0x67, + 0x6c, 0xf2, 0x41, 0x94, 0xa7, 0x40, 0x70, 0x6e, 0xf2, 0x01, 0x7e, 0x0c, 0x4b, 0x29, 0x33, 0xb7, + 0xf6, 0x89, 0x21, 0x6c, 0xe7, 0x45, 0xab, 0x74, 0x60, 0xe2, 0x00, 0x4c, 0x25, 0x02, 0xf0, 0x10, + 0xf0, 0x6d, 0xc6, 0x64, 0x76, 0x4e, 0x01, 0x05, 0x0d, 0xe5, 0xa5, 0x6d, 0x11, 0xb7, 0x54, 0xe3, + 0xc2, 0x47, 0xb0, 0x94, 0x42, 0x92, 0x91, 0x78, 0x02, 0xc8, 0x09, 0x45, 0x1d, 0x36, 0xf0, 0x28, + 0xef, 0xb8, 0xe6, 0x28, 0x6a, 0x53, 0x4d, 0xb9, 0x73, 0x11, 0x6c, 0xbc, 0x32, 0x47, 0x24, 0x18, + 0xd5, 0x4e, 0x08, 0x6f, 0xbb, 0x3d, 0xef, 0xe0, 0x73, 0x10, 0x6b, 0xfc, 0x3d, 0xb4, 0x72, 0xf0, + 0xa4, 0x6b, 0x0f, 0x00, 0x14, 0xa3, 0x96, 0x99, 0x4a, 0x48, 0x02, 0x67, 0x8e, 0x4c, 0xc7, 0xf2, + 0x1d, 0x93, 0x93, 0xa3, 0x01, 0xb1, 0x86, 0xcc, 0x1f, 0x95, 0x71, 0xe6, 0x5b, 0x68, 0xe5, 0xe0, + 0x49, 0x67, 0x74, 0xa8, 0x59, 0x52, 0x26, 0xa3, 0x13, 0xaf, 0xf7, 0x3e, 0x36, 0xc5, 0x50, 0x19, + 0x8d, 0x27, 0xe1, 0xd4, 0x8d, 0xde, 0x40, 0x73, 0x72, 0x14, 0x46, 0x9b, 0x59, 0x17, 0x52, 0x33, + 0xb7, 0xbe, 0x55, 0xac, 0x20, 0x6f, 0x44, 0x05, 0x5d, 0x46, 0x23, 0x6c, 0x62, 0xbe, 0x45, 0xc9, + 0x83, 0xb9, 0xa3, 0xb4, 0xbe, 0x7d, 0x8b, 0x46, 0x8c, 0xfd, 0x1c, 0x40, 0x0d, 0xac, 0xa8, 0x95, + 0x3e, 0x92, 0x18, 0x99, 0x75, 0x3d, 0x6f, 0x2b, 0x86, 0xf9, 0x05, 0xee, 0xa6, 0xe7, 0x4d, 0x74, + 0x3f, 0x26, 0xbc, 0x79, 0x93, 0xaf, 0xfe, 0xa0, 0x68, 0x3b, 0x09, 0x99, 0x1e, 0x01, 0x15, 0x64, + 0xee, 0x9c, 0xa9, 0x20, 0xf3, 0x27, 0x47, 0x5c, 0x41, 0xbf, 0x03, 0xca, 0x8e, 0x6e, 0x28, 0x8e, + 0x53, 0xe1, 0x0c, 0xa9, 0xe3, 0xdb, 0x54, 0x62, 0xf8, 0x53, 0x58, 0x48, 0x0c, 0x3d, 0x28, 0x8e, + 0x58, 0x76, 0x1e, 0xd4, 0xd7, 0x73, 0xf7, 0x62, 0xa4, 0x37, 0xd0, 0x9c, 0xec, 0x15, 0xea, 0x2a, + 0x15, 0x4c, 0x50, 0xea, 0x2a, 0x15, 0xce, 0x44, 0x15, 0x74, 0x02, 0xa0, 0xe6, 0x04, 0x95, 0xee, + 0xcc, 0x50, 0xa2, 0xd2, 0x9d, 0x1d, 0x2b, 0x70, 0xe5, 0x69, 0x35, 0xf0, 0x70, 0x92, 0xf7, 0x2b, + 0x0f, 0x0b, 0x06, 0x0c, 0xe5, 0x61, 0xd1, 0xc8, 0x10, 0x5e, 0xf6, 0x0c, 0x91, 0x56, 0x97, 0xbd, + 0x68, 0x70, 0x50, 0x97, 0xbd, 0x90, 0x85, 0xe3, 0x0a, 0xda, 0x87, 0x99, 0x80, 0x2c, 0xa3, 0xa5, + 0x58, 0x59, 0xb1, 0x6f, 0x7d, 0x39, 0x2d, 0x8c, 0x0f, 0x3d, 0x83, 0x5a, 0x44, 0x3b, 0xd1, 0x5a, + 0xa4, 0x33, 0x41, 0xa6, 0x75, 0x2d, 0xbb, 0x11, 0x03, 0xbc, 0x82, 0x3b, 0x29, 0x8e, 0x88, 0x36, + 0x62, 0x4b, 0x39, 0x24, 0x55, 0xbf, 0x5f, 0xb0, 0x9b, 0x2c, 0x59, 0xc5, 0xdd, 0x54, 0x0e, 0x33, + 0xcc, 0x52, 0xe5, 0x30, 0x87, 0xea, 0x89, 0x62, 0xc8, 0xd2, 0x2f, 0x55, 0x0c, 0x85, 0x44, 0x50, + 0x15, 0x43, 0x31, 0x7b, 0x8b, 0xe0, 0x27, 0x09, 0x53, 0x12, 0xbe, 0x80, 0xba, 0x25, 0xe1, 0x8b, + 0xf8, 0x16, 0xae, 0x20, 0x27, 0xfb, 0x27, 0x41, 0x12, 0x1d, 0xf4, 0x65, 0x51, 0x1d, 0xa4, 0x19, + 0x97, 0xfe, 0xd5, 0xbf, 0xea, 0xc5, 0xd6, 0xce, 0xa0, 0x91, 0x24, 0x3a, 0x68, 0x3d, 0x7d, 0x34, + 0x45, 0x18, 0xf4, 0x8d, 0xfc, 0xcd, 0x44, 0xf1, 0xbc, 0x03, 0xbd, 0x98, 0x0a, 0xa0, 0xaf, 0x6f, + 0xf3, 0x2b, 0x6d, 0xea, 0xd1, 0xa7, 0xa8, 0x46, 0x86, 0x77, 0xaa, 0x41, 0x87, 0x4a, 0xb0, 0x23, + 0xd5, 0xa1, 0xb2, 0xcc, 0x4c, 0x75, 0xa8, 0x1c, 0x3a, 0x25, 0x7b, 0x9d, 0x62, 0x17, 0x89, 0x5e, + 0x97, 0x21, 0x2f, 0x89, 0x5e, 0x97, 0xa5, 0x23, 0xb8, 0x82, 0x7e, 0x13, 0xff, 0x69, 0xd2, 0x94, + 0x00, 0x25, 0x7f, 0x97, 0xe4, 0xb2, 0x0f, 0x55, 0xf0, 0x85, 0x7c, 0x42, 0x84, 0xfa, 0x12, 0x16, + 0x33, 0xdf, 0x78, 0x85, 0x5e, 0x44, 0x27, 0x14, 0x7a, 0x21, 0x41, 0xc0, 0x15, 0xf4, 0x03, 0xcc, + 0xcb, 0x9f, 0xa0, 0x68, 0x35, 0xd6, 0x4f, 0xfd, 0x5b, 0xd5, 0xd7, 0x32, 0xf2, 0xe8, 0xf4, 0xd5, + 0x9c, 0xf8, 0x1f, 0xbf, 0xff, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x23, 0xc7, 0xc8, 0xe3, 0xc1, + 0x17, 0x00, 0x00, } diff --git a/vendor/vendor.json b/vendor/vendor.json index 8fc74117e..c4a28acbd 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -201,12 +201,12 @@ "revisionTime": "2017-12-31T12:27:32Z" }, { - "checksumSHA1": "HMFXVfy0lhoCFtDIjjYXwKPqFEM=", + "checksumSHA1": "gtyakRTap6GHgVfZ3ijhMO4YbgM=", "path": "gitlab.com/gitlab-org/gitaly-proto/go", - "revision": "3f32964901b4b80f1e2db7ed2e7387204dfee301", - "revisionTime": "2018-03-20T19:57:10Z", - "version": "v0.91.0", - "versionExact": "v0.91.0" + "revision": "be1ce3e479f520b3514c0e9fe22fb6b3f802e7af", + "revisionTime": "2018-03-29T21:53:13Z", + "version": "v0.94.0", + "versionExact": "v0.94.0" }, { "checksumSHA1": "nqWNlnMmVpt628zzvyo6Yv2CX5Q=", |