// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.33.0
// 	protoc        v4.23.1
// source: blob.proto

package gitalypb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// GetBlobRequest is a request for the GetBlob RPC.
type GetBlobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository that shall be searched.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// oid is the object ID of the blob we want to get.
	Oid string `protobuf:"bytes,2,opt,name=oid,proto3" json:"oid,omitempty"`
	// limit is the maximum number of bytes we want to receive. Use '-1' to get the full blob no matter how big. Setting
	// this to `0` will return no data.
	Limit int64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}

func (x *GetBlobRequest) Reset() {
	*x = GetBlobRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBlobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlobRequest) ProtoMessage() {}

func (x *GetBlobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlobRequest.ProtoReflect.Descriptor instead.
func (*GetBlobRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{0}
}

func (x *GetBlobRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *GetBlobRequest) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

func (x *GetBlobRequest) GetLimit() int64 {
	if x != nil {
		return x.Limit
	}
	return 0
}

// GetBlobResponse is a response for the GetBlob RPC. Multiple responses will be returned when the blob is large and
// thus doesn't fit into a single response.
type GetBlobResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// size is the size of the blob. Present only in first response message.
	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	// data is a chunk of data.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// oid of the actual blob returned. Empty if no blob was found.
	Oid string `protobuf:"bytes,3,opt,name=oid,proto3" json:"oid,omitempty"`
}

func (x *GetBlobResponse) Reset() {
	*x = GetBlobResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBlobResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlobResponse) ProtoMessage() {}

func (x *GetBlobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlobResponse.ProtoReflect.Descriptor instead.
func (*GetBlobResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{1}
}

func (x *GetBlobResponse) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *GetBlobResponse) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *GetBlobResponse) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

// GetBlobsRequest is a request for the GetBlobs RPC.
type GetBlobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository that shall be searched.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// revision_paths identifies the set of revision/path pairs that shall be searched for blobs.
	RevisionPaths []*GetBlobsRequest_RevisionPath `protobuf:"bytes,2,rep,name=revision_paths,json=revisionPaths,proto3" json:"revision_paths,omitempty"`
	// limit is the maximum number of bytes we want to receive. Use '-1' to get the full blobs no matter how big.
	Limit int64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}

func (x *GetBlobsRequest) Reset() {
	*x = GetBlobsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBlobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlobsRequest) ProtoMessage() {}

func (x *GetBlobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlobsRequest.ProtoReflect.Descriptor instead.
func (*GetBlobsRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{2}
}

func (x *GetBlobsRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *GetBlobsRequest) GetRevisionPaths() []*GetBlobsRequest_RevisionPath {
	if x != nil {
		return x.RevisionPaths
	}
	return nil
}

func (x *GetBlobsRequest) GetLimit() int64 {
	if x != nil {
		return x.Limit
	}
	return 0
}

// GetBlobsResponse is a response for the GetBlobs RPC and identifies a single blob. Multiple responses can be returned
// for the same blob in case its data is longer than the gRPC message limit. Subsequent messages for the same blob will
// only have their data field set. Blobs which cannot be found will only have their path and revision set, but will
// otherwise be empty.
type GetBlobsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// size is the size of the blob. Present only on the first message per blob
	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	// data is a chunk of blob data, which could span over multiple messages.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// oid is the object ID of the current blob. Only present on the first message per blob. Empty if no blob was
	// found.
	Oid string `protobuf:"bytes,3,opt,name=oid,proto3" json:"oid,omitempty"`
	// is_submodule indicates whether the blob is a submodule.
	IsSubmodule bool `protobuf:"varint,4,opt,name=is_submodule,json=isSubmodule,proto3" json:"is_submodule,omitempty"`
	// mode is the file mode of blob as present in the tree. It is typically one of:
	//
	// - 0o100644 for non-executable files.
	// - 0o100755 for executable files.
	// - 0o160000 for submodules.
	// - 0o040000 for subtrees.
	Mode int32 `protobuf:"varint,5,opt,name=mode,proto3" json:"mode,omitempty"`
	// revision is the revision that this blob has been traversed from.
	Revision string `protobuf:"bytes,6,opt,name=revision,proto3" json:"revision,omitempty"`
	// path is the path of the blob inside of the tree.
	Path []byte `protobuf:"bytes,7,opt,name=path,proto3" json:"path,omitempty"`
	// type is the type of the "blob".
	Type ObjectType `protobuf:"varint,8,opt,name=type,proto3,enum=gitaly.ObjectType" json:"type,omitempty"`
}

func (x *GetBlobsResponse) Reset() {
	*x = GetBlobsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBlobsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlobsResponse) ProtoMessage() {}

func (x *GetBlobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlobsResponse.ProtoReflect.Descriptor instead.
func (*GetBlobsResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{3}
}

func (x *GetBlobsResponse) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *GetBlobsResponse) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *GetBlobsResponse) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

func (x *GetBlobsResponse) GetIsSubmodule() bool {
	if x != nil {
		return x.IsSubmodule
	}
	return false
}

func (x *GetBlobsResponse) GetMode() int32 {
	if x != nil {
		return x.Mode
	}
	return 0
}

func (x *GetBlobsResponse) GetRevision() string {
	if x != nil {
		return x.Revision
	}
	return ""
}

func (x *GetBlobsResponse) GetPath() []byte {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *GetBlobsResponse) GetType() ObjectType {
	if x != nil {
		return x.Type
	}
	return ObjectType_UNKNOWN
}

// ListBlobsRequest is a request for the ListBlobs RPC.
type ListBlobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository in which blobs should be enumerated.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// revisions is the list of revisions to retrieve blobs from. These revisions
	// will be walked. Supports pseudo-revisions `--all` and `--not` as well as
	// negated revisions via `^revision`. Revisions cannot start with a leading
	// dash. Please consult gitrevisions(7) for more info. Must not be empty.
	Revisions []string `protobuf:"bytes,2,rep,name=revisions,proto3" json:"revisions,omitempty"`
	// limit is the maximum number of blobs to return. If set to its default
	// (`0`), then all found blobs will be returned.
	Limit uint32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// bytes_limit is the maximum number of bytes to receive for each blob. If set
	// to `0`, then no blob data will be sent. If `-1`, then all blob data will
	// be sent without any limits.
	BytesLimit int64 `protobuf:"varint,4,opt,name=bytes_limit,json=bytesLimit,proto3" json:"bytes_limit,omitempty"`
	// with_paths determines whether paths of blobs should be returned. When
	// set to `true`, paths are returned on a best-effort basis: a path will only
	// exist if the blob was traversed via a tree.
	WithPaths bool `protobuf:"varint,5,opt,name=with_paths,json=withPaths,proto3" json:"with_paths,omitempty"`
}

func (x *ListBlobsRequest) Reset() {
	*x = ListBlobsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBlobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBlobsRequest) ProtoMessage() {}

func (x *ListBlobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBlobsRequest.ProtoReflect.Descriptor instead.
func (*ListBlobsRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{4}
}

func (x *ListBlobsRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *ListBlobsRequest) GetRevisions() []string {
	if x != nil {
		return x.Revisions
	}
	return nil
}

func (x *ListBlobsRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *ListBlobsRequest) GetBytesLimit() int64 {
	if x != nil {
		return x.BytesLimit
	}
	return 0
}

func (x *ListBlobsRequest) GetWithPaths() bool {
	if x != nil {
		return x.WithPaths
	}
	return false
}

// ListBlobsResponse is a response for the ListBlobs RPC.
type ListBlobsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// blobs is the blobs which have been found. In case blob contents were
	// requested and contents of a blob exceed the maximum gRPC message size,
	// then this blob will be split up into multiple blob messages which span
	// across multiple responses. In that case, metadata of the blob will only be
	// sent on the first such message for this specific blob.
	Blobs []*ListBlobsResponse_Blob `protobuf:"bytes,1,rep,name=blobs,proto3" json:"blobs,omitempty"`
}

func (x *ListBlobsResponse) Reset() {
	*x = ListBlobsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBlobsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBlobsResponse) ProtoMessage() {}

func (x *ListBlobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBlobsResponse.ProtoReflect.Descriptor instead.
func (*ListBlobsResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{5}
}

func (x *ListBlobsResponse) GetBlobs() []*ListBlobsResponse_Blob {
	if x != nil {
		return x.Blobs
	}
	return nil
}

// ListAllBlobsRequest is a request for the ListAllBlobs RPC.
type ListAllBlobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository in which blobs should be enumerated.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// limit is the maximum number of blobs to return. If set to its default
	// (`0`), then all found blobs will be returned.
	Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// bytes_limit is the maximum number of bytes to receive for each blob. If set
	// to `0`, then no blob data will be sent. If `-1`, then all blob data will
	// be sent without any limits.
	BytesLimit int64 `protobuf:"varint,3,opt,name=bytes_limit,json=bytesLimit,proto3" json:"bytes_limit,omitempty"`
}

func (x *ListAllBlobsRequest) Reset() {
	*x = ListAllBlobsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListAllBlobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAllBlobsRequest) ProtoMessage() {}

func (x *ListAllBlobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAllBlobsRequest.ProtoReflect.Descriptor instead.
func (*ListAllBlobsRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{6}
}

func (x *ListAllBlobsRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *ListAllBlobsRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *ListAllBlobsRequest) GetBytesLimit() int64 {
	if x != nil {
		return x.BytesLimit
	}
	return 0
}

// ListAllBlobsResponse is a response for the ListAllBlobs RPC.
type ListAllBlobsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// blobs is the blobs which have been found. In case blob contents were
	// requested and contents of a blob exceed the maximum gRPC message size,
	// then this blob will be split up into multiple blob messages which span
	// across multiple responses. In that case, metadata of the blob will only be
	// sent on the first such message for this specific blob.
	Blobs []*ListAllBlobsResponse_Blob `protobuf:"bytes,1,rep,name=blobs,proto3" json:"blobs,omitempty"`
}

func (x *ListAllBlobsResponse) Reset() {
	*x = ListAllBlobsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListAllBlobsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAllBlobsResponse) ProtoMessage() {}

func (x *ListAllBlobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAllBlobsResponse.ProtoReflect.Descriptor instead.
func (*ListAllBlobsResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{7}
}

func (x *ListAllBlobsResponse) GetBlobs() []*ListAllBlobsResponse_Blob {
	if x != nil {
		return x.Blobs
	}
	return nil
}

// LFSPointer is a git blob which points to an LFS object.
type LFSPointer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// size is the size of the blob. This is not the size of the LFS object
	// pointed to.
	Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	// data is the bare data of the LFS pointer blob. It contains the pointer to
	// the LFS data in the format specified by the LFS project.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// oid is the object ID of the blob.
	Oid string `protobuf:"bytes,3,opt,name=oid,proto3" json:"oid,omitempty"`
	// file_size is the size given when parsing the LFS pointer spec.
	FileSize int64 `protobuf:"varint,4,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
	// file_oid is the object id given when parsing the LFS pointer spec.
	FileOid []byte `protobuf:"bytes,5,opt,name=file_oid,json=fileOid,proto3" json:"file_oid,omitempty"`
}

func (x *LFSPointer) Reset() {
	*x = LFSPointer{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LFSPointer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LFSPointer) ProtoMessage() {}

func (x *LFSPointer) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LFSPointer.ProtoReflect.Descriptor instead.
func (*LFSPointer) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{8}
}

func (x *LFSPointer) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *LFSPointer) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *LFSPointer) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

func (x *LFSPointer) GetFileSize() int64 {
	if x != nil {
		return x.FileSize
	}
	return 0
}

func (x *LFSPointer) GetFileOid() []byte {
	if x != nil {
		return x.FileOid
	}
	return nil
}

// GetLFSPointersRequest is a request for the GetLFSPointers RPC.
type GetLFSPointersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository for which LFS pointers should be retrieved
	// from.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// blob_ids is the list of blobs to retrieve LFS pointers from. Must be a
	// non-empty list of blobs IDs to fetch.
	BlobIds []string `protobuf:"bytes,2,rep,name=blob_ids,json=blobIds,proto3" json:"blob_ids,omitempty"`
}

func (x *GetLFSPointersRequest) Reset() {
	*x = GetLFSPointersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLFSPointersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLFSPointersRequest) ProtoMessage() {}

func (x *GetLFSPointersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLFSPointersRequest.ProtoReflect.Descriptor instead.
func (*GetLFSPointersRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{9}
}

func (x *GetLFSPointersRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *GetLFSPointersRequest) GetBlobIds() []string {
	if x != nil {
		return x.BlobIds
	}
	return nil
}

// GetLFSPointersResponse is a response for the GetLFSPointers RPC.
type GetLFSPointersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// lfs_pointers is the list of LFS pointers which were requested.
	LfsPointers []*LFSPointer `protobuf:"bytes,1,rep,name=lfs_pointers,json=lfsPointers,proto3" json:"lfs_pointers,omitempty"`
}

func (x *GetLFSPointersResponse) Reset() {
	*x = GetLFSPointersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLFSPointersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLFSPointersResponse) ProtoMessage() {}

func (x *GetLFSPointersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLFSPointersResponse.ProtoReflect.Descriptor instead.
func (*GetLFSPointersResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{10}
}

func (x *GetLFSPointersResponse) GetLfsPointers() []*LFSPointer {
	if x != nil {
		return x.LfsPointers
	}
	return nil
}

// ListLFSPointersRequest is a request for the ListLFSPointers RPC.
type ListLFSPointersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository for which LFS pointers should be retrieved
	// from.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// revisions is the list of revisions to retrieve LFS pointers from. Must be
	// a non-empty list.
	Revisions []string `protobuf:"bytes,2,rep,name=revisions,proto3" json:"revisions,omitempty"`
	// limit limits the number of LFS pointers returned.
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}

func (x *ListLFSPointersRequest) Reset() {
	*x = ListLFSPointersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListLFSPointersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListLFSPointersRequest) ProtoMessage() {}

func (x *ListLFSPointersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListLFSPointersRequest.ProtoReflect.Descriptor instead.
func (*ListLFSPointersRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{11}
}

func (x *ListLFSPointersRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *ListLFSPointersRequest) GetRevisions() []string {
	if x != nil {
		return x.Revisions
	}
	return nil
}

func (x *ListLFSPointersRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

// ListLFSPointersResponse is a response for the ListLFSPointers RPC.
type ListLFSPointersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// lfs_pointers is the list of LFS pointers which were requested.
	LfsPointers []*LFSPointer `protobuf:"bytes,1,rep,name=lfs_pointers,json=lfsPointers,proto3" json:"lfs_pointers,omitempty"`
}

func (x *ListLFSPointersResponse) Reset() {
	*x = ListLFSPointersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListLFSPointersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListLFSPointersResponse) ProtoMessage() {}

func (x *ListLFSPointersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListLFSPointersResponse.ProtoReflect.Descriptor instead.
func (*ListLFSPointersResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{12}
}

func (x *ListLFSPointersResponse) GetLfsPointers() []*LFSPointer {
	if x != nil {
		return x.LfsPointers
	}
	return nil
}

// ListAllLFSPointersRequest is a request for the ListAllLFSPointers RPC.
type ListAllLFSPointersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// repository is the repository for which LFS pointers should be retrieved
	// from.
	Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
	// limit limits the number of LFS pointers returned.
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
}

func (x *ListAllLFSPointersRequest) Reset() {
	*x = ListAllLFSPointersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListAllLFSPointersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAllLFSPointersRequest) ProtoMessage() {}

func (x *ListAllLFSPointersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAllLFSPointersRequest.ProtoReflect.Descriptor instead.
func (*ListAllLFSPointersRequest) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{13}
}

func (x *ListAllLFSPointersRequest) GetRepository() *Repository {
	if x != nil {
		return x.Repository
	}
	return nil
}

func (x *ListAllLFSPointersRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

// ListAllLFSPointersResponse is a response for the ListAllLFSPointers RPC.
type ListAllLFSPointersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// lfs_pointers is the list of LFS pointers which were requested.
	LfsPointers []*LFSPointer `protobuf:"bytes,1,rep,name=lfs_pointers,json=lfsPointers,proto3" json:"lfs_pointers,omitempty"`
}

func (x *ListAllLFSPointersResponse) Reset() {
	*x = ListAllLFSPointersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListAllLFSPointersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAllLFSPointersResponse) ProtoMessage() {}

func (x *ListAllLFSPointersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAllLFSPointersResponse.ProtoReflect.Descriptor instead.
func (*ListAllLFSPointersResponse) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{14}
}

func (x *ListAllLFSPointersResponse) GetLfsPointers() []*LFSPointer {
	if x != nil {
		return x.LfsPointers
	}
	return nil
}

// RevisionPath is a combination of revision and path. All objects reachable in the subdirectory of the treeish
// will be returned.
type GetBlobsRequest_RevisionPath struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// revision is the revision that identifies the tree-ish. Must not be empty.
	Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"`
	// path is the path relative to the treeish revision that shall be searched for a blob. If the path is empty the
	// root directory of the tree-ish will be searched.
	Path []byte `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *GetBlobsRequest_RevisionPath) Reset() {
	*x = GetBlobsRequest_RevisionPath{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBlobsRequest_RevisionPath) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBlobsRequest_RevisionPath) ProtoMessage() {}

func (x *GetBlobsRequest_RevisionPath) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBlobsRequest_RevisionPath.ProtoReflect.Descriptor instead.
func (*GetBlobsRequest_RevisionPath) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{2, 0}
}

func (x *GetBlobsRequest_RevisionPath) GetRevision() string {
	if x != nil {
		return x.Revision
	}
	return ""
}

func (x *GetBlobsRequest_RevisionPath) GetPath() []byte {
	if x != nil {
		return x.Path
	}
	return nil
}

// Blob represents a Git blob object.
type ListBlobsResponse_Blob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// oid is the object ID of the blob. Will only be set for the first
	// message of each specific blob.
	Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid,omitempty"`
	// size is the size of the blob. Will only be set for the first message
	// of each specific blob.
	Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// data is the contents of the blob. This field is optional and depends on
	// the BytesLimit in the original request.
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// path is the path of the blob. May be unset depending on how the blob had
	// been traversed.
	Path []byte `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *ListBlobsResponse_Blob) Reset() {
	*x = ListBlobsResponse_Blob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBlobsResponse_Blob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBlobsResponse_Blob) ProtoMessage() {}

func (x *ListBlobsResponse_Blob) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBlobsResponse_Blob.ProtoReflect.Descriptor instead.
func (*ListBlobsResponse_Blob) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{5, 0}
}

func (x *ListBlobsResponse_Blob) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

func (x *ListBlobsResponse_Blob) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *ListBlobsResponse_Blob) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *ListBlobsResponse_Blob) GetPath() []byte {
	if x != nil {
		return x.Path
	}
	return nil
}

// Blob represents a Git blob object.
type ListAllBlobsResponse_Blob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// oid is the object ID of the blob. Will only be set for the first
	// message of each specific blob.
	Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid,omitempty"`
	// size is the size of the blob. Will only be set for the first message
	// of each specific blob.
	Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// data is the contents of the blob. This field is optional and depends on
	// the BytesLimit in the original request.
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}

func (x *ListAllBlobsResponse_Blob) Reset() {
	*x = ListAllBlobsResponse_Blob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_blob_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListAllBlobsResponse_Blob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListAllBlobsResponse_Blob) ProtoMessage() {}

func (x *ListAllBlobsResponse_Blob) ProtoReflect() protoreflect.Message {
	mi := &file_blob_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListAllBlobsResponse_Blob.ProtoReflect.Descriptor instead.
func (*ListAllBlobsResponse_Blob) Descriptor() ([]byte, []int) {
	return file_blob_proto_rawDescGZIP(), []int{7, 0}
}

func (x *ListAllBlobsResponse_Blob) GetOid() string {
	if x != nil {
		return x.Oid
	}
	return ""
}

func (x *ListAllBlobsResponse_Blob) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *ListAllBlobsResponse_Blob) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

var File_blob_proto protoreflect.FileDescriptor

var file_blob_proto_rawDesc = []byte{
	0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x67, 0x69,
	0x74, 0x61, 0x6c, 0x79, 0x1a, 0x0a, 0x6c, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72,
	0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a,
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x22, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a,
	0x03, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22,
	0xee, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c,
	0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4b, 0x0a,
	0x0e, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47,
	0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52,
	0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0d, 0x72, 0x65, 0x76,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x1a, 0x3e, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68,
	0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68,
	0x22, 0xdb, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a,
	0x03, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12,
	0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x75,
	0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0,
	0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c,
	0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a,
	0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x50, 0x61, 0x74, 0x68,
	0x73, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x1a, 0x54, 0x0a,
	0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12,
	0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70,
	0x61, 0x74, 0x68, 0x22, 0x86, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x42,
	0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72,
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x91, 0x01, 0x0a,
	0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x1a, 0x40,
	0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x22, 0x7e, 0x0a, 0x0a, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x12,
	0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69,
	0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65,
	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x69,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x69, 0x64,
	0x22, 0x6c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
	0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x4f,
	0x0a, 0x16, 0x47, 0x65, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x6c, 0x66, 0x73, 0x5f,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x52, 0x0b, 0x6c, 0x66, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22,
	0x86, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65,
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
	0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
	0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
	0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x50, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74,
	0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x6c, 0x66, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61,
	0x6c, 0x79, 0x2e, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6c,
	0x66, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x22, 0x6b, 0x0a, 0x19, 0x4c, 0x69,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
	0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42,
	0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x53, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x6c, 0x66, 0x73, 0x5f, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
	0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x52,
	0x0b, 0x6c, 0x66, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x32, 0xdd, 0x04, 0x0a,
	0x0b, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x07,
	0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x16, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02,
	0x30, 0x01, 0x12, 0x47, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x17,
	0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x4c,
	0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
	0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
	0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41,
	0x6c, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e,
	0x47, 0x65, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1d,
	0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f,
	0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
	0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
	0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4c,
	0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74,
	0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74,
	0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28,
	0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x65, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
	0x4c, 0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69,
	0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x4c, 0x46, 0x53, 0x50,
	0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
	0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x4c,
	0x46, 0x53, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x42, 0x34, 0x5a, 0x32,
	0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61,
	0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x36,
	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
	0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_blob_proto_rawDescOnce sync.Once
	file_blob_proto_rawDescData = file_blob_proto_rawDesc
)

func file_blob_proto_rawDescGZIP() []byte {
	file_blob_proto_rawDescOnce.Do(func() {
		file_blob_proto_rawDescData = protoimpl.X.CompressGZIP(file_blob_proto_rawDescData)
	})
	return file_blob_proto_rawDescData
}

var file_blob_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_blob_proto_goTypes = []interface{}{
	(*GetBlobRequest)(nil),               // 0: gitaly.GetBlobRequest
	(*GetBlobResponse)(nil),              // 1: gitaly.GetBlobResponse
	(*GetBlobsRequest)(nil),              // 2: gitaly.GetBlobsRequest
	(*GetBlobsResponse)(nil),             // 3: gitaly.GetBlobsResponse
	(*ListBlobsRequest)(nil),             // 4: gitaly.ListBlobsRequest
	(*ListBlobsResponse)(nil),            // 5: gitaly.ListBlobsResponse
	(*ListAllBlobsRequest)(nil),          // 6: gitaly.ListAllBlobsRequest
	(*ListAllBlobsResponse)(nil),         // 7: gitaly.ListAllBlobsResponse
	(*LFSPointer)(nil),                   // 8: gitaly.LFSPointer
	(*GetLFSPointersRequest)(nil),        // 9: gitaly.GetLFSPointersRequest
	(*GetLFSPointersResponse)(nil),       // 10: gitaly.GetLFSPointersResponse
	(*ListLFSPointersRequest)(nil),       // 11: gitaly.ListLFSPointersRequest
	(*ListLFSPointersResponse)(nil),      // 12: gitaly.ListLFSPointersResponse
	(*ListAllLFSPointersRequest)(nil),    // 13: gitaly.ListAllLFSPointersRequest
	(*ListAllLFSPointersResponse)(nil),   // 14: gitaly.ListAllLFSPointersResponse
	(*GetBlobsRequest_RevisionPath)(nil), // 15: gitaly.GetBlobsRequest.RevisionPath
	(*ListBlobsResponse_Blob)(nil),       // 16: gitaly.ListBlobsResponse.Blob
	(*ListAllBlobsResponse_Blob)(nil),    // 17: gitaly.ListAllBlobsResponse.Blob
	(*Repository)(nil),                   // 18: gitaly.Repository
	(ObjectType)(0),                      // 19: gitaly.ObjectType
}
var file_blob_proto_depIdxs = []int32{
	18, // 0: gitaly.GetBlobRequest.repository:type_name -> gitaly.Repository
	18, // 1: gitaly.GetBlobsRequest.repository:type_name -> gitaly.Repository
	15, // 2: gitaly.GetBlobsRequest.revision_paths:type_name -> gitaly.GetBlobsRequest.RevisionPath
	19, // 3: gitaly.GetBlobsResponse.type:type_name -> gitaly.ObjectType
	18, // 4: gitaly.ListBlobsRequest.repository:type_name -> gitaly.Repository
	16, // 5: gitaly.ListBlobsResponse.blobs:type_name -> gitaly.ListBlobsResponse.Blob
	18, // 6: gitaly.ListAllBlobsRequest.repository:type_name -> gitaly.Repository
	17, // 7: gitaly.ListAllBlobsResponse.blobs:type_name -> gitaly.ListAllBlobsResponse.Blob
	18, // 8: gitaly.GetLFSPointersRequest.repository:type_name -> gitaly.Repository
	8,  // 9: gitaly.GetLFSPointersResponse.lfs_pointers:type_name -> gitaly.LFSPointer
	18, // 10: gitaly.ListLFSPointersRequest.repository:type_name -> gitaly.Repository
	8,  // 11: gitaly.ListLFSPointersResponse.lfs_pointers:type_name -> gitaly.LFSPointer
	18, // 12: gitaly.ListAllLFSPointersRequest.repository:type_name -> gitaly.Repository
	8,  // 13: gitaly.ListAllLFSPointersResponse.lfs_pointers:type_name -> gitaly.LFSPointer
	0,  // 14: gitaly.BlobService.GetBlob:input_type -> gitaly.GetBlobRequest
	2,  // 15: gitaly.BlobService.GetBlobs:input_type -> gitaly.GetBlobsRequest
	4,  // 16: gitaly.BlobService.ListBlobs:input_type -> gitaly.ListBlobsRequest
	6,  // 17: gitaly.BlobService.ListAllBlobs:input_type -> gitaly.ListAllBlobsRequest
	9,  // 18: gitaly.BlobService.GetLFSPointers:input_type -> gitaly.GetLFSPointersRequest
	11, // 19: gitaly.BlobService.ListLFSPointers:input_type -> gitaly.ListLFSPointersRequest
	13, // 20: gitaly.BlobService.ListAllLFSPointers:input_type -> gitaly.ListAllLFSPointersRequest
	1,  // 21: gitaly.BlobService.GetBlob:output_type -> gitaly.GetBlobResponse
	3,  // 22: gitaly.BlobService.GetBlobs:output_type -> gitaly.GetBlobsResponse
	5,  // 23: gitaly.BlobService.ListBlobs:output_type -> gitaly.ListBlobsResponse
	7,  // 24: gitaly.BlobService.ListAllBlobs:output_type -> gitaly.ListAllBlobsResponse
	10, // 25: gitaly.BlobService.GetLFSPointers:output_type -> gitaly.GetLFSPointersResponse
	12, // 26: gitaly.BlobService.ListLFSPointers:output_type -> gitaly.ListLFSPointersResponse
	14, // 27: gitaly.BlobService.ListAllLFSPointers:output_type -> gitaly.ListAllLFSPointersResponse
	21, // [21:28] is the sub-list for method output_type
	14, // [14:21] is the sub-list for method input_type
	14, // [14:14] is the sub-list for extension type_name
	14, // [14:14] is the sub-list for extension extendee
	0,  // [0:14] is the sub-list for field type_name
}

func init() { file_blob_proto_init() }
func file_blob_proto_init() {
	if File_blob_proto != nil {
		return
	}
	file_lint_proto_init()
	file_shared_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_blob_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBlobRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBlobResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBlobsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBlobsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBlobsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBlobsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAllBlobsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAllBlobsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LFSPointer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetLFSPointersRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetLFSPointersResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListLFSPointersRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListLFSPointersResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAllLFSPointersRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAllLFSPointersResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBlobsRequest_RevisionPath); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBlobsResponse_Blob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_blob_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAllBlobsResponse_Blob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_blob_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_blob_proto_goTypes,
		DependencyIndexes: file_blob_proto_depIdxs,
		MessageInfos:      file_blob_proto_msgTypes,
	}.Build()
	File_blob_proto = out.File
	file_blob_proto_rawDesc = nil
	file_blob_proto_goTypes = nil
	file_blob_proto_depIdxs = nil
}
