github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/ccl/backupccl/backup.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: ccl/backupccl/backup.proto
     3  
     4  package backupccl
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import build "github.com/cockroachdb/cockroach/pkg/build"
    10  import roachpb "github.com/cockroachdb/cockroach/pkg/roachpb"
    11  import sqlbase "github.com/cockroachdb/cockroach/pkg/sql/sqlbase"
    12  import stats "github.com/cockroachdb/cockroach/pkg/sql/stats"
    13  import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc"
    14  
    15  import github_com_cockroachdb_cockroach_pkg_sql_sqlbase "github.com/cockroachdb/cockroach/pkg/sql/sqlbase"
    16  import github_com_cockroachdb_cockroach_pkg_util_uuid "github.com/cockroachdb/cockroach/pkg/util/uuid"
    17  import github_com_cockroachdb_cockroach_pkg_roachpb "github.com/cockroachdb/cockroach/pkg/roachpb"
    18  import github_com_cockroachdb_cockroach_pkg_sql_sem_tree "github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
    19  
    20  import bytes "bytes"
    21  
    22  import io "io"
    23  
    24  // Reference imports to suppress errors if they are not otherwise used.
    25  var _ = proto.Marshal
    26  var _ = fmt.Errorf
    27  var _ = math.Inf
    28  
    29  // This is a compile-time assertion to ensure that this generated file
    30  // is compatible with the proto package it is being compiled against.
    31  // A compilation error at this line likely means your copy of the
    32  // proto package needs to be updated.
    33  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    34  
    35  type MVCCFilter int32
    36  
    37  const (
    38  	MVCCFilter_Latest MVCCFilter = 0
    39  	MVCCFilter_All    MVCCFilter = 1
    40  )
    41  
    42  var MVCCFilter_name = map[int32]string{
    43  	0: "Latest",
    44  	1: "All",
    45  }
    46  var MVCCFilter_value = map[string]int32{
    47  	"Latest": 0,
    48  	"All":    1,
    49  }
    50  
    51  func (x MVCCFilter) String() string {
    52  	return proto.EnumName(MVCCFilter_name, int32(x))
    53  }
    54  func (MVCCFilter) EnumDescriptor() ([]byte, []int) {
    55  	return fileDescriptor_backup_c91f9318627fab4a, []int{0}
    56  }
    57  
    58  type EncryptionInfo_Scheme int32
    59  
    60  const (
    61  	EncryptionInfo_AES256GCM EncryptionInfo_Scheme = 0
    62  )
    63  
    64  var EncryptionInfo_Scheme_name = map[int32]string{
    65  	0: "AES256GCM",
    66  }
    67  var EncryptionInfo_Scheme_value = map[string]int32{
    68  	"AES256GCM": 0,
    69  }
    70  
    71  func (x EncryptionInfo_Scheme) String() string {
    72  	return proto.EnumName(EncryptionInfo_Scheme_name, int32(x))
    73  }
    74  func (EncryptionInfo_Scheme) EnumDescriptor() ([]byte, []int) {
    75  	return fileDescriptor_backup_c91f9318627fab4a, []int{3, 0}
    76  }
    77  
    78  // RowCount tracks the size and row/index entry counts.
    79  type RowCount struct {
    80  	DataSize     int64 `protobuf:"varint,1,opt,name=data_size,json=dataSize,proto3" json:"data_size,omitempty"`
    81  	Rows         int64 `protobuf:"varint,2,opt,name=rows,proto3" json:"rows,omitempty"`
    82  	IndexEntries int64 `protobuf:"varint,3,opt,name=index_entries,json=indexEntries,proto3" json:"index_entries,omitempty"`
    83  }
    84  
    85  func (m *RowCount) Reset()         { *m = RowCount{} }
    86  func (m *RowCount) String() string { return proto.CompactTextString(m) }
    87  func (*RowCount) ProtoMessage()    {}
    88  func (*RowCount) Descriptor() ([]byte, []int) {
    89  	return fileDescriptor_backup_c91f9318627fab4a, []int{0}
    90  }
    91  func (m *RowCount) XXX_Unmarshal(b []byte) error {
    92  	return m.Unmarshal(b)
    93  }
    94  func (m *RowCount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    95  	b = b[:cap(b)]
    96  	n, err := m.MarshalTo(b)
    97  	if err != nil {
    98  		return nil, err
    99  	}
   100  	return b[:n], nil
   101  }
   102  func (dst *RowCount) XXX_Merge(src proto.Message) {
   103  	xxx_messageInfo_RowCount.Merge(dst, src)
   104  }
   105  func (m *RowCount) XXX_Size() int {
   106  	return m.Size()
   107  }
   108  func (m *RowCount) XXX_DiscardUnknown() {
   109  	xxx_messageInfo_RowCount.DiscardUnknown(m)
   110  }
   111  
   112  var xxx_messageInfo_RowCount proto.InternalMessageInfo
   113  
   114  // BackupManifest represents a consistent snapshot of ranges.
   115  //
   116  // Each range snapshot includes a path to data that is a diff of the data in
   117  // that key range between a start and end timestamp. The end timestamp of all
   118  // ranges in a backup is the same, but the start may vary (to allow individual
   119  // tables to be backed up on different schedules).
   120  type BackupManifest struct {
   121  	StartTime  hlc.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time"`
   122  	EndTime    hlc.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time"`
   123  	MVCCFilter MVCCFilter    `protobuf:"varint,13,opt,name=mvcc_filter,json=mvccFilter,proto3,enum=cockroach.ccl.backupccl.MVCCFilter" json:"mvcc_filter,omitempty"`
   124  	// Even if StartTime is zero, we only get revisions since gc threshold, so
   125  	// do not allow AS OF SYSTEM TIME before revision_start_time.
   126  	RevisionStartTime hlc.Timestamp `protobuf:"bytes,17,opt,name=revision_start_time,json=revisionStartTime,proto3" json:"revision_start_time"`
   127  	// Spans contains the spans requested for backup. The keyranges covered by
   128  	// `files` may be a subset of this if there were ranges with no changes since
   129  	// the last backup. For all tables in the backup descriptor, these spans must
   130  	// completely cover each table's span. For example, if a table with ID 51 were
   131  	// being backed up, then the span `/Table/5{1-2}` must be completely covered.
   132  	Spans []roachpb.Span `protobuf:"bytes,3,rep,name=spans,proto3" json:"spans"`
   133  	// IntroducedSpans are a subset of spans, set only when creating incremental
   134  	// backups that cover spans not included in a previous backup. Spans contained
   135  	// here are covered in the interval (0, startTime], which, in conjunction with
   136  	// the coverage from (startTime, endTime] implied for all spans in Spans,
   137  	// results in coverage from [0, endTime] for these spans.
   138  	IntroducedSpans   []roachpb.Span                      `protobuf:"bytes,15,rep,name=introduced_spans,json=introducedSpans,proto3" json:"introduced_spans"`
   139  	DescriptorChanges []BackupManifest_DescriptorRevision `protobuf:"bytes,16,rep,name=descriptor_changes,json=descriptorChanges,proto3" json:"descriptor_changes"`
   140  	Files             []BackupManifest_File               `protobuf:"bytes,4,rep,name=files,proto3" json:"files"`
   141  	Descriptors       []sqlbase.Descriptor                `protobuf:"bytes,5,rep,name=descriptors,proto3" json:"descriptors"`
   142  	// databases in descriptors that have all tables also in descriptors.
   143  	CompleteDbs   []github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID `protobuf:"varint,14,rep,packed,name=complete_dbs,json=completeDbs,proto3,casttype=github.com/cockroachdb/cockroach/pkg/sql/sqlbase.ID" json:"complete_dbs,omitempty"`
   144  	EntryCounts   RowCount                                              `protobuf:"bytes,12,opt,name=entry_counts,json=entryCounts,proto3" json:"entry_counts"`
   145  	Dir           roachpb.ExternalStorage                               `protobuf:"bytes,7,opt,name=dir,proto3" json:"dir"`
   146  	FormatVersion uint32                                                `protobuf:"varint,8,opt,name=format_version,json=formatVersion,proto3" json:"format_version,omitempty"`
   147  	ClusterID     github_com_cockroachdb_cockroach_pkg_util_uuid.UUID   `protobuf:"bytes,9,opt,name=cluster_id,json=clusterId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"cluster_id"`
   148  	// node_id and build_info of the gateway node (which writes the descriptor).
   149  	NodeID                       github_com_cockroachdb_cockroach_pkg_roachpb.NodeID                  `protobuf:"varint,10,opt,name=node_id,json=nodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"node_id,omitempty"`
   150  	BuildInfo                    build.Info                                                           `protobuf:"bytes,11,opt,name=build_info,json=buildInfo,proto3" json:"build_info"`
   151  	ID                           github_com_cockroachdb_cockroach_pkg_util_uuid.UUID                  `protobuf:"bytes,18,opt,name=id,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"id"`
   152  	PartitionDescriptorFilenames []string                                                             `protobuf:"bytes,19,rep,name=partition_descriptor_filenames,json=partitionDescriptorFilenames,proto3" json:"partition_descriptor_filenames,omitempty"`
   153  	LocalityKVs                  []string                                                             `protobuf:"bytes,20,rep,name=locality_kvs,json=localityKvs,proto3" json:"locality_kvs,omitempty"`
   154  	Statistics                   []*stats.TableStatisticProto                                         `protobuf:"bytes,21,rep,name=statistics,proto3" json:"statistics,omitempty"`
   155  	DescriptorCoverage           github_com_cockroachdb_cockroach_pkg_sql_sem_tree.DescriptorCoverage `protobuf:"varint,22,opt,name=descriptor_coverage,json=descriptorCoverage,proto3,casttype=github.com/cockroachdb/cockroach/pkg/sql/sem/tree.DescriptorCoverage" json:"descriptor_coverage,omitempty"`
   156  }
   157  
   158  func (m *BackupManifest) Reset()         { *m = BackupManifest{} }
   159  func (m *BackupManifest) String() string { return proto.CompactTextString(m) }
   160  func (*BackupManifest) ProtoMessage()    {}
   161  func (*BackupManifest) Descriptor() ([]byte, []int) {
   162  	return fileDescriptor_backup_c91f9318627fab4a, []int{1}
   163  }
   164  func (m *BackupManifest) XXX_Unmarshal(b []byte) error {
   165  	return m.Unmarshal(b)
   166  }
   167  func (m *BackupManifest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   168  	b = b[:cap(b)]
   169  	n, err := m.MarshalTo(b)
   170  	if err != nil {
   171  		return nil, err
   172  	}
   173  	return b[:n], nil
   174  }
   175  func (dst *BackupManifest) XXX_Merge(src proto.Message) {
   176  	xxx_messageInfo_BackupManifest.Merge(dst, src)
   177  }
   178  func (m *BackupManifest) XXX_Size() int {
   179  	return m.Size()
   180  }
   181  func (m *BackupManifest) XXX_DiscardUnknown() {
   182  	xxx_messageInfo_BackupManifest.DiscardUnknown(m)
   183  }
   184  
   185  var xxx_messageInfo_BackupManifest proto.InternalMessageInfo
   186  
   187  // BackupManifest_File represents a file that contains the diff for a key
   188  // range between two timestamps.
   189  type BackupManifest_File struct {
   190  	Span        roachpb.Span `protobuf:"bytes,1,opt,name=span,proto3" json:"span"`
   191  	Path        string       `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
   192  	Sha512      []byte       `protobuf:"bytes,4,opt,name=sha512,proto3" json:"sha512,omitempty"`
   193  	EntryCounts RowCount     `protobuf:"bytes,6,opt,name=entry_counts,json=entryCounts,proto3" json:"entry_counts"`
   194  	// StartTime 0 is sometimes legitimately used, so it is only meaningful if
   195  	// EndTime is non-zero, otherwise both just inherit from containing backup.
   196  	StartTime  hlc.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time"`
   197  	EndTime    hlc.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time"`
   198  	LocalityKV string        `protobuf:"bytes,9,opt,name=locality_kv,json=localityKv,proto3" json:"locality_kv,omitempty"`
   199  }
   200  
   201  func (m *BackupManifest_File) Reset()         { *m = BackupManifest_File{} }
   202  func (m *BackupManifest_File) String() string { return proto.CompactTextString(m) }
   203  func (*BackupManifest_File) ProtoMessage()    {}
   204  func (*BackupManifest_File) Descriptor() ([]byte, []int) {
   205  	return fileDescriptor_backup_c91f9318627fab4a, []int{1, 0}
   206  }
   207  func (m *BackupManifest_File) XXX_Unmarshal(b []byte) error {
   208  	return m.Unmarshal(b)
   209  }
   210  func (m *BackupManifest_File) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   211  	b = b[:cap(b)]
   212  	n, err := m.MarshalTo(b)
   213  	if err != nil {
   214  		return nil, err
   215  	}
   216  	return b[:n], nil
   217  }
   218  func (dst *BackupManifest_File) XXX_Merge(src proto.Message) {
   219  	xxx_messageInfo_BackupManifest_File.Merge(dst, src)
   220  }
   221  func (m *BackupManifest_File) XXX_Size() int {
   222  	return m.Size()
   223  }
   224  func (m *BackupManifest_File) XXX_DiscardUnknown() {
   225  	xxx_messageInfo_BackupManifest_File.DiscardUnknown(m)
   226  }
   227  
   228  var xxx_messageInfo_BackupManifest_File proto.InternalMessageInfo
   229  
   230  type BackupManifest_DescriptorRevision struct {
   231  	Time hlc.Timestamp                                       `protobuf:"bytes,1,opt,name=time,proto3" json:"time"`
   232  	ID   github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID `protobuf:"varint,2,opt,name=ID,proto3,casttype=github.com/cockroachdb/cockroach/pkg/sql/sqlbase.ID" json:"ID,omitempty"`
   233  	Desc *sqlbase.Descriptor                                 `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
   234  }
   235  
   236  func (m *BackupManifest_DescriptorRevision) Reset()         { *m = BackupManifest_DescriptorRevision{} }
   237  func (m *BackupManifest_DescriptorRevision) String() string { return proto.CompactTextString(m) }
   238  func (*BackupManifest_DescriptorRevision) ProtoMessage()    {}
   239  func (*BackupManifest_DescriptorRevision) Descriptor() ([]byte, []int) {
   240  	return fileDescriptor_backup_c91f9318627fab4a, []int{1, 1}
   241  }
   242  func (m *BackupManifest_DescriptorRevision) XXX_Unmarshal(b []byte) error {
   243  	return m.Unmarshal(b)
   244  }
   245  func (m *BackupManifest_DescriptorRevision) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   246  	b = b[:cap(b)]
   247  	n, err := m.MarshalTo(b)
   248  	if err != nil {
   249  		return nil, err
   250  	}
   251  	return b[:n], nil
   252  }
   253  func (dst *BackupManifest_DescriptorRevision) XXX_Merge(src proto.Message) {
   254  	xxx_messageInfo_BackupManifest_DescriptorRevision.Merge(dst, src)
   255  }
   256  func (m *BackupManifest_DescriptorRevision) XXX_Size() int {
   257  	return m.Size()
   258  }
   259  func (m *BackupManifest_DescriptorRevision) XXX_DiscardUnknown() {
   260  	xxx_messageInfo_BackupManifest_DescriptorRevision.DiscardUnknown(m)
   261  }
   262  
   263  var xxx_messageInfo_BackupManifest_DescriptorRevision proto.InternalMessageInfo
   264  
   265  type BackupPartitionDescriptor struct {
   266  	LocalityKV string                                              `protobuf:"bytes,1,opt,name=locality_kv,json=localityKv,proto3" json:"locality_kv,omitempty"`
   267  	Files      []BackupManifest_File                               `protobuf:"bytes,2,rep,name=files,proto3" json:"files"`
   268  	BackupID   github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,3,opt,name=backup_id,json=backupId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"backup_id"`
   269  }
   270  
   271  func (m *BackupPartitionDescriptor) Reset()         { *m = BackupPartitionDescriptor{} }
   272  func (m *BackupPartitionDescriptor) String() string { return proto.CompactTextString(m) }
   273  func (*BackupPartitionDescriptor) ProtoMessage()    {}
   274  func (*BackupPartitionDescriptor) Descriptor() ([]byte, []int) {
   275  	return fileDescriptor_backup_c91f9318627fab4a, []int{2}
   276  }
   277  func (m *BackupPartitionDescriptor) XXX_Unmarshal(b []byte) error {
   278  	return m.Unmarshal(b)
   279  }
   280  func (m *BackupPartitionDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   281  	b = b[:cap(b)]
   282  	n, err := m.MarshalTo(b)
   283  	if err != nil {
   284  		return nil, err
   285  	}
   286  	return b[:n], nil
   287  }
   288  func (dst *BackupPartitionDescriptor) XXX_Merge(src proto.Message) {
   289  	xxx_messageInfo_BackupPartitionDescriptor.Merge(dst, src)
   290  }
   291  func (m *BackupPartitionDescriptor) XXX_Size() int {
   292  	return m.Size()
   293  }
   294  func (m *BackupPartitionDescriptor) XXX_DiscardUnknown() {
   295  	xxx_messageInfo_BackupPartitionDescriptor.DiscardUnknown(m)
   296  }
   297  
   298  var xxx_messageInfo_BackupPartitionDescriptor proto.InternalMessageInfo
   299  
   300  // EncryptionInfo is stored IN PLAINTEXT along side collections of encrypted
   301  // files stored outside of cockroach, for example by BACKUP/RESTORE.
   302  type EncryptionInfo struct {
   303  	Scheme EncryptionInfo_Scheme `protobuf:"varint,1,opt,name=scheme,proto3,enum=cockroach.ccl.backupccl.EncryptionInfo_Scheme" json:"scheme,omitempty"`
   304  	Salt   []byte                `protobuf:"bytes,2,opt,name=salt,proto3" json:"salt,omitempty"`
   305  }
   306  
   307  func (m *EncryptionInfo) Reset()         { *m = EncryptionInfo{} }
   308  func (m *EncryptionInfo) String() string { return proto.CompactTextString(m) }
   309  func (*EncryptionInfo) ProtoMessage()    {}
   310  func (*EncryptionInfo) Descriptor() ([]byte, []int) {
   311  	return fileDescriptor_backup_c91f9318627fab4a, []int{3}
   312  }
   313  func (m *EncryptionInfo) XXX_Unmarshal(b []byte) error {
   314  	return m.Unmarshal(b)
   315  }
   316  func (m *EncryptionInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   317  	b = b[:cap(b)]
   318  	n, err := m.MarshalTo(b)
   319  	if err != nil {
   320  		return nil, err
   321  	}
   322  	return b[:n], nil
   323  }
   324  func (dst *EncryptionInfo) XXX_Merge(src proto.Message) {
   325  	xxx_messageInfo_EncryptionInfo.Merge(dst, src)
   326  }
   327  func (m *EncryptionInfo) XXX_Size() int {
   328  	return m.Size()
   329  }
   330  func (m *EncryptionInfo) XXX_DiscardUnknown() {
   331  	xxx_messageInfo_EncryptionInfo.DiscardUnknown(m)
   332  }
   333  
   334  var xxx_messageInfo_EncryptionInfo proto.InternalMessageInfo
   335  
   336  func init() {
   337  	proto.RegisterType((*RowCount)(nil), "cockroach.ccl.backupccl.RowCount")
   338  	proto.RegisterType((*BackupManifest)(nil), "cockroach.ccl.backupccl.BackupManifest")
   339  	proto.RegisterType((*BackupManifest_File)(nil), "cockroach.ccl.backupccl.BackupManifest.File")
   340  	proto.RegisterType((*BackupManifest_DescriptorRevision)(nil), "cockroach.ccl.backupccl.BackupManifest.DescriptorRevision")
   341  	proto.RegisterType((*BackupPartitionDescriptor)(nil), "cockroach.ccl.backupccl.BackupPartitionDescriptor")
   342  	proto.RegisterType((*EncryptionInfo)(nil), "cockroach.ccl.backupccl.EncryptionInfo")
   343  	proto.RegisterEnum("cockroach.ccl.backupccl.MVCCFilter", MVCCFilter_name, MVCCFilter_value)
   344  	proto.RegisterEnum("cockroach.ccl.backupccl.EncryptionInfo_Scheme", EncryptionInfo_Scheme_name, EncryptionInfo_Scheme_value)
   345  }
   346  func (this *EncryptionInfo) Equal(that interface{}) bool {
   347  	if that == nil {
   348  		return this == nil
   349  	}
   350  
   351  	that1, ok := that.(*EncryptionInfo)
   352  	if !ok {
   353  		that2, ok := that.(EncryptionInfo)
   354  		if ok {
   355  			that1 = &that2
   356  		} else {
   357  			return false
   358  		}
   359  	}
   360  	if that1 == nil {
   361  		return this == nil
   362  	} else if this == nil {
   363  		return false
   364  	}
   365  	if this.Scheme != that1.Scheme {
   366  		return false
   367  	}
   368  	if !bytes.Equal(this.Salt, that1.Salt) {
   369  		return false
   370  	}
   371  	return true
   372  }
   373  func (m *RowCount) Marshal() (dAtA []byte, err error) {
   374  	size := m.Size()
   375  	dAtA = make([]byte, size)
   376  	n, err := m.MarshalTo(dAtA)
   377  	if err != nil {
   378  		return nil, err
   379  	}
   380  	return dAtA[:n], nil
   381  }
   382  
   383  func (m *RowCount) MarshalTo(dAtA []byte) (int, error) {
   384  	var i int
   385  	_ = i
   386  	var l int
   387  	_ = l
   388  	if m.DataSize != 0 {
   389  		dAtA[i] = 0x8
   390  		i++
   391  		i = encodeVarintBackup(dAtA, i, uint64(m.DataSize))
   392  	}
   393  	if m.Rows != 0 {
   394  		dAtA[i] = 0x10
   395  		i++
   396  		i = encodeVarintBackup(dAtA, i, uint64(m.Rows))
   397  	}
   398  	if m.IndexEntries != 0 {
   399  		dAtA[i] = 0x18
   400  		i++
   401  		i = encodeVarintBackup(dAtA, i, uint64(m.IndexEntries))
   402  	}
   403  	return i, nil
   404  }
   405  
   406  func (m *BackupManifest) Marshal() (dAtA []byte, err error) {
   407  	size := m.Size()
   408  	dAtA = make([]byte, size)
   409  	n, err := m.MarshalTo(dAtA)
   410  	if err != nil {
   411  		return nil, err
   412  	}
   413  	return dAtA[:n], nil
   414  }
   415  
   416  func (m *BackupManifest) MarshalTo(dAtA []byte) (int, error) {
   417  	var i int
   418  	_ = i
   419  	var l int
   420  	_ = l
   421  	dAtA[i] = 0xa
   422  	i++
   423  	i = encodeVarintBackup(dAtA, i, uint64(m.StartTime.Size()))
   424  	n1, err := m.StartTime.MarshalTo(dAtA[i:])
   425  	if err != nil {
   426  		return 0, err
   427  	}
   428  	i += n1
   429  	dAtA[i] = 0x12
   430  	i++
   431  	i = encodeVarintBackup(dAtA, i, uint64(m.EndTime.Size()))
   432  	n2, err := m.EndTime.MarshalTo(dAtA[i:])
   433  	if err != nil {
   434  		return 0, err
   435  	}
   436  	i += n2
   437  	if len(m.Spans) > 0 {
   438  		for _, msg := range m.Spans {
   439  			dAtA[i] = 0x1a
   440  			i++
   441  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   442  			n, err := msg.MarshalTo(dAtA[i:])
   443  			if err != nil {
   444  				return 0, err
   445  			}
   446  			i += n
   447  		}
   448  	}
   449  	if len(m.Files) > 0 {
   450  		for _, msg := range m.Files {
   451  			dAtA[i] = 0x22
   452  			i++
   453  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   454  			n, err := msg.MarshalTo(dAtA[i:])
   455  			if err != nil {
   456  				return 0, err
   457  			}
   458  			i += n
   459  		}
   460  	}
   461  	if len(m.Descriptors) > 0 {
   462  		for _, msg := range m.Descriptors {
   463  			dAtA[i] = 0x2a
   464  			i++
   465  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   466  			n, err := msg.MarshalTo(dAtA[i:])
   467  			if err != nil {
   468  				return 0, err
   469  			}
   470  			i += n
   471  		}
   472  	}
   473  	dAtA[i] = 0x3a
   474  	i++
   475  	i = encodeVarintBackup(dAtA, i, uint64(m.Dir.Size()))
   476  	n3, err := m.Dir.MarshalTo(dAtA[i:])
   477  	if err != nil {
   478  		return 0, err
   479  	}
   480  	i += n3
   481  	if m.FormatVersion != 0 {
   482  		dAtA[i] = 0x40
   483  		i++
   484  		i = encodeVarintBackup(dAtA, i, uint64(m.FormatVersion))
   485  	}
   486  	dAtA[i] = 0x4a
   487  	i++
   488  	i = encodeVarintBackup(dAtA, i, uint64(m.ClusterID.Size()))
   489  	n4, err := m.ClusterID.MarshalTo(dAtA[i:])
   490  	if err != nil {
   491  		return 0, err
   492  	}
   493  	i += n4
   494  	if m.NodeID != 0 {
   495  		dAtA[i] = 0x50
   496  		i++
   497  		i = encodeVarintBackup(dAtA, i, uint64(m.NodeID))
   498  	}
   499  	dAtA[i] = 0x5a
   500  	i++
   501  	i = encodeVarintBackup(dAtA, i, uint64(m.BuildInfo.Size()))
   502  	n5, err := m.BuildInfo.MarshalTo(dAtA[i:])
   503  	if err != nil {
   504  		return 0, err
   505  	}
   506  	i += n5
   507  	dAtA[i] = 0x62
   508  	i++
   509  	i = encodeVarintBackup(dAtA, i, uint64(m.EntryCounts.Size()))
   510  	n6, err := m.EntryCounts.MarshalTo(dAtA[i:])
   511  	if err != nil {
   512  		return 0, err
   513  	}
   514  	i += n6
   515  	if m.MVCCFilter != 0 {
   516  		dAtA[i] = 0x68
   517  		i++
   518  		i = encodeVarintBackup(dAtA, i, uint64(m.MVCCFilter))
   519  	}
   520  	if len(m.CompleteDbs) > 0 {
   521  		dAtA8 := make([]byte, len(m.CompleteDbs)*10)
   522  		var j7 int
   523  		for _, num := range m.CompleteDbs {
   524  			for num >= 1<<7 {
   525  				dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80)
   526  				num >>= 7
   527  				j7++
   528  			}
   529  			dAtA8[j7] = uint8(num)
   530  			j7++
   531  		}
   532  		dAtA[i] = 0x72
   533  		i++
   534  		i = encodeVarintBackup(dAtA, i, uint64(j7))
   535  		i += copy(dAtA[i:], dAtA8[:j7])
   536  	}
   537  	if len(m.IntroducedSpans) > 0 {
   538  		for _, msg := range m.IntroducedSpans {
   539  			dAtA[i] = 0x7a
   540  			i++
   541  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   542  			n, err := msg.MarshalTo(dAtA[i:])
   543  			if err != nil {
   544  				return 0, err
   545  			}
   546  			i += n
   547  		}
   548  	}
   549  	if len(m.DescriptorChanges) > 0 {
   550  		for _, msg := range m.DescriptorChanges {
   551  			dAtA[i] = 0x82
   552  			i++
   553  			dAtA[i] = 0x1
   554  			i++
   555  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   556  			n, err := msg.MarshalTo(dAtA[i:])
   557  			if err != nil {
   558  				return 0, err
   559  			}
   560  			i += n
   561  		}
   562  	}
   563  	dAtA[i] = 0x8a
   564  	i++
   565  	dAtA[i] = 0x1
   566  	i++
   567  	i = encodeVarintBackup(dAtA, i, uint64(m.RevisionStartTime.Size()))
   568  	n9, err := m.RevisionStartTime.MarshalTo(dAtA[i:])
   569  	if err != nil {
   570  		return 0, err
   571  	}
   572  	i += n9
   573  	dAtA[i] = 0x92
   574  	i++
   575  	dAtA[i] = 0x1
   576  	i++
   577  	i = encodeVarintBackup(dAtA, i, uint64(m.ID.Size()))
   578  	n10, err := m.ID.MarshalTo(dAtA[i:])
   579  	if err != nil {
   580  		return 0, err
   581  	}
   582  	i += n10
   583  	if len(m.PartitionDescriptorFilenames) > 0 {
   584  		for _, s := range m.PartitionDescriptorFilenames {
   585  			dAtA[i] = 0x9a
   586  			i++
   587  			dAtA[i] = 0x1
   588  			i++
   589  			l = len(s)
   590  			for l >= 1<<7 {
   591  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   592  				l >>= 7
   593  				i++
   594  			}
   595  			dAtA[i] = uint8(l)
   596  			i++
   597  			i += copy(dAtA[i:], s)
   598  		}
   599  	}
   600  	if len(m.LocalityKVs) > 0 {
   601  		for _, s := range m.LocalityKVs {
   602  			dAtA[i] = 0xa2
   603  			i++
   604  			dAtA[i] = 0x1
   605  			i++
   606  			l = len(s)
   607  			for l >= 1<<7 {
   608  				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
   609  				l >>= 7
   610  				i++
   611  			}
   612  			dAtA[i] = uint8(l)
   613  			i++
   614  			i += copy(dAtA[i:], s)
   615  		}
   616  	}
   617  	if len(m.Statistics) > 0 {
   618  		for _, msg := range m.Statistics {
   619  			dAtA[i] = 0xaa
   620  			i++
   621  			dAtA[i] = 0x1
   622  			i++
   623  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   624  			n, err := msg.MarshalTo(dAtA[i:])
   625  			if err != nil {
   626  				return 0, err
   627  			}
   628  			i += n
   629  		}
   630  	}
   631  	if m.DescriptorCoverage != 0 {
   632  		dAtA[i] = 0xb0
   633  		i++
   634  		dAtA[i] = 0x1
   635  		i++
   636  		i = encodeVarintBackup(dAtA, i, uint64(m.DescriptorCoverage))
   637  	}
   638  	return i, nil
   639  }
   640  
   641  func (m *BackupManifest_File) Marshal() (dAtA []byte, err error) {
   642  	size := m.Size()
   643  	dAtA = make([]byte, size)
   644  	n, err := m.MarshalTo(dAtA)
   645  	if err != nil {
   646  		return nil, err
   647  	}
   648  	return dAtA[:n], nil
   649  }
   650  
   651  func (m *BackupManifest_File) MarshalTo(dAtA []byte) (int, error) {
   652  	var i int
   653  	_ = i
   654  	var l int
   655  	_ = l
   656  	dAtA[i] = 0xa
   657  	i++
   658  	i = encodeVarintBackup(dAtA, i, uint64(m.Span.Size()))
   659  	n11, err := m.Span.MarshalTo(dAtA[i:])
   660  	if err != nil {
   661  		return 0, err
   662  	}
   663  	i += n11
   664  	if len(m.Path) > 0 {
   665  		dAtA[i] = 0x12
   666  		i++
   667  		i = encodeVarintBackup(dAtA, i, uint64(len(m.Path)))
   668  		i += copy(dAtA[i:], m.Path)
   669  	}
   670  	if len(m.Sha512) > 0 {
   671  		dAtA[i] = 0x22
   672  		i++
   673  		i = encodeVarintBackup(dAtA, i, uint64(len(m.Sha512)))
   674  		i += copy(dAtA[i:], m.Sha512)
   675  	}
   676  	dAtA[i] = 0x32
   677  	i++
   678  	i = encodeVarintBackup(dAtA, i, uint64(m.EntryCounts.Size()))
   679  	n12, err := m.EntryCounts.MarshalTo(dAtA[i:])
   680  	if err != nil {
   681  		return 0, err
   682  	}
   683  	i += n12
   684  	dAtA[i] = 0x3a
   685  	i++
   686  	i = encodeVarintBackup(dAtA, i, uint64(m.StartTime.Size()))
   687  	n13, err := m.StartTime.MarshalTo(dAtA[i:])
   688  	if err != nil {
   689  		return 0, err
   690  	}
   691  	i += n13
   692  	dAtA[i] = 0x42
   693  	i++
   694  	i = encodeVarintBackup(dAtA, i, uint64(m.EndTime.Size()))
   695  	n14, err := m.EndTime.MarshalTo(dAtA[i:])
   696  	if err != nil {
   697  		return 0, err
   698  	}
   699  	i += n14
   700  	if len(m.LocalityKV) > 0 {
   701  		dAtA[i] = 0x4a
   702  		i++
   703  		i = encodeVarintBackup(dAtA, i, uint64(len(m.LocalityKV)))
   704  		i += copy(dAtA[i:], m.LocalityKV)
   705  	}
   706  	return i, nil
   707  }
   708  
   709  func (m *BackupManifest_DescriptorRevision) Marshal() (dAtA []byte, err error) {
   710  	size := m.Size()
   711  	dAtA = make([]byte, size)
   712  	n, err := m.MarshalTo(dAtA)
   713  	if err != nil {
   714  		return nil, err
   715  	}
   716  	return dAtA[:n], nil
   717  }
   718  
   719  func (m *BackupManifest_DescriptorRevision) MarshalTo(dAtA []byte) (int, error) {
   720  	var i int
   721  	_ = i
   722  	var l int
   723  	_ = l
   724  	dAtA[i] = 0xa
   725  	i++
   726  	i = encodeVarintBackup(dAtA, i, uint64(m.Time.Size()))
   727  	n15, err := m.Time.MarshalTo(dAtA[i:])
   728  	if err != nil {
   729  		return 0, err
   730  	}
   731  	i += n15
   732  	if m.ID != 0 {
   733  		dAtA[i] = 0x10
   734  		i++
   735  		i = encodeVarintBackup(dAtA, i, uint64(m.ID))
   736  	}
   737  	if m.Desc != nil {
   738  		dAtA[i] = 0x1a
   739  		i++
   740  		i = encodeVarintBackup(dAtA, i, uint64(m.Desc.Size()))
   741  		n16, err := m.Desc.MarshalTo(dAtA[i:])
   742  		if err != nil {
   743  			return 0, err
   744  		}
   745  		i += n16
   746  	}
   747  	return i, nil
   748  }
   749  
   750  func (m *BackupPartitionDescriptor) Marshal() (dAtA []byte, err error) {
   751  	size := m.Size()
   752  	dAtA = make([]byte, size)
   753  	n, err := m.MarshalTo(dAtA)
   754  	if err != nil {
   755  		return nil, err
   756  	}
   757  	return dAtA[:n], nil
   758  }
   759  
   760  func (m *BackupPartitionDescriptor) MarshalTo(dAtA []byte) (int, error) {
   761  	var i int
   762  	_ = i
   763  	var l int
   764  	_ = l
   765  	if len(m.LocalityKV) > 0 {
   766  		dAtA[i] = 0xa
   767  		i++
   768  		i = encodeVarintBackup(dAtA, i, uint64(len(m.LocalityKV)))
   769  		i += copy(dAtA[i:], m.LocalityKV)
   770  	}
   771  	if len(m.Files) > 0 {
   772  		for _, msg := range m.Files {
   773  			dAtA[i] = 0x12
   774  			i++
   775  			i = encodeVarintBackup(dAtA, i, uint64(msg.Size()))
   776  			n, err := msg.MarshalTo(dAtA[i:])
   777  			if err != nil {
   778  				return 0, err
   779  			}
   780  			i += n
   781  		}
   782  	}
   783  	dAtA[i] = 0x1a
   784  	i++
   785  	i = encodeVarintBackup(dAtA, i, uint64(m.BackupID.Size()))
   786  	n17, err := m.BackupID.MarshalTo(dAtA[i:])
   787  	if err != nil {
   788  		return 0, err
   789  	}
   790  	i += n17
   791  	return i, nil
   792  }
   793  
   794  func (m *EncryptionInfo) Marshal() (dAtA []byte, err error) {
   795  	size := m.Size()
   796  	dAtA = make([]byte, size)
   797  	n, err := m.MarshalTo(dAtA)
   798  	if err != nil {
   799  		return nil, err
   800  	}
   801  	return dAtA[:n], nil
   802  }
   803  
   804  func (m *EncryptionInfo) MarshalTo(dAtA []byte) (int, error) {
   805  	var i int
   806  	_ = i
   807  	var l int
   808  	_ = l
   809  	if m.Scheme != 0 {
   810  		dAtA[i] = 0x8
   811  		i++
   812  		i = encodeVarintBackup(dAtA, i, uint64(m.Scheme))
   813  	}
   814  	if len(m.Salt) > 0 {
   815  		dAtA[i] = 0x12
   816  		i++
   817  		i = encodeVarintBackup(dAtA, i, uint64(len(m.Salt)))
   818  		i += copy(dAtA[i:], m.Salt)
   819  	}
   820  	return i, nil
   821  }
   822  
   823  func encodeVarintBackup(dAtA []byte, offset int, v uint64) int {
   824  	for v >= 1<<7 {
   825  		dAtA[offset] = uint8(v&0x7f | 0x80)
   826  		v >>= 7
   827  		offset++
   828  	}
   829  	dAtA[offset] = uint8(v)
   830  	return offset + 1
   831  }
   832  func (m *RowCount) Size() (n int) {
   833  	if m == nil {
   834  		return 0
   835  	}
   836  	var l int
   837  	_ = l
   838  	if m.DataSize != 0 {
   839  		n += 1 + sovBackup(uint64(m.DataSize))
   840  	}
   841  	if m.Rows != 0 {
   842  		n += 1 + sovBackup(uint64(m.Rows))
   843  	}
   844  	if m.IndexEntries != 0 {
   845  		n += 1 + sovBackup(uint64(m.IndexEntries))
   846  	}
   847  	return n
   848  }
   849  
   850  func (m *BackupManifest) Size() (n int) {
   851  	if m == nil {
   852  		return 0
   853  	}
   854  	var l int
   855  	_ = l
   856  	l = m.StartTime.Size()
   857  	n += 1 + l + sovBackup(uint64(l))
   858  	l = m.EndTime.Size()
   859  	n += 1 + l + sovBackup(uint64(l))
   860  	if len(m.Spans) > 0 {
   861  		for _, e := range m.Spans {
   862  			l = e.Size()
   863  			n += 1 + l + sovBackup(uint64(l))
   864  		}
   865  	}
   866  	if len(m.Files) > 0 {
   867  		for _, e := range m.Files {
   868  			l = e.Size()
   869  			n += 1 + l + sovBackup(uint64(l))
   870  		}
   871  	}
   872  	if len(m.Descriptors) > 0 {
   873  		for _, e := range m.Descriptors {
   874  			l = e.Size()
   875  			n += 1 + l + sovBackup(uint64(l))
   876  		}
   877  	}
   878  	l = m.Dir.Size()
   879  	n += 1 + l + sovBackup(uint64(l))
   880  	if m.FormatVersion != 0 {
   881  		n += 1 + sovBackup(uint64(m.FormatVersion))
   882  	}
   883  	l = m.ClusterID.Size()
   884  	n += 1 + l + sovBackup(uint64(l))
   885  	if m.NodeID != 0 {
   886  		n += 1 + sovBackup(uint64(m.NodeID))
   887  	}
   888  	l = m.BuildInfo.Size()
   889  	n += 1 + l + sovBackup(uint64(l))
   890  	l = m.EntryCounts.Size()
   891  	n += 1 + l + sovBackup(uint64(l))
   892  	if m.MVCCFilter != 0 {
   893  		n += 1 + sovBackup(uint64(m.MVCCFilter))
   894  	}
   895  	if len(m.CompleteDbs) > 0 {
   896  		l = 0
   897  		for _, e := range m.CompleteDbs {
   898  			l += sovBackup(uint64(e))
   899  		}
   900  		n += 1 + sovBackup(uint64(l)) + l
   901  	}
   902  	if len(m.IntroducedSpans) > 0 {
   903  		for _, e := range m.IntroducedSpans {
   904  			l = e.Size()
   905  			n += 1 + l + sovBackup(uint64(l))
   906  		}
   907  	}
   908  	if len(m.DescriptorChanges) > 0 {
   909  		for _, e := range m.DescriptorChanges {
   910  			l = e.Size()
   911  			n += 2 + l + sovBackup(uint64(l))
   912  		}
   913  	}
   914  	l = m.RevisionStartTime.Size()
   915  	n += 2 + l + sovBackup(uint64(l))
   916  	l = m.ID.Size()
   917  	n += 2 + l + sovBackup(uint64(l))
   918  	if len(m.PartitionDescriptorFilenames) > 0 {
   919  		for _, s := range m.PartitionDescriptorFilenames {
   920  			l = len(s)
   921  			n += 2 + l + sovBackup(uint64(l))
   922  		}
   923  	}
   924  	if len(m.LocalityKVs) > 0 {
   925  		for _, s := range m.LocalityKVs {
   926  			l = len(s)
   927  			n += 2 + l + sovBackup(uint64(l))
   928  		}
   929  	}
   930  	if len(m.Statistics) > 0 {
   931  		for _, e := range m.Statistics {
   932  			l = e.Size()
   933  			n += 2 + l + sovBackup(uint64(l))
   934  		}
   935  	}
   936  	if m.DescriptorCoverage != 0 {
   937  		n += 2 + sovBackup(uint64(m.DescriptorCoverage))
   938  	}
   939  	return n
   940  }
   941  
   942  func (m *BackupManifest_File) Size() (n int) {
   943  	if m == nil {
   944  		return 0
   945  	}
   946  	var l int
   947  	_ = l
   948  	l = m.Span.Size()
   949  	n += 1 + l + sovBackup(uint64(l))
   950  	l = len(m.Path)
   951  	if l > 0 {
   952  		n += 1 + l + sovBackup(uint64(l))
   953  	}
   954  	l = len(m.Sha512)
   955  	if l > 0 {
   956  		n += 1 + l + sovBackup(uint64(l))
   957  	}
   958  	l = m.EntryCounts.Size()
   959  	n += 1 + l + sovBackup(uint64(l))
   960  	l = m.StartTime.Size()
   961  	n += 1 + l + sovBackup(uint64(l))
   962  	l = m.EndTime.Size()
   963  	n += 1 + l + sovBackup(uint64(l))
   964  	l = len(m.LocalityKV)
   965  	if l > 0 {
   966  		n += 1 + l + sovBackup(uint64(l))
   967  	}
   968  	return n
   969  }
   970  
   971  func (m *BackupManifest_DescriptorRevision) Size() (n int) {
   972  	if m == nil {
   973  		return 0
   974  	}
   975  	var l int
   976  	_ = l
   977  	l = m.Time.Size()
   978  	n += 1 + l + sovBackup(uint64(l))
   979  	if m.ID != 0 {
   980  		n += 1 + sovBackup(uint64(m.ID))
   981  	}
   982  	if m.Desc != nil {
   983  		l = m.Desc.Size()
   984  		n += 1 + l + sovBackup(uint64(l))
   985  	}
   986  	return n
   987  }
   988  
   989  func (m *BackupPartitionDescriptor) Size() (n int) {
   990  	if m == nil {
   991  		return 0
   992  	}
   993  	var l int
   994  	_ = l
   995  	l = len(m.LocalityKV)
   996  	if l > 0 {
   997  		n += 1 + l + sovBackup(uint64(l))
   998  	}
   999  	if len(m.Files) > 0 {
  1000  		for _, e := range m.Files {
  1001  			l = e.Size()
  1002  			n += 1 + l + sovBackup(uint64(l))
  1003  		}
  1004  	}
  1005  	l = m.BackupID.Size()
  1006  	n += 1 + l + sovBackup(uint64(l))
  1007  	return n
  1008  }
  1009  
  1010  func (m *EncryptionInfo) Size() (n int) {
  1011  	if m == nil {
  1012  		return 0
  1013  	}
  1014  	var l int
  1015  	_ = l
  1016  	if m.Scheme != 0 {
  1017  		n += 1 + sovBackup(uint64(m.Scheme))
  1018  	}
  1019  	l = len(m.Salt)
  1020  	if l > 0 {
  1021  		n += 1 + l + sovBackup(uint64(l))
  1022  	}
  1023  	return n
  1024  }
  1025  
  1026  func sovBackup(x uint64) (n int) {
  1027  	for {
  1028  		n++
  1029  		x >>= 7
  1030  		if x == 0 {
  1031  			break
  1032  		}
  1033  	}
  1034  	return n
  1035  }
  1036  func sozBackup(x uint64) (n int) {
  1037  	return sovBackup(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1038  }
  1039  func (m *RowCount) Unmarshal(dAtA []byte) error {
  1040  	l := len(dAtA)
  1041  	iNdEx := 0
  1042  	for iNdEx < l {
  1043  		preIndex := iNdEx
  1044  		var wire uint64
  1045  		for shift := uint(0); ; shift += 7 {
  1046  			if shift >= 64 {
  1047  				return ErrIntOverflowBackup
  1048  			}
  1049  			if iNdEx >= l {
  1050  				return io.ErrUnexpectedEOF
  1051  			}
  1052  			b := dAtA[iNdEx]
  1053  			iNdEx++
  1054  			wire |= (uint64(b) & 0x7F) << shift
  1055  			if b < 0x80 {
  1056  				break
  1057  			}
  1058  		}
  1059  		fieldNum := int32(wire >> 3)
  1060  		wireType := int(wire & 0x7)
  1061  		if wireType == 4 {
  1062  			return fmt.Errorf("proto: RowCount: wiretype end group for non-group")
  1063  		}
  1064  		if fieldNum <= 0 {
  1065  			return fmt.Errorf("proto: RowCount: illegal tag %d (wire type %d)", fieldNum, wire)
  1066  		}
  1067  		switch fieldNum {
  1068  		case 1:
  1069  			if wireType != 0 {
  1070  				return fmt.Errorf("proto: wrong wireType = %d for field DataSize", wireType)
  1071  			}
  1072  			m.DataSize = 0
  1073  			for shift := uint(0); ; shift += 7 {
  1074  				if shift >= 64 {
  1075  					return ErrIntOverflowBackup
  1076  				}
  1077  				if iNdEx >= l {
  1078  					return io.ErrUnexpectedEOF
  1079  				}
  1080  				b := dAtA[iNdEx]
  1081  				iNdEx++
  1082  				m.DataSize |= (int64(b) & 0x7F) << shift
  1083  				if b < 0x80 {
  1084  					break
  1085  				}
  1086  			}
  1087  		case 2:
  1088  			if wireType != 0 {
  1089  				return fmt.Errorf("proto: wrong wireType = %d for field Rows", wireType)
  1090  			}
  1091  			m.Rows = 0
  1092  			for shift := uint(0); ; shift += 7 {
  1093  				if shift >= 64 {
  1094  					return ErrIntOverflowBackup
  1095  				}
  1096  				if iNdEx >= l {
  1097  					return io.ErrUnexpectedEOF
  1098  				}
  1099  				b := dAtA[iNdEx]
  1100  				iNdEx++
  1101  				m.Rows |= (int64(b) & 0x7F) << shift
  1102  				if b < 0x80 {
  1103  					break
  1104  				}
  1105  			}
  1106  		case 3:
  1107  			if wireType != 0 {
  1108  				return fmt.Errorf("proto: wrong wireType = %d for field IndexEntries", wireType)
  1109  			}
  1110  			m.IndexEntries = 0
  1111  			for shift := uint(0); ; shift += 7 {
  1112  				if shift >= 64 {
  1113  					return ErrIntOverflowBackup
  1114  				}
  1115  				if iNdEx >= l {
  1116  					return io.ErrUnexpectedEOF
  1117  				}
  1118  				b := dAtA[iNdEx]
  1119  				iNdEx++
  1120  				m.IndexEntries |= (int64(b) & 0x7F) << shift
  1121  				if b < 0x80 {
  1122  					break
  1123  				}
  1124  			}
  1125  		default:
  1126  			iNdEx = preIndex
  1127  			skippy, err := skipBackup(dAtA[iNdEx:])
  1128  			if err != nil {
  1129  				return err
  1130  			}
  1131  			if skippy < 0 {
  1132  				return ErrInvalidLengthBackup
  1133  			}
  1134  			if (iNdEx + skippy) > l {
  1135  				return io.ErrUnexpectedEOF
  1136  			}
  1137  			iNdEx += skippy
  1138  		}
  1139  	}
  1140  
  1141  	if iNdEx > l {
  1142  		return io.ErrUnexpectedEOF
  1143  	}
  1144  	return nil
  1145  }
  1146  func (m *BackupManifest) Unmarshal(dAtA []byte) error {
  1147  	l := len(dAtA)
  1148  	iNdEx := 0
  1149  	for iNdEx < l {
  1150  		preIndex := iNdEx
  1151  		var wire uint64
  1152  		for shift := uint(0); ; shift += 7 {
  1153  			if shift >= 64 {
  1154  				return ErrIntOverflowBackup
  1155  			}
  1156  			if iNdEx >= l {
  1157  				return io.ErrUnexpectedEOF
  1158  			}
  1159  			b := dAtA[iNdEx]
  1160  			iNdEx++
  1161  			wire |= (uint64(b) & 0x7F) << shift
  1162  			if b < 0x80 {
  1163  				break
  1164  			}
  1165  		}
  1166  		fieldNum := int32(wire >> 3)
  1167  		wireType := int(wire & 0x7)
  1168  		if wireType == 4 {
  1169  			return fmt.Errorf("proto: BackupManifest: wiretype end group for non-group")
  1170  		}
  1171  		if fieldNum <= 0 {
  1172  			return fmt.Errorf("proto: BackupManifest: illegal tag %d (wire type %d)", fieldNum, wire)
  1173  		}
  1174  		switch fieldNum {
  1175  		case 1:
  1176  			if wireType != 2 {
  1177  				return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType)
  1178  			}
  1179  			var msglen int
  1180  			for shift := uint(0); ; shift += 7 {
  1181  				if shift >= 64 {
  1182  					return ErrIntOverflowBackup
  1183  				}
  1184  				if iNdEx >= l {
  1185  					return io.ErrUnexpectedEOF
  1186  				}
  1187  				b := dAtA[iNdEx]
  1188  				iNdEx++
  1189  				msglen |= (int(b) & 0x7F) << shift
  1190  				if b < 0x80 {
  1191  					break
  1192  				}
  1193  			}
  1194  			if msglen < 0 {
  1195  				return ErrInvalidLengthBackup
  1196  			}
  1197  			postIndex := iNdEx + msglen
  1198  			if postIndex > l {
  1199  				return io.ErrUnexpectedEOF
  1200  			}
  1201  			if err := m.StartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1202  				return err
  1203  			}
  1204  			iNdEx = postIndex
  1205  		case 2:
  1206  			if wireType != 2 {
  1207  				return fmt.Errorf("proto: wrong wireType = %d for field EndTime", wireType)
  1208  			}
  1209  			var msglen int
  1210  			for shift := uint(0); ; shift += 7 {
  1211  				if shift >= 64 {
  1212  					return ErrIntOverflowBackup
  1213  				}
  1214  				if iNdEx >= l {
  1215  					return io.ErrUnexpectedEOF
  1216  				}
  1217  				b := dAtA[iNdEx]
  1218  				iNdEx++
  1219  				msglen |= (int(b) & 0x7F) << shift
  1220  				if b < 0x80 {
  1221  					break
  1222  				}
  1223  			}
  1224  			if msglen < 0 {
  1225  				return ErrInvalidLengthBackup
  1226  			}
  1227  			postIndex := iNdEx + msglen
  1228  			if postIndex > l {
  1229  				return io.ErrUnexpectedEOF
  1230  			}
  1231  			if err := m.EndTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1232  				return err
  1233  			}
  1234  			iNdEx = postIndex
  1235  		case 3:
  1236  			if wireType != 2 {
  1237  				return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType)
  1238  			}
  1239  			var msglen int
  1240  			for shift := uint(0); ; shift += 7 {
  1241  				if shift >= 64 {
  1242  					return ErrIntOverflowBackup
  1243  				}
  1244  				if iNdEx >= l {
  1245  					return io.ErrUnexpectedEOF
  1246  				}
  1247  				b := dAtA[iNdEx]
  1248  				iNdEx++
  1249  				msglen |= (int(b) & 0x7F) << shift
  1250  				if b < 0x80 {
  1251  					break
  1252  				}
  1253  			}
  1254  			if msglen < 0 {
  1255  				return ErrInvalidLengthBackup
  1256  			}
  1257  			postIndex := iNdEx + msglen
  1258  			if postIndex > l {
  1259  				return io.ErrUnexpectedEOF
  1260  			}
  1261  			m.Spans = append(m.Spans, roachpb.Span{})
  1262  			if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1263  				return err
  1264  			}
  1265  			iNdEx = postIndex
  1266  		case 4:
  1267  			if wireType != 2 {
  1268  				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
  1269  			}
  1270  			var msglen int
  1271  			for shift := uint(0); ; shift += 7 {
  1272  				if shift >= 64 {
  1273  					return ErrIntOverflowBackup
  1274  				}
  1275  				if iNdEx >= l {
  1276  					return io.ErrUnexpectedEOF
  1277  				}
  1278  				b := dAtA[iNdEx]
  1279  				iNdEx++
  1280  				msglen |= (int(b) & 0x7F) << shift
  1281  				if b < 0x80 {
  1282  					break
  1283  				}
  1284  			}
  1285  			if msglen < 0 {
  1286  				return ErrInvalidLengthBackup
  1287  			}
  1288  			postIndex := iNdEx + msglen
  1289  			if postIndex > l {
  1290  				return io.ErrUnexpectedEOF
  1291  			}
  1292  			m.Files = append(m.Files, BackupManifest_File{})
  1293  			if err := m.Files[len(m.Files)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1294  				return err
  1295  			}
  1296  			iNdEx = postIndex
  1297  		case 5:
  1298  			if wireType != 2 {
  1299  				return fmt.Errorf("proto: wrong wireType = %d for field Descriptors", wireType)
  1300  			}
  1301  			var msglen int
  1302  			for shift := uint(0); ; shift += 7 {
  1303  				if shift >= 64 {
  1304  					return ErrIntOverflowBackup
  1305  				}
  1306  				if iNdEx >= l {
  1307  					return io.ErrUnexpectedEOF
  1308  				}
  1309  				b := dAtA[iNdEx]
  1310  				iNdEx++
  1311  				msglen |= (int(b) & 0x7F) << shift
  1312  				if b < 0x80 {
  1313  					break
  1314  				}
  1315  			}
  1316  			if msglen < 0 {
  1317  				return ErrInvalidLengthBackup
  1318  			}
  1319  			postIndex := iNdEx + msglen
  1320  			if postIndex > l {
  1321  				return io.ErrUnexpectedEOF
  1322  			}
  1323  			m.Descriptors = append(m.Descriptors, sqlbase.Descriptor{})
  1324  			if err := m.Descriptors[len(m.Descriptors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1325  				return err
  1326  			}
  1327  			iNdEx = postIndex
  1328  		case 7:
  1329  			if wireType != 2 {
  1330  				return fmt.Errorf("proto: wrong wireType = %d for field Dir", wireType)
  1331  			}
  1332  			var msglen int
  1333  			for shift := uint(0); ; shift += 7 {
  1334  				if shift >= 64 {
  1335  					return ErrIntOverflowBackup
  1336  				}
  1337  				if iNdEx >= l {
  1338  					return io.ErrUnexpectedEOF
  1339  				}
  1340  				b := dAtA[iNdEx]
  1341  				iNdEx++
  1342  				msglen |= (int(b) & 0x7F) << shift
  1343  				if b < 0x80 {
  1344  					break
  1345  				}
  1346  			}
  1347  			if msglen < 0 {
  1348  				return ErrInvalidLengthBackup
  1349  			}
  1350  			postIndex := iNdEx + msglen
  1351  			if postIndex > l {
  1352  				return io.ErrUnexpectedEOF
  1353  			}
  1354  			if err := m.Dir.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1355  				return err
  1356  			}
  1357  			iNdEx = postIndex
  1358  		case 8:
  1359  			if wireType != 0 {
  1360  				return fmt.Errorf("proto: wrong wireType = %d for field FormatVersion", wireType)
  1361  			}
  1362  			m.FormatVersion = 0
  1363  			for shift := uint(0); ; shift += 7 {
  1364  				if shift >= 64 {
  1365  					return ErrIntOverflowBackup
  1366  				}
  1367  				if iNdEx >= l {
  1368  					return io.ErrUnexpectedEOF
  1369  				}
  1370  				b := dAtA[iNdEx]
  1371  				iNdEx++
  1372  				m.FormatVersion |= (uint32(b) & 0x7F) << shift
  1373  				if b < 0x80 {
  1374  					break
  1375  				}
  1376  			}
  1377  		case 9:
  1378  			if wireType != 2 {
  1379  				return fmt.Errorf("proto: wrong wireType = %d for field ClusterID", wireType)
  1380  			}
  1381  			var byteLen int
  1382  			for shift := uint(0); ; shift += 7 {
  1383  				if shift >= 64 {
  1384  					return ErrIntOverflowBackup
  1385  				}
  1386  				if iNdEx >= l {
  1387  					return io.ErrUnexpectedEOF
  1388  				}
  1389  				b := dAtA[iNdEx]
  1390  				iNdEx++
  1391  				byteLen |= (int(b) & 0x7F) << shift
  1392  				if b < 0x80 {
  1393  					break
  1394  				}
  1395  			}
  1396  			if byteLen < 0 {
  1397  				return ErrInvalidLengthBackup
  1398  			}
  1399  			postIndex := iNdEx + byteLen
  1400  			if postIndex > l {
  1401  				return io.ErrUnexpectedEOF
  1402  			}
  1403  			if err := m.ClusterID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1404  				return err
  1405  			}
  1406  			iNdEx = postIndex
  1407  		case 10:
  1408  			if wireType != 0 {
  1409  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  1410  			}
  1411  			m.NodeID = 0
  1412  			for shift := uint(0); ; shift += 7 {
  1413  				if shift >= 64 {
  1414  					return ErrIntOverflowBackup
  1415  				}
  1416  				if iNdEx >= l {
  1417  					return io.ErrUnexpectedEOF
  1418  				}
  1419  				b := dAtA[iNdEx]
  1420  				iNdEx++
  1421  				m.NodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  1422  				if b < 0x80 {
  1423  					break
  1424  				}
  1425  			}
  1426  		case 11:
  1427  			if wireType != 2 {
  1428  				return fmt.Errorf("proto: wrong wireType = %d for field BuildInfo", wireType)
  1429  			}
  1430  			var msglen int
  1431  			for shift := uint(0); ; shift += 7 {
  1432  				if shift >= 64 {
  1433  					return ErrIntOverflowBackup
  1434  				}
  1435  				if iNdEx >= l {
  1436  					return io.ErrUnexpectedEOF
  1437  				}
  1438  				b := dAtA[iNdEx]
  1439  				iNdEx++
  1440  				msglen |= (int(b) & 0x7F) << shift
  1441  				if b < 0x80 {
  1442  					break
  1443  				}
  1444  			}
  1445  			if msglen < 0 {
  1446  				return ErrInvalidLengthBackup
  1447  			}
  1448  			postIndex := iNdEx + msglen
  1449  			if postIndex > l {
  1450  				return io.ErrUnexpectedEOF
  1451  			}
  1452  			if err := m.BuildInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1453  				return err
  1454  			}
  1455  			iNdEx = postIndex
  1456  		case 12:
  1457  			if wireType != 2 {
  1458  				return fmt.Errorf("proto: wrong wireType = %d for field EntryCounts", wireType)
  1459  			}
  1460  			var msglen int
  1461  			for shift := uint(0); ; shift += 7 {
  1462  				if shift >= 64 {
  1463  					return ErrIntOverflowBackup
  1464  				}
  1465  				if iNdEx >= l {
  1466  					return io.ErrUnexpectedEOF
  1467  				}
  1468  				b := dAtA[iNdEx]
  1469  				iNdEx++
  1470  				msglen |= (int(b) & 0x7F) << shift
  1471  				if b < 0x80 {
  1472  					break
  1473  				}
  1474  			}
  1475  			if msglen < 0 {
  1476  				return ErrInvalidLengthBackup
  1477  			}
  1478  			postIndex := iNdEx + msglen
  1479  			if postIndex > l {
  1480  				return io.ErrUnexpectedEOF
  1481  			}
  1482  			if err := m.EntryCounts.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1483  				return err
  1484  			}
  1485  			iNdEx = postIndex
  1486  		case 13:
  1487  			if wireType != 0 {
  1488  				return fmt.Errorf("proto: wrong wireType = %d for field MVCCFilter", wireType)
  1489  			}
  1490  			m.MVCCFilter = 0
  1491  			for shift := uint(0); ; shift += 7 {
  1492  				if shift >= 64 {
  1493  					return ErrIntOverflowBackup
  1494  				}
  1495  				if iNdEx >= l {
  1496  					return io.ErrUnexpectedEOF
  1497  				}
  1498  				b := dAtA[iNdEx]
  1499  				iNdEx++
  1500  				m.MVCCFilter |= (MVCCFilter(b) & 0x7F) << shift
  1501  				if b < 0x80 {
  1502  					break
  1503  				}
  1504  			}
  1505  		case 14:
  1506  			if wireType == 0 {
  1507  				var v github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID
  1508  				for shift := uint(0); ; shift += 7 {
  1509  					if shift >= 64 {
  1510  						return ErrIntOverflowBackup
  1511  					}
  1512  					if iNdEx >= l {
  1513  						return io.ErrUnexpectedEOF
  1514  					}
  1515  					b := dAtA[iNdEx]
  1516  					iNdEx++
  1517  					v |= (github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID(b) & 0x7F) << shift
  1518  					if b < 0x80 {
  1519  						break
  1520  					}
  1521  				}
  1522  				m.CompleteDbs = append(m.CompleteDbs, v)
  1523  			} else if wireType == 2 {
  1524  				var packedLen int
  1525  				for shift := uint(0); ; shift += 7 {
  1526  					if shift >= 64 {
  1527  						return ErrIntOverflowBackup
  1528  					}
  1529  					if iNdEx >= l {
  1530  						return io.ErrUnexpectedEOF
  1531  					}
  1532  					b := dAtA[iNdEx]
  1533  					iNdEx++
  1534  					packedLen |= (int(b) & 0x7F) << shift
  1535  					if b < 0x80 {
  1536  						break
  1537  					}
  1538  				}
  1539  				if packedLen < 0 {
  1540  					return ErrInvalidLengthBackup
  1541  				}
  1542  				postIndex := iNdEx + packedLen
  1543  				if postIndex > l {
  1544  					return io.ErrUnexpectedEOF
  1545  				}
  1546  				var elementCount int
  1547  				var count int
  1548  				for _, integer := range dAtA {
  1549  					if integer < 128 {
  1550  						count++
  1551  					}
  1552  				}
  1553  				elementCount = count
  1554  				if elementCount != 0 && len(m.CompleteDbs) == 0 {
  1555  					m.CompleteDbs = make([]github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID, 0, elementCount)
  1556  				}
  1557  				for iNdEx < postIndex {
  1558  					var v github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID
  1559  					for shift := uint(0); ; shift += 7 {
  1560  						if shift >= 64 {
  1561  							return ErrIntOverflowBackup
  1562  						}
  1563  						if iNdEx >= l {
  1564  							return io.ErrUnexpectedEOF
  1565  						}
  1566  						b := dAtA[iNdEx]
  1567  						iNdEx++
  1568  						v |= (github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID(b) & 0x7F) << shift
  1569  						if b < 0x80 {
  1570  							break
  1571  						}
  1572  					}
  1573  					m.CompleteDbs = append(m.CompleteDbs, v)
  1574  				}
  1575  			} else {
  1576  				return fmt.Errorf("proto: wrong wireType = %d for field CompleteDbs", wireType)
  1577  			}
  1578  		case 15:
  1579  			if wireType != 2 {
  1580  				return fmt.Errorf("proto: wrong wireType = %d for field IntroducedSpans", wireType)
  1581  			}
  1582  			var msglen int
  1583  			for shift := uint(0); ; shift += 7 {
  1584  				if shift >= 64 {
  1585  					return ErrIntOverflowBackup
  1586  				}
  1587  				if iNdEx >= l {
  1588  					return io.ErrUnexpectedEOF
  1589  				}
  1590  				b := dAtA[iNdEx]
  1591  				iNdEx++
  1592  				msglen |= (int(b) & 0x7F) << shift
  1593  				if b < 0x80 {
  1594  					break
  1595  				}
  1596  			}
  1597  			if msglen < 0 {
  1598  				return ErrInvalidLengthBackup
  1599  			}
  1600  			postIndex := iNdEx + msglen
  1601  			if postIndex > l {
  1602  				return io.ErrUnexpectedEOF
  1603  			}
  1604  			m.IntroducedSpans = append(m.IntroducedSpans, roachpb.Span{})
  1605  			if err := m.IntroducedSpans[len(m.IntroducedSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1606  				return err
  1607  			}
  1608  			iNdEx = postIndex
  1609  		case 16:
  1610  			if wireType != 2 {
  1611  				return fmt.Errorf("proto: wrong wireType = %d for field DescriptorChanges", wireType)
  1612  			}
  1613  			var msglen int
  1614  			for shift := uint(0); ; shift += 7 {
  1615  				if shift >= 64 {
  1616  					return ErrIntOverflowBackup
  1617  				}
  1618  				if iNdEx >= l {
  1619  					return io.ErrUnexpectedEOF
  1620  				}
  1621  				b := dAtA[iNdEx]
  1622  				iNdEx++
  1623  				msglen |= (int(b) & 0x7F) << shift
  1624  				if b < 0x80 {
  1625  					break
  1626  				}
  1627  			}
  1628  			if msglen < 0 {
  1629  				return ErrInvalidLengthBackup
  1630  			}
  1631  			postIndex := iNdEx + msglen
  1632  			if postIndex > l {
  1633  				return io.ErrUnexpectedEOF
  1634  			}
  1635  			m.DescriptorChanges = append(m.DescriptorChanges, BackupManifest_DescriptorRevision{})
  1636  			if err := m.DescriptorChanges[len(m.DescriptorChanges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1637  				return err
  1638  			}
  1639  			iNdEx = postIndex
  1640  		case 17:
  1641  			if wireType != 2 {
  1642  				return fmt.Errorf("proto: wrong wireType = %d for field RevisionStartTime", wireType)
  1643  			}
  1644  			var msglen int
  1645  			for shift := uint(0); ; shift += 7 {
  1646  				if shift >= 64 {
  1647  					return ErrIntOverflowBackup
  1648  				}
  1649  				if iNdEx >= l {
  1650  					return io.ErrUnexpectedEOF
  1651  				}
  1652  				b := dAtA[iNdEx]
  1653  				iNdEx++
  1654  				msglen |= (int(b) & 0x7F) << shift
  1655  				if b < 0x80 {
  1656  					break
  1657  				}
  1658  			}
  1659  			if msglen < 0 {
  1660  				return ErrInvalidLengthBackup
  1661  			}
  1662  			postIndex := iNdEx + msglen
  1663  			if postIndex > l {
  1664  				return io.ErrUnexpectedEOF
  1665  			}
  1666  			if err := m.RevisionStartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1667  				return err
  1668  			}
  1669  			iNdEx = postIndex
  1670  		case 18:
  1671  			if wireType != 2 {
  1672  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  1673  			}
  1674  			var byteLen int
  1675  			for shift := uint(0); ; shift += 7 {
  1676  				if shift >= 64 {
  1677  					return ErrIntOverflowBackup
  1678  				}
  1679  				if iNdEx >= l {
  1680  					return io.ErrUnexpectedEOF
  1681  				}
  1682  				b := dAtA[iNdEx]
  1683  				iNdEx++
  1684  				byteLen |= (int(b) & 0x7F) << shift
  1685  				if b < 0x80 {
  1686  					break
  1687  				}
  1688  			}
  1689  			if byteLen < 0 {
  1690  				return ErrInvalidLengthBackup
  1691  			}
  1692  			postIndex := iNdEx + byteLen
  1693  			if postIndex > l {
  1694  				return io.ErrUnexpectedEOF
  1695  			}
  1696  			if err := m.ID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1697  				return err
  1698  			}
  1699  			iNdEx = postIndex
  1700  		case 19:
  1701  			if wireType != 2 {
  1702  				return fmt.Errorf("proto: wrong wireType = %d for field PartitionDescriptorFilenames", wireType)
  1703  			}
  1704  			var stringLen uint64
  1705  			for shift := uint(0); ; shift += 7 {
  1706  				if shift >= 64 {
  1707  					return ErrIntOverflowBackup
  1708  				}
  1709  				if iNdEx >= l {
  1710  					return io.ErrUnexpectedEOF
  1711  				}
  1712  				b := dAtA[iNdEx]
  1713  				iNdEx++
  1714  				stringLen |= (uint64(b) & 0x7F) << shift
  1715  				if b < 0x80 {
  1716  					break
  1717  				}
  1718  			}
  1719  			intStringLen := int(stringLen)
  1720  			if intStringLen < 0 {
  1721  				return ErrInvalidLengthBackup
  1722  			}
  1723  			postIndex := iNdEx + intStringLen
  1724  			if postIndex > l {
  1725  				return io.ErrUnexpectedEOF
  1726  			}
  1727  			m.PartitionDescriptorFilenames = append(m.PartitionDescriptorFilenames, string(dAtA[iNdEx:postIndex]))
  1728  			iNdEx = postIndex
  1729  		case 20:
  1730  			if wireType != 2 {
  1731  				return fmt.Errorf("proto: wrong wireType = %d for field LocalityKVs", wireType)
  1732  			}
  1733  			var stringLen uint64
  1734  			for shift := uint(0); ; shift += 7 {
  1735  				if shift >= 64 {
  1736  					return ErrIntOverflowBackup
  1737  				}
  1738  				if iNdEx >= l {
  1739  					return io.ErrUnexpectedEOF
  1740  				}
  1741  				b := dAtA[iNdEx]
  1742  				iNdEx++
  1743  				stringLen |= (uint64(b) & 0x7F) << shift
  1744  				if b < 0x80 {
  1745  					break
  1746  				}
  1747  			}
  1748  			intStringLen := int(stringLen)
  1749  			if intStringLen < 0 {
  1750  				return ErrInvalidLengthBackup
  1751  			}
  1752  			postIndex := iNdEx + intStringLen
  1753  			if postIndex > l {
  1754  				return io.ErrUnexpectedEOF
  1755  			}
  1756  			m.LocalityKVs = append(m.LocalityKVs, string(dAtA[iNdEx:postIndex]))
  1757  			iNdEx = postIndex
  1758  		case 21:
  1759  			if wireType != 2 {
  1760  				return fmt.Errorf("proto: wrong wireType = %d for field Statistics", wireType)
  1761  			}
  1762  			var msglen int
  1763  			for shift := uint(0); ; shift += 7 {
  1764  				if shift >= 64 {
  1765  					return ErrIntOverflowBackup
  1766  				}
  1767  				if iNdEx >= l {
  1768  					return io.ErrUnexpectedEOF
  1769  				}
  1770  				b := dAtA[iNdEx]
  1771  				iNdEx++
  1772  				msglen |= (int(b) & 0x7F) << shift
  1773  				if b < 0x80 {
  1774  					break
  1775  				}
  1776  			}
  1777  			if msglen < 0 {
  1778  				return ErrInvalidLengthBackup
  1779  			}
  1780  			postIndex := iNdEx + msglen
  1781  			if postIndex > l {
  1782  				return io.ErrUnexpectedEOF
  1783  			}
  1784  			m.Statistics = append(m.Statistics, &stats.TableStatisticProto{})
  1785  			if err := m.Statistics[len(m.Statistics)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1786  				return err
  1787  			}
  1788  			iNdEx = postIndex
  1789  		case 22:
  1790  			if wireType != 0 {
  1791  				return fmt.Errorf("proto: wrong wireType = %d for field DescriptorCoverage", wireType)
  1792  			}
  1793  			m.DescriptorCoverage = 0
  1794  			for shift := uint(0); ; shift += 7 {
  1795  				if shift >= 64 {
  1796  					return ErrIntOverflowBackup
  1797  				}
  1798  				if iNdEx >= l {
  1799  					return io.ErrUnexpectedEOF
  1800  				}
  1801  				b := dAtA[iNdEx]
  1802  				iNdEx++
  1803  				m.DescriptorCoverage |= (github_com_cockroachdb_cockroach_pkg_sql_sem_tree.DescriptorCoverage(b) & 0x7F) << shift
  1804  				if b < 0x80 {
  1805  					break
  1806  				}
  1807  			}
  1808  		default:
  1809  			iNdEx = preIndex
  1810  			skippy, err := skipBackup(dAtA[iNdEx:])
  1811  			if err != nil {
  1812  				return err
  1813  			}
  1814  			if skippy < 0 {
  1815  				return ErrInvalidLengthBackup
  1816  			}
  1817  			if (iNdEx + skippy) > l {
  1818  				return io.ErrUnexpectedEOF
  1819  			}
  1820  			iNdEx += skippy
  1821  		}
  1822  	}
  1823  
  1824  	if iNdEx > l {
  1825  		return io.ErrUnexpectedEOF
  1826  	}
  1827  	return nil
  1828  }
  1829  func (m *BackupManifest_File) Unmarshal(dAtA []byte) error {
  1830  	l := len(dAtA)
  1831  	iNdEx := 0
  1832  	for iNdEx < l {
  1833  		preIndex := iNdEx
  1834  		var wire uint64
  1835  		for shift := uint(0); ; shift += 7 {
  1836  			if shift >= 64 {
  1837  				return ErrIntOverflowBackup
  1838  			}
  1839  			if iNdEx >= l {
  1840  				return io.ErrUnexpectedEOF
  1841  			}
  1842  			b := dAtA[iNdEx]
  1843  			iNdEx++
  1844  			wire |= (uint64(b) & 0x7F) << shift
  1845  			if b < 0x80 {
  1846  				break
  1847  			}
  1848  		}
  1849  		fieldNum := int32(wire >> 3)
  1850  		wireType := int(wire & 0x7)
  1851  		if wireType == 4 {
  1852  			return fmt.Errorf("proto: File: wiretype end group for non-group")
  1853  		}
  1854  		if fieldNum <= 0 {
  1855  			return fmt.Errorf("proto: File: illegal tag %d (wire type %d)", fieldNum, wire)
  1856  		}
  1857  		switch fieldNum {
  1858  		case 1:
  1859  			if wireType != 2 {
  1860  				return fmt.Errorf("proto: wrong wireType = %d for field Span", wireType)
  1861  			}
  1862  			var msglen int
  1863  			for shift := uint(0); ; shift += 7 {
  1864  				if shift >= 64 {
  1865  					return ErrIntOverflowBackup
  1866  				}
  1867  				if iNdEx >= l {
  1868  					return io.ErrUnexpectedEOF
  1869  				}
  1870  				b := dAtA[iNdEx]
  1871  				iNdEx++
  1872  				msglen |= (int(b) & 0x7F) << shift
  1873  				if b < 0x80 {
  1874  					break
  1875  				}
  1876  			}
  1877  			if msglen < 0 {
  1878  				return ErrInvalidLengthBackup
  1879  			}
  1880  			postIndex := iNdEx + msglen
  1881  			if postIndex > l {
  1882  				return io.ErrUnexpectedEOF
  1883  			}
  1884  			if err := m.Span.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1885  				return err
  1886  			}
  1887  			iNdEx = postIndex
  1888  		case 2:
  1889  			if wireType != 2 {
  1890  				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
  1891  			}
  1892  			var stringLen uint64
  1893  			for shift := uint(0); ; shift += 7 {
  1894  				if shift >= 64 {
  1895  					return ErrIntOverflowBackup
  1896  				}
  1897  				if iNdEx >= l {
  1898  					return io.ErrUnexpectedEOF
  1899  				}
  1900  				b := dAtA[iNdEx]
  1901  				iNdEx++
  1902  				stringLen |= (uint64(b) & 0x7F) << shift
  1903  				if b < 0x80 {
  1904  					break
  1905  				}
  1906  			}
  1907  			intStringLen := int(stringLen)
  1908  			if intStringLen < 0 {
  1909  				return ErrInvalidLengthBackup
  1910  			}
  1911  			postIndex := iNdEx + intStringLen
  1912  			if postIndex > l {
  1913  				return io.ErrUnexpectedEOF
  1914  			}
  1915  			m.Path = string(dAtA[iNdEx:postIndex])
  1916  			iNdEx = postIndex
  1917  		case 4:
  1918  			if wireType != 2 {
  1919  				return fmt.Errorf("proto: wrong wireType = %d for field Sha512", wireType)
  1920  			}
  1921  			var byteLen int
  1922  			for shift := uint(0); ; shift += 7 {
  1923  				if shift >= 64 {
  1924  					return ErrIntOverflowBackup
  1925  				}
  1926  				if iNdEx >= l {
  1927  					return io.ErrUnexpectedEOF
  1928  				}
  1929  				b := dAtA[iNdEx]
  1930  				iNdEx++
  1931  				byteLen |= (int(b) & 0x7F) << shift
  1932  				if b < 0x80 {
  1933  					break
  1934  				}
  1935  			}
  1936  			if byteLen < 0 {
  1937  				return ErrInvalidLengthBackup
  1938  			}
  1939  			postIndex := iNdEx + byteLen
  1940  			if postIndex > l {
  1941  				return io.ErrUnexpectedEOF
  1942  			}
  1943  			m.Sha512 = append(m.Sha512[:0], dAtA[iNdEx:postIndex]...)
  1944  			if m.Sha512 == nil {
  1945  				m.Sha512 = []byte{}
  1946  			}
  1947  			iNdEx = postIndex
  1948  		case 6:
  1949  			if wireType != 2 {
  1950  				return fmt.Errorf("proto: wrong wireType = %d for field EntryCounts", wireType)
  1951  			}
  1952  			var msglen int
  1953  			for shift := uint(0); ; shift += 7 {
  1954  				if shift >= 64 {
  1955  					return ErrIntOverflowBackup
  1956  				}
  1957  				if iNdEx >= l {
  1958  					return io.ErrUnexpectedEOF
  1959  				}
  1960  				b := dAtA[iNdEx]
  1961  				iNdEx++
  1962  				msglen |= (int(b) & 0x7F) << shift
  1963  				if b < 0x80 {
  1964  					break
  1965  				}
  1966  			}
  1967  			if msglen < 0 {
  1968  				return ErrInvalidLengthBackup
  1969  			}
  1970  			postIndex := iNdEx + msglen
  1971  			if postIndex > l {
  1972  				return io.ErrUnexpectedEOF
  1973  			}
  1974  			if err := m.EntryCounts.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1975  				return err
  1976  			}
  1977  			iNdEx = postIndex
  1978  		case 7:
  1979  			if wireType != 2 {
  1980  				return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType)
  1981  			}
  1982  			var msglen int
  1983  			for shift := uint(0); ; shift += 7 {
  1984  				if shift >= 64 {
  1985  					return ErrIntOverflowBackup
  1986  				}
  1987  				if iNdEx >= l {
  1988  					return io.ErrUnexpectedEOF
  1989  				}
  1990  				b := dAtA[iNdEx]
  1991  				iNdEx++
  1992  				msglen |= (int(b) & 0x7F) << shift
  1993  				if b < 0x80 {
  1994  					break
  1995  				}
  1996  			}
  1997  			if msglen < 0 {
  1998  				return ErrInvalidLengthBackup
  1999  			}
  2000  			postIndex := iNdEx + msglen
  2001  			if postIndex > l {
  2002  				return io.ErrUnexpectedEOF
  2003  			}
  2004  			if err := m.StartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2005  				return err
  2006  			}
  2007  			iNdEx = postIndex
  2008  		case 8:
  2009  			if wireType != 2 {
  2010  				return fmt.Errorf("proto: wrong wireType = %d for field EndTime", wireType)
  2011  			}
  2012  			var msglen int
  2013  			for shift := uint(0); ; shift += 7 {
  2014  				if shift >= 64 {
  2015  					return ErrIntOverflowBackup
  2016  				}
  2017  				if iNdEx >= l {
  2018  					return io.ErrUnexpectedEOF
  2019  				}
  2020  				b := dAtA[iNdEx]
  2021  				iNdEx++
  2022  				msglen |= (int(b) & 0x7F) << shift
  2023  				if b < 0x80 {
  2024  					break
  2025  				}
  2026  			}
  2027  			if msglen < 0 {
  2028  				return ErrInvalidLengthBackup
  2029  			}
  2030  			postIndex := iNdEx + msglen
  2031  			if postIndex > l {
  2032  				return io.ErrUnexpectedEOF
  2033  			}
  2034  			if err := m.EndTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2035  				return err
  2036  			}
  2037  			iNdEx = postIndex
  2038  		case 9:
  2039  			if wireType != 2 {
  2040  				return fmt.Errorf("proto: wrong wireType = %d for field LocalityKV", wireType)
  2041  			}
  2042  			var stringLen uint64
  2043  			for shift := uint(0); ; shift += 7 {
  2044  				if shift >= 64 {
  2045  					return ErrIntOverflowBackup
  2046  				}
  2047  				if iNdEx >= l {
  2048  					return io.ErrUnexpectedEOF
  2049  				}
  2050  				b := dAtA[iNdEx]
  2051  				iNdEx++
  2052  				stringLen |= (uint64(b) & 0x7F) << shift
  2053  				if b < 0x80 {
  2054  					break
  2055  				}
  2056  			}
  2057  			intStringLen := int(stringLen)
  2058  			if intStringLen < 0 {
  2059  				return ErrInvalidLengthBackup
  2060  			}
  2061  			postIndex := iNdEx + intStringLen
  2062  			if postIndex > l {
  2063  				return io.ErrUnexpectedEOF
  2064  			}
  2065  			m.LocalityKV = string(dAtA[iNdEx:postIndex])
  2066  			iNdEx = postIndex
  2067  		default:
  2068  			iNdEx = preIndex
  2069  			skippy, err := skipBackup(dAtA[iNdEx:])
  2070  			if err != nil {
  2071  				return err
  2072  			}
  2073  			if skippy < 0 {
  2074  				return ErrInvalidLengthBackup
  2075  			}
  2076  			if (iNdEx + skippy) > l {
  2077  				return io.ErrUnexpectedEOF
  2078  			}
  2079  			iNdEx += skippy
  2080  		}
  2081  	}
  2082  
  2083  	if iNdEx > l {
  2084  		return io.ErrUnexpectedEOF
  2085  	}
  2086  	return nil
  2087  }
  2088  func (m *BackupManifest_DescriptorRevision) Unmarshal(dAtA []byte) error {
  2089  	l := len(dAtA)
  2090  	iNdEx := 0
  2091  	for iNdEx < l {
  2092  		preIndex := iNdEx
  2093  		var wire uint64
  2094  		for shift := uint(0); ; shift += 7 {
  2095  			if shift >= 64 {
  2096  				return ErrIntOverflowBackup
  2097  			}
  2098  			if iNdEx >= l {
  2099  				return io.ErrUnexpectedEOF
  2100  			}
  2101  			b := dAtA[iNdEx]
  2102  			iNdEx++
  2103  			wire |= (uint64(b) & 0x7F) << shift
  2104  			if b < 0x80 {
  2105  				break
  2106  			}
  2107  		}
  2108  		fieldNum := int32(wire >> 3)
  2109  		wireType := int(wire & 0x7)
  2110  		if wireType == 4 {
  2111  			return fmt.Errorf("proto: DescriptorRevision: wiretype end group for non-group")
  2112  		}
  2113  		if fieldNum <= 0 {
  2114  			return fmt.Errorf("proto: DescriptorRevision: illegal tag %d (wire type %d)", fieldNum, wire)
  2115  		}
  2116  		switch fieldNum {
  2117  		case 1:
  2118  			if wireType != 2 {
  2119  				return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType)
  2120  			}
  2121  			var msglen int
  2122  			for shift := uint(0); ; shift += 7 {
  2123  				if shift >= 64 {
  2124  					return ErrIntOverflowBackup
  2125  				}
  2126  				if iNdEx >= l {
  2127  					return io.ErrUnexpectedEOF
  2128  				}
  2129  				b := dAtA[iNdEx]
  2130  				iNdEx++
  2131  				msglen |= (int(b) & 0x7F) << shift
  2132  				if b < 0x80 {
  2133  					break
  2134  				}
  2135  			}
  2136  			if msglen < 0 {
  2137  				return ErrInvalidLengthBackup
  2138  			}
  2139  			postIndex := iNdEx + msglen
  2140  			if postIndex > l {
  2141  				return io.ErrUnexpectedEOF
  2142  			}
  2143  			if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2144  				return err
  2145  			}
  2146  			iNdEx = postIndex
  2147  		case 2:
  2148  			if wireType != 0 {
  2149  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  2150  			}
  2151  			m.ID = 0
  2152  			for shift := uint(0); ; shift += 7 {
  2153  				if shift >= 64 {
  2154  					return ErrIntOverflowBackup
  2155  				}
  2156  				if iNdEx >= l {
  2157  					return io.ErrUnexpectedEOF
  2158  				}
  2159  				b := dAtA[iNdEx]
  2160  				iNdEx++
  2161  				m.ID |= (github_com_cockroachdb_cockroach_pkg_sql_sqlbase.ID(b) & 0x7F) << shift
  2162  				if b < 0x80 {
  2163  					break
  2164  				}
  2165  			}
  2166  		case 3:
  2167  			if wireType != 2 {
  2168  				return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType)
  2169  			}
  2170  			var msglen int
  2171  			for shift := uint(0); ; shift += 7 {
  2172  				if shift >= 64 {
  2173  					return ErrIntOverflowBackup
  2174  				}
  2175  				if iNdEx >= l {
  2176  					return io.ErrUnexpectedEOF
  2177  				}
  2178  				b := dAtA[iNdEx]
  2179  				iNdEx++
  2180  				msglen |= (int(b) & 0x7F) << shift
  2181  				if b < 0x80 {
  2182  					break
  2183  				}
  2184  			}
  2185  			if msglen < 0 {
  2186  				return ErrInvalidLengthBackup
  2187  			}
  2188  			postIndex := iNdEx + msglen
  2189  			if postIndex > l {
  2190  				return io.ErrUnexpectedEOF
  2191  			}
  2192  			if m.Desc == nil {
  2193  				m.Desc = &sqlbase.Descriptor{}
  2194  			}
  2195  			if err := m.Desc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2196  				return err
  2197  			}
  2198  			iNdEx = postIndex
  2199  		default:
  2200  			iNdEx = preIndex
  2201  			skippy, err := skipBackup(dAtA[iNdEx:])
  2202  			if err != nil {
  2203  				return err
  2204  			}
  2205  			if skippy < 0 {
  2206  				return ErrInvalidLengthBackup
  2207  			}
  2208  			if (iNdEx + skippy) > l {
  2209  				return io.ErrUnexpectedEOF
  2210  			}
  2211  			iNdEx += skippy
  2212  		}
  2213  	}
  2214  
  2215  	if iNdEx > l {
  2216  		return io.ErrUnexpectedEOF
  2217  	}
  2218  	return nil
  2219  }
  2220  func (m *BackupPartitionDescriptor) Unmarshal(dAtA []byte) error {
  2221  	l := len(dAtA)
  2222  	iNdEx := 0
  2223  	for iNdEx < l {
  2224  		preIndex := iNdEx
  2225  		var wire uint64
  2226  		for shift := uint(0); ; shift += 7 {
  2227  			if shift >= 64 {
  2228  				return ErrIntOverflowBackup
  2229  			}
  2230  			if iNdEx >= l {
  2231  				return io.ErrUnexpectedEOF
  2232  			}
  2233  			b := dAtA[iNdEx]
  2234  			iNdEx++
  2235  			wire |= (uint64(b) & 0x7F) << shift
  2236  			if b < 0x80 {
  2237  				break
  2238  			}
  2239  		}
  2240  		fieldNum := int32(wire >> 3)
  2241  		wireType := int(wire & 0x7)
  2242  		if wireType == 4 {
  2243  			return fmt.Errorf("proto: BackupPartitionDescriptor: wiretype end group for non-group")
  2244  		}
  2245  		if fieldNum <= 0 {
  2246  			return fmt.Errorf("proto: BackupPartitionDescriptor: illegal tag %d (wire type %d)", fieldNum, wire)
  2247  		}
  2248  		switch fieldNum {
  2249  		case 1:
  2250  			if wireType != 2 {
  2251  				return fmt.Errorf("proto: wrong wireType = %d for field LocalityKV", wireType)
  2252  			}
  2253  			var stringLen uint64
  2254  			for shift := uint(0); ; shift += 7 {
  2255  				if shift >= 64 {
  2256  					return ErrIntOverflowBackup
  2257  				}
  2258  				if iNdEx >= l {
  2259  					return io.ErrUnexpectedEOF
  2260  				}
  2261  				b := dAtA[iNdEx]
  2262  				iNdEx++
  2263  				stringLen |= (uint64(b) & 0x7F) << shift
  2264  				if b < 0x80 {
  2265  					break
  2266  				}
  2267  			}
  2268  			intStringLen := int(stringLen)
  2269  			if intStringLen < 0 {
  2270  				return ErrInvalidLengthBackup
  2271  			}
  2272  			postIndex := iNdEx + intStringLen
  2273  			if postIndex > l {
  2274  				return io.ErrUnexpectedEOF
  2275  			}
  2276  			m.LocalityKV = string(dAtA[iNdEx:postIndex])
  2277  			iNdEx = postIndex
  2278  		case 2:
  2279  			if wireType != 2 {
  2280  				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
  2281  			}
  2282  			var msglen int
  2283  			for shift := uint(0); ; shift += 7 {
  2284  				if shift >= 64 {
  2285  					return ErrIntOverflowBackup
  2286  				}
  2287  				if iNdEx >= l {
  2288  					return io.ErrUnexpectedEOF
  2289  				}
  2290  				b := dAtA[iNdEx]
  2291  				iNdEx++
  2292  				msglen |= (int(b) & 0x7F) << shift
  2293  				if b < 0x80 {
  2294  					break
  2295  				}
  2296  			}
  2297  			if msglen < 0 {
  2298  				return ErrInvalidLengthBackup
  2299  			}
  2300  			postIndex := iNdEx + msglen
  2301  			if postIndex > l {
  2302  				return io.ErrUnexpectedEOF
  2303  			}
  2304  			m.Files = append(m.Files, BackupManifest_File{})
  2305  			if err := m.Files[len(m.Files)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2306  				return err
  2307  			}
  2308  			iNdEx = postIndex
  2309  		case 3:
  2310  			if wireType != 2 {
  2311  				return fmt.Errorf("proto: wrong wireType = %d for field BackupID", wireType)
  2312  			}
  2313  			var byteLen int
  2314  			for shift := uint(0); ; shift += 7 {
  2315  				if shift >= 64 {
  2316  					return ErrIntOverflowBackup
  2317  				}
  2318  				if iNdEx >= l {
  2319  					return io.ErrUnexpectedEOF
  2320  				}
  2321  				b := dAtA[iNdEx]
  2322  				iNdEx++
  2323  				byteLen |= (int(b) & 0x7F) << shift
  2324  				if b < 0x80 {
  2325  					break
  2326  				}
  2327  			}
  2328  			if byteLen < 0 {
  2329  				return ErrInvalidLengthBackup
  2330  			}
  2331  			postIndex := iNdEx + byteLen
  2332  			if postIndex > l {
  2333  				return io.ErrUnexpectedEOF
  2334  			}
  2335  			if err := m.BackupID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2336  				return err
  2337  			}
  2338  			iNdEx = postIndex
  2339  		default:
  2340  			iNdEx = preIndex
  2341  			skippy, err := skipBackup(dAtA[iNdEx:])
  2342  			if err != nil {
  2343  				return err
  2344  			}
  2345  			if skippy < 0 {
  2346  				return ErrInvalidLengthBackup
  2347  			}
  2348  			if (iNdEx + skippy) > l {
  2349  				return io.ErrUnexpectedEOF
  2350  			}
  2351  			iNdEx += skippy
  2352  		}
  2353  	}
  2354  
  2355  	if iNdEx > l {
  2356  		return io.ErrUnexpectedEOF
  2357  	}
  2358  	return nil
  2359  }
  2360  func (m *EncryptionInfo) Unmarshal(dAtA []byte) error {
  2361  	l := len(dAtA)
  2362  	iNdEx := 0
  2363  	for iNdEx < l {
  2364  		preIndex := iNdEx
  2365  		var wire uint64
  2366  		for shift := uint(0); ; shift += 7 {
  2367  			if shift >= 64 {
  2368  				return ErrIntOverflowBackup
  2369  			}
  2370  			if iNdEx >= l {
  2371  				return io.ErrUnexpectedEOF
  2372  			}
  2373  			b := dAtA[iNdEx]
  2374  			iNdEx++
  2375  			wire |= (uint64(b) & 0x7F) << shift
  2376  			if b < 0x80 {
  2377  				break
  2378  			}
  2379  		}
  2380  		fieldNum := int32(wire >> 3)
  2381  		wireType := int(wire & 0x7)
  2382  		if wireType == 4 {
  2383  			return fmt.Errorf("proto: EncryptionInfo: wiretype end group for non-group")
  2384  		}
  2385  		if fieldNum <= 0 {
  2386  			return fmt.Errorf("proto: EncryptionInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  2387  		}
  2388  		switch fieldNum {
  2389  		case 1:
  2390  			if wireType != 0 {
  2391  				return fmt.Errorf("proto: wrong wireType = %d for field Scheme", wireType)
  2392  			}
  2393  			m.Scheme = 0
  2394  			for shift := uint(0); ; shift += 7 {
  2395  				if shift >= 64 {
  2396  					return ErrIntOverflowBackup
  2397  				}
  2398  				if iNdEx >= l {
  2399  					return io.ErrUnexpectedEOF
  2400  				}
  2401  				b := dAtA[iNdEx]
  2402  				iNdEx++
  2403  				m.Scheme |= (EncryptionInfo_Scheme(b) & 0x7F) << shift
  2404  				if b < 0x80 {
  2405  					break
  2406  				}
  2407  			}
  2408  		case 2:
  2409  			if wireType != 2 {
  2410  				return fmt.Errorf("proto: wrong wireType = %d for field Salt", wireType)
  2411  			}
  2412  			var byteLen int
  2413  			for shift := uint(0); ; shift += 7 {
  2414  				if shift >= 64 {
  2415  					return ErrIntOverflowBackup
  2416  				}
  2417  				if iNdEx >= l {
  2418  					return io.ErrUnexpectedEOF
  2419  				}
  2420  				b := dAtA[iNdEx]
  2421  				iNdEx++
  2422  				byteLen |= (int(b) & 0x7F) << shift
  2423  				if b < 0x80 {
  2424  					break
  2425  				}
  2426  			}
  2427  			if byteLen < 0 {
  2428  				return ErrInvalidLengthBackup
  2429  			}
  2430  			postIndex := iNdEx + byteLen
  2431  			if postIndex > l {
  2432  				return io.ErrUnexpectedEOF
  2433  			}
  2434  			m.Salt = append(m.Salt[:0], dAtA[iNdEx:postIndex]...)
  2435  			if m.Salt == nil {
  2436  				m.Salt = []byte{}
  2437  			}
  2438  			iNdEx = postIndex
  2439  		default:
  2440  			iNdEx = preIndex
  2441  			skippy, err := skipBackup(dAtA[iNdEx:])
  2442  			if err != nil {
  2443  				return err
  2444  			}
  2445  			if skippy < 0 {
  2446  				return ErrInvalidLengthBackup
  2447  			}
  2448  			if (iNdEx + skippy) > l {
  2449  				return io.ErrUnexpectedEOF
  2450  			}
  2451  			iNdEx += skippy
  2452  		}
  2453  	}
  2454  
  2455  	if iNdEx > l {
  2456  		return io.ErrUnexpectedEOF
  2457  	}
  2458  	return nil
  2459  }
  2460  func skipBackup(dAtA []byte) (n int, err error) {
  2461  	l := len(dAtA)
  2462  	iNdEx := 0
  2463  	for iNdEx < l {
  2464  		var wire uint64
  2465  		for shift := uint(0); ; shift += 7 {
  2466  			if shift >= 64 {
  2467  				return 0, ErrIntOverflowBackup
  2468  			}
  2469  			if iNdEx >= l {
  2470  				return 0, io.ErrUnexpectedEOF
  2471  			}
  2472  			b := dAtA[iNdEx]
  2473  			iNdEx++
  2474  			wire |= (uint64(b) & 0x7F) << shift
  2475  			if b < 0x80 {
  2476  				break
  2477  			}
  2478  		}
  2479  		wireType := int(wire & 0x7)
  2480  		switch wireType {
  2481  		case 0:
  2482  			for shift := uint(0); ; shift += 7 {
  2483  				if shift >= 64 {
  2484  					return 0, ErrIntOverflowBackup
  2485  				}
  2486  				if iNdEx >= l {
  2487  					return 0, io.ErrUnexpectedEOF
  2488  				}
  2489  				iNdEx++
  2490  				if dAtA[iNdEx-1] < 0x80 {
  2491  					break
  2492  				}
  2493  			}
  2494  			return iNdEx, nil
  2495  		case 1:
  2496  			iNdEx += 8
  2497  			return iNdEx, nil
  2498  		case 2:
  2499  			var length int
  2500  			for shift := uint(0); ; shift += 7 {
  2501  				if shift >= 64 {
  2502  					return 0, ErrIntOverflowBackup
  2503  				}
  2504  				if iNdEx >= l {
  2505  					return 0, io.ErrUnexpectedEOF
  2506  				}
  2507  				b := dAtA[iNdEx]
  2508  				iNdEx++
  2509  				length |= (int(b) & 0x7F) << shift
  2510  				if b < 0x80 {
  2511  					break
  2512  				}
  2513  			}
  2514  			iNdEx += length
  2515  			if length < 0 {
  2516  				return 0, ErrInvalidLengthBackup
  2517  			}
  2518  			return iNdEx, nil
  2519  		case 3:
  2520  			for {
  2521  				var innerWire uint64
  2522  				var start int = iNdEx
  2523  				for shift := uint(0); ; shift += 7 {
  2524  					if shift >= 64 {
  2525  						return 0, ErrIntOverflowBackup
  2526  					}
  2527  					if iNdEx >= l {
  2528  						return 0, io.ErrUnexpectedEOF
  2529  					}
  2530  					b := dAtA[iNdEx]
  2531  					iNdEx++
  2532  					innerWire |= (uint64(b) & 0x7F) << shift
  2533  					if b < 0x80 {
  2534  						break
  2535  					}
  2536  				}
  2537  				innerWireType := int(innerWire & 0x7)
  2538  				if innerWireType == 4 {
  2539  					break
  2540  				}
  2541  				next, err := skipBackup(dAtA[start:])
  2542  				if err != nil {
  2543  					return 0, err
  2544  				}
  2545  				iNdEx = start + next
  2546  			}
  2547  			return iNdEx, nil
  2548  		case 4:
  2549  			return iNdEx, nil
  2550  		case 5:
  2551  			iNdEx += 4
  2552  			return iNdEx, nil
  2553  		default:
  2554  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2555  		}
  2556  	}
  2557  	panic("unreachable")
  2558  }
  2559  
  2560  var (
  2561  	ErrInvalidLengthBackup = fmt.Errorf("proto: negative length found during unmarshaling")
  2562  	ErrIntOverflowBackup   = fmt.Errorf("proto: integer overflow")
  2563  )
  2564  
  2565  func init() { proto.RegisterFile("ccl/backupccl/backup.proto", fileDescriptor_backup_c91f9318627fab4a) }
  2566  
  2567  var fileDescriptor_backup_c91f9318627fab4a = []byte{
  2568  	// 1239 bytes of a gzipped FileDescriptorProto
  2569  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x8f, 0xda, 0x46,
  2570  	0x18, 0xc6, 0xe0, 0x65, 0xe1, 0x85, 0x25, 0xec, 0xe4, 0xcb, 0xdd, 0xa6, 0x40, 0x36, 0xaa, 0x84,
  2571  	0xda, 0xca, 0x56, 0x88, 0xd2, 0x48, 0x7b, 0xa8, 0xb4, 0xc0, 0x6e, 0xe2, 0x4d, 0x52, 0xa5, 0x26,
  2572  	0xc9, 0x21, 0x17, 0xcb, 0x8c, 0x07, 0x18, 0xad, 0xb1, 0x89, 0x67, 0xd8, 0x64, 0xf3, 0x17, 0x7a,
  2573  	0xe9, 0x4f, 0xe8, 0x1f, 0xe8, 0xff, 0xc8, 0xa5, 0x52, 0x8e, 0x51, 0x0f, 0xa8, 0x25, 0x97, 0x9e,
  2574  	0x7b, 0x8c, 0x7a, 0xa8, 0x66, 0x6c, 0x83, 0x93, 0xed, 0x2a, 0xb4, 0xdc, 0x5e, 0x5e, 0x9e, 0xe7,
  2575  	0x99, 0x99, 0xf7, 0xd3, 0xb0, 0x83, 0xb1, 0x67, 0xf4, 0x1d, 0x7c, 0x3c, 0x9d, 0x2c, 0x2d, 0x7d,
  2576  	0x12, 0x06, 0x3c, 0x40, 0x57, 0x71, 0x80, 0x8f, 0xc3, 0xc0, 0xc1, 0x23, 0x1d, 0x63, 0x4f, 0x5f,
  2577  	0xa0, 0x76, 0xaa, 0xfd, 0x29, 0xf5, 0x5c, 0x83, 0xfa, 0x83, 0x20, 0x82, 0xee, 0x6c, 0x4b, 0xd8,
  2578  	0xa4, 0x6f, 0x38, 0x13, 0x1a, 0xbb, 0x50, 0xe2, 0x72, 0x1d, 0xee, 0xc4, 0xbe, 0x3a, 0x7b, 0xee,
  2579  	0x19, 0x8c, 0x3b, 0x9c, 0x19, 0xdc, 0xe9, 0x7b, 0xc4, 0x16, 0x36, 0x65, 0x9c, 0xe2, 0x18, 0x70,
  2580  	0x4d, 0x02, 0x9e, 0x7b, 0x7d, 0x87, 0x11, 0x83, 0xf1, 0x70, 0x8a, 0xf9, 0x34, 0x24, 0x6e, 0xfc,
  2581  	0xaf, 0x36, 0xe5, 0xd4, 0x33, 0x46, 0x1e, 0x36, 0x38, 0x1d, 0x13, 0xc6, 0x9d, 0x71, 0x7c, 0xd5,
  2582  	0x9d, 0x4b, 0xc3, 0x60, 0x18, 0x48, 0xd3, 0x10, 0x56, 0xe4, 0xdd, 0x1d, 0x40, 0xc1, 0x0a, 0x5e,
  2583  	0x74, 0x82, 0xa9, 0xcf, 0xd1, 0xe7, 0x50, 0x14, 0x17, 0xb1, 0x19, 0x7d, 0x45, 0x34, 0xa5, 0xa1,
  2584  	0x34, 0x73, 0x56, 0x41, 0x38, 0x7a, 0xf4, 0x15, 0x41, 0x08, 0xd4, 0x30, 0x78, 0xc1, 0xb4, 0xac,
  2585  	0xf4, 0x4b, 0x1b, 0xdd, 0x80, 0x2d, 0xea, 0xbb, 0xe4, 0xa5, 0x4d, 0x7c, 0x1e, 0x52, 0xc2, 0xb4,
  2586  	0x9c, 0xfc, 0xb3, 0x2c, 0x9d, 0x07, 0x91, 0xef, 0x48, 0x2d, 0xa8, 0xd5, 0x8d, 0xdd, 0x5f, 0xb6,
  2587  	0xa1, 0xd2, 0x96, 0xd1, 0x79, 0xe8, 0xf8, 0x74, 0x40, 0x18, 0x47, 0x6d, 0x00, 0xc6, 0x9d, 0x90,
  2588  	0xdb, 0xe2, 0xa6, 0xf2, 0xbc, 0x52, 0xeb, 0x0b, 0x7d, 0x19, 0x50, 0xf1, 0x12, 0x7d, 0xe4, 0x61,
  2589  	0xfd, 0x71, 0xf2, 0x92, 0xb6, 0xfa, 0x7a, 0x56, 0xcf, 0x58, 0x45, 0x49, 0x13, 0x5e, 0xf4, 0x1d,
  2590  	0x14, 0x88, 0xef, 0x46, 0x0a, 0xd9, 0xd5, 0x15, 0x36, 0x89, 0xef, 0x4a, 0xfe, 0x2d, 0xd8, 0x60,
  2591  	0x13, 0xc7, 0x17, 0x37, 0xcf, 0x35, 0x4b, 0xad, 0xab, 0x29, 0x72, 0x9c, 0x1b, 0xbd, 0x37, 0x71,
  2592  	0xfc, 0x98, 0x16, 0x61, 0xd1, 0x3d, 0xd8, 0x18, 0x50, 0x8f, 0x30, 0x4d, 0x95, 0xa4, 0x6f, 0xf4,
  2593  	0x73, 0x8a, 0x40, 0xff, 0xf0, 0xc1, 0xfa, 0x21, 0xf5, 0x48, 0xa2, 0x24, 0x05, 0x90, 0x09, 0x25,
  2594  	0x97, 0x30, 0x1c, 0xd2, 0x09, 0x0f, 0x42, 0xa6, 0x6d, 0x48, 0xbd, 0xeb, 0x29, 0x3d, 0xf6, 0xdc,
  2595  	0xd3, 0xe3, 0x5c, 0xeb, 0xdd, 0x05, 0x32, 0x16, 0x49, 0x73, 0xd1, 0x1e, 0xe4, 0x5c, 0x1a, 0x6a,
  2596  	0x9b, 0x32, 0x08, 0xbb, 0xff, 0xf2, 0x8e, 0x83, 0x97, 0x9c, 0x84, 0xbe, 0xe3, 0xf5, 0x78, 0x10,
  2597  	0x3a, 0xc3, 0xe4, 0x22, 0x82, 0x84, 0xbe, 0x84, 0xca, 0x20, 0x08, 0xc7, 0x0e, 0xb7, 0x4f, 0x48,
  2598  	0xc8, 0x68, 0xe0, 0x6b, 0x85, 0x86, 0xd2, 0xdc, 0xb2, 0xb6, 0x22, 0xef, 0xd3, 0xc8, 0x89, 0x86,
  2599  	0x00, 0xd8, 0x9b, 0x32, 0x4e, 0x42, 0x9b, 0xba, 0x5a, 0xb1, 0xa1, 0x34, 0xcb, 0xed, 0x7b, 0x42,
  2600  	0xe5, 0xb7, 0x59, 0xfd, 0xd6, 0x90, 0xf2, 0xd1, 0xb4, 0xaf, 0xe3, 0x60, 0x6c, 0x2c, 0xce, 0x76,
  2601  	0xfb, 0x4b, 0xdb, 0x98, 0x1c, 0x0f, 0x0d, 0x59, 0x9c, 0xd3, 0x29, 0x75, 0xf5, 0x27, 0x4f, 0xcc,
  2602  	0xee, 0x7c, 0x56, 0x2f, 0x76, 0x22, 0x41, 0xb3, 0x6b, 0x15, 0x63, 0x6d, 0xd3, 0x45, 0xcf, 0x60,
  2603  	0xd3, 0x0f, 0x5c, 0x22, 0x4e, 0x81, 0x86, 0xd2, 0xdc, 0x68, 0xef, 0xcf, 0x67, 0xf5, 0xfc, 0xf7,
  2604  	0x81, 0x4b, 0xcc, 0xee, 0xfb, 0x55, 0xcf, 0x4a, 0xde, 0x1d, 0xd1, 0xac, 0xbc, 0x50, 0x34, 0x5d,
  2605  	0xb4, 0x07, 0x20, 0x5b, 0xd3, 0x16, 0xad, 0xa9, 0x95, 0x64, 0xb8, 0x2e, 0xa7, 0xc2, 0x25, 0xff,
  2606  	0xd4, 0x4d, 0x7f, 0x10, 0x24, 0xd5, 0x26, 0x3d, 0xc2, 0x81, 0x8e, 0xa0, 0x2c, 0x2a, 0xfd, 0xd4,
  2607  	0xc6, 0xa2, 0x5f, 0x98, 0x56, 0x96, 0xec, 0xeb, 0xe7, 0xe6, 0x3f, 0xe9, 0xac, 0x24, 0x5f, 0x92,
  2608  	0x2c, 0x3d, 0x0c, 0x3d, 0x86, 0xd2, 0xf8, 0x04, 0x63, 0x7b, 0x40, 0x3d, 0x4e, 0x42, 0x6d, 0xab,
  2609  	0xa1, 0x34, 0x2b, 0xad, 0x1b, 0xe7, 0x4a, 0x3d, 0x7c, 0xda, 0xe9, 0x1c, 0x4a, 0x68, 0xbb, 0x32,
  2610  	0x9f, 0xd5, 0x61, 0xf9, 0xdb, 0x02, 0xa1, 0x13, 0xd9, 0xe8, 0x19, 0x94, 0x71, 0x30, 0x9e, 0x78,
  2611  	0x84, 0x13, 0xdb, 0xed, 0x33, 0xad, 0xd2, 0xc8, 0x35, 0xb7, 0xda, 0x77, 0x56, 0x0e, 0x5a, 0x6a,
  2612  	0xb6, 0xe8, 0x66, 0xd7, 0x2a, 0x25, 0x62, 0xdd, 0xbe, 0x28, 0xfb, 0x2a, 0xf5, 0x79, 0x18, 0xb8,
  2613  	0x53, 0x4c, 0x5c, 0x3b, 0x6a, 0x9b, 0x0b, 0xab, 0xb4, 0xcd, 0x85, 0x25, 0xad, 0x27, 0x1b, 0x28,
  2614  	0x00, 0xb4, 0x2c, 0x5d, 0x1b, 0x8f, 0x1c, 0x7f, 0x48, 0x98, 0x56, 0x95, 0x5a, 0x7b, 0xab, 0x76,
  2615  	0xd3, 0xb2, 0x1d, 0x2c, 0x72, 0x42, 0x45, 0x81, 0xc6, 0xc7, 0x6d, 0x2f, 0xb5, 0x3b, 0x91, 0x34,
  2616  	0xea, 0xc1, 0xc5, 0x30, 0x06, 0xd9, 0xa9, 0x99, 0xb3, 0xbd, 0xfa, 0xc4, 0xd8, 0x4e, 0xf8, 0xbd,
  2617  	0xc5, 0xec, 0xf9, 0x01, 0xb2, 0xd4, 0xd5, 0x90, 0x6c, 0x83, 0xfd, 0xf5, 0xda, 0x20, 0x6b, 0x76,
  2618  	0xad, 0x2c, 0x75, 0x51, 0x17, 0x6a, 0x13, 0x27, 0xe4, 0x94, 0x8b, 0x8b, 0xa6, 0x42, 0x24, 0xa6,
  2619  	0x85, 0xef, 0x8c, 0x09, 0xd3, 0x2e, 0x36, 0x72, 0xcd, 0xa2, 0x75, 0x6d, 0x81, 0x5a, 0x46, 0xe1,
  2620  	0x30, 0xc1, 0xa0, 0x16, 0x94, 0xbd, 0x00, 0x3b, 0x1e, 0xe5, 0xa7, 0xf6, 0xf1, 0x09, 0xd3, 0x2e,
  2621  	0x09, 0x4e, 0xfb, 0xc2, 0x7c, 0x56, 0x2f, 0x3d, 0x88, 0xfd, 0xf7, 0x9f, 0x32, 0xab, 0x94, 0x80,
  2622  	0xee, 0x9f, 0x88, 0xe4, 0xc2, 0x62, 0xd1, 0x30, 0xed, 0xb2, 0x4c, 0x45, 0xf3, 0xe3, 0x41, 0x24,
  2623  	0xb6, 0x92, 0xfe, 0x58, 0x6c, 0xa5, 0x5e, 0x82, 0x7d, 0x24, 0xb6, 0x88, 0x95, 0xe2, 0xa2, 0x53,
  2624  	0xb8, 0x98, 0x4e, 0x6e, 0x70, 0x42, 0xc4, 0xb8, 0xd1, 0xae, 0xc8, 0x46, 0xbe, 0xf7, 0x7e, 0x56,
  2625  	0xef, 0xae, 0x5e, 0x89, 0x64, 0x6c, 0xf0, 0x90, 0xa4, 0x47, 0x5f, 0x27, 0xd6, 0xb3, 0x52, 0x15,
  2626  	0x94, 0xf8, 0x76, 0xfe, 0xca, 0x82, 0x2a, 0xc2, 0x80, 0x6e, 0x82, 0x2a, 0xea, 0x33, 0x5e, 0x2a,
  2627  	0x9f, 0x28, 0x4f, 0x09, 0x15, 0xfb, 0x6d, 0xe2, 0xf0, 0x91, 0xdc, 0x22, 0x45, 0x4b, 0xda, 0xe8,
  2628  	0x0a, 0xe4, 0xd9, 0xc8, 0xb9, 0x7d, 0xb3, 0xa5, 0xa9, 0x22, 0xcb, 0x56, 0xfc, 0xeb, 0xcc, 0x1c,
  2629  	0xc8, 0xaf, 0x31, 0x07, 0x3e, 0xdc, 0x82, 0x9b, 0x6b, 0x6f, 0xc1, 0xc2, 0xff, 0xd8, 0x82, 0x06,
  2630  	0x94, 0x52, 0x05, 0x23, 0x27, 0x7b, 0x31, 0x1a, 0x33, 0xcb, 0x7a, 0xb1, 0x60, 0x59, 0x2e, 0x47,
  2631  	0x6a, 0x21, 0x57, 0x55, 0x8f, 0xd4, 0xc2, 0x46, 0x35, 0xbf, 0xf3, 0xab, 0x02, 0xe8, 0x6c, 0x2f,
  2632  	0xa2, 0x3b, 0xa0, 0xfe, 0xd7, 0xbd, 0x2e, 0x09, 0xe8, 0x2e, 0x64, 0xcd, 0xae, 0x4c, 0xc3, 0x1a,
  2633  	0x83, 0x2b, 0x6b, 0x76, 0xd1, 0x6d, 0x50, 0x45, 0x8d, 0xc8, 0x8f, 0x92, 0x55, 0xb6, 0xaa, 0x25,
  2634  	0xe1, 0x47, 0x6a, 0x21, 0x5f, 0xdd, 0xdc, 0xfd, 0x5b, 0x81, 0xcf, 0xa2, 0x81, 0xf3, 0xe8, 0x6c,
  2635  	0xab, 0x7d, 0x1c, 0x30, 0xe5, 0x53, 0x01, 0x5b, 0x7e, 0x32, 0x64, 0xd7, 0xfd, 0x64, 0x70, 0xa1,
  2636  	0x18, 0xa1, 0xc5, 0x76, 0xcc, 0xc9, 0xe1, 0x73, 0x77, 0xbd, 0xe1, 0x53, 0x88, 0xce, 0x34, 0xbb,
  2637  	0x56, 0x21, 0x52, 0x36, 0xdd, 0xdd, 0x1f, 0x15, 0xa8, 0x1c, 0xf8, 0x38, 0x3c, 0x9d, 0x88, 0x97,
  2638  	0xcb, 0xe5, 0x77, 0x08, 0x79, 0x86, 0x47, 0x24, 0x4e, 0x69, 0xa5, 0xa5, 0x9f, 0xfb, 0x86, 0x0f,
  2639  	0x89, 0x7a, 0x4f, 0xb2, 0xac, 0x98, 0x2d, 0x1a, 0x8d, 0x39, 0x1e, 0x97, 0x19, 0x2e, 0x5b, 0xd2,
  2640  	0xde, 0xbd, 0x0a, 0xf9, 0x08, 0x85, 0xb6, 0xa0, 0xb8, 0x7f, 0xd0, 0x6b, 0xdd, 0xfe, 0xf6, 0x6e,
  2641  	0xe7, 0x61, 0x35, 0xb3, 0xa7, 0xfe, 0xf9, 0x73, 0x5d, 0xf9, 0xea, 0x3a, 0xa4, 0xf6, 0x1d, 0x02,
  2642  	0xc8, 0x3f, 0x70, 0x38, 0x61, 0xbc, 0x9a, 0x41, 0x9b, 0x90, 0xdb, 0xf7, 0xbc, 0xaa, 0xd2, 0xfe,
  2643  	0xfa, 0xf5, 0x1f, 0xb5, 0xcc, 0xeb, 0x79, 0x4d, 0x79, 0x33, 0xaf, 0x29, 0x6f, 0xe7, 0x35, 0xe5,
  2644  	0xf7, 0x79, 0x4d, 0xf9, 0xe9, 0x5d, 0x2d, 0xf3, 0xe6, 0x5d, 0x2d, 0xf3, 0xf6, 0x5d, 0x2d, 0xf3,
  2645  	0xac, 0xb8, 0xb8, 0x60, 0x3f, 0x2f, 0xbf, 0x7d, 0x6f, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x99,
  2646  	0x05, 0x7b, 0x00, 0xda, 0x0b, 0x00, 0x00,
  2647  }