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

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: roachpb/data.proto
     3  
     4  package roachpb
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import lock "github.com/cockroachdb/cockroach/pkg/kv/kvserver/concurrency/lock"
    10  import enginepb "github.com/cockroachdb/cockroach/pkg/storage/enginepb"
    11  import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc"
    12  
    13  import github_com_cockroachdb_cockroach_pkg_util_uuid "github.com/cockroachdb/cockroach/pkg/util/uuid"
    14  import github_com_cockroachdb_cockroach_pkg_storage_enginepb "github.com/cockroachdb/cockroach/pkg/storage/enginepb"
    15  
    16  import bytes "bytes"
    17  
    18  import io "io"
    19  
    20  // Reference imports to suppress errors if they are not otherwise used.
    21  var _ = proto.Marshal
    22  var _ = fmt.Errorf
    23  var _ = math.Inf
    24  
    25  // This is a compile-time assertion to ensure that this generated file
    26  // is compatible with the proto package it is being compiled against.
    27  // A compilation error at this line likely means your copy of the
    28  // proto package needs to be updated.
    29  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    30  
    31  // ValueType defines a set of type constants placed in the "tag" field of Value
    32  // messages. These are defined as a protocol buffer enumeration so that they
    33  // can be used portably between our Go and C code. The tags are used by the
    34  // RocksDB Merge Operator to perform specialized merges.
    35  type ValueType int32
    36  
    37  const (
    38  	// This is a subset of the SQL column type values, representing the underlying
    39  	// storage for various types. The DELIMITED_foo entries each represent a foo
    40  	// variant that self-delimits length.
    41  	ValueType_UNKNOWN           ValueType = 0
    42  	ValueType_INT               ValueType = 1
    43  	ValueType_FLOAT             ValueType = 2
    44  	ValueType_BYTES             ValueType = 3
    45  	ValueType_DELIMITED_BYTES   ValueType = 8
    46  	ValueType_TIME              ValueType = 4
    47  	ValueType_DECIMAL           ValueType = 5
    48  	ValueType_DELIMITED_DECIMAL ValueType = 9
    49  	ValueType_DURATION          ValueType = 6
    50  	ValueType_TIMETZ            ValueType = 12
    51  	ValueType_GEO               ValueType = 13
    52  	// TUPLE represents a DTuple, encoded as repeated pairs of varint field number
    53  	// followed by a value encoded Datum.
    54  	ValueType_TUPLE    ValueType = 10
    55  	ValueType_BITARRAY ValueType = 11
    56  	// TIMESERIES is applied to values which contain InternalTimeSeriesData.
    57  	ValueType_TIMESERIES ValueType = 100
    58  )
    59  
    60  var ValueType_name = map[int32]string{
    61  	0:   "UNKNOWN",
    62  	1:   "INT",
    63  	2:   "FLOAT",
    64  	3:   "BYTES",
    65  	8:   "DELIMITED_BYTES",
    66  	4:   "TIME",
    67  	5:   "DECIMAL",
    68  	9:   "DELIMITED_DECIMAL",
    69  	6:   "DURATION",
    70  	12:  "TIMETZ",
    71  	13:  "GEO",
    72  	10:  "TUPLE",
    73  	11:  "BITARRAY",
    74  	100: "TIMESERIES",
    75  }
    76  var ValueType_value = map[string]int32{
    77  	"UNKNOWN":           0,
    78  	"INT":               1,
    79  	"FLOAT":             2,
    80  	"BYTES":             3,
    81  	"DELIMITED_BYTES":   8,
    82  	"TIME":              4,
    83  	"DECIMAL":           5,
    84  	"DELIMITED_DECIMAL": 9,
    85  	"DURATION":          6,
    86  	"TIMETZ":            12,
    87  	"GEO":               13,
    88  	"TUPLE":             10,
    89  	"BITARRAY":          11,
    90  	"TIMESERIES":        100,
    91  }
    92  
    93  func (x ValueType) String() string {
    94  	return proto.EnumName(ValueType_name, int32(x))
    95  }
    96  func (ValueType) EnumDescriptor() ([]byte, []int) {
    97  	return fileDescriptor_data_171f939460d16c96, []int{0}
    98  }
    99  
   100  // ReplicaChangeType is a parameter of ChangeReplicasTrigger.
   101  type ReplicaChangeType int32
   102  
   103  const (
   104  	ADD_REPLICA    ReplicaChangeType = 0
   105  	REMOVE_REPLICA ReplicaChangeType = 1
   106  )
   107  
   108  var ReplicaChangeType_name = map[int32]string{
   109  	0: "ADD_REPLICA",
   110  	1: "REMOVE_REPLICA",
   111  }
   112  var ReplicaChangeType_value = map[string]int32{
   113  	"ADD_REPLICA":    0,
   114  	"REMOVE_REPLICA": 1,
   115  }
   116  
   117  func (x ReplicaChangeType) String() string {
   118  	return proto.EnumName(ReplicaChangeType_name, int32(x))
   119  }
   120  func (ReplicaChangeType) EnumDescriptor() ([]byte, []int) {
   121  	return fileDescriptor_data_171f939460d16c96, []int{1}
   122  }
   123  
   124  // TransactionStatus specifies possible states for a transaction.
   125  type TransactionStatus int32
   126  
   127  const (
   128  	// PENDING is the default state for a new transaction. Transactions
   129  	// move from PENDING to one of COMMITTED or ABORTED. Mutations made
   130  	// as part of a PENDING transactions are recorded as "intents" in
   131  	// the underlying MVCC model.
   132  	PENDING TransactionStatus = 0
   133  	// STAGING is the state for a transaction which has issued all of
   134  	// its writes and is in the process of committing. Mutations made
   135  	// as part of a transaction in this state may still be in-flight
   136  	// and can not be assumed to have succeeded. A transaction may
   137  	// transition from the STAGING to the COMMITTED state only if all
   138  	// of its in-flight mutations are confirmed to have succeeded. A
   139  	// transaction may transition from the STAGING to PENDING or ABORTED
   140  	// state only if one of its in-flight requests is prevented from ever
   141  	// succeeding.
   142  	STAGING TransactionStatus = 3
   143  	// COMMITTED is the state for a transaction which has been
   144  	// committed. Mutations made as part of a transaction which is moved
   145  	// into COMMITTED state become durable and visible to other
   146  	// transactions, moving from "intents" to permanent versioned
   147  	// values.
   148  	COMMITTED TransactionStatus = 1
   149  	// ABORTED is the state for a transaction which has been aborted.
   150  	// Mutations made as part of a transaction which is moved into
   151  	// ABORTED state are deleted and are never made visible to other
   152  	// transactions.
   153  	ABORTED TransactionStatus = 2
   154  )
   155  
   156  var TransactionStatus_name = map[int32]string{
   157  	0: "PENDING",
   158  	3: "STAGING",
   159  	1: "COMMITTED",
   160  	2: "ABORTED",
   161  }
   162  var TransactionStatus_value = map[string]int32{
   163  	"PENDING":   0,
   164  	"STAGING":   3,
   165  	"COMMITTED": 1,
   166  	"ABORTED":   2,
   167  }
   168  
   169  func (x TransactionStatus) String() string {
   170  	return proto.EnumName(TransactionStatus_name, int32(x))
   171  }
   172  func (TransactionStatus) EnumDescriptor() ([]byte, []int) {
   173  	return fileDescriptor_data_171f939460d16c96, []int{2}
   174  }
   175  
   176  // Span is a key range with an inclusive start Key and an exclusive end Key.
   177  type Span struct {
   178  	// The start key of the key range.
   179  	Key Key `protobuf:"bytes,3,opt,name=key,proto3,casttype=Key" json:"key,omitempty"`
   180  	// The end key of the key range. The value is empty if the key range
   181  	// contains only a single key. Otherwise, it must order strictly after Key.
   182  	// In such a case, the Span encompasses the key range from Key to EndKey,
   183  	// including Key and excluding EndKey.
   184  	EndKey Key `protobuf:"bytes,4,opt,name=end_key,json=endKey,proto3,casttype=Key" json:"end_key,omitempty"`
   185  }
   186  
   187  func (m *Span) Reset()      { *m = Span{} }
   188  func (*Span) ProtoMessage() {}
   189  func (*Span) Descriptor() ([]byte, []int) {
   190  	return fileDescriptor_data_171f939460d16c96, []int{0}
   191  }
   192  func (m *Span) XXX_Unmarshal(b []byte) error {
   193  	return m.Unmarshal(b)
   194  }
   195  func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   196  	b = b[:cap(b)]
   197  	n, err := m.MarshalTo(b)
   198  	if err != nil {
   199  		return nil, err
   200  	}
   201  	return b[:n], nil
   202  }
   203  func (dst *Span) XXX_Merge(src proto.Message) {
   204  	xxx_messageInfo_Span.Merge(dst, src)
   205  }
   206  func (m *Span) XXX_Size() int {
   207  	return m.Size()
   208  }
   209  func (m *Span) XXX_DiscardUnknown() {
   210  	xxx_messageInfo_Span.DiscardUnknown(m)
   211  }
   212  
   213  var xxx_messageInfo_Span proto.InternalMessageInfo
   214  
   215  // Value specifies the value at a key. Multiple values at the same key are
   216  // supported based on timestamp. The data stored within a value is typed
   217  // (ValueType) and custom encoded into the raw_bytes field. A custom encoding
   218  // is used instead of separate proto fields to avoid proto overhead and to
   219  // avoid unnecessary encoding and decoding as the value gets read from disk and
   220  // passed through the network. The format is:
   221  //
   222  //   <4-byte-checksum><1-byte-tag><encoded-data>
   223  //
   224  // A CRC-32-IEEE checksum is computed from the associated key, tag and encoded
   225  // data, in that order.
   226  //
   227  // TODO(peter): Is a 4-byte checksum overkill when most (all?) values
   228  // will be less than 64KB?
   229  type Value struct {
   230  	// raw_bytes contains the encoded value and checksum.
   231  	//
   232  	// Its contents may be modified on the next call to Value.SetFoo.
   233  	RawBytes []byte `protobuf:"bytes,1,opt,name=raw_bytes,json=rawBytes,proto3" json:"raw_bytes,omitempty"`
   234  	// Timestamp of value.
   235  	Timestamp hlc.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
   236  }
   237  
   238  func (m *Value) Reset()         { *m = Value{} }
   239  func (m *Value) String() string { return proto.CompactTextString(m) }
   240  func (*Value) ProtoMessage()    {}
   241  func (*Value) Descriptor() ([]byte, []int) {
   242  	return fileDescriptor_data_171f939460d16c96, []int{1}
   243  }
   244  func (m *Value) XXX_Unmarshal(b []byte) error {
   245  	return m.Unmarshal(b)
   246  }
   247  func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   248  	b = b[:cap(b)]
   249  	n, err := m.MarshalTo(b)
   250  	if err != nil {
   251  		return nil, err
   252  	}
   253  	return b[:n], nil
   254  }
   255  func (dst *Value) XXX_Merge(src proto.Message) {
   256  	xxx_messageInfo_Value.Merge(dst, src)
   257  }
   258  func (m *Value) XXX_Size() int {
   259  	return m.Size()
   260  }
   261  func (m *Value) XXX_DiscardUnknown() {
   262  	xxx_messageInfo_Value.DiscardUnknown(m)
   263  }
   264  
   265  var xxx_messageInfo_Value proto.InternalMessageInfo
   266  
   267  // KeyValue is a pair of Key and Value for returned Key/Value pairs
   268  // from ScanRequest/ScanResponse. It embeds a Key and a Value.
   269  type KeyValue struct {
   270  	Key   Key   `protobuf:"bytes,1,opt,name=key,proto3,casttype=Key" json:"key,omitempty"`
   271  	Value Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value"`
   272  }
   273  
   274  func (m *KeyValue) Reset()         { *m = KeyValue{} }
   275  func (m *KeyValue) String() string { return proto.CompactTextString(m) }
   276  func (*KeyValue) ProtoMessage()    {}
   277  func (*KeyValue) Descriptor() ([]byte, []int) {
   278  	return fileDescriptor_data_171f939460d16c96, []int{2}
   279  }
   280  func (m *KeyValue) XXX_Unmarshal(b []byte) error {
   281  	return m.Unmarshal(b)
   282  }
   283  func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   284  	b = b[:cap(b)]
   285  	n, err := m.MarshalTo(b)
   286  	if err != nil {
   287  		return nil, err
   288  	}
   289  	return b[:n], nil
   290  }
   291  func (dst *KeyValue) XXX_Merge(src proto.Message) {
   292  	xxx_messageInfo_KeyValue.Merge(dst, src)
   293  }
   294  func (m *KeyValue) XXX_Size() int {
   295  	return m.Size()
   296  }
   297  func (m *KeyValue) XXX_DiscardUnknown() {
   298  	xxx_messageInfo_KeyValue.DiscardUnknown(m)
   299  }
   300  
   301  var xxx_messageInfo_KeyValue proto.InternalMessageInfo
   302  
   303  // A StoreIdent uniquely identifies a store in the cluster. The
   304  // StoreIdent is written to the underlying storage engine at a
   305  // store-reserved system key (KeyLocalIdent).
   306  type StoreIdent struct {
   307  	ClusterID github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"cluster_id"`
   308  	NodeID    NodeID                                              `protobuf:"varint,2,opt,name=node_id,json=nodeId,proto3,casttype=NodeID" json:"node_id,omitempty"`
   309  	StoreID   StoreID                                             `protobuf:"varint,3,opt,name=store_id,json=storeId,proto3,casttype=StoreID" json:"store_id,omitempty"`
   310  }
   311  
   312  func (m *StoreIdent) Reset()         { *m = StoreIdent{} }
   313  func (m *StoreIdent) String() string { return proto.CompactTextString(m) }
   314  func (*StoreIdent) ProtoMessage()    {}
   315  func (*StoreIdent) Descriptor() ([]byte, []int) {
   316  	return fileDescriptor_data_171f939460d16c96, []int{3}
   317  }
   318  func (m *StoreIdent) XXX_Unmarshal(b []byte) error {
   319  	return m.Unmarshal(b)
   320  }
   321  func (m *StoreIdent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   322  	b = b[:cap(b)]
   323  	n, err := m.MarshalTo(b)
   324  	if err != nil {
   325  		return nil, err
   326  	}
   327  	return b[:n], nil
   328  }
   329  func (dst *StoreIdent) XXX_Merge(src proto.Message) {
   330  	xxx_messageInfo_StoreIdent.Merge(dst, src)
   331  }
   332  func (m *StoreIdent) XXX_Size() int {
   333  	return m.Size()
   334  }
   335  func (m *StoreIdent) XXX_DiscardUnknown() {
   336  	xxx_messageInfo_StoreIdent.DiscardUnknown(m)
   337  }
   338  
   339  var xxx_messageInfo_StoreIdent proto.InternalMessageInfo
   340  
   341  // A SplitTrigger is run after a successful commit of an AdminSplit
   342  // command. It provides the updated left hand side of the split's
   343  // range descriptor (left_desc) and the new range descriptor covering
   344  // the right hand side of the split (right_desc). This information
   345  // allows the final bookkeeping for the split to be completed and the
   346  // new range put into operation.
   347  type SplitTrigger struct {
   348  	LeftDesc  RangeDescriptor `protobuf:"bytes,1,opt,name=left_desc,json=leftDesc,proto3" json:"left_desc"`
   349  	RightDesc RangeDescriptor `protobuf:"bytes,2,opt,name=right_desc,json=rightDesc,proto3" json:"right_desc"`
   350  }
   351  
   352  func (m *SplitTrigger) Reset()         { *m = SplitTrigger{} }
   353  func (m *SplitTrigger) String() string { return proto.CompactTextString(m) }
   354  func (*SplitTrigger) ProtoMessage()    {}
   355  func (*SplitTrigger) Descriptor() ([]byte, []int) {
   356  	return fileDescriptor_data_171f939460d16c96, []int{4}
   357  }
   358  func (m *SplitTrigger) XXX_Unmarshal(b []byte) error {
   359  	return m.Unmarshal(b)
   360  }
   361  func (m *SplitTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   362  	b = b[:cap(b)]
   363  	n, err := m.MarshalTo(b)
   364  	if err != nil {
   365  		return nil, err
   366  	}
   367  	return b[:n], nil
   368  }
   369  func (dst *SplitTrigger) XXX_Merge(src proto.Message) {
   370  	xxx_messageInfo_SplitTrigger.Merge(dst, src)
   371  }
   372  func (m *SplitTrigger) XXX_Size() int {
   373  	return m.Size()
   374  }
   375  func (m *SplitTrigger) XXX_DiscardUnknown() {
   376  	xxx_messageInfo_SplitTrigger.DiscardUnknown(m)
   377  }
   378  
   379  var xxx_messageInfo_SplitTrigger proto.InternalMessageInfo
   380  
   381  // A MergeTrigger is run after a successful commit of an AdminMerge
   382  // command. It provides the updated left hand side of the split's
   383  // range descriptor (left_desc) that now encompasses what was
   384  // originally both ranges and the soon-to-be-invalid range descriptor
   385  // that used to cover the subsumed, right hand side of the merge
   386  // (right_desc). This information allows the final bookkeeping for the
   387  // merge to be completed and put into operation.
   388  type MergeTrigger struct {
   389  	LeftDesc       RangeDescriptor    `protobuf:"bytes,1,opt,name=left_desc,json=leftDesc,proto3" json:"left_desc"`
   390  	RightDesc      RangeDescriptor    `protobuf:"bytes,2,opt,name=right_desc,json=rightDesc,proto3" json:"right_desc"`
   391  	RightMVCCStats enginepb.MVCCStats `protobuf:"bytes,4,opt,name=right_mvcc_stats,json=rightMvccStats,proto3" json:"right_mvcc_stats"`
   392  	// FreezeStart is a timestamp that is guaranteed to be greater than the
   393  	// timestamps at which any requests were serviced by the responding replica
   394  	// before it stopped responding to requests altogether (in anticipation of
   395  	// being subsumed). It is suitable for use as the timestamp cache's low water
   396  	// mark for the keys previously owned by the subsumed range.
   397  	FreezeStart hlc.Timestamp `protobuf:"bytes,5,opt,name=freeze_start,json=freezeStart,proto3" json:"freeze_start"`
   398  }
   399  
   400  func (m *MergeTrigger) Reset()         { *m = MergeTrigger{} }
   401  func (m *MergeTrigger) String() string { return proto.CompactTextString(m) }
   402  func (*MergeTrigger) ProtoMessage()    {}
   403  func (*MergeTrigger) Descriptor() ([]byte, []int) {
   404  	return fileDescriptor_data_171f939460d16c96, []int{5}
   405  }
   406  func (m *MergeTrigger) XXX_Unmarshal(b []byte) error {
   407  	return m.Unmarshal(b)
   408  }
   409  func (m *MergeTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   410  	b = b[:cap(b)]
   411  	n, err := m.MarshalTo(b)
   412  	if err != nil {
   413  		return nil, err
   414  	}
   415  	return b[:n], nil
   416  }
   417  func (dst *MergeTrigger) XXX_Merge(src proto.Message) {
   418  	xxx_messageInfo_MergeTrigger.Merge(dst, src)
   419  }
   420  func (m *MergeTrigger) XXX_Size() int {
   421  	return m.Size()
   422  }
   423  func (m *MergeTrigger) XXX_DiscardUnknown() {
   424  	xxx_messageInfo_MergeTrigger.DiscardUnknown(m)
   425  }
   426  
   427  var xxx_messageInfo_MergeTrigger proto.InternalMessageInfo
   428  
   429  // ChangeReplicasTrigger carries out a replication change. The Added() and
   430  // Removed() methods return the replicas being added and removed, respectively.
   431  // If more than one change is specified (i.e. len(Added())+len(Removed())
   432  // exceeds one), this initiates an atomic replication change in which the
   433  // "removed" replicas are of type VOTER_OUTGOING or VOTER_DEMOTING (if they are
   434  // to be turned into learners instead); as a caveat a single demotion already
   435  // counts as two changes (and is tracked as a Removal() only). This joint
   436  // configuration is left via another ChangeReplicasTrigger which does not
   437  // specify any additions nor removals.
   438  type ChangeReplicasTrigger struct {
   439  	// TODO(tbg): remove once we know that no trigger using this will ever be
   440  	// applied (this will require something like #39182).
   441  	//
   442  	// TODO(tbg): when removing this, also rename internal_x_replicas to just
   443  	// x_replicas and remove the getter.
   444  	DeprecatedChangeType ReplicaChangeType `protobuf:"varint,1,opt,name=deprecated_change_type,json=deprecatedChangeType,proto3,enum=cockroach.roachpb.ReplicaChangeType" json:"deprecated_change_type,omitempty"`
   445  	// The replica being modified.
   446  	// TODO(tbg): remove once we know that no trigger using this will ever be
   447  	// applied (this will require something like #39182).
   448  	DeprecatedReplica ReplicaDescriptor `protobuf:"bytes,2,opt,name=deprecated_replica,json=deprecatedReplica,proto3" json:"deprecated_replica"`
   449  	// The new replica list with this change applied.
   450  	DeprecatedUpdatedReplicas []ReplicaDescriptor `protobuf:"bytes,3,rep,name=deprecated_updated_replicas,json=deprecatedUpdatedReplicas,proto3" json:"deprecated_updated_replicas"`
   451  	// The next replica id to use with this change applied.
   452  	DeprecatedNextReplicaID ReplicaID `protobuf:"varint,4,opt,name=deprecated_next_replica_id,json=deprecatedNextReplicaId,proto3,casttype=ReplicaID" json:"deprecated_next_replica_id,omitempty"`
   453  	// The updated range descriptor. If desc is non-nil, then it overrides
   454  	// updated_replicas and next_replica_id. This incremental addition is needed
   455  	// to maintain backwards compatibility.
   456  	// TODO(jeffreyxiao): Remove deprecated_updated_replicas and
   457  	// deprecated_next_replica_id in 20.1.
   458  	Desc *RangeDescriptor `protobuf:"bytes,5,opt,name=desc,proto3" json:"desc,omitempty"`
   459  	// The new replicas added to the range descriptor in this change, exactly as
   460  	// they appear in the updated range descriptor.
   461  	InternalAddedReplicas []ReplicaDescriptor `protobuf:"bytes,6,rep,name=internal_added_replicas,json=internalAddedReplicas,proto3" json:"internal_added_replicas"`
   462  	// The replicas whose removal is being initiated in this change. If the
   463  	// replica is still present as an outgoing voter in the updated descriptor
   464  	// (i.e. if this is a full atomic replication change), then the replica here
   465  	// must match that in the descriptor; otherwise it must match the replica
   466  	// removed from the descriptor in the course of this change (which is itself
   467  	// not visible to this trigger).
   468  	InternalRemovedReplicas []ReplicaDescriptor `protobuf:"bytes,7,rep,name=internal_removed_replicas,json=internalRemovedReplicas,proto3" json:"internal_removed_replicas"`
   469  }
   470  
   471  func (m *ChangeReplicasTrigger) Reset()      { *m = ChangeReplicasTrigger{} }
   472  func (*ChangeReplicasTrigger) ProtoMessage() {}
   473  func (*ChangeReplicasTrigger) Descriptor() ([]byte, []int) {
   474  	return fileDescriptor_data_171f939460d16c96, []int{6}
   475  }
   476  func (m *ChangeReplicasTrigger) XXX_Unmarshal(b []byte) error {
   477  	return m.Unmarshal(b)
   478  }
   479  func (m *ChangeReplicasTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   480  	b = b[:cap(b)]
   481  	n, err := m.MarshalTo(b)
   482  	if err != nil {
   483  		return nil, err
   484  	}
   485  	return b[:n], nil
   486  }
   487  func (dst *ChangeReplicasTrigger) XXX_Merge(src proto.Message) {
   488  	xxx_messageInfo_ChangeReplicasTrigger.Merge(dst, src)
   489  }
   490  func (m *ChangeReplicasTrigger) XXX_Size() int {
   491  	return m.Size()
   492  }
   493  func (m *ChangeReplicasTrigger) XXX_DiscardUnknown() {
   494  	xxx_messageInfo_ChangeReplicasTrigger.DiscardUnknown(m)
   495  }
   496  
   497  var xxx_messageInfo_ChangeReplicasTrigger proto.InternalMessageInfo
   498  
   499  // ModifiedSpanTrigger indicates that a specific span has been modified.
   500  // This can be used to trigger scan-and-gossip for the given span.
   501  type ModifiedSpanTrigger struct {
   502  	SystemConfigSpan bool `protobuf:"varint,1,opt,name=system_config_span,json=systemConfigSpan,proto3" json:"system_config_span,omitempty"`
   503  	// node_liveness_span is set to indicate that node liveness records
   504  	// need re-gossiping after modification or range lease updates. The
   505  	// span is set to a single key when nodes update their liveness records
   506  	// with heartbeats to extend the expiration timestamp. Changes to the
   507  	// range lease for the range containing node liveness triggers re-gossip
   508  	// of the entire node liveness key range.
   509  	NodeLivenessSpan *Span `protobuf:"bytes,2,opt,name=node_liveness_span,json=nodeLivenessSpan,proto3" json:"node_liveness_span,omitempty"`
   510  }
   511  
   512  func (m *ModifiedSpanTrigger) Reset()         { *m = ModifiedSpanTrigger{} }
   513  func (m *ModifiedSpanTrigger) String() string { return proto.CompactTextString(m) }
   514  func (*ModifiedSpanTrigger) ProtoMessage()    {}
   515  func (*ModifiedSpanTrigger) Descriptor() ([]byte, []int) {
   516  	return fileDescriptor_data_171f939460d16c96, []int{7}
   517  }
   518  func (m *ModifiedSpanTrigger) XXX_Unmarshal(b []byte) error {
   519  	return m.Unmarshal(b)
   520  }
   521  func (m *ModifiedSpanTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   522  	b = b[:cap(b)]
   523  	n, err := m.MarshalTo(b)
   524  	if err != nil {
   525  		return nil, err
   526  	}
   527  	return b[:n], nil
   528  }
   529  func (dst *ModifiedSpanTrigger) XXX_Merge(src proto.Message) {
   530  	xxx_messageInfo_ModifiedSpanTrigger.Merge(dst, src)
   531  }
   532  func (m *ModifiedSpanTrigger) XXX_Size() int {
   533  	return m.Size()
   534  }
   535  func (m *ModifiedSpanTrigger) XXX_DiscardUnknown() {
   536  	xxx_messageInfo_ModifiedSpanTrigger.DiscardUnknown(m)
   537  }
   538  
   539  var xxx_messageInfo_ModifiedSpanTrigger proto.InternalMessageInfo
   540  
   541  // StickyBitTrigger indicates that the sticky bit of a range should be changed.
   542  // This trigger is used in two cases:
   543  // 1. Unsplitting a range. Note that unsplitting and merging are different
   544  //    operations. Unsplitting a range will only update the expiration time
   545  //    associated with the range to hlc.Timestamp{}.
   546  // 2. Splitting at the start key of a range. In this case, no range is split but
   547  //    the sticky bit is might be updated, so we need to use this trigger instead
   548  //    of SplitTrigger.
   549  //
   550  // Note that the sticky_bit should always be set to the same timestamp used to
   551  // update the range descriptor and it's the client's responsibility that the
   552  // timestamps are aligned.
   553  type StickyBitTrigger struct {
   554  	// Set to nil to remove a RangeDescriptor's sticky bit.
   555  	StickyBit hlc.Timestamp `protobuf:"bytes,1,opt,name=sticky_bit,json=stickyBit,proto3" json:"sticky_bit"`
   556  }
   557  
   558  func (m *StickyBitTrigger) Reset()         { *m = StickyBitTrigger{} }
   559  func (m *StickyBitTrigger) String() string { return proto.CompactTextString(m) }
   560  func (*StickyBitTrigger) ProtoMessage()    {}
   561  func (*StickyBitTrigger) Descriptor() ([]byte, []int) {
   562  	return fileDescriptor_data_171f939460d16c96, []int{8}
   563  }
   564  func (m *StickyBitTrigger) XXX_Unmarshal(b []byte) error {
   565  	return m.Unmarshal(b)
   566  }
   567  func (m *StickyBitTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   568  	b = b[:cap(b)]
   569  	n, err := m.MarshalTo(b)
   570  	if err != nil {
   571  		return nil, err
   572  	}
   573  	return b[:n], nil
   574  }
   575  func (dst *StickyBitTrigger) XXX_Merge(src proto.Message) {
   576  	xxx_messageInfo_StickyBitTrigger.Merge(dst, src)
   577  }
   578  func (m *StickyBitTrigger) XXX_Size() int {
   579  	return m.Size()
   580  }
   581  func (m *StickyBitTrigger) XXX_DiscardUnknown() {
   582  	xxx_messageInfo_StickyBitTrigger.DiscardUnknown(m)
   583  }
   584  
   585  var xxx_messageInfo_StickyBitTrigger proto.InternalMessageInfo
   586  
   587  // InternalCommitTrigger encapsulates all of the internal-only commit triggers.
   588  // Only one may be set.
   589  type InternalCommitTrigger struct {
   590  	SplitTrigger          *SplitTrigger          `protobuf:"bytes,1,opt,name=split_trigger,json=splitTrigger,proto3" json:"split_trigger,omitempty"`
   591  	MergeTrigger          *MergeTrigger          `protobuf:"bytes,2,opt,name=merge_trigger,json=mergeTrigger,proto3" json:"merge_trigger,omitempty"`
   592  	ChangeReplicasTrigger *ChangeReplicasTrigger `protobuf:"bytes,3,opt,name=change_replicas_trigger,json=changeReplicasTrigger,proto3" json:"change_replicas_trigger,omitempty"`
   593  	ModifiedSpanTrigger   *ModifiedSpanTrigger   `protobuf:"bytes,4,opt,name=modified_span_trigger,json=modifiedSpanTrigger,proto3" json:"modified_span_trigger,omitempty"`
   594  	StickyBitTrigger      *StickyBitTrigger      `protobuf:"bytes,5,opt,name=sticky_bit_trigger,json=stickyBitTrigger,proto3" json:"sticky_bit_trigger,omitempty"`
   595  }
   596  
   597  func (m *InternalCommitTrigger) Reset()         { *m = InternalCommitTrigger{} }
   598  func (m *InternalCommitTrigger) String() string { return proto.CompactTextString(m) }
   599  func (*InternalCommitTrigger) ProtoMessage()    {}
   600  func (*InternalCommitTrigger) Descriptor() ([]byte, []int) {
   601  	return fileDescriptor_data_171f939460d16c96, []int{9}
   602  }
   603  func (m *InternalCommitTrigger) XXX_Unmarshal(b []byte) error {
   604  	return m.Unmarshal(b)
   605  }
   606  func (m *InternalCommitTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   607  	b = b[:cap(b)]
   608  	n, err := m.MarshalTo(b)
   609  	if err != nil {
   610  		return nil, err
   611  	}
   612  	return b[:n], nil
   613  }
   614  func (dst *InternalCommitTrigger) XXX_Merge(src proto.Message) {
   615  	xxx_messageInfo_InternalCommitTrigger.Merge(dst, src)
   616  }
   617  func (m *InternalCommitTrigger) XXX_Size() int {
   618  	return m.Size()
   619  }
   620  func (m *InternalCommitTrigger) XXX_DiscardUnknown() {
   621  	xxx_messageInfo_InternalCommitTrigger.DiscardUnknown(m)
   622  }
   623  
   624  var xxx_messageInfo_InternalCommitTrigger proto.InternalMessageInfo
   625  
   626  func (m *InternalCommitTrigger) GetSplitTrigger() *SplitTrigger {
   627  	if m != nil {
   628  		return m.SplitTrigger
   629  	}
   630  	return nil
   631  }
   632  
   633  func (m *InternalCommitTrigger) GetMergeTrigger() *MergeTrigger {
   634  	if m != nil {
   635  		return m.MergeTrigger
   636  	}
   637  	return nil
   638  }
   639  
   640  func (m *InternalCommitTrigger) GetChangeReplicasTrigger() *ChangeReplicasTrigger {
   641  	if m != nil {
   642  		return m.ChangeReplicasTrigger
   643  	}
   644  	return nil
   645  }
   646  
   647  func (m *InternalCommitTrigger) GetModifiedSpanTrigger() *ModifiedSpanTrigger {
   648  	if m != nil {
   649  		return m.ModifiedSpanTrigger
   650  	}
   651  	return nil
   652  }
   653  
   654  func (m *InternalCommitTrigger) GetStickyBitTrigger() *StickyBitTrigger {
   655  	if m != nil {
   656  		return m.StickyBitTrigger
   657  	}
   658  	return nil
   659  }
   660  
   661  type ObservedTimestamp struct {
   662  	NodeID    NodeID        `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3,casttype=NodeID" json:"node_id,omitempty"`
   663  	Timestamp hlc.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
   664  }
   665  
   666  func (m *ObservedTimestamp) Reset()         { *m = ObservedTimestamp{} }
   667  func (m *ObservedTimestamp) String() string { return proto.CompactTextString(m) }
   668  func (*ObservedTimestamp) ProtoMessage()    {}
   669  func (*ObservedTimestamp) Descriptor() ([]byte, []int) {
   670  	return fileDescriptor_data_171f939460d16c96, []int{10}
   671  }
   672  func (m *ObservedTimestamp) XXX_Unmarshal(b []byte) error {
   673  	return m.Unmarshal(b)
   674  }
   675  func (m *ObservedTimestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   676  	b = b[:cap(b)]
   677  	n, err := m.MarshalTo(b)
   678  	if err != nil {
   679  		return nil, err
   680  	}
   681  	return b[:n], nil
   682  }
   683  func (dst *ObservedTimestamp) XXX_Merge(src proto.Message) {
   684  	xxx_messageInfo_ObservedTimestamp.Merge(dst, src)
   685  }
   686  func (m *ObservedTimestamp) XXX_Size() int {
   687  	return m.Size()
   688  }
   689  func (m *ObservedTimestamp) XXX_DiscardUnknown() {
   690  	xxx_messageInfo_ObservedTimestamp.DiscardUnknown(m)
   691  }
   692  
   693  var xxx_messageInfo_ObservedTimestamp proto.InternalMessageInfo
   694  
   695  // A Transaction is a unit of work performed on the database.
   696  // Cockroach transactions always operate at the serializable isolation
   697  // level. Each Cockroach transaction is assigned a random priority.
   698  // This priority will be used to decide whether a transaction will be
   699  // aborted during contention.
   700  //
   701  // If you add fields to Transaction you'll need to update
   702  // Transaction.Clone. Failure to do so will result in test failures.
   703  type Transaction struct {
   704  	// The transaction metadata. This field includes the subset of information
   705  	// that is persisted with every write intent.
   706  	enginepb.TxnMeta `protobuf:"bytes,1,opt,name=meta,proto3,embedded=meta" json:"meta"`
   707  	// A free-text identifier for debug purposes.
   708  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   709  	// The status of the transaction.
   710  	Status TransactionStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cockroach.roachpb.TransactionStatus" json:"status,omitempty"`
   711  	// The last time that the transaction's record was sent a heartbeat by its
   712  	// coordinator to indicate client activity. Concurrent transactions will
   713  	// avoid aborting a transaction if it observes recent-enough activity.
   714  	LastHeartbeat hlc.Timestamp `protobuf:"bytes,5,opt,name=last_heartbeat,json=lastHeartbeat,proto3" json:"last_heartbeat"`
   715  	// The timestamp at which the transaction's current epoch started. Up until
   716  	// version 19.2, this was used in conjunction with read_timestamp to
   717  	// determine a transaction's read timestamp. In 20.1, read_timestamp
   718  	// alone is sufficient. This is just maintained for compatibility with 19.2.
   719  	// TODO(andrei): Remove in 20.2.
   720  	DeprecatedOrigTimestamp hlc.Timestamp `protobuf:"bytes,6,opt,name=deprecated_orig_timestamp,json=deprecatedOrigTimestamp,proto3" json:"deprecated_orig_timestamp"`
   721  	// This flag is set if the transaction's timestamp was "leaked" beyond the
   722  	// transaction (e.g. via cluster_logical_timestamp()). If true, this prevents
   723  	// the transaction's timestamp from being pushed, which means that the txn
   724  	// can't commit at a higher timestamp without resorting to a client-side
   725  	// retry.
   726  	CommitTimestampFixed bool `protobuf:"varint,16,opt,name=commit_timestamp_fixed,json=commitTimestampFixed,proto3" json:"commit_timestamp_fixed,omitempty"`
   727  	// The transaction's read timestamp. All reads are performed at this
   728  	// timestamp, ensuring that the transaction runs on top of a consistent
   729  	// snapshot of the database.
   730  	// Writes are performed at the transaction's write timestamp (meta.timestamp).
   731  	// The write timestamp can diverge from the read timestamp when a write is
   732  	// "pushed": for example in case a write runs into the timestamp cache, we're
   733  	// forced to write at a higher timestamp. Being serializable, the transaction
   734  	// can't commit if the write timestamp diverged from the read timestamp unless
   735  	// we prove that the read timestamp can also be advanced to match the
   736  	// write timestamp; it can be advanced if the two timestamps are equivalent
   737  	// for everything that the transaction has read (meaning that there's no
   738  	// values in between the read timestamp and the write timestamp for any key in
   739  	// the txn's read set). We call checking whether the read timestamp can
   740  	// advance "refreshing the read set". So, the read timestamp advances after a
   741  	// successful refresh or, if the refresh is unsuccessful, after a transaction
   742  	// restart.
   743  	ReadTimestamp hlc.Timestamp `protobuf:"bytes,15,opt,name=read_timestamp,json=readTimestamp,proto3" json:"read_timestamp"`
   744  	// Initial Timestamp + clock skew. Reads which encounter values with
   745  	// timestamps between timestamp and max_timestamp trigger a txn
   746  	// retry error, unless the node being read is listed in observed_timestamps
   747  	// (in which case no more read uncertainty can occur).
   748  	// The case max_timestamp < timestamp is possible for transactions which have
   749  	// been pushed; in this case, max_timestamp should be ignored.
   750  	MaxTimestamp hlc.Timestamp `protobuf:"bytes,7,opt,name=max_timestamp,json=maxTimestamp,proto3" json:"max_timestamp"`
   751  	// A list of <NodeID, timestamp> pairs. The list maps NodeIDs to timestamps
   752  	// as observed from their local clock during this transaction. The purpose of
   753  	// this list is to avoid uncertainty related restarts which normally occur
   754  	// when reading a value in the near future as per the max_timestamp field.
   755  	//
   756  	// ### Meaning:
   757  	//
   758  	// Morally speaking, having an entry for a node in this list means that this
   759  	// node has been visited before, and that no more uncertainty restarts are
   760  	// expected for operations served from it. However, this is not entirely
   761  	// accurate. For example, say a txn starts with read_timestamp=1 (and some
   762  	// large max_timestamp). It then reads key "a" from node A, registering an
   763  	// entry `A -> 5` in the process (`5` happens to be a timestamp taken off
   764  	// that node's clock at the start of the read).
   765  	//
   766  	// Now assume that some other transaction writes and commits a value at key "b"
   767  	// and timestamp 4 (again, served by node A), and our transaction attempts to
   768  	// read that key. Since there is an entry in its observed_timestamps for A,
   769  	// our uncertainty window is `[read_timestamp, 5) = [1, 5)` but the value at
   770  	// key "b" is in that window, and so we will restart. However, we will restart
   771  	// with a timestamp that is at least high as our entry in the list for node A,
   772  	// so no future operation on node A will be uncertain.
   773  	//
   774  	// ### Correctness:
   775  	//
   776  	// Thus, expressed properly, we can say that when a node has been read from
   777  	// successfully before by a transaction, uncertainty for values written by a
   778  	// leaseholder on that node is restricted to values with timestamps in the
   779  	// interval [read_timestamp, first_visit_timestamp). An upper bound can be
   780  	// placed on the uncertainty window because we are guaranteed that at the time
   781  	// that the transaction first visited the node, none of the Ranges that it was
   782  	// a leaseholder for had served any writes at higher timestamps than the clock
   783  	// reading we observe. This implies the following property:
   784  	//
   785  	//    Any writes that the transaction may later see written by leaseholders on
   786  	//    this node at higher timestamps than the observed timestamp could not have
   787  	//    taken place causally before this transaction and can be ignored for the
   788  	//    purposes of uncertainty.
   789  	//
   790  	// There are two invariants necessary for this property to hold:
   791  	// 1. a leaseholder's clock must always be equal to or greater than the timestamp
   792  	//    of all writes that it has served. This is trivial to enforce for
   793  	//    non-transactional writes. It is more complicated for transactional writes
   794  	//    which may move their commit timestamp forward over their lifetime before
   795  	//    committing, even after writing intents on remote Ranges. To accommodate
   796  	//    this situation, transactions ensure that at the time of their commit, any
   797  	//    leaseholder for a Range that contains one of its intent has an HLC clock
   798  	//    with an equal or greater timestamp than the transaction's commit timestamp.
   799  	//    TODO(nvanbenschoten): This is violated by txn refreshes. See #36431.
   800  	// 2. a leaseholder's clock must always be equal to or greater than the timestamp
   801  	//    of all writes that previous leaseholders for its Range have served. We
   802  	//    enforce that when a Replica acquires a lease it bumps its node's clock to a
   803  	//    time higher than the previous leaseholder's clock when it stopped serving
   804  	//    writes. This is accomplished cooperatively for lease transfers and through
   805  	//    a statis period before lease expiration for lease acquisitions. It then
   806  	//    follows by induction that, in conjunction with the previous invariant, this
   807  	//    invariant holds for all leaseholders, given that a Range's initial
   808  	//    leaseholder assumes responsibility for an empty range with no writes.
   809  	//
   810  	// ### Usage:
   811  	//
   812  	// The property ensures that when this list holds a corresponding entry for
   813  	// the node who owns the lease that the current request is executing under, we
   814  	// can run the request with the list's timestamp as the upper bound for its
   815  	// uncertainty interval, limiting (and often avoiding) uncertainty restarts.
   816  	// We do this by lowering the request's max_timestamp down to the timestamp in
   817  	// the observed timestamp entry, which is done in Replica.limitTxnMaxTimestamp.
   818  	//
   819  	// However, as stated, the correctness property only holds for values at
   820  	// higher timestamps than the observed timestamp written *by leaseholders on
   821  	// this node*. This is critical, as the property tells us nothing about values
   822  	// written by leaseholders on different nodes, even if a lease for one of
   823  	// those Ranges has since moved to a node that we have an observed timestamp
   824  	// entry for. To accommodate this limitation, Replica.limitTxnMaxTimestamp
   825  	// first forwards the timestamp in the observed timestamp entry by the start
   826  	// timestamp of the lease that the request is executing under before using it
   827  	// to limit the request's uncertainty interval.
   828  	//
   829  	// When a transaction is first initialized on a node, it may use a timestamp
   830  	// from the local hybrid logical clock to initialize the corresponding entry
   831  	// in the list. In particular, if `read_timestamp` is taken from that node's
   832  	// clock, we may add that to the list, which eliminates read uncertainty for
   833  	// reads on that node.
   834  	//
   835  	// The slice of observed timestamps is kept sorted by NodeID. Use
   836  	// Transaction.UpdateObservedTimestamp to maintain the sorted order. The
   837  	// slice should be treated as immutable and all updates should be performed
   838  	// on a copy of the slice.
   839  	ObservedTimestamps []ObservedTimestamp `protobuf:"bytes,8,rep,name=observed_timestamps,json=observedTimestamps,proto3" json:"observed_timestamps"`
   840  	// If set, a write performed by the transaction could not be performed at the
   841  	// transaction's read timestamp because a newer value was present. Had our
   842  	// write been performed, it would have overwritten the other value even though
   843  	// that value might not have been read by a previous read in the transaction
   844  	// (i.e. lost update anomaly). The write is still performed, but this flag is
   845  	// set and the txn's write timestamp is bumped, so the client will not be able
   846  	// to commit without performing a refresh.
   847  	//
   848  	// Since 20.1, errors do not carry this flag; only successful BatchResponses
   849  	// do. When possible, such a BatchResponse is preferred to a WriteTooOldError
   850  	// because the former leaves intents behind to act as locks.
   851  	//
   852  	// On the client, the txnSpanRefresher terminates this flag by refreshing
   853  	// eagerly when the flag is set. If the key that generated the write too old
   854  	// condition had been previously read by the transaction, a refresh of the
   855  	// transaction's read span will surely fail. The client is not currently smart
   856  	// enough to avoid hopeless refreshes, though.
   857  	//
   858  	// Historically, this field was also important for SNAPSHOT transactions which
   859  	// could commit in other situations when the write timestamp is bumped, but
   860  	// not when this flag is set (since lost updates cannot be tolerated even in
   861  	// SNAPSHOT). In SERIALIZABLE isolation, transactions generally don't commit
   862  	// with a bumped write timestamp, so this flag is only telling us that a
   863  	// refresh is less likely to succeed than in other cases where
   864  	// ReadTimestamp != WriteTimestamp.
   865  	WriteTooOld bool `protobuf:"varint,12,opt,name=write_too_old,json=writeTooOld,proto3" json:"write_too_old,omitempty"`
   866  	// Set of spans that the transaction has acquired locks within. These are
   867  	// spans which must be resolved on txn completion. Note that these spans
   868  	// may be condensed to cover aggregate spans if the keys locked by the
   869  	// transaction exceeded a size threshold.
   870  	//
   871  	// The set logically extends to include the keys of all writes in the
   872  	// in-flight write set. However, those keys are not stored in this set
   873  	// to avoid duplication. This means that elements that are removed from
   874  	// that set should be merged into this one.
   875  	//
   876  	// The slice is maintained in sorted order and all spans are maximally
   877  	// merged such that no two spans here overlap each other. It should be
   878  	// treated as immutable and all updates should be performed on a copy
   879  	// of the slice.
   880  	LockSpans []Span `protobuf:"bytes,11,rep,name=lock_spans,json=lockSpans,proto3" json:"lock_spans"`
   881  	// Set of in-flight intent writes that have been issued by the transaction but
   882  	// which may not have succeeded yet. If any in-flight writes are provided, a
   883  	// committing EndTxn request will move a PENDING transaction to the STAGING
   884  	// status instead of the COMMITTED status. These in-flight writes must then
   885  	// all be confirmed as successful before the transaction can be moved from
   886  	// STAGING to COMMITTED. Because of this, the set will only ever contain
   887  	// entries when the transaction is STAGING. For more, see txnCommitter.
   888  	//
   889  	// The slice is maintained in sorted order by sequence number. It should be
   890  	// treated as immutable and all updates should be performed on a copy of the
   891  	// slice.
   892  	InFlightWrites []SequencedWrite `protobuf:"bytes,17,rep,name=in_flight_writes,json=inFlightWrites,proto3" json:"in_flight_writes"`
   893  	// A list of ignored seqnum ranges.
   894  	//
   895  	// The slice is maintained as non-overlapping, non-contiguous (i.e. it must
   896  	// coalesce ranges to avoid situations where a range's end seqnum is equal to
   897  	// the next range's start seqnum), and sorted in seqnum order. It should be
   898  	// treated as immutable and all updates should be performed on a copy of the
   899  	// slice.
   900  	IgnoredSeqNums []enginepb.IgnoredSeqNumRange `protobuf:"bytes,18,rep,name=ignored_seqnums,json=ignoredSeqnums,proto3" json:"ignored_seqnums"`
   901  }
   902  
   903  func (m *Transaction) Reset()      { *m = Transaction{} }
   904  func (*Transaction) ProtoMessage() {}
   905  func (*Transaction) Descriptor() ([]byte, []int) {
   906  	return fileDescriptor_data_171f939460d16c96, []int{11}
   907  }
   908  func (m *Transaction) XXX_Unmarshal(b []byte) error {
   909  	return m.Unmarshal(b)
   910  }
   911  func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   912  	b = b[:cap(b)]
   913  	n, err := m.MarshalTo(b)
   914  	if err != nil {
   915  		return nil, err
   916  	}
   917  	return b[:n], nil
   918  }
   919  func (dst *Transaction) XXX_Merge(src proto.Message) {
   920  	xxx_messageInfo_Transaction.Merge(dst, src)
   921  }
   922  func (m *Transaction) XXX_Size() int {
   923  	return m.Size()
   924  }
   925  func (m *Transaction) XXX_DiscardUnknown() {
   926  	xxx_messageInfo_Transaction.DiscardUnknown(m)
   927  }
   928  
   929  var xxx_messageInfo_Transaction proto.InternalMessageInfo
   930  
   931  // A TransactionRecord message contains the subset of the fields in a
   932  // Transaction message that must be persisted in a transaction record.
   933  // It can be thought of as a mask for the fields in Transaction that
   934  // end up persisted in a transaction record.
   935  //
   936  // The message type is wire-compatible with persisted Transaction protos,
   937  // but avoids the overhead of the fields in Transaction that don't need to
   938  // be persisted in a transaction record. It also serves as a specification
   939  // for the fields that must be present in a transaction record.
   940  //
   941  // NOTE: any changes to this type must be reflected in the AsRecord and
   942  // AsTransaction methods.
   943  type TransactionRecord struct {
   944  	// See comments on Transaction proto.
   945  	enginepb.TxnMeta `protobuf:"bytes,1,opt,name=meta,proto3,embedded=meta" json:"meta"`
   946  	Status           TransactionStatus             `protobuf:"varint,4,opt,name=status,proto3,enum=cockroach.roachpb.TransactionStatus" json:"status,omitempty"`
   947  	LastHeartbeat    hlc.Timestamp                 `protobuf:"bytes,5,opt,name=last_heartbeat,json=lastHeartbeat,proto3" json:"last_heartbeat"`
   948  	LockSpans        []Span                        `protobuf:"bytes,11,rep,name=lock_spans,json=lockSpans,proto3" json:"lock_spans"`
   949  	InFlightWrites   []SequencedWrite              `protobuf:"bytes,17,rep,name=in_flight_writes,json=inFlightWrites,proto3" json:"in_flight_writes"`
   950  	IgnoredSeqNums   []enginepb.IgnoredSeqNumRange `protobuf:"bytes,18,rep,name=ignored_seqnums,json=ignoredSeqnums,proto3" json:"ignored_seqnums"`
   951  }
   952  
   953  func (m *TransactionRecord) Reset()         { *m = TransactionRecord{} }
   954  func (m *TransactionRecord) String() string { return proto.CompactTextString(m) }
   955  func (*TransactionRecord) ProtoMessage()    {}
   956  func (*TransactionRecord) Descriptor() ([]byte, []int) {
   957  	return fileDescriptor_data_171f939460d16c96, []int{12}
   958  }
   959  func (m *TransactionRecord) XXX_Unmarshal(b []byte) error {
   960  	return m.Unmarshal(b)
   961  }
   962  func (m *TransactionRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   963  	b = b[:cap(b)]
   964  	n, err := m.MarshalTo(b)
   965  	if err != nil {
   966  		return nil, err
   967  	}
   968  	return b[:n], nil
   969  }
   970  func (dst *TransactionRecord) XXX_Merge(src proto.Message) {
   971  	xxx_messageInfo_TransactionRecord.Merge(dst, src)
   972  }
   973  func (m *TransactionRecord) XXX_Size() int {
   974  	return m.Size()
   975  }
   976  func (m *TransactionRecord) XXX_DiscardUnknown() {
   977  	xxx_messageInfo_TransactionRecord.DiscardUnknown(m)
   978  }
   979  
   980  var xxx_messageInfo_TransactionRecord proto.InternalMessageInfo
   981  
   982  // A Intent is a Span together with a Transaction metadata. Intents messages
   983  // are used to reference persistent on-disk write intents. They are used on
   984  // the return path of e.g. scans, to report the existence of a write intent
   985  // on a key.
   986  //
   987  // Note: avoid constructing Intent directly; consider using MakeIntent() instead.
   988  type Intent struct {
   989  	Intent_SingleKeySpan `protobuf:"bytes,1,opt,name=single_key_span,json=singleKeySpan,proto3,embedded=single_key_span" json:"single_key_span"`
   990  	Txn                  enginepb.TxnMeta `protobuf:"bytes,2,opt,name=txn,proto3" json:"txn"`
   991  }
   992  
   993  func (m *Intent) Reset()         { *m = Intent{} }
   994  func (m *Intent) String() string { return proto.CompactTextString(m) }
   995  func (*Intent) ProtoMessage()    {}
   996  func (*Intent) Descriptor() ([]byte, []int) {
   997  	return fileDescriptor_data_171f939460d16c96, []int{13}
   998  }
   999  func (m *Intent) XXX_Unmarshal(b []byte) error {
  1000  	return m.Unmarshal(b)
  1001  }
  1002  func (m *Intent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1003  	b = b[:cap(b)]
  1004  	n, err := m.MarshalTo(b)
  1005  	if err != nil {
  1006  		return nil, err
  1007  	}
  1008  	return b[:n], nil
  1009  }
  1010  func (dst *Intent) XXX_Merge(src proto.Message) {
  1011  	xxx_messageInfo_Intent.Merge(dst, src)
  1012  }
  1013  func (m *Intent) XXX_Size() int {
  1014  	return m.Size()
  1015  }
  1016  func (m *Intent) XXX_DiscardUnknown() {
  1017  	xxx_messageInfo_Intent.DiscardUnknown(m)
  1018  }
  1019  
  1020  var xxx_messageInfo_Intent proto.InternalMessageInfo
  1021  
  1022  // SingleKeySpan preseves wire compatibility with an earlier version of this
  1023  // proto which used a Span. An Intent never spans keys, so there was no need
  1024  // for this to contain an EndKey.
  1025  type Intent_SingleKeySpan struct {
  1026  	// The start key of the key range.
  1027  	Key Key `protobuf:"bytes,3,opt,name=key,proto3,casttype=Key" json:"key,omitempty"`
  1028  }
  1029  
  1030  func (m *Intent_SingleKeySpan) Reset()         { *m = Intent_SingleKeySpan{} }
  1031  func (m *Intent_SingleKeySpan) String() string { return proto.CompactTextString(m) }
  1032  func (*Intent_SingleKeySpan) ProtoMessage()    {}
  1033  func (*Intent_SingleKeySpan) Descriptor() ([]byte, []int) {
  1034  	return fileDescriptor_data_171f939460d16c96, []int{13, 0}
  1035  }
  1036  func (m *Intent_SingleKeySpan) XXX_Unmarshal(b []byte) error {
  1037  	return m.Unmarshal(b)
  1038  }
  1039  func (m *Intent_SingleKeySpan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1040  	b = b[:cap(b)]
  1041  	n, err := m.MarshalTo(b)
  1042  	if err != nil {
  1043  		return nil, err
  1044  	}
  1045  	return b[:n], nil
  1046  }
  1047  func (dst *Intent_SingleKeySpan) XXX_Merge(src proto.Message) {
  1048  	xxx_messageInfo_Intent_SingleKeySpan.Merge(dst, src)
  1049  }
  1050  func (m *Intent_SingleKeySpan) XXX_Size() int {
  1051  	return m.Size()
  1052  }
  1053  func (m *Intent_SingleKeySpan) XXX_DiscardUnknown() {
  1054  	xxx_messageInfo_Intent_SingleKeySpan.DiscardUnknown(m)
  1055  }
  1056  
  1057  var xxx_messageInfo_Intent_SingleKeySpan proto.InternalMessageInfo
  1058  
  1059  // A LockAcquisition represents the action of a Transaction acquiring a lock
  1060  // with a specified durbility level over a Span of keys.
  1061  type LockAcquisition struct {
  1062  	Span       `protobuf:"bytes,1,opt,name=span,proto3,embedded=span" json:"span"`
  1063  	Txn        enginepb.TxnMeta `protobuf:"bytes,2,opt,name=txn,proto3" json:"txn"`
  1064  	Durability lock.Durability  `protobuf:"varint,3,opt,name=durability,proto3,enum=cockroach.kv.kvserver.concurrency.lock.Durability" json:"durability,omitempty"`
  1065  }
  1066  
  1067  func (m *LockAcquisition) Reset()         { *m = LockAcquisition{} }
  1068  func (m *LockAcquisition) String() string { return proto.CompactTextString(m) }
  1069  func (*LockAcquisition) ProtoMessage()    {}
  1070  func (*LockAcquisition) Descriptor() ([]byte, []int) {
  1071  	return fileDescriptor_data_171f939460d16c96, []int{14}
  1072  }
  1073  func (m *LockAcquisition) XXX_Unmarshal(b []byte) error {
  1074  	return m.Unmarshal(b)
  1075  }
  1076  func (m *LockAcquisition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1077  	b = b[:cap(b)]
  1078  	n, err := m.MarshalTo(b)
  1079  	if err != nil {
  1080  		return nil, err
  1081  	}
  1082  	return b[:n], nil
  1083  }
  1084  func (dst *LockAcquisition) XXX_Merge(src proto.Message) {
  1085  	xxx_messageInfo_LockAcquisition.Merge(dst, src)
  1086  }
  1087  func (m *LockAcquisition) XXX_Size() int {
  1088  	return m.Size()
  1089  }
  1090  func (m *LockAcquisition) XXX_DiscardUnknown() {
  1091  	xxx_messageInfo_LockAcquisition.DiscardUnknown(m)
  1092  }
  1093  
  1094  var xxx_messageInfo_LockAcquisition proto.InternalMessageInfo
  1095  
  1096  // A LockUpdate is a Span together with Transaction state. LockUpdate messages
  1097  // are used to update all locks held by the transaction within the span to the
  1098  // transaction's authoritative state. As such, the message is used as input
  1099  // argument to intent resolution, to pass the current txn status, timestamps and
  1100  // ignored seqnum ranges to the resolution algorithm.
  1101  type LockUpdate struct {
  1102  	Span           `protobuf:"bytes,1,opt,name=span,proto3,embedded=span" json:"span"`
  1103  	Txn            enginepb.TxnMeta              `protobuf:"bytes,2,opt,name=txn,proto3" json:"txn"`
  1104  	Status         TransactionStatus             `protobuf:"varint,3,opt,name=status,proto3,enum=cockroach.roachpb.TransactionStatus" json:"status,omitempty"`
  1105  	IgnoredSeqNums []enginepb.IgnoredSeqNumRange `protobuf:"bytes,4,rep,name=ignored_seqnums,json=ignoredSeqnums,proto3" json:"ignored_seqnums"`
  1106  }
  1107  
  1108  func (m *LockUpdate) Reset()         { *m = LockUpdate{} }
  1109  func (m *LockUpdate) String() string { return proto.CompactTextString(m) }
  1110  func (*LockUpdate) ProtoMessage()    {}
  1111  func (*LockUpdate) Descriptor() ([]byte, []int) {
  1112  	return fileDescriptor_data_171f939460d16c96, []int{15}
  1113  }
  1114  func (m *LockUpdate) XXX_Unmarshal(b []byte) error {
  1115  	return m.Unmarshal(b)
  1116  }
  1117  func (m *LockUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1118  	b = b[:cap(b)]
  1119  	n, err := m.MarshalTo(b)
  1120  	if err != nil {
  1121  		return nil, err
  1122  	}
  1123  	return b[:n], nil
  1124  }
  1125  func (dst *LockUpdate) XXX_Merge(src proto.Message) {
  1126  	xxx_messageInfo_LockUpdate.Merge(dst, src)
  1127  }
  1128  func (m *LockUpdate) XXX_Size() int {
  1129  	return m.Size()
  1130  }
  1131  func (m *LockUpdate) XXX_DiscardUnknown() {
  1132  	xxx_messageInfo_LockUpdate.DiscardUnknown(m)
  1133  }
  1134  
  1135  var xxx_messageInfo_LockUpdate proto.InternalMessageInfo
  1136  
  1137  // A SequencedWrite is a point write to a key with a certain sequence number.
  1138  type SequencedWrite struct {
  1139  	// The key that the write was made at.
  1140  	Key Key `protobuf:"bytes,1,opt,name=key,proto3,casttype=Key" json:"key,omitempty"`
  1141  	// The sequence number of the request that created the write.
  1142  	Sequence github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnSeq `protobuf:"varint,2,opt,name=sequence,proto3,casttype=github.com/cockroachdb/cockroach/pkg/storage/enginepb.TxnSeq" json:"sequence,omitempty"`
  1143  }
  1144  
  1145  func (m *SequencedWrite) Reset()         { *m = SequencedWrite{} }
  1146  func (m *SequencedWrite) String() string { return proto.CompactTextString(m) }
  1147  func (*SequencedWrite) ProtoMessage()    {}
  1148  func (*SequencedWrite) Descriptor() ([]byte, []int) {
  1149  	return fileDescriptor_data_171f939460d16c96, []int{16}
  1150  }
  1151  func (m *SequencedWrite) XXX_Unmarshal(b []byte) error {
  1152  	return m.Unmarshal(b)
  1153  }
  1154  func (m *SequencedWrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1155  	b = b[:cap(b)]
  1156  	n, err := m.MarshalTo(b)
  1157  	if err != nil {
  1158  		return nil, err
  1159  	}
  1160  	return b[:n], nil
  1161  }
  1162  func (dst *SequencedWrite) XXX_Merge(src proto.Message) {
  1163  	xxx_messageInfo_SequencedWrite.Merge(dst, src)
  1164  }
  1165  func (m *SequencedWrite) XXX_Size() int {
  1166  	return m.Size()
  1167  }
  1168  func (m *SequencedWrite) XXX_DiscardUnknown() {
  1169  	xxx_messageInfo_SequencedWrite.DiscardUnknown(m)
  1170  }
  1171  
  1172  var xxx_messageInfo_SequencedWrite proto.InternalMessageInfo
  1173  
  1174  // Lease contains information about range leases including the
  1175  // expiration and lease holder.
  1176  type Lease struct {
  1177  	// The start is a timestamp at which the lease begins. This value
  1178  	// must be greater than the last lease expiration or the lease request
  1179  	// is considered invalid.
  1180  	Start hlc.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start"`
  1181  	// The expiration is a timestamp at which the lease expires. This means that
  1182  	// a new lease can be granted for a later timestamp.
  1183  	Expiration *hlc.Timestamp `protobuf:"bytes,2,opt,name=expiration,proto3" json:"expiration,omitempty"`
  1184  	// The address of the would-be lease holder.
  1185  	Replica ReplicaDescriptor `protobuf:"bytes,3,opt,name=replica,proto3" json:"replica"`
  1186  	// The start of the lease stasis period. This field is deprecated.
  1187  	DeprecatedStartStasis *hlc.Timestamp `protobuf:"bytes,4,opt,name=deprecated_start_stasis,json=deprecatedStartStasis,proto3" json:"deprecated_start_stasis,omitempty"`
  1188  	// The current timestamp when this lease has been proposed. Used after a
  1189  	// transfer and after a node restart to enforce that a node only uses leases
  1190  	// proposed after the time of the said transfer or restart. This is nullable
  1191  	// to help with the rollout (such that a lease applied by some nodes before
  1192  	// the rollout and some nodes after the rollout is serialized the same).
  1193  	// TODO(andrei): Make this non-nullable after the rollout.
  1194  	ProposedTS *hlc.Timestamp `protobuf:"bytes,5,opt,name=proposed_ts,json=proposedTs,proto3" json:"proposed_ts,omitempty"`
  1195  	// The epoch of the lease holder's node liveness entry. If this value
  1196  	// is non-zero, the start and expiration values are ignored.
  1197  	Epoch int64 `protobuf:"varint,6,opt,name=epoch,proto3" json:"epoch,omitempty"`
  1198  	// A zero-indexed sequence number which is incremented during the acquisition
  1199  	// of each new range lease that is not equivalent to the previous range lease
  1200  	// (i.e. an acquisition that implies a leaseholder change). The sequence
  1201  	// number is used to detect lease changes between command proposal and
  1202  	// application without requiring that we send the entire lease through Raft.
  1203  	// Lease sequence numbers are a reflection of the "lease equivalency" property
  1204  	// (see Lease.Equivalent). Two adjacent leases that are equivalent will have
  1205  	// the same sequence number and two adjacent leases that are not equivalent
  1206  	// will have different sequence numbers.
  1207  	Sequence LeaseSequence `protobuf:"varint,7,opt,name=sequence,proto3,casttype=LeaseSequence" json:"sequence,omitempty"`
  1208  }
  1209  
  1210  func (m *Lease) Reset()      { *m = Lease{} }
  1211  func (*Lease) ProtoMessage() {}
  1212  func (*Lease) Descriptor() ([]byte, []int) {
  1213  	return fileDescriptor_data_171f939460d16c96, []int{17}
  1214  }
  1215  func (m *Lease) XXX_Unmarshal(b []byte) error {
  1216  	return m.Unmarshal(b)
  1217  }
  1218  func (m *Lease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1219  	b = b[:cap(b)]
  1220  	n, err := m.MarshalTo(b)
  1221  	if err != nil {
  1222  		return nil, err
  1223  	}
  1224  	return b[:n], nil
  1225  }
  1226  func (dst *Lease) XXX_Merge(src proto.Message) {
  1227  	xxx_messageInfo_Lease.Merge(dst, src)
  1228  }
  1229  func (m *Lease) XXX_Size() int {
  1230  	return m.Size()
  1231  }
  1232  func (m *Lease) XXX_DiscardUnknown() {
  1233  	xxx_messageInfo_Lease.DiscardUnknown(m)
  1234  }
  1235  
  1236  var xxx_messageInfo_Lease proto.InternalMessageInfo
  1237  
  1238  // AbortSpanEntry contains information about a transaction which has
  1239  // been aborted. It's written to a range's AbortSpan if the range
  1240  // may have contained intents of the aborted txn. In the event that
  1241  // the same transaction attempts to read keys it may have written
  1242  // previously, this entry informs the transaction that it has aborted
  1243  // and must start fresh with an updated priority.
  1244  type AbortSpanEntry struct {
  1245  	// The key of the associated transaction.
  1246  	Key Key `protobuf:"bytes,1,opt,name=key,proto3,casttype=Key" json:"key,omitempty"`
  1247  	// The candidate commit timestamp the transaction record held at the time
  1248  	// it was aborted.
  1249  	Timestamp hlc.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
  1250  	// The priority of the transaction.
  1251  	Priority github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnPriority `protobuf:"varint,3,opt,name=priority,proto3,casttype=github.com/cockroachdb/cockroach/pkg/storage/enginepb.TxnPriority" json:"priority,omitempty"`
  1252  }
  1253  
  1254  func (m *AbortSpanEntry) Reset()         { *m = AbortSpanEntry{} }
  1255  func (m *AbortSpanEntry) String() string { return proto.CompactTextString(m) }
  1256  func (*AbortSpanEntry) ProtoMessage()    {}
  1257  func (*AbortSpanEntry) Descriptor() ([]byte, []int) {
  1258  	return fileDescriptor_data_171f939460d16c96, []int{18}
  1259  }
  1260  func (m *AbortSpanEntry) XXX_Unmarshal(b []byte) error {
  1261  	return m.Unmarshal(b)
  1262  }
  1263  func (m *AbortSpanEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1264  	b = b[:cap(b)]
  1265  	n, err := m.MarshalTo(b)
  1266  	if err != nil {
  1267  		return nil, err
  1268  	}
  1269  	return b[:n], nil
  1270  }
  1271  func (dst *AbortSpanEntry) XXX_Merge(src proto.Message) {
  1272  	xxx_messageInfo_AbortSpanEntry.Merge(dst, src)
  1273  }
  1274  func (m *AbortSpanEntry) XXX_Size() int {
  1275  	return m.Size()
  1276  }
  1277  func (m *AbortSpanEntry) XXX_DiscardUnknown() {
  1278  	xxx_messageInfo_AbortSpanEntry.DiscardUnknown(m)
  1279  }
  1280  
  1281  var xxx_messageInfo_AbortSpanEntry proto.InternalMessageInfo
  1282  
  1283  // LeafTxnInputState is the state from a transaction coordinator
  1284  // necessary and sufficient to set up a leaf transaction coordinator
  1285  // on another node.
  1286  type LeafTxnInputState struct {
  1287  	// txn is a copy of the transaction record.
  1288  	Txn Transaction `protobuf:"bytes,1,opt,name=txn,proto3" json:"txn"`
  1289  	// refresh_invalid indicates that the root txn is not
  1290  	// collecting refresh spans so the leaf should also avoid
  1291  	// collecting them. This is an optimization: it avoids
  1292  	// the collection work in that cases and also possibly
  1293  	// reduces memory usage.
  1294  	RefreshInvalid bool `protobuf:"varint,7,opt,name=refresh_invalid,json=refreshInvalid,proto3" json:"refresh_invalid,omitempty"`
  1295  	// in_flight_writes stores all writes that are in-flight and have not yet
  1296  	// been proven to have succeeded. Overlapping requests must chain on to
  1297  	// their success using a QueryIntent request.
  1298  	InFlightWrites []SequencedWrite `protobuf:"bytes,8,rep,name=in_flight_writes,json=inFlightWrites,proto3" json:"in_flight_writes"`
  1299  	// Whether stepping mode is enabled. False indicates synchronous
  1300  	// read-own-writes, where every KV read is able to observe the
  1301  	// latest writes. True indicates that KV reads should be done at the
  1302  	// read_seq_num specified below.
  1303  	SteppingModeEnabled bool `protobuf:"varint,9,opt,name=stepping_mode_enabled,json=steppingModeEnabled,proto3" json:"stepping_mode_enabled,omitempty"`
  1304  	// Current read seqnum. When stepping_mode_enabled is true,
  1305  	// this field becomes the sequence number used for reads,
  1306  	// regardless of the current seqnum generated for writes. This is
  1307  	// updated via the (client.TxnSender).Step() operation.
  1308  	ReadSeqNum github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnSeq `protobuf:"varint,10,opt,name=read_seq_num,json=readSeqNum,proto3,casttype=github.com/cockroachdb/cockroach/pkg/storage/enginepb.TxnSeq" json:"read_seq_num,omitempty"`
  1309  }
  1310  
  1311  func (m *LeafTxnInputState) Reset()         { *m = LeafTxnInputState{} }
  1312  func (m *LeafTxnInputState) String() string { return proto.CompactTextString(m) }
  1313  func (*LeafTxnInputState) ProtoMessage()    {}
  1314  func (*LeafTxnInputState) Descriptor() ([]byte, []int) {
  1315  	return fileDescriptor_data_171f939460d16c96, []int{19}
  1316  }
  1317  func (m *LeafTxnInputState) XXX_Unmarshal(b []byte) error {
  1318  	return m.Unmarshal(b)
  1319  }
  1320  func (m *LeafTxnInputState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1321  	b = b[:cap(b)]
  1322  	n, err := m.MarshalTo(b)
  1323  	if err != nil {
  1324  		return nil, err
  1325  	}
  1326  	return b[:n], nil
  1327  }
  1328  func (dst *LeafTxnInputState) XXX_Merge(src proto.Message) {
  1329  	xxx_messageInfo_LeafTxnInputState.Merge(dst, src)
  1330  }
  1331  func (m *LeafTxnInputState) XXX_Size() int {
  1332  	return m.Size()
  1333  }
  1334  func (m *LeafTxnInputState) XXX_DiscardUnknown() {
  1335  	xxx_messageInfo_LeafTxnInputState.DiscardUnknown(m)
  1336  }
  1337  
  1338  var xxx_messageInfo_LeafTxnInputState proto.InternalMessageInfo
  1339  
  1340  // LeafTxnFinalState is the state from a leaf transaction coordinator
  1341  // necessary and sufficient to update a RootTxn on the gateway
  1342  // coordinator.
  1343  type LeafTxnFinalState struct {
  1344  	// txn is a copy of the transaction record.
  1345  	// TODO(knz,andrei): We don't actually need the fully txn
  1346  	// record. This can be simplified.
  1347  	// See: https://github.com/cockroachdb/cockroach/issues/43192
  1348  	Txn Transaction `protobuf:"bytes,1,opt,name=txn,proto3" json:"txn"`
  1349  	// deprecated_command_count indicates that at least one request
  1350  	// has been processed in this transaction.
  1351  	// Populated only for compatibility with pre-20.1 nodes.
  1352  	// TODO(knz,andrei): Remove this in 20.2.
  1353  	DeprecatedCommandCount int32 `protobuf:"varint,3,opt,name=deprecated_command_count,json=deprecatedCommandCount,proto3" json:"deprecated_command_count,omitempty"`
  1354  	// refresh_spans contains the key spans read by the leaf. The root will add
  1355  	// them to its own tracking of reads.
  1356  	RefreshSpans []Span `protobuf:"bytes,4,rep,name=refresh_spans,json=refreshSpans,proto3" json:"refresh_spans"`
  1357  	// refresh_invalid is set if refresh spans have not been collected. In this
  1358  	// case, refresh_spans is empty. It may be set because the leaf was asked not
  1359  	// to collect spans or because the leaf's reads exceeded the tracking memory
  1360  	// budget.
  1361  	RefreshInvalid bool `protobuf:"varint,7,opt,name=refresh_invalid,json=refreshInvalid,proto3" json:"refresh_invalid,omitempty"`
  1362  }
  1363  
  1364  func (m *LeafTxnFinalState) Reset()         { *m = LeafTxnFinalState{} }
  1365  func (m *LeafTxnFinalState) String() string { return proto.CompactTextString(m) }
  1366  func (*LeafTxnFinalState) ProtoMessage()    {}
  1367  func (*LeafTxnFinalState) Descriptor() ([]byte, []int) {
  1368  	return fileDescriptor_data_171f939460d16c96, []int{20}
  1369  }
  1370  func (m *LeafTxnFinalState) XXX_Unmarshal(b []byte) error {
  1371  	return m.Unmarshal(b)
  1372  }
  1373  func (m *LeafTxnFinalState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1374  	b = b[:cap(b)]
  1375  	n, err := m.MarshalTo(b)
  1376  	if err != nil {
  1377  		return nil, err
  1378  	}
  1379  	return b[:n], nil
  1380  }
  1381  func (dst *LeafTxnFinalState) XXX_Merge(src proto.Message) {
  1382  	xxx_messageInfo_LeafTxnFinalState.Merge(dst, src)
  1383  }
  1384  func (m *LeafTxnFinalState) XXX_Size() int {
  1385  	return m.Size()
  1386  }
  1387  func (m *LeafTxnFinalState) XXX_DiscardUnknown() {
  1388  	xxx_messageInfo_LeafTxnFinalState.DiscardUnknown(m)
  1389  }
  1390  
  1391  var xxx_messageInfo_LeafTxnFinalState proto.InternalMessageInfo
  1392  
  1393  func init() {
  1394  	proto.RegisterType((*Span)(nil), "cockroach.roachpb.Span")
  1395  	proto.RegisterType((*Value)(nil), "cockroach.roachpb.Value")
  1396  	proto.RegisterType((*KeyValue)(nil), "cockroach.roachpb.KeyValue")
  1397  	proto.RegisterType((*StoreIdent)(nil), "cockroach.roachpb.StoreIdent")
  1398  	proto.RegisterType((*SplitTrigger)(nil), "cockroach.roachpb.SplitTrigger")
  1399  	proto.RegisterType((*MergeTrigger)(nil), "cockroach.roachpb.MergeTrigger")
  1400  	proto.RegisterType((*ChangeReplicasTrigger)(nil), "cockroach.roachpb.ChangeReplicasTrigger")
  1401  	proto.RegisterType((*ModifiedSpanTrigger)(nil), "cockroach.roachpb.ModifiedSpanTrigger")
  1402  	proto.RegisterType((*StickyBitTrigger)(nil), "cockroach.roachpb.StickyBitTrigger")
  1403  	proto.RegisterType((*InternalCommitTrigger)(nil), "cockroach.roachpb.InternalCommitTrigger")
  1404  	proto.RegisterType((*ObservedTimestamp)(nil), "cockroach.roachpb.ObservedTimestamp")
  1405  	proto.RegisterType((*Transaction)(nil), "cockroach.roachpb.Transaction")
  1406  	proto.RegisterType((*TransactionRecord)(nil), "cockroach.roachpb.TransactionRecord")
  1407  	proto.RegisterType((*Intent)(nil), "cockroach.roachpb.Intent")
  1408  	proto.RegisterType((*Intent_SingleKeySpan)(nil), "cockroach.roachpb.Intent.SingleKeySpan")
  1409  	proto.RegisterType((*LockAcquisition)(nil), "cockroach.roachpb.LockAcquisition")
  1410  	proto.RegisterType((*LockUpdate)(nil), "cockroach.roachpb.LockUpdate")
  1411  	proto.RegisterType((*SequencedWrite)(nil), "cockroach.roachpb.SequencedWrite")
  1412  	proto.RegisterType((*Lease)(nil), "cockroach.roachpb.Lease")
  1413  	proto.RegisterType((*AbortSpanEntry)(nil), "cockroach.roachpb.AbortSpanEntry")
  1414  	proto.RegisterType((*LeafTxnInputState)(nil), "cockroach.roachpb.LeafTxnInputState")
  1415  	proto.RegisterType((*LeafTxnFinalState)(nil), "cockroach.roachpb.LeafTxnFinalState")
  1416  	proto.RegisterEnum("cockroach.roachpb.ValueType", ValueType_name, ValueType_value)
  1417  	proto.RegisterEnum("cockroach.roachpb.ReplicaChangeType", ReplicaChangeType_name, ReplicaChangeType_value)
  1418  	proto.RegisterEnum("cockroach.roachpb.TransactionStatus", TransactionStatus_name, TransactionStatus_value)
  1419  }
  1420  func (this *Span) Equal(that interface{}) bool {
  1421  	if that == nil {
  1422  		return this == nil
  1423  	}
  1424  
  1425  	that1, ok := that.(*Span)
  1426  	if !ok {
  1427  		that2, ok := that.(Span)
  1428  		if ok {
  1429  			that1 = &that2
  1430  		} else {
  1431  			return false
  1432  		}
  1433  	}
  1434  	if that1 == nil {
  1435  		return this == nil
  1436  	} else if this == nil {
  1437  		return false
  1438  	}
  1439  	if !bytes.Equal(this.Key, that1.Key) {
  1440  		return false
  1441  	}
  1442  	if !bytes.Equal(this.EndKey, that1.EndKey) {
  1443  		return false
  1444  	}
  1445  	return true
  1446  }
  1447  func (this *Value) Equal(that interface{}) bool {
  1448  	if that == nil {
  1449  		return this == nil
  1450  	}
  1451  
  1452  	that1, ok := that.(*Value)
  1453  	if !ok {
  1454  		that2, ok := that.(Value)
  1455  		if ok {
  1456  			that1 = &that2
  1457  		} else {
  1458  			return false
  1459  		}
  1460  	}
  1461  	if that1 == nil {
  1462  		return this == nil
  1463  	} else if this == nil {
  1464  		return false
  1465  	}
  1466  	if !bytes.Equal(this.RawBytes, that1.RawBytes) {
  1467  		return false
  1468  	}
  1469  	if !this.Timestamp.Equal(&that1.Timestamp) {
  1470  		return false
  1471  	}
  1472  	return true
  1473  }
  1474  func (this *SplitTrigger) Equal(that interface{}) bool {
  1475  	if that == nil {
  1476  		return this == nil
  1477  	}
  1478  
  1479  	that1, ok := that.(*SplitTrigger)
  1480  	if !ok {
  1481  		that2, ok := that.(SplitTrigger)
  1482  		if ok {
  1483  			that1 = &that2
  1484  		} else {
  1485  			return false
  1486  		}
  1487  	}
  1488  	if that1 == nil {
  1489  		return this == nil
  1490  	} else if this == nil {
  1491  		return false
  1492  	}
  1493  	if !this.LeftDesc.Equal(&that1.LeftDesc) {
  1494  		return false
  1495  	}
  1496  	if !this.RightDesc.Equal(&that1.RightDesc) {
  1497  		return false
  1498  	}
  1499  	return true
  1500  }
  1501  func (this *MergeTrigger) Equal(that interface{}) bool {
  1502  	if that == nil {
  1503  		return this == nil
  1504  	}
  1505  
  1506  	that1, ok := that.(*MergeTrigger)
  1507  	if !ok {
  1508  		that2, ok := that.(MergeTrigger)
  1509  		if ok {
  1510  			that1 = &that2
  1511  		} else {
  1512  			return false
  1513  		}
  1514  	}
  1515  	if that1 == nil {
  1516  		return this == nil
  1517  	} else if this == nil {
  1518  		return false
  1519  	}
  1520  	if !this.LeftDesc.Equal(&that1.LeftDesc) {
  1521  		return false
  1522  	}
  1523  	if !this.RightDesc.Equal(&that1.RightDesc) {
  1524  		return false
  1525  	}
  1526  	if !this.RightMVCCStats.Equal(&that1.RightMVCCStats) {
  1527  		return false
  1528  	}
  1529  	if !this.FreezeStart.Equal(&that1.FreezeStart) {
  1530  		return false
  1531  	}
  1532  	return true
  1533  }
  1534  func (this *ChangeReplicasTrigger) Equal(that interface{}) bool {
  1535  	if that == nil {
  1536  		return this == nil
  1537  	}
  1538  
  1539  	that1, ok := that.(*ChangeReplicasTrigger)
  1540  	if !ok {
  1541  		that2, ok := that.(ChangeReplicasTrigger)
  1542  		if ok {
  1543  			that1 = &that2
  1544  		} else {
  1545  			return false
  1546  		}
  1547  	}
  1548  	if that1 == nil {
  1549  		return this == nil
  1550  	} else if this == nil {
  1551  		return false
  1552  	}
  1553  	if this.DeprecatedChangeType != that1.DeprecatedChangeType {
  1554  		return false
  1555  	}
  1556  	if !this.DeprecatedReplica.Equal(&that1.DeprecatedReplica) {
  1557  		return false
  1558  	}
  1559  	if len(this.DeprecatedUpdatedReplicas) != len(that1.DeprecatedUpdatedReplicas) {
  1560  		return false
  1561  	}
  1562  	for i := range this.DeprecatedUpdatedReplicas {
  1563  		if !this.DeprecatedUpdatedReplicas[i].Equal(&that1.DeprecatedUpdatedReplicas[i]) {
  1564  			return false
  1565  		}
  1566  	}
  1567  	if this.DeprecatedNextReplicaID != that1.DeprecatedNextReplicaID {
  1568  		return false
  1569  	}
  1570  	if !this.Desc.Equal(that1.Desc) {
  1571  		return false
  1572  	}
  1573  	if len(this.InternalAddedReplicas) != len(that1.InternalAddedReplicas) {
  1574  		return false
  1575  	}
  1576  	for i := range this.InternalAddedReplicas {
  1577  		if !this.InternalAddedReplicas[i].Equal(&that1.InternalAddedReplicas[i]) {
  1578  			return false
  1579  		}
  1580  	}
  1581  	if len(this.InternalRemovedReplicas) != len(that1.InternalRemovedReplicas) {
  1582  		return false
  1583  	}
  1584  	for i := range this.InternalRemovedReplicas {
  1585  		if !this.InternalRemovedReplicas[i].Equal(&that1.InternalRemovedReplicas[i]) {
  1586  			return false
  1587  		}
  1588  	}
  1589  	return true
  1590  }
  1591  func (this *ModifiedSpanTrigger) Equal(that interface{}) bool {
  1592  	if that == nil {
  1593  		return this == nil
  1594  	}
  1595  
  1596  	that1, ok := that.(*ModifiedSpanTrigger)
  1597  	if !ok {
  1598  		that2, ok := that.(ModifiedSpanTrigger)
  1599  		if ok {
  1600  			that1 = &that2
  1601  		} else {
  1602  			return false
  1603  		}
  1604  	}
  1605  	if that1 == nil {
  1606  		return this == nil
  1607  	} else if this == nil {
  1608  		return false
  1609  	}
  1610  	if this.SystemConfigSpan != that1.SystemConfigSpan {
  1611  		return false
  1612  	}
  1613  	if !this.NodeLivenessSpan.Equal(that1.NodeLivenessSpan) {
  1614  		return false
  1615  	}
  1616  	return true
  1617  }
  1618  func (this *StickyBitTrigger) Equal(that interface{}) bool {
  1619  	if that == nil {
  1620  		return this == nil
  1621  	}
  1622  
  1623  	that1, ok := that.(*StickyBitTrigger)
  1624  	if !ok {
  1625  		that2, ok := that.(StickyBitTrigger)
  1626  		if ok {
  1627  			that1 = &that2
  1628  		} else {
  1629  			return false
  1630  		}
  1631  	}
  1632  	if that1 == nil {
  1633  		return this == nil
  1634  	} else if this == nil {
  1635  		return false
  1636  	}
  1637  	if !this.StickyBit.Equal(&that1.StickyBit) {
  1638  		return false
  1639  	}
  1640  	return true
  1641  }
  1642  func (this *InternalCommitTrigger) Equal(that interface{}) bool {
  1643  	if that == nil {
  1644  		return this == nil
  1645  	}
  1646  
  1647  	that1, ok := that.(*InternalCommitTrigger)
  1648  	if !ok {
  1649  		that2, ok := that.(InternalCommitTrigger)
  1650  		if ok {
  1651  			that1 = &that2
  1652  		} else {
  1653  			return false
  1654  		}
  1655  	}
  1656  	if that1 == nil {
  1657  		return this == nil
  1658  	} else if this == nil {
  1659  		return false
  1660  	}
  1661  	if !this.SplitTrigger.Equal(that1.SplitTrigger) {
  1662  		return false
  1663  	}
  1664  	if !this.MergeTrigger.Equal(that1.MergeTrigger) {
  1665  		return false
  1666  	}
  1667  	if !this.ChangeReplicasTrigger.Equal(that1.ChangeReplicasTrigger) {
  1668  		return false
  1669  	}
  1670  	if !this.ModifiedSpanTrigger.Equal(that1.ModifiedSpanTrigger) {
  1671  		return false
  1672  	}
  1673  	if !this.StickyBitTrigger.Equal(that1.StickyBitTrigger) {
  1674  		return false
  1675  	}
  1676  	return true
  1677  }
  1678  func (this *ObservedTimestamp) Equal(that interface{}) bool {
  1679  	if that == nil {
  1680  		return this == nil
  1681  	}
  1682  
  1683  	that1, ok := that.(*ObservedTimestamp)
  1684  	if !ok {
  1685  		that2, ok := that.(ObservedTimestamp)
  1686  		if ok {
  1687  			that1 = &that2
  1688  		} else {
  1689  			return false
  1690  		}
  1691  	}
  1692  	if that1 == nil {
  1693  		return this == nil
  1694  	} else if this == nil {
  1695  		return false
  1696  	}
  1697  	if this.NodeID != that1.NodeID {
  1698  		return false
  1699  	}
  1700  	if !this.Timestamp.Equal(&that1.Timestamp) {
  1701  		return false
  1702  	}
  1703  	return true
  1704  }
  1705  func (this *Transaction) Equal(that interface{}) bool {
  1706  	if that == nil {
  1707  		return this == nil
  1708  	}
  1709  
  1710  	that1, ok := that.(*Transaction)
  1711  	if !ok {
  1712  		that2, ok := that.(Transaction)
  1713  		if ok {
  1714  			that1 = &that2
  1715  		} else {
  1716  			return false
  1717  		}
  1718  	}
  1719  	if that1 == nil {
  1720  		return this == nil
  1721  	} else if this == nil {
  1722  		return false
  1723  	}
  1724  	if !this.TxnMeta.Equal(&that1.TxnMeta) {
  1725  		return false
  1726  	}
  1727  	if this.Name != that1.Name {
  1728  		return false
  1729  	}
  1730  	if this.Status != that1.Status {
  1731  		return false
  1732  	}
  1733  	if !this.LastHeartbeat.Equal(&that1.LastHeartbeat) {
  1734  		return false
  1735  	}
  1736  	if !this.DeprecatedOrigTimestamp.Equal(&that1.DeprecatedOrigTimestamp) {
  1737  		return false
  1738  	}
  1739  	if this.CommitTimestampFixed != that1.CommitTimestampFixed {
  1740  		return false
  1741  	}
  1742  	if !this.ReadTimestamp.Equal(&that1.ReadTimestamp) {
  1743  		return false
  1744  	}
  1745  	if !this.MaxTimestamp.Equal(&that1.MaxTimestamp) {
  1746  		return false
  1747  	}
  1748  	if len(this.ObservedTimestamps) != len(that1.ObservedTimestamps) {
  1749  		return false
  1750  	}
  1751  	for i := range this.ObservedTimestamps {
  1752  		if !this.ObservedTimestamps[i].Equal(&that1.ObservedTimestamps[i]) {
  1753  			return false
  1754  		}
  1755  	}
  1756  	if this.WriteTooOld != that1.WriteTooOld {
  1757  		return false
  1758  	}
  1759  	if len(this.LockSpans) != len(that1.LockSpans) {
  1760  		return false
  1761  	}
  1762  	for i := range this.LockSpans {
  1763  		if !this.LockSpans[i].Equal(&that1.LockSpans[i]) {
  1764  			return false
  1765  		}
  1766  	}
  1767  	if len(this.InFlightWrites) != len(that1.InFlightWrites) {
  1768  		return false
  1769  	}
  1770  	for i := range this.InFlightWrites {
  1771  		if !this.InFlightWrites[i].Equal(&that1.InFlightWrites[i]) {
  1772  			return false
  1773  		}
  1774  	}
  1775  	if len(this.IgnoredSeqNums) != len(that1.IgnoredSeqNums) {
  1776  		return false
  1777  	}
  1778  	for i := range this.IgnoredSeqNums {
  1779  		if !this.IgnoredSeqNums[i].Equal(&that1.IgnoredSeqNums[i]) {
  1780  			return false
  1781  		}
  1782  	}
  1783  	return true
  1784  }
  1785  func (this *TransactionRecord) Equal(that interface{}) bool {
  1786  	if that == nil {
  1787  		return this == nil
  1788  	}
  1789  
  1790  	that1, ok := that.(*TransactionRecord)
  1791  	if !ok {
  1792  		that2, ok := that.(TransactionRecord)
  1793  		if ok {
  1794  			that1 = &that2
  1795  		} else {
  1796  			return false
  1797  		}
  1798  	}
  1799  	if that1 == nil {
  1800  		return this == nil
  1801  	} else if this == nil {
  1802  		return false
  1803  	}
  1804  	if !this.TxnMeta.Equal(&that1.TxnMeta) {
  1805  		return false
  1806  	}
  1807  	if this.Status != that1.Status {
  1808  		return false
  1809  	}
  1810  	if !this.LastHeartbeat.Equal(&that1.LastHeartbeat) {
  1811  		return false
  1812  	}
  1813  	if len(this.LockSpans) != len(that1.LockSpans) {
  1814  		return false
  1815  	}
  1816  	for i := range this.LockSpans {
  1817  		if !this.LockSpans[i].Equal(&that1.LockSpans[i]) {
  1818  			return false
  1819  		}
  1820  	}
  1821  	if len(this.InFlightWrites) != len(that1.InFlightWrites) {
  1822  		return false
  1823  	}
  1824  	for i := range this.InFlightWrites {
  1825  		if !this.InFlightWrites[i].Equal(&that1.InFlightWrites[i]) {
  1826  			return false
  1827  		}
  1828  	}
  1829  	if len(this.IgnoredSeqNums) != len(that1.IgnoredSeqNums) {
  1830  		return false
  1831  	}
  1832  	for i := range this.IgnoredSeqNums {
  1833  		if !this.IgnoredSeqNums[i].Equal(&that1.IgnoredSeqNums[i]) {
  1834  			return false
  1835  		}
  1836  	}
  1837  	return true
  1838  }
  1839  func (this *Intent) Equal(that interface{}) bool {
  1840  	if that == nil {
  1841  		return this == nil
  1842  	}
  1843  
  1844  	that1, ok := that.(*Intent)
  1845  	if !ok {
  1846  		that2, ok := that.(Intent)
  1847  		if ok {
  1848  			that1 = &that2
  1849  		} else {
  1850  			return false
  1851  		}
  1852  	}
  1853  	if that1 == nil {
  1854  		return this == nil
  1855  	} else if this == nil {
  1856  		return false
  1857  	}
  1858  	if !this.Intent_SingleKeySpan.Equal(&that1.Intent_SingleKeySpan) {
  1859  		return false
  1860  	}
  1861  	if !this.Txn.Equal(&that1.Txn) {
  1862  		return false
  1863  	}
  1864  	return true
  1865  }
  1866  func (this *Intent_SingleKeySpan) Equal(that interface{}) bool {
  1867  	if that == nil {
  1868  		return this == nil
  1869  	}
  1870  
  1871  	that1, ok := that.(*Intent_SingleKeySpan)
  1872  	if !ok {
  1873  		that2, ok := that.(Intent_SingleKeySpan)
  1874  		if ok {
  1875  			that1 = &that2
  1876  		} else {
  1877  			return false
  1878  		}
  1879  	}
  1880  	if that1 == nil {
  1881  		return this == nil
  1882  	} else if this == nil {
  1883  		return false
  1884  	}
  1885  	if !bytes.Equal(this.Key, that1.Key) {
  1886  		return false
  1887  	}
  1888  	return true
  1889  }
  1890  func (this *LockAcquisition) Equal(that interface{}) bool {
  1891  	if that == nil {
  1892  		return this == nil
  1893  	}
  1894  
  1895  	that1, ok := that.(*LockAcquisition)
  1896  	if !ok {
  1897  		that2, ok := that.(LockAcquisition)
  1898  		if ok {
  1899  			that1 = &that2
  1900  		} else {
  1901  			return false
  1902  		}
  1903  	}
  1904  	if that1 == nil {
  1905  		return this == nil
  1906  	} else if this == nil {
  1907  		return false
  1908  	}
  1909  	if !this.Span.Equal(&that1.Span) {
  1910  		return false
  1911  	}
  1912  	if !this.Txn.Equal(&that1.Txn) {
  1913  		return false
  1914  	}
  1915  	if this.Durability != that1.Durability {
  1916  		return false
  1917  	}
  1918  	return true
  1919  }
  1920  func (this *LockUpdate) Equal(that interface{}) bool {
  1921  	if that == nil {
  1922  		return this == nil
  1923  	}
  1924  
  1925  	that1, ok := that.(*LockUpdate)
  1926  	if !ok {
  1927  		that2, ok := that.(LockUpdate)
  1928  		if ok {
  1929  			that1 = &that2
  1930  		} else {
  1931  			return false
  1932  		}
  1933  	}
  1934  	if that1 == nil {
  1935  		return this == nil
  1936  	} else if this == nil {
  1937  		return false
  1938  	}
  1939  	if !this.Span.Equal(&that1.Span) {
  1940  		return false
  1941  	}
  1942  	if !this.Txn.Equal(&that1.Txn) {
  1943  		return false
  1944  	}
  1945  	if this.Status != that1.Status {
  1946  		return false
  1947  	}
  1948  	if len(this.IgnoredSeqNums) != len(that1.IgnoredSeqNums) {
  1949  		return false
  1950  	}
  1951  	for i := range this.IgnoredSeqNums {
  1952  		if !this.IgnoredSeqNums[i].Equal(&that1.IgnoredSeqNums[i]) {
  1953  			return false
  1954  		}
  1955  	}
  1956  	return true
  1957  }
  1958  func (this *SequencedWrite) Equal(that interface{}) bool {
  1959  	if that == nil {
  1960  		return this == nil
  1961  	}
  1962  
  1963  	that1, ok := that.(*SequencedWrite)
  1964  	if !ok {
  1965  		that2, ok := that.(SequencedWrite)
  1966  		if ok {
  1967  			that1 = &that2
  1968  		} else {
  1969  			return false
  1970  		}
  1971  	}
  1972  	if that1 == nil {
  1973  		return this == nil
  1974  	} else if this == nil {
  1975  		return false
  1976  	}
  1977  	if !bytes.Equal(this.Key, that1.Key) {
  1978  		return false
  1979  	}
  1980  	if this.Sequence != that1.Sequence {
  1981  		return false
  1982  	}
  1983  	return true
  1984  }
  1985  func (this *AbortSpanEntry) Equal(that interface{}) bool {
  1986  	if that == nil {
  1987  		return this == nil
  1988  	}
  1989  
  1990  	that1, ok := that.(*AbortSpanEntry)
  1991  	if !ok {
  1992  		that2, ok := that.(AbortSpanEntry)
  1993  		if ok {
  1994  			that1 = &that2
  1995  		} else {
  1996  			return false
  1997  		}
  1998  	}
  1999  	if that1 == nil {
  2000  		return this == nil
  2001  	} else if this == nil {
  2002  		return false
  2003  	}
  2004  	if !bytes.Equal(this.Key, that1.Key) {
  2005  		return false
  2006  	}
  2007  	if !this.Timestamp.Equal(&that1.Timestamp) {
  2008  		return false
  2009  	}
  2010  	if this.Priority != that1.Priority {
  2011  		return false
  2012  	}
  2013  	return true
  2014  }
  2015  func (m *Span) Marshal() (dAtA []byte, err error) {
  2016  	size := m.Size()
  2017  	dAtA = make([]byte, size)
  2018  	n, err := m.MarshalTo(dAtA)
  2019  	if err != nil {
  2020  		return nil, err
  2021  	}
  2022  	return dAtA[:n], nil
  2023  }
  2024  
  2025  func (m *Span) MarshalTo(dAtA []byte) (int, error) {
  2026  	var i int
  2027  	_ = i
  2028  	var l int
  2029  	_ = l
  2030  	if len(m.Key) > 0 {
  2031  		dAtA[i] = 0x1a
  2032  		i++
  2033  		i = encodeVarintData(dAtA, i, uint64(len(m.Key)))
  2034  		i += copy(dAtA[i:], m.Key)
  2035  	}
  2036  	if len(m.EndKey) > 0 {
  2037  		dAtA[i] = 0x22
  2038  		i++
  2039  		i = encodeVarintData(dAtA, i, uint64(len(m.EndKey)))
  2040  		i += copy(dAtA[i:], m.EndKey)
  2041  	}
  2042  	return i, nil
  2043  }
  2044  
  2045  func (m *Value) Marshal() (dAtA []byte, err error) {
  2046  	size := m.Size()
  2047  	dAtA = make([]byte, size)
  2048  	n, err := m.MarshalTo(dAtA)
  2049  	if err != nil {
  2050  		return nil, err
  2051  	}
  2052  	return dAtA[:n], nil
  2053  }
  2054  
  2055  func (m *Value) MarshalTo(dAtA []byte) (int, error) {
  2056  	var i int
  2057  	_ = i
  2058  	var l int
  2059  	_ = l
  2060  	if len(m.RawBytes) > 0 {
  2061  		dAtA[i] = 0xa
  2062  		i++
  2063  		i = encodeVarintData(dAtA, i, uint64(len(m.RawBytes)))
  2064  		i += copy(dAtA[i:], m.RawBytes)
  2065  	}
  2066  	dAtA[i] = 0x12
  2067  	i++
  2068  	i = encodeVarintData(dAtA, i, uint64(m.Timestamp.Size()))
  2069  	n1, err := m.Timestamp.MarshalTo(dAtA[i:])
  2070  	if err != nil {
  2071  		return 0, err
  2072  	}
  2073  	i += n1
  2074  	return i, nil
  2075  }
  2076  
  2077  func (m *KeyValue) Marshal() (dAtA []byte, err error) {
  2078  	size := m.Size()
  2079  	dAtA = make([]byte, size)
  2080  	n, err := m.MarshalTo(dAtA)
  2081  	if err != nil {
  2082  		return nil, err
  2083  	}
  2084  	return dAtA[:n], nil
  2085  }
  2086  
  2087  func (m *KeyValue) MarshalTo(dAtA []byte) (int, error) {
  2088  	var i int
  2089  	_ = i
  2090  	var l int
  2091  	_ = l
  2092  	if len(m.Key) > 0 {
  2093  		dAtA[i] = 0xa
  2094  		i++
  2095  		i = encodeVarintData(dAtA, i, uint64(len(m.Key)))
  2096  		i += copy(dAtA[i:], m.Key)
  2097  	}
  2098  	dAtA[i] = 0x12
  2099  	i++
  2100  	i = encodeVarintData(dAtA, i, uint64(m.Value.Size()))
  2101  	n2, err := m.Value.MarshalTo(dAtA[i:])
  2102  	if err != nil {
  2103  		return 0, err
  2104  	}
  2105  	i += n2
  2106  	return i, nil
  2107  }
  2108  
  2109  func (m *StoreIdent) Marshal() (dAtA []byte, err error) {
  2110  	size := m.Size()
  2111  	dAtA = make([]byte, size)
  2112  	n, err := m.MarshalTo(dAtA)
  2113  	if err != nil {
  2114  		return nil, err
  2115  	}
  2116  	return dAtA[:n], nil
  2117  }
  2118  
  2119  func (m *StoreIdent) MarshalTo(dAtA []byte) (int, error) {
  2120  	var i int
  2121  	_ = i
  2122  	var l int
  2123  	_ = l
  2124  	dAtA[i] = 0xa
  2125  	i++
  2126  	i = encodeVarintData(dAtA, i, uint64(m.ClusterID.Size()))
  2127  	n3, err := m.ClusterID.MarshalTo(dAtA[i:])
  2128  	if err != nil {
  2129  		return 0, err
  2130  	}
  2131  	i += n3
  2132  	if m.NodeID != 0 {
  2133  		dAtA[i] = 0x10
  2134  		i++
  2135  		i = encodeVarintData(dAtA, i, uint64(m.NodeID))
  2136  	}
  2137  	if m.StoreID != 0 {
  2138  		dAtA[i] = 0x18
  2139  		i++
  2140  		i = encodeVarintData(dAtA, i, uint64(m.StoreID))
  2141  	}
  2142  	return i, nil
  2143  }
  2144  
  2145  func (m *SplitTrigger) Marshal() (dAtA []byte, err error) {
  2146  	size := m.Size()
  2147  	dAtA = make([]byte, size)
  2148  	n, err := m.MarshalTo(dAtA)
  2149  	if err != nil {
  2150  		return nil, err
  2151  	}
  2152  	return dAtA[:n], nil
  2153  }
  2154  
  2155  func (m *SplitTrigger) MarshalTo(dAtA []byte) (int, error) {
  2156  	var i int
  2157  	_ = i
  2158  	var l int
  2159  	_ = l
  2160  	dAtA[i] = 0xa
  2161  	i++
  2162  	i = encodeVarintData(dAtA, i, uint64(m.LeftDesc.Size()))
  2163  	n4, err := m.LeftDesc.MarshalTo(dAtA[i:])
  2164  	if err != nil {
  2165  		return 0, err
  2166  	}
  2167  	i += n4
  2168  	dAtA[i] = 0x12
  2169  	i++
  2170  	i = encodeVarintData(dAtA, i, uint64(m.RightDesc.Size()))
  2171  	n5, err := m.RightDesc.MarshalTo(dAtA[i:])
  2172  	if err != nil {
  2173  		return 0, err
  2174  	}
  2175  	i += n5
  2176  	return i, nil
  2177  }
  2178  
  2179  func (m *MergeTrigger) Marshal() (dAtA []byte, err error) {
  2180  	size := m.Size()
  2181  	dAtA = make([]byte, size)
  2182  	n, err := m.MarshalTo(dAtA)
  2183  	if err != nil {
  2184  		return nil, err
  2185  	}
  2186  	return dAtA[:n], nil
  2187  }
  2188  
  2189  func (m *MergeTrigger) MarshalTo(dAtA []byte) (int, error) {
  2190  	var i int
  2191  	_ = i
  2192  	var l int
  2193  	_ = l
  2194  	dAtA[i] = 0xa
  2195  	i++
  2196  	i = encodeVarintData(dAtA, i, uint64(m.LeftDesc.Size()))
  2197  	n6, err := m.LeftDesc.MarshalTo(dAtA[i:])
  2198  	if err != nil {
  2199  		return 0, err
  2200  	}
  2201  	i += n6
  2202  	dAtA[i] = 0x12
  2203  	i++
  2204  	i = encodeVarintData(dAtA, i, uint64(m.RightDesc.Size()))
  2205  	n7, err := m.RightDesc.MarshalTo(dAtA[i:])
  2206  	if err != nil {
  2207  		return 0, err
  2208  	}
  2209  	i += n7
  2210  	dAtA[i] = 0x22
  2211  	i++
  2212  	i = encodeVarintData(dAtA, i, uint64(m.RightMVCCStats.Size()))
  2213  	n8, err := m.RightMVCCStats.MarshalTo(dAtA[i:])
  2214  	if err != nil {
  2215  		return 0, err
  2216  	}
  2217  	i += n8
  2218  	dAtA[i] = 0x2a
  2219  	i++
  2220  	i = encodeVarintData(dAtA, i, uint64(m.FreezeStart.Size()))
  2221  	n9, err := m.FreezeStart.MarshalTo(dAtA[i:])
  2222  	if err != nil {
  2223  		return 0, err
  2224  	}
  2225  	i += n9
  2226  	return i, nil
  2227  }
  2228  
  2229  func (m *ChangeReplicasTrigger) Marshal() (dAtA []byte, err error) {
  2230  	size := m.Size()
  2231  	dAtA = make([]byte, size)
  2232  	n, err := m.MarshalTo(dAtA)
  2233  	if err != nil {
  2234  		return nil, err
  2235  	}
  2236  	return dAtA[:n], nil
  2237  }
  2238  
  2239  func (m *ChangeReplicasTrigger) MarshalTo(dAtA []byte) (int, error) {
  2240  	var i int
  2241  	_ = i
  2242  	var l int
  2243  	_ = l
  2244  	if m.DeprecatedChangeType != 0 {
  2245  		dAtA[i] = 0x8
  2246  		i++
  2247  		i = encodeVarintData(dAtA, i, uint64(m.DeprecatedChangeType))
  2248  	}
  2249  	dAtA[i] = 0x12
  2250  	i++
  2251  	i = encodeVarintData(dAtA, i, uint64(m.DeprecatedReplica.Size()))
  2252  	n10, err := m.DeprecatedReplica.MarshalTo(dAtA[i:])
  2253  	if err != nil {
  2254  		return 0, err
  2255  	}
  2256  	i += n10
  2257  	if len(m.DeprecatedUpdatedReplicas) > 0 {
  2258  		for _, msg := range m.DeprecatedUpdatedReplicas {
  2259  			dAtA[i] = 0x1a
  2260  			i++
  2261  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2262  			n, err := msg.MarshalTo(dAtA[i:])
  2263  			if err != nil {
  2264  				return 0, err
  2265  			}
  2266  			i += n
  2267  		}
  2268  	}
  2269  	if m.DeprecatedNextReplicaID != 0 {
  2270  		dAtA[i] = 0x20
  2271  		i++
  2272  		i = encodeVarintData(dAtA, i, uint64(m.DeprecatedNextReplicaID))
  2273  	}
  2274  	if m.Desc != nil {
  2275  		dAtA[i] = 0x2a
  2276  		i++
  2277  		i = encodeVarintData(dAtA, i, uint64(m.Desc.Size()))
  2278  		n11, err := m.Desc.MarshalTo(dAtA[i:])
  2279  		if err != nil {
  2280  			return 0, err
  2281  		}
  2282  		i += n11
  2283  	}
  2284  	if len(m.InternalAddedReplicas) > 0 {
  2285  		for _, msg := range m.InternalAddedReplicas {
  2286  			dAtA[i] = 0x32
  2287  			i++
  2288  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2289  			n, err := msg.MarshalTo(dAtA[i:])
  2290  			if err != nil {
  2291  				return 0, err
  2292  			}
  2293  			i += n
  2294  		}
  2295  	}
  2296  	if len(m.InternalRemovedReplicas) > 0 {
  2297  		for _, msg := range m.InternalRemovedReplicas {
  2298  			dAtA[i] = 0x3a
  2299  			i++
  2300  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2301  			n, err := msg.MarshalTo(dAtA[i:])
  2302  			if err != nil {
  2303  				return 0, err
  2304  			}
  2305  			i += n
  2306  		}
  2307  	}
  2308  	return i, nil
  2309  }
  2310  
  2311  func (m *ModifiedSpanTrigger) Marshal() (dAtA []byte, err error) {
  2312  	size := m.Size()
  2313  	dAtA = make([]byte, size)
  2314  	n, err := m.MarshalTo(dAtA)
  2315  	if err != nil {
  2316  		return nil, err
  2317  	}
  2318  	return dAtA[:n], nil
  2319  }
  2320  
  2321  func (m *ModifiedSpanTrigger) MarshalTo(dAtA []byte) (int, error) {
  2322  	var i int
  2323  	_ = i
  2324  	var l int
  2325  	_ = l
  2326  	if m.SystemConfigSpan {
  2327  		dAtA[i] = 0x8
  2328  		i++
  2329  		if m.SystemConfigSpan {
  2330  			dAtA[i] = 1
  2331  		} else {
  2332  			dAtA[i] = 0
  2333  		}
  2334  		i++
  2335  	}
  2336  	if m.NodeLivenessSpan != nil {
  2337  		dAtA[i] = 0x12
  2338  		i++
  2339  		i = encodeVarintData(dAtA, i, uint64(m.NodeLivenessSpan.Size()))
  2340  		n12, err := m.NodeLivenessSpan.MarshalTo(dAtA[i:])
  2341  		if err != nil {
  2342  			return 0, err
  2343  		}
  2344  		i += n12
  2345  	}
  2346  	return i, nil
  2347  }
  2348  
  2349  func (m *StickyBitTrigger) Marshal() (dAtA []byte, err error) {
  2350  	size := m.Size()
  2351  	dAtA = make([]byte, size)
  2352  	n, err := m.MarshalTo(dAtA)
  2353  	if err != nil {
  2354  		return nil, err
  2355  	}
  2356  	return dAtA[:n], nil
  2357  }
  2358  
  2359  func (m *StickyBitTrigger) MarshalTo(dAtA []byte) (int, error) {
  2360  	var i int
  2361  	_ = i
  2362  	var l int
  2363  	_ = l
  2364  	dAtA[i] = 0xa
  2365  	i++
  2366  	i = encodeVarintData(dAtA, i, uint64(m.StickyBit.Size()))
  2367  	n13, err := m.StickyBit.MarshalTo(dAtA[i:])
  2368  	if err != nil {
  2369  		return 0, err
  2370  	}
  2371  	i += n13
  2372  	return i, nil
  2373  }
  2374  
  2375  func (m *InternalCommitTrigger) Marshal() (dAtA []byte, err error) {
  2376  	size := m.Size()
  2377  	dAtA = make([]byte, size)
  2378  	n, err := m.MarshalTo(dAtA)
  2379  	if err != nil {
  2380  		return nil, err
  2381  	}
  2382  	return dAtA[:n], nil
  2383  }
  2384  
  2385  func (m *InternalCommitTrigger) MarshalTo(dAtA []byte) (int, error) {
  2386  	var i int
  2387  	_ = i
  2388  	var l int
  2389  	_ = l
  2390  	if m.SplitTrigger != nil {
  2391  		dAtA[i] = 0xa
  2392  		i++
  2393  		i = encodeVarintData(dAtA, i, uint64(m.SplitTrigger.Size()))
  2394  		n14, err := m.SplitTrigger.MarshalTo(dAtA[i:])
  2395  		if err != nil {
  2396  			return 0, err
  2397  		}
  2398  		i += n14
  2399  	}
  2400  	if m.MergeTrigger != nil {
  2401  		dAtA[i] = 0x12
  2402  		i++
  2403  		i = encodeVarintData(dAtA, i, uint64(m.MergeTrigger.Size()))
  2404  		n15, err := m.MergeTrigger.MarshalTo(dAtA[i:])
  2405  		if err != nil {
  2406  			return 0, err
  2407  		}
  2408  		i += n15
  2409  	}
  2410  	if m.ChangeReplicasTrigger != nil {
  2411  		dAtA[i] = 0x1a
  2412  		i++
  2413  		i = encodeVarintData(dAtA, i, uint64(m.ChangeReplicasTrigger.Size()))
  2414  		n16, err := m.ChangeReplicasTrigger.MarshalTo(dAtA[i:])
  2415  		if err != nil {
  2416  			return 0, err
  2417  		}
  2418  		i += n16
  2419  	}
  2420  	if m.ModifiedSpanTrigger != nil {
  2421  		dAtA[i] = 0x22
  2422  		i++
  2423  		i = encodeVarintData(dAtA, i, uint64(m.ModifiedSpanTrigger.Size()))
  2424  		n17, err := m.ModifiedSpanTrigger.MarshalTo(dAtA[i:])
  2425  		if err != nil {
  2426  			return 0, err
  2427  		}
  2428  		i += n17
  2429  	}
  2430  	if m.StickyBitTrigger != nil {
  2431  		dAtA[i] = 0x2a
  2432  		i++
  2433  		i = encodeVarintData(dAtA, i, uint64(m.StickyBitTrigger.Size()))
  2434  		n18, err := m.StickyBitTrigger.MarshalTo(dAtA[i:])
  2435  		if err != nil {
  2436  			return 0, err
  2437  		}
  2438  		i += n18
  2439  	}
  2440  	return i, nil
  2441  }
  2442  
  2443  func (m *ObservedTimestamp) Marshal() (dAtA []byte, err error) {
  2444  	size := m.Size()
  2445  	dAtA = make([]byte, size)
  2446  	n, err := m.MarshalTo(dAtA)
  2447  	if err != nil {
  2448  		return nil, err
  2449  	}
  2450  	return dAtA[:n], nil
  2451  }
  2452  
  2453  func (m *ObservedTimestamp) MarshalTo(dAtA []byte) (int, error) {
  2454  	var i int
  2455  	_ = i
  2456  	var l int
  2457  	_ = l
  2458  	if m.NodeID != 0 {
  2459  		dAtA[i] = 0x8
  2460  		i++
  2461  		i = encodeVarintData(dAtA, i, uint64(m.NodeID))
  2462  	}
  2463  	dAtA[i] = 0x12
  2464  	i++
  2465  	i = encodeVarintData(dAtA, i, uint64(m.Timestamp.Size()))
  2466  	n19, err := m.Timestamp.MarshalTo(dAtA[i:])
  2467  	if err != nil {
  2468  		return 0, err
  2469  	}
  2470  	i += n19
  2471  	return i, nil
  2472  }
  2473  
  2474  func (m *Transaction) Marshal() (dAtA []byte, err error) {
  2475  	size := m.Size()
  2476  	dAtA = make([]byte, size)
  2477  	n, err := m.MarshalTo(dAtA)
  2478  	if err != nil {
  2479  		return nil, err
  2480  	}
  2481  	return dAtA[:n], nil
  2482  }
  2483  
  2484  func (m *Transaction) MarshalTo(dAtA []byte) (int, error) {
  2485  	var i int
  2486  	_ = i
  2487  	var l int
  2488  	_ = l
  2489  	dAtA[i] = 0xa
  2490  	i++
  2491  	i = encodeVarintData(dAtA, i, uint64(m.TxnMeta.Size()))
  2492  	n20, err := m.TxnMeta.MarshalTo(dAtA[i:])
  2493  	if err != nil {
  2494  		return 0, err
  2495  	}
  2496  	i += n20
  2497  	if len(m.Name) > 0 {
  2498  		dAtA[i] = 0x12
  2499  		i++
  2500  		i = encodeVarintData(dAtA, i, uint64(len(m.Name)))
  2501  		i += copy(dAtA[i:], m.Name)
  2502  	}
  2503  	if m.Status != 0 {
  2504  		dAtA[i] = 0x20
  2505  		i++
  2506  		i = encodeVarintData(dAtA, i, uint64(m.Status))
  2507  	}
  2508  	dAtA[i] = 0x2a
  2509  	i++
  2510  	i = encodeVarintData(dAtA, i, uint64(m.LastHeartbeat.Size()))
  2511  	n21, err := m.LastHeartbeat.MarshalTo(dAtA[i:])
  2512  	if err != nil {
  2513  		return 0, err
  2514  	}
  2515  	i += n21
  2516  	dAtA[i] = 0x32
  2517  	i++
  2518  	i = encodeVarintData(dAtA, i, uint64(m.DeprecatedOrigTimestamp.Size()))
  2519  	n22, err := m.DeprecatedOrigTimestamp.MarshalTo(dAtA[i:])
  2520  	if err != nil {
  2521  		return 0, err
  2522  	}
  2523  	i += n22
  2524  	dAtA[i] = 0x3a
  2525  	i++
  2526  	i = encodeVarintData(dAtA, i, uint64(m.MaxTimestamp.Size()))
  2527  	n23, err := m.MaxTimestamp.MarshalTo(dAtA[i:])
  2528  	if err != nil {
  2529  		return 0, err
  2530  	}
  2531  	i += n23
  2532  	if len(m.ObservedTimestamps) > 0 {
  2533  		for _, msg := range m.ObservedTimestamps {
  2534  			dAtA[i] = 0x42
  2535  			i++
  2536  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2537  			n, err := msg.MarshalTo(dAtA[i:])
  2538  			if err != nil {
  2539  				return 0, err
  2540  			}
  2541  			i += n
  2542  		}
  2543  	}
  2544  	if len(m.LockSpans) > 0 {
  2545  		for _, msg := range m.LockSpans {
  2546  			dAtA[i] = 0x5a
  2547  			i++
  2548  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2549  			n, err := msg.MarshalTo(dAtA[i:])
  2550  			if err != nil {
  2551  				return 0, err
  2552  			}
  2553  			i += n
  2554  		}
  2555  	}
  2556  	if m.WriteTooOld {
  2557  		dAtA[i] = 0x60
  2558  		i++
  2559  		if m.WriteTooOld {
  2560  			dAtA[i] = 1
  2561  		} else {
  2562  			dAtA[i] = 0
  2563  		}
  2564  		i++
  2565  	}
  2566  	dAtA[i] = 0x7a
  2567  	i++
  2568  	i = encodeVarintData(dAtA, i, uint64(m.ReadTimestamp.Size()))
  2569  	n24, err := m.ReadTimestamp.MarshalTo(dAtA[i:])
  2570  	if err != nil {
  2571  		return 0, err
  2572  	}
  2573  	i += n24
  2574  	if m.CommitTimestampFixed {
  2575  		dAtA[i] = 0x80
  2576  		i++
  2577  		dAtA[i] = 0x1
  2578  		i++
  2579  		if m.CommitTimestampFixed {
  2580  			dAtA[i] = 1
  2581  		} else {
  2582  			dAtA[i] = 0
  2583  		}
  2584  		i++
  2585  	}
  2586  	if len(m.InFlightWrites) > 0 {
  2587  		for _, msg := range m.InFlightWrites {
  2588  			dAtA[i] = 0x8a
  2589  			i++
  2590  			dAtA[i] = 0x1
  2591  			i++
  2592  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2593  			n, err := msg.MarshalTo(dAtA[i:])
  2594  			if err != nil {
  2595  				return 0, err
  2596  			}
  2597  			i += n
  2598  		}
  2599  	}
  2600  	if len(m.IgnoredSeqNums) > 0 {
  2601  		for _, msg := range m.IgnoredSeqNums {
  2602  			dAtA[i] = 0x92
  2603  			i++
  2604  			dAtA[i] = 0x1
  2605  			i++
  2606  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2607  			n, err := msg.MarshalTo(dAtA[i:])
  2608  			if err != nil {
  2609  				return 0, err
  2610  			}
  2611  			i += n
  2612  		}
  2613  	}
  2614  	return i, nil
  2615  }
  2616  
  2617  func (m *TransactionRecord) Marshal() (dAtA []byte, err error) {
  2618  	size := m.Size()
  2619  	dAtA = make([]byte, size)
  2620  	n, err := m.MarshalTo(dAtA)
  2621  	if err != nil {
  2622  		return nil, err
  2623  	}
  2624  	return dAtA[:n], nil
  2625  }
  2626  
  2627  func (m *TransactionRecord) MarshalTo(dAtA []byte) (int, error) {
  2628  	var i int
  2629  	_ = i
  2630  	var l int
  2631  	_ = l
  2632  	dAtA[i] = 0xa
  2633  	i++
  2634  	i = encodeVarintData(dAtA, i, uint64(m.TxnMeta.Size()))
  2635  	n25, err := m.TxnMeta.MarshalTo(dAtA[i:])
  2636  	if err != nil {
  2637  		return 0, err
  2638  	}
  2639  	i += n25
  2640  	if m.Status != 0 {
  2641  		dAtA[i] = 0x20
  2642  		i++
  2643  		i = encodeVarintData(dAtA, i, uint64(m.Status))
  2644  	}
  2645  	dAtA[i] = 0x2a
  2646  	i++
  2647  	i = encodeVarintData(dAtA, i, uint64(m.LastHeartbeat.Size()))
  2648  	n26, err := m.LastHeartbeat.MarshalTo(dAtA[i:])
  2649  	if err != nil {
  2650  		return 0, err
  2651  	}
  2652  	i += n26
  2653  	if len(m.LockSpans) > 0 {
  2654  		for _, msg := range m.LockSpans {
  2655  			dAtA[i] = 0x5a
  2656  			i++
  2657  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2658  			n, err := msg.MarshalTo(dAtA[i:])
  2659  			if err != nil {
  2660  				return 0, err
  2661  			}
  2662  			i += n
  2663  		}
  2664  	}
  2665  	if len(m.InFlightWrites) > 0 {
  2666  		for _, msg := range m.InFlightWrites {
  2667  			dAtA[i] = 0x8a
  2668  			i++
  2669  			dAtA[i] = 0x1
  2670  			i++
  2671  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2672  			n, err := msg.MarshalTo(dAtA[i:])
  2673  			if err != nil {
  2674  				return 0, err
  2675  			}
  2676  			i += n
  2677  		}
  2678  	}
  2679  	if len(m.IgnoredSeqNums) > 0 {
  2680  		for _, msg := range m.IgnoredSeqNums {
  2681  			dAtA[i] = 0x92
  2682  			i++
  2683  			dAtA[i] = 0x1
  2684  			i++
  2685  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2686  			n, err := msg.MarshalTo(dAtA[i:])
  2687  			if err != nil {
  2688  				return 0, err
  2689  			}
  2690  			i += n
  2691  		}
  2692  	}
  2693  	return i, nil
  2694  }
  2695  
  2696  func (m *Intent) Marshal() (dAtA []byte, err error) {
  2697  	size := m.Size()
  2698  	dAtA = make([]byte, size)
  2699  	n, err := m.MarshalTo(dAtA)
  2700  	if err != nil {
  2701  		return nil, err
  2702  	}
  2703  	return dAtA[:n], nil
  2704  }
  2705  
  2706  func (m *Intent) MarshalTo(dAtA []byte) (int, error) {
  2707  	var i int
  2708  	_ = i
  2709  	var l int
  2710  	_ = l
  2711  	dAtA[i] = 0xa
  2712  	i++
  2713  	i = encodeVarintData(dAtA, i, uint64(m.Intent_SingleKeySpan.Size()))
  2714  	n27, err := m.Intent_SingleKeySpan.MarshalTo(dAtA[i:])
  2715  	if err != nil {
  2716  		return 0, err
  2717  	}
  2718  	i += n27
  2719  	dAtA[i] = 0x12
  2720  	i++
  2721  	i = encodeVarintData(dAtA, i, uint64(m.Txn.Size()))
  2722  	n28, err := m.Txn.MarshalTo(dAtA[i:])
  2723  	if err != nil {
  2724  		return 0, err
  2725  	}
  2726  	i += n28
  2727  	return i, nil
  2728  }
  2729  
  2730  func (m *Intent_SingleKeySpan) Marshal() (dAtA []byte, err error) {
  2731  	size := m.Size()
  2732  	dAtA = make([]byte, size)
  2733  	n, err := m.MarshalTo(dAtA)
  2734  	if err != nil {
  2735  		return nil, err
  2736  	}
  2737  	return dAtA[:n], nil
  2738  }
  2739  
  2740  func (m *Intent_SingleKeySpan) MarshalTo(dAtA []byte) (int, error) {
  2741  	var i int
  2742  	_ = i
  2743  	var l int
  2744  	_ = l
  2745  	if len(m.Key) > 0 {
  2746  		dAtA[i] = 0x1a
  2747  		i++
  2748  		i = encodeVarintData(dAtA, i, uint64(len(m.Key)))
  2749  		i += copy(dAtA[i:], m.Key)
  2750  	}
  2751  	return i, nil
  2752  }
  2753  
  2754  func (m *LockAcquisition) Marshal() (dAtA []byte, err error) {
  2755  	size := m.Size()
  2756  	dAtA = make([]byte, size)
  2757  	n, err := m.MarshalTo(dAtA)
  2758  	if err != nil {
  2759  		return nil, err
  2760  	}
  2761  	return dAtA[:n], nil
  2762  }
  2763  
  2764  func (m *LockAcquisition) MarshalTo(dAtA []byte) (int, error) {
  2765  	var i int
  2766  	_ = i
  2767  	var l int
  2768  	_ = l
  2769  	dAtA[i] = 0xa
  2770  	i++
  2771  	i = encodeVarintData(dAtA, i, uint64(m.Span.Size()))
  2772  	n29, err := m.Span.MarshalTo(dAtA[i:])
  2773  	if err != nil {
  2774  		return 0, err
  2775  	}
  2776  	i += n29
  2777  	dAtA[i] = 0x12
  2778  	i++
  2779  	i = encodeVarintData(dAtA, i, uint64(m.Txn.Size()))
  2780  	n30, err := m.Txn.MarshalTo(dAtA[i:])
  2781  	if err != nil {
  2782  		return 0, err
  2783  	}
  2784  	i += n30
  2785  	if m.Durability != 0 {
  2786  		dAtA[i] = 0x18
  2787  		i++
  2788  		i = encodeVarintData(dAtA, i, uint64(m.Durability))
  2789  	}
  2790  	return i, nil
  2791  }
  2792  
  2793  func (m *LockUpdate) Marshal() (dAtA []byte, err error) {
  2794  	size := m.Size()
  2795  	dAtA = make([]byte, size)
  2796  	n, err := m.MarshalTo(dAtA)
  2797  	if err != nil {
  2798  		return nil, err
  2799  	}
  2800  	return dAtA[:n], nil
  2801  }
  2802  
  2803  func (m *LockUpdate) MarshalTo(dAtA []byte) (int, error) {
  2804  	var i int
  2805  	_ = i
  2806  	var l int
  2807  	_ = l
  2808  	dAtA[i] = 0xa
  2809  	i++
  2810  	i = encodeVarintData(dAtA, i, uint64(m.Span.Size()))
  2811  	n31, err := m.Span.MarshalTo(dAtA[i:])
  2812  	if err != nil {
  2813  		return 0, err
  2814  	}
  2815  	i += n31
  2816  	dAtA[i] = 0x12
  2817  	i++
  2818  	i = encodeVarintData(dAtA, i, uint64(m.Txn.Size()))
  2819  	n32, err := m.Txn.MarshalTo(dAtA[i:])
  2820  	if err != nil {
  2821  		return 0, err
  2822  	}
  2823  	i += n32
  2824  	if m.Status != 0 {
  2825  		dAtA[i] = 0x18
  2826  		i++
  2827  		i = encodeVarintData(dAtA, i, uint64(m.Status))
  2828  	}
  2829  	if len(m.IgnoredSeqNums) > 0 {
  2830  		for _, msg := range m.IgnoredSeqNums {
  2831  			dAtA[i] = 0x22
  2832  			i++
  2833  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  2834  			n, err := msg.MarshalTo(dAtA[i:])
  2835  			if err != nil {
  2836  				return 0, err
  2837  			}
  2838  			i += n
  2839  		}
  2840  	}
  2841  	return i, nil
  2842  }
  2843  
  2844  func (m *SequencedWrite) Marshal() (dAtA []byte, err error) {
  2845  	size := m.Size()
  2846  	dAtA = make([]byte, size)
  2847  	n, err := m.MarshalTo(dAtA)
  2848  	if err != nil {
  2849  		return nil, err
  2850  	}
  2851  	return dAtA[:n], nil
  2852  }
  2853  
  2854  func (m *SequencedWrite) MarshalTo(dAtA []byte) (int, error) {
  2855  	var i int
  2856  	_ = i
  2857  	var l int
  2858  	_ = l
  2859  	if len(m.Key) > 0 {
  2860  		dAtA[i] = 0xa
  2861  		i++
  2862  		i = encodeVarintData(dAtA, i, uint64(len(m.Key)))
  2863  		i += copy(dAtA[i:], m.Key)
  2864  	}
  2865  	if m.Sequence != 0 {
  2866  		dAtA[i] = 0x10
  2867  		i++
  2868  		i = encodeVarintData(dAtA, i, uint64(m.Sequence))
  2869  	}
  2870  	return i, nil
  2871  }
  2872  
  2873  func (m *Lease) Marshal() (dAtA []byte, err error) {
  2874  	size := m.Size()
  2875  	dAtA = make([]byte, size)
  2876  	n, err := m.MarshalTo(dAtA)
  2877  	if err != nil {
  2878  		return nil, err
  2879  	}
  2880  	return dAtA[:n], nil
  2881  }
  2882  
  2883  func (m *Lease) MarshalTo(dAtA []byte) (int, error) {
  2884  	var i int
  2885  	_ = i
  2886  	var l int
  2887  	_ = l
  2888  	dAtA[i] = 0xa
  2889  	i++
  2890  	i = encodeVarintData(dAtA, i, uint64(m.Start.Size()))
  2891  	n33, err := m.Start.MarshalTo(dAtA[i:])
  2892  	if err != nil {
  2893  		return 0, err
  2894  	}
  2895  	i += n33
  2896  	if m.Expiration != nil {
  2897  		dAtA[i] = 0x12
  2898  		i++
  2899  		i = encodeVarintData(dAtA, i, uint64(m.Expiration.Size()))
  2900  		n34, err := m.Expiration.MarshalTo(dAtA[i:])
  2901  		if err != nil {
  2902  			return 0, err
  2903  		}
  2904  		i += n34
  2905  	}
  2906  	dAtA[i] = 0x1a
  2907  	i++
  2908  	i = encodeVarintData(dAtA, i, uint64(m.Replica.Size()))
  2909  	n35, err := m.Replica.MarshalTo(dAtA[i:])
  2910  	if err != nil {
  2911  		return 0, err
  2912  	}
  2913  	i += n35
  2914  	if m.DeprecatedStartStasis != nil {
  2915  		dAtA[i] = 0x22
  2916  		i++
  2917  		i = encodeVarintData(dAtA, i, uint64(m.DeprecatedStartStasis.Size()))
  2918  		n36, err := m.DeprecatedStartStasis.MarshalTo(dAtA[i:])
  2919  		if err != nil {
  2920  			return 0, err
  2921  		}
  2922  		i += n36
  2923  	}
  2924  	if m.ProposedTS != nil {
  2925  		dAtA[i] = 0x2a
  2926  		i++
  2927  		i = encodeVarintData(dAtA, i, uint64(m.ProposedTS.Size()))
  2928  		n37, err := m.ProposedTS.MarshalTo(dAtA[i:])
  2929  		if err != nil {
  2930  			return 0, err
  2931  		}
  2932  		i += n37
  2933  	}
  2934  	if m.Epoch != 0 {
  2935  		dAtA[i] = 0x30
  2936  		i++
  2937  		i = encodeVarintData(dAtA, i, uint64(m.Epoch))
  2938  	}
  2939  	if m.Sequence != 0 {
  2940  		dAtA[i] = 0x38
  2941  		i++
  2942  		i = encodeVarintData(dAtA, i, uint64(m.Sequence))
  2943  	}
  2944  	return i, nil
  2945  }
  2946  
  2947  func (m *AbortSpanEntry) Marshal() (dAtA []byte, err error) {
  2948  	size := m.Size()
  2949  	dAtA = make([]byte, size)
  2950  	n, err := m.MarshalTo(dAtA)
  2951  	if err != nil {
  2952  		return nil, err
  2953  	}
  2954  	return dAtA[:n], nil
  2955  }
  2956  
  2957  func (m *AbortSpanEntry) MarshalTo(dAtA []byte) (int, error) {
  2958  	var i int
  2959  	_ = i
  2960  	var l int
  2961  	_ = l
  2962  	if len(m.Key) > 0 {
  2963  		dAtA[i] = 0xa
  2964  		i++
  2965  		i = encodeVarintData(dAtA, i, uint64(len(m.Key)))
  2966  		i += copy(dAtA[i:], m.Key)
  2967  	}
  2968  	dAtA[i] = 0x12
  2969  	i++
  2970  	i = encodeVarintData(dAtA, i, uint64(m.Timestamp.Size()))
  2971  	n38, err := m.Timestamp.MarshalTo(dAtA[i:])
  2972  	if err != nil {
  2973  		return 0, err
  2974  	}
  2975  	i += n38
  2976  	if m.Priority != 0 {
  2977  		dAtA[i] = 0x18
  2978  		i++
  2979  		i = encodeVarintData(dAtA, i, uint64(m.Priority))
  2980  	}
  2981  	return i, nil
  2982  }
  2983  
  2984  func (m *LeafTxnInputState) Marshal() (dAtA []byte, err error) {
  2985  	size := m.Size()
  2986  	dAtA = make([]byte, size)
  2987  	n, err := m.MarshalTo(dAtA)
  2988  	if err != nil {
  2989  		return nil, err
  2990  	}
  2991  	return dAtA[:n], nil
  2992  }
  2993  
  2994  func (m *LeafTxnInputState) MarshalTo(dAtA []byte) (int, error) {
  2995  	var i int
  2996  	_ = i
  2997  	var l int
  2998  	_ = l
  2999  	dAtA[i] = 0xa
  3000  	i++
  3001  	i = encodeVarintData(dAtA, i, uint64(m.Txn.Size()))
  3002  	n39, err := m.Txn.MarshalTo(dAtA[i:])
  3003  	if err != nil {
  3004  		return 0, err
  3005  	}
  3006  	i += n39
  3007  	if m.RefreshInvalid {
  3008  		dAtA[i] = 0x38
  3009  		i++
  3010  		if m.RefreshInvalid {
  3011  			dAtA[i] = 1
  3012  		} else {
  3013  			dAtA[i] = 0
  3014  		}
  3015  		i++
  3016  	}
  3017  	if len(m.InFlightWrites) > 0 {
  3018  		for _, msg := range m.InFlightWrites {
  3019  			dAtA[i] = 0x42
  3020  			i++
  3021  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  3022  			n, err := msg.MarshalTo(dAtA[i:])
  3023  			if err != nil {
  3024  				return 0, err
  3025  			}
  3026  			i += n
  3027  		}
  3028  	}
  3029  	if m.SteppingModeEnabled {
  3030  		dAtA[i] = 0x48
  3031  		i++
  3032  		if m.SteppingModeEnabled {
  3033  			dAtA[i] = 1
  3034  		} else {
  3035  			dAtA[i] = 0
  3036  		}
  3037  		i++
  3038  	}
  3039  	if m.ReadSeqNum != 0 {
  3040  		dAtA[i] = 0x50
  3041  		i++
  3042  		i = encodeVarintData(dAtA, i, uint64(m.ReadSeqNum))
  3043  	}
  3044  	return i, nil
  3045  }
  3046  
  3047  func (m *LeafTxnFinalState) Marshal() (dAtA []byte, err error) {
  3048  	size := m.Size()
  3049  	dAtA = make([]byte, size)
  3050  	n, err := m.MarshalTo(dAtA)
  3051  	if err != nil {
  3052  		return nil, err
  3053  	}
  3054  	return dAtA[:n], nil
  3055  }
  3056  
  3057  func (m *LeafTxnFinalState) MarshalTo(dAtA []byte) (int, error) {
  3058  	var i int
  3059  	_ = i
  3060  	var l int
  3061  	_ = l
  3062  	dAtA[i] = 0xa
  3063  	i++
  3064  	i = encodeVarintData(dAtA, i, uint64(m.Txn.Size()))
  3065  	n40, err := m.Txn.MarshalTo(dAtA[i:])
  3066  	if err != nil {
  3067  		return 0, err
  3068  	}
  3069  	i += n40
  3070  	if m.DeprecatedCommandCount != 0 {
  3071  		dAtA[i] = 0x18
  3072  		i++
  3073  		i = encodeVarintData(dAtA, i, uint64(m.DeprecatedCommandCount))
  3074  	}
  3075  	if len(m.RefreshSpans) > 0 {
  3076  		for _, msg := range m.RefreshSpans {
  3077  			dAtA[i] = 0x22
  3078  			i++
  3079  			i = encodeVarintData(dAtA, i, uint64(msg.Size()))
  3080  			n, err := msg.MarshalTo(dAtA[i:])
  3081  			if err != nil {
  3082  				return 0, err
  3083  			}
  3084  			i += n
  3085  		}
  3086  	}
  3087  	if m.RefreshInvalid {
  3088  		dAtA[i] = 0x38
  3089  		i++
  3090  		if m.RefreshInvalid {
  3091  			dAtA[i] = 1
  3092  		} else {
  3093  			dAtA[i] = 0
  3094  		}
  3095  		i++
  3096  	}
  3097  	return i, nil
  3098  }
  3099  
  3100  func encodeVarintData(dAtA []byte, offset int, v uint64) int {
  3101  	for v >= 1<<7 {
  3102  		dAtA[offset] = uint8(v&0x7f | 0x80)
  3103  		v >>= 7
  3104  		offset++
  3105  	}
  3106  	dAtA[offset] = uint8(v)
  3107  	return offset + 1
  3108  }
  3109  func NewPopulatedSpan(r randyData, easy bool) *Span {
  3110  	this := &Span{}
  3111  	v1 := r.Intn(100)
  3112  	this.Key = make(Key, v1)
  3113  	for i := 0; i < v1; i++ {
  3114  		this.Key[i] = byte(r.Intn(256))
  3115  	}
  3116  	v2 := r.Intn(100)
  3117  	this.EndKey = make(Key, v2)
  3118  	for i := 0; i < v2; i++ {
  3119  		this.EndKey[i] = byte(r.Intn(256))
  3120  	}
  3121  	if !easy && r.Intn(10) != 0 {
  3122  	}
  3123  	return this
  3124  }
  3125  
  3126  func NewPopulatedObservedTimestamp(r randyData, easy bool) *ObservedTimestamp {
  3127  	this := &ObservedTimestamp{}
  3128  	this.NodeID = NodeID(r.Int31())
  3129  	if r.Intn(2) == 0 {
  3130  		this.NodeID *= -1
  3131  	}
  3132  	v3 := hlc.NewPopulatedTimestamp(r, easy)
  3133  	this.Timestamp = *v3
  3134  	if !easy && r.Intn(10) != 0 {
  3135  	}
  3136  	return this
  3137  }
  3138  
  3139  func NewPopulatedTransaction(r randyData, easy bool) *Transaction {
  3140  	this := &Transaction{}
  3141  	v4 := enginepb.NewPopulatedTxnMeta(r, easy)
  3142  	this.TxnMeta = *v4
  3143  	this.Name = string(randStringData(r))
  3144  	this.Status = TransactionStatus([]int32{0, 3, 1, 2}[r.Intn(4)])
  3145  	v5 := hlc.NewPopulatedTimestamp(r, easy)
  3146  	this.LastHeartbeat = *v5
  3147  	v6 := hlc.NewPopulatedTimestamp(r, easy)
  3148  	this.DeprecatedOrigTimestamp = *v6
  3149  	v7 := hlc.NewPopulatedTimestamp(r, easy)
  3150  	this.MaxTimestamp = *v7
  3151  	if r.Intn(10) != 0 {
  3152  		v8 := r.Intn(5)
  3153  		this.ObservedTimestamps = make([]ObservedTimestamp, v8)
  3154  		for i := 0; i < v8; i++ {
  3155  			v9 := NewPopulatedObservedTimestamp(r, easy)
  3156  			this.ObservedTimestamps[i] = *v9
  3157  		}
  3158  	}
  3159  	if r.Intn(10) != 0 {
  3160  		v10 := r.Intn(5)
  3161  		this.LockSpans = make([]Span, v10)
  3162  		for i := 0; i < v10; i++ {
  3163  			v11 := NewPopulatedSpan(r, easy)
  3164  			this.LockSpans[i] = *v11
  3165  		}
  3166  	}
  3167  	this.WriteTooOld = bool(bool(r.Intn(2) == 0))
  3168  	v12 := hlc.NewPopulatedTimestamp(r, easy)
  3169  	this.ReadTimestamp = *v12
  3170  	this.CommitTimestampFixed = bool(bool(r.Intn(2) == 0))
  3171  	if r.Intn(10) != 0 {
  3172  		v13 := r.Intn(5)
  3173  		this.InFlightWrites = make([]SequencedWrite, v13)
  3174  		for i := 0; i < v13; i++ {
  3175  			v14 := NewPopulatedSequencedWrite(r, easy)
  3176  			this.InFlightWrites[i] = *v14
  3177  		}
  3178  	}
  3179  	if r.Intn(10) != 0 {
  3180  		v15 := r.Intn(5)
  3181  		this.IgnoredSeqNums = make([]enginepb.IgnoredSeqNumRange, v15)
  3182  		for i := 0; i < v15; i++ {
  3183  			v16 := enginepb.NewPopulatedIgnoredSeqNumRange(r, easy)
  3184  			this.IgnoredSeqNums[i] = *v16
  3185  		}
  3186  	}
  3187  	if !easy && r.Intn(10) != 0 {
  3188  	}
  3189  	return this
  3190  }
  3191  
  3192  func NewPopulatedTransactionRecord(r randyData, easy bool) *TransactionRecord {
  3193  	this := &TransactionRecord{}
  3194  	v17 := enginepb.NewPopulatedTxnMeta(r, easy)
  3195  	this.TxnMeta = *v17
  3196  	this.Status = TransactionStatus([]int32{0, 3, 1, 2}[r.Intn(4)])
  3197  	v18 := hlc.NewPopulatedTimestamp(r, easy)
  3198  	this.LastHeartbeat = *v18
  3199  	if r.Intn(10) != 0 {
  3200  		v19 := r.Intn(5)
  3201  		this.LockSpans = make([]Span, v19)
  3202  		for i := 0; i < v19; i++ {
  3203  			v20 := NewPopulatedSpan(r, easy)
  3204  			this.LockSpans[i] = *v20
  3205  		}
  3206  	}
  3207  	if r.Intn(10) != 0 {
  3208  		v21 := r.Intn(5)
  3209  		this.InFlightWrites = make([]SequencedWrite, v21)
  3210  		for i := 0; i < v21; i++ {
  3211  			v22 := NewPopulatedSequencedWrite(r, easy)
  3212  			this.InFlightWrites[i] = *v22
  3213  		}
  3214  	}
  3215  	if r.Intn(10) != 0 {
  3216  		v23 := r.Intn(5)
  3217  		this.IgnoredSeqNums = make([]enginepb.IgnoredSeqNumRange, v23)
  3218  		for i := 0; i < v23; i++ {
  3219  			v24 := enginepb.NewPopulatedIgnoredSeqNumRange(r, easy)
  3220  			this.IgnoredSeqNums[i] = *v24
  3221  		}
  3222  	}
  3223  	if !easy && r.Intn(10) != 0 {
  3224  	}
  3225  	return this
  3226  }
  3227  
  3228  func NewPopulatedSequencedWrite(r randyData, easy bool) *SequencedWrite {
  3229  	this := &SequencedWrite{}
  3230  	v25 := r.Intn(100)
  3231  	this.Key = make(Key, v25)
  3232  	for i := 0; i < v25; i++ {
  3233  		this.Key[i] = byte(r.Intn(256))
  3234  	}
  3235  	this.Sequence = github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnSeq(r.Int31())
  3236  	if r.Intn(2) == 0 {
  3237  		this.Sequence *= -1
  3238  	}
  3239  	if !easy && r.Intn(10) != 0 {
  3240  	}
  3241  	return this
  3242  }
  3243  
  3244  func NewPopulatedLease(r randyData, easy bool) *Lease {
  3245  	this := &Lease{}
  3246  	v26 := hlc.NewPopulatedTimestamp(r, easy)
  3247  	this.Start = *v26
  3248  	if r.Intn(10) != 0 {
  3249  		this.Expiration = hlc.NewPopulatedTimestamp(r, easy)
  3250  	}
  3251  	v27 := NewPopulatedReplicaDescriptor(r, easy)
  3252  	this.Replica = *v27
  3253  	if r.Intn(10) != 0 {
  3254  		this.DeprecatedStartStasis = hlc.NewPopulatedTimestamp(r, easy)
  3255  	}
  3256  	if r.Intn(10) != 0 {
  3257  		this.ProposedTS = hlc.NewPopulatedTimestamp(r, easy)
  3258  	}
  3259  	this.Epoch = int64(r.Int63())
  3260  	if r.Intn(2) == 0 {
  3261  		this.Epoch *= -1
  3262  	}
  3263  	this.Sequence = LeaseSequence(r.Int63())
  3264  	if r.Intn(2) == 0 {
  3265  		this.Sequence *= -1
  3266  	}
  3267  	if !easy && r.Intn(10) != 0 {
  3268  	}
  3269  	return this
  3270  }
  3271  
  3272  func NewPopulatedAbortSpanEntry(r randyData, easy bool) *AbortSpanEntry {
  3273  	this := &AbortSpanEntry{}
  3274  	v28 := r.Intn(100)
  3275  	this.Key = make(Key, v28)
  3276  	for i := 0; i < v28; i++ {
  3277  		this.Key[i] = byte(r.Intn(256))
  3278  	}
  3279  	v29 := hlc.NewPopulatedTimestamp(r, easy)
  3280  	this.Timestamp = *v29
  3281  	this.Priority = github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnPriority(r.Int31())
  3282  	if r.Intn(2) == 0 {
  3283  		this.Priority *= -1
  3284  	}
  3285  	if !easy && r.Intn(10) != 0 {
  3286  	}
  3287  	return this
  3288  }
  3289  
  3290  type randyData interface {
  3291  	Float32() float32
  3292  	Float64() float64
  3293  	Int63() int64
  3294  	Int31() int32
  3295  	Uint32() uint32
  3296  	Intn(n int) int
  3297  }
  3298  
  3299  func randUTF8RuneData(r randyData) rune {
  3300  	ru := r.Intn(62)
  3301  	if ru < 10 {
  3302  		return rune(ru + 48)
  3303  	} else if ru < 36 {
  3304  		return rune(ru + 55)
  3305  	}
  3306  	return rune(ru + 61)
  3307  }
  3308  func randStringData(r randyData) string {
  3309  	v30 := r.Intn(100)
  3310  	tmps := make([]rune, v30)
  3311  	for i := 0; i < v30; i++ {
  3312  		tmps[i] = randUTF8RuneData(r)
  3313  	}
  3314  	return string(tmps)
  3315  }
  3316  func randUnrecognizedData(r randyData, maxFieldNumber int) (dAtA []byte) {
  3317  	l := r.Intn(5)
  3318  	for i := 0; i < l; i++ {
  3319  		wire := r.Intn(4)
  3320  		if wire == 3 {
  3321  			wire = 5
  3322  		}
  3323  		fieldNumber := maxFieldNumber + r.Intn(100)
  3324  		dAtA = randFieldData(dAtA, r, fieldNumber, wire)
  3325  	}
  3326  	return dAtA
  3327  }
  3328  func randFieldData(dAtA []byte, r randyData, fieldNumber int, wire int) []byte {
  3329  	key := uint32(fieldNumber)<<3 | uint32(wire)
  3330  	switch wire {
  3331  	case 0:
  3332  		dAtA = encodeVarintPopulateData(dAtA, uint64(key))
  3333  		v31 := r.Int63()
  3334  		if r.Intn(2) == 0 {
  3335  			v31 *= -1
  3336  		}
  3337  		dAtA = encodeVarintPopulateData(dAtA, uint64(v31))
  3338  	case 1:
  3339  		dAtA = encodeVarintPopulateData(dAtA, uint64(key))
  3340  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  3341  	case 2:
  3342  		dAtA = encodeVarintPopulateData(dAtA, uint64(key))
  3343  		ll := r.Intn(100)
  3344  		dAtA = encodeVarintPopulateData(dAtA, uint64(ll))
  3345  		for j := 0; j < ll; j++ {
  3346  			dAtA = append(dAtA, byte(r.Intn(256)))
  3347  		}
  3348  	default:
  3349  		dAtA = encodeVarintPopulateData(dAtA, uint64(key))
  3350  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  3351  	}
  3352  	return dAtA
  3353  }
  3354  func encodeVarintPopulateData(dAtA []byte, v uint64) []byte {
  3355  	for v >= 1<<7 {
  3356  		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
  3357  		v >>= 7
  3358  	}
  3359  	dAtA = append(dAtA, uint8(v))
  3360  	return dAtA
  3361  }
  3362  func (m *Span) Size() (n int) {
  3363  	if m == nil {
  3364  		return 0
  3365  	}
  3366  	var l int
  3367  	_ = l
  3368  	l = len(m.Key)
  3369  	if l > 0 {
  3370  		n += 1 + l + sovData(uint64(l))
  3371  	}
  3372  	l = len(m.EndKey)
  3373  	if l > 0 {
  3374  		n += 1 + l + sovData(uint64(l))
  3375  	}
  3376  	return n
  3377  }
  3378  
  3379  func (m *Value) Size() (n int) {
  3380  	if m == nil {
  3381  		return 0
  3382  	}
  3383  	var l int
  3384  	_ = l
  3385  	l = len(m.RawBytes)
  3386  	if l > 0 {
  3387  		n += 1 + l + sovData(uint64(l))
  3388  	}
  3389  	l = m.Timestamp.Size()
  3390  	n += 1 + l + sovData(uint64(l))
  3391  	return n
  3392  }
  3393  
  3394  func (m *KeyValue) Size() (n int) {
  3395  	if m == nil {
  3396  		return 0
  3397  	}
  3398  	var l int
  3399  	_ = l
  3400  	l = len(m.Key)
  3401  	if l > 0 {
  3402  		n += 1 + l + sovData(uint64(l))
  3403  	}
  3404  	l = m.Value.Size()
  3405  	n += 1 + l + sovData(uint64(l))
  3406  	return n
  3407  }
  3408  
  3409  func (m *StoreIdent) Size() (n int) {
  3410  	if m == nil {
  3411  		return 0
  3412  	}
  3413  	var l int
  3414  	_ = l
  3415  	l = m.ClusterID.Size()
  3416  	n += 1 + l + sovData(uint64(l))
  3417  	if m.NodeID != 0 {
  3418  		n += 1 + sovData(uint64(m.NodeID))
  3419  	}
  3420  	if m.StoreID != 0 {
  3421  		n += 1 + sovData(uint64(m.StoreID))
  3422  	}
  3423  	return n
  3424  }
  3425  
  3426  func (m *SplitTrigger) Size() (n int) {
  3427  	if m == nil {
  3428  		return 0
  3429  	}
  3430  	var l int
  3431  	_ = l
  3432  	l = m.LeftDesc.Size()
  3433  	n += 1 + l + sovData(uint64(l))
  3434  	l = m.RightDesc.Size()
  3435  	n += 1 + l + sovData(uint64(l))
  3436  	return n
  3437  }
  3438  
  3439  func (m *MergeTrigger) Size() (n int) {
  3440  	if m == nil {
  3441  		return 0
  3442  	}
  3443  	var l int
  3444  	_ = l
  3445  	l = m.LeftDesc.Size()
  3446  	n += 1 + l + sovData(uint64(l))
  3447  	l = m.RightDesc.Size()
  3448  	n += 1 + l + sovData(uint64(l))
  3449  	l = m.RightMVCCStats.Size()
  3450  	n += 1 + l + sovData(uint64(l))
  3451  	l = m.FreezeStart.Size()
  3452  	n += 1 + l + sovData(uint64(l))
  3453  	return n
  3454  }
  3455  
  3456  func (m *ChangeReplicasTrigger) Size() (n int) {
  3457  	if m == nil {
  3458  		return 0
  3459  	}
  3460  	var l int
  3461  	_ = l
  3462  	if m.DeprecatedChangeType != 0 {
  3463  		n += 1 + sovData(uint64(m.DeprecatedChangeType))
  3464  	}
  3465  	l = m.DeprecatedReplica.Size()
  3466  	n += 1 + l + sovData(uint64(l))
  3467  	if len(m.DeprecatedUpdatedReplicas) > 0 {
  3468  		for _, e := range m.DeprecatedUpdatedReplicas {
  3469  			l = e.Size()
  3470  			n += 1 + l + sovData(uint64(l))
  3471  		}
  3472  	}
  3473  	if m.DeprecatedNextReplicaID != 0 {
  3474  		n += 1 + sovData(uint64(m.DeprecatedNextReplicaID))
  3475  	}
  3476  	if m.Desc != nil {
  3477  		l = m.Desc.Size()
  3478  		n += 1 + l + sovData(uint64(l))
  3479  	}
  3480  	if len(m.InternalAddedReplicas) > 0 {
  3481  		for _, e := range m.InternalAddedReplicas {
  3482  			l = e.Size()
  3483  			n += 1 + l + sovData(uint64(l))
  3484  		}
  3485  	}
  3486  	if len(m.InternalRemovedReplicas) > 0 {
  3487  		for _, e := range m.InternalRemovedReplicas {
  3488  			l = e.Size()
  3489  			n += 1 + l + sovData(uint64(l))
  3490  		}
  3491  	}
  3492  	return n
  3493  }
  3494  
  3495  func (m *ModifiedSpanTrigger) Size() (n int) {
  3496  	if m == nil {
  3497  		return 0
  3498  	}
  3499  	var l int
  3500  	_ = l
  3501  	if m.SystemConfigSpan {
  3502  		n += 2
  3503  	}
  3504  	if m.NodeLivenessSpan != nil {
  3505  		l = m.NodeLivenessSpan.Size()
  3506  		n += 1 + l + sovData(uint64(l))
  3507  	}
  3508  	return n
  3509  }
  3510  
  3511  func (m *StickyBitTrigger) Size() (n int) {
  3512  	if m == nil {
  3513  		return 0
  3514  	}
  3515  	var l int
  3516  	_ = l
  3517  	l = m.StickyBit.Size()
  3518  	n += 1 + l + sovData(uint64(l))
  3519  	return n
  3520  }
  3521  
  3522  func (m *InternalCommitTrigger) Size() (n int) {
  3523  	if m == nil {
  3524  		return 0
  3525  	}
  3526  	var l int
  3527  	_ = l
  3528  	if m.SplitTrigger != nil {
  3529  		l = m.SplitTrigger.Size()
  3530  		n += 1 + l + sovData(uint64(l))
  3531  	}
  3532  	if m.MergeTrigger != nil {
  3533  		l = m.MergeTrigger.Size()
  3534  		n += 1 + l + sovData(uint64(l))
  3535  	}
  3536  	if m.ChangeReplicasTrigger != nil {
  3537  		l = m.ChangeReplicasTrigger.Size()
  3538  		n += 1 + l + sovData(uint64(l))
  3539  	}
  3540  	if m.ModifiedSpanTrigger != nil {
  3541  		l = m.ModifiedSpanTrigger.Size()
  3542  		n += 1 + l + sovData(uint64(l))
  3543  	}
  3544  	if m.StickyBitTrigger != nil {
  3545  		l = m.StickyBitTrigger.Size()
  3546  		n += 1 + l + sovData(uint64(l))
  3547  	}
  3548  	return n
  3549  }
  3550  
  3551  func (m *ObservedTimestamp) Size() (n int) {
  3552  	if m == nil {
  3553  		return 0
  3554  	}
  3555  	var l int
  3556  	_ = l
  3557  	if m.NodeID != 0 {
  3558  		n += 1 + sovData(uint64(m.NodeID))
  3559  	}
  3560  	l = m.Timestamp.Size()
  3561  	n += 1 + l + sovData(uint64(l))
  3562  	return n
  3563  }
  3564  
  3565  func (m *Transaction) Size() (n int) {
  3566  	if m == nil {
  3567  		return 0
  3568  	}
  3569  	var l int
  3570  	_ = l
  3571  	l = m.TxnMeta.Size()
  3572  	n += 1 + l + sovData(uint64(l))
  3573  	l = len(m.Name)
  3574  	if l > 0 {
  3575  		n += 1 + l + sovData(uint64(l))
  3576  	}
  3577  	if m.Status != 0 {
  3578  		n += 1 + sovData(uint64(m.Status))
  3579  	}
  3580  	l = m.LastHeartbeat.Size()
  3581  	n += 1 + l + sovData(uint64(l))
  3582  	l = m.DeprecatedOrigTimestamp.Size()
  3583  	n += 1 + l + sovData(uint64(l))
  3584  	l = m.MaxTimestamp.Size()
  3585  	n += 1 + l + sovData(uint64(l))
  3586  	if len(m.ObservedTimestamps) > 0 {
  3587  		for _, e := range m.ObservedTimestamps {
  3588  			l = e.Size()
  3589  			n += 1 + l + sovData(uint64(l))
  3590  		}
  3591  	}
  3592  	if len(m.LockSpans) > 0 {
  3593  		for _, e := range m.LockSpans {
  3594  			l = e.Size()
  3595  			n += 1 + l + sovData(uint64(l))
  3596  		}
  3597  	}
  3598  	if m.WriteTooOld {
  3599  		n += 2
  3600  	}
  3601  	l = m.ReadTimestamp.Size()
  3602  	n += 1 + l + sovData(uint64(l))
  3603  	if m.CommitTimestampFixed {
  3604  		n += 3
  3605  	}
  3606  	if len(m.InFlightWrites) > 0 {
  3607  		for _, e := range m.InFlightWrites {
  3608  			l = e.Size()
  3609  			n += 2 + l + sovData(uint64(l))
  3610  		}
  3611  	}
  3612  	if len(m.IgnoredSeqNums) > 0 {
  3613  		for _, e := range m.IgnoredSeqNums {
  3614  			l = e.Size()
  3615  			n += 2 + l + sovData(uint64(l))
  3616  		}
  3617  	}
  3618  	return n
  3619  }
  3620  
  3621  func (m *TransactionRecord) Size() (n int) {
  3622  	if m == nil {
  3623  		return 0
  3624  	}
  3625  	var l int
  3626  	_ = l
  3627  	l = m.TxnMeta.Size()
  3628  	n += 1 + l + sovData(uint64(l))
  3629  	if m.Status != 0 {
  3630  		n += 1 + sovData(uint64(m.Status))
  3631  	}
  3632  	l = m.LastHeartbeat.Size()
  3633  	n += 1 + l + sovData(uint64(l))
  3634  	if len(m.LockSpans) > 0 {
  3635  		for _, e := range m.LockSpans {
  3636  			l = e.Size()
  3637  			n += 1 + l + sovData(uint64(l))
  3638  		}
  3639  	}
  3640  	if len(m.InFlightWrites) > 0 {
  3641  		for _, e := range m.InFlightWrites {
  3642  			l = e.Size()
  3643  			n += 2 + l + sovData(uint64(l))
  3644  		}
  3645  	}
  3646  	if len(m.IgnoredSeqNums) > 0 {
  3647  		for _, e := range m.IgnoredSeqNums {
  3648  			l = e.Size()
  3649  			n += 2 + l + sovData(uint64(l))
  3650  		}
  3651  	}
  3652  	return n
  3653  }
  3654  
  3655  func (m *Intent) Size() (n int) {
  3656  	if m == nil {
  3657  		return 0
  3658  	}
  3659  	var l int
  3660  	_ = l
  3661  	l = m.Intent_SingleKeySpan.Size()
  3662  	n += 1 + l + sovData(uint64(l))
  3663  	l = m.Txn.Size()
  3664  	n += 1 + l + sovData(uint64(l))
  3665  	return n
  3666  }
  3667  
  3668  func (m *Intent_SingleKeySpan) Size() (n int) {
  3669  	if m == nil {
  3670  		return 0
  3671  	}
  3672  	var l int
  3673  	_ = l
  3674  	l = len(m.Key)
  3675  	if l > 0 {
  3676  		n += 1 + l + sovData(uint64(l))
  3677  	}
  3678  	return n
  3679  }
  3680  
  3681  func (m *LockAcquisition) Size() (n int) {
  3682  	if m == nil {
  3683  		return 0
  3684  	}
  3685  	var l int
  3686  	_ = l
  3687  	l = m.Span.Size()
  3688  	n += 1 + l + sovData(uint64(l))
  3689  	l = m.Txn.Size()
  3690  	n += 1 + l + sovData(uint64(l))
  3691  	if m.Durability != 0 {
  3692  		n += 1 + sovData(uint64(m.Durability))
  3693  	}
  3694  	return n
  3695  }
  3696  
  3697  func (m *LockUpdate) Size() (n int) {
  3698  	if m == nil {
  3699  		return 0
  3700  	}
  3701  	var l int
  3702  	_ = l
  3703  	l = m.Span.Size()
  3704  	n += 1 + l + sovData(uint64(l))
  3705  	l = m.Txn.Size()
  3706  	n += 1 + l + sovData(uint64(l))
  3707  	if m.Status != 0 {
  3708  		n += 1 + sovData(uint64(m.Status))
  3709  	}
  3710  	if len(m.IgnoredSeqNums) > 0 {
  3711  		for _, e := range m.IgnoredSeqNums {
  3712  			l = e.Size()
  3713  			n += 1 + l + sovData(uint64(l))
  3714  		}
  3715  	}
  3716  	return n
  3717  }
  3718  
  3719  func (m *SequencedWrite) Size() (n int) {
  3720  	if m == nil {
  3721  		return 0
  3722  	}
  3723  	var l int
  3724  	_ = l
  3725  	l = len(m.Key)
  3726  	if l > 0 {
  3727  		n += 1 + l + sovData(uint64(l))
  3728  	}
  3729  	if m.Sequence != 0 {
  3730  		n += 1 + sovData(uint64(m.Sequence))
  3731  	}
  3732  	return n
  3733  }
  3734  
  3735  func (m *Lease) Size() (n int) {
  3736  	if m == nil {
  3737  		return 0
  3738  	}
  3739  	var l int
  3740  	_ = l
  3741  	l = m.Start.Size()
  3742  	n += 1 + l + sovData(uint64(l))
  3743  	if m.Expiration != nil {
  3744  		l = m.Expiration.Size()
  3745  		n += 1 + l + sovData(uint64(l))
  3746  	}
  3747  	l = m.Replica.Size()
  3748  	n += 1 + l + sovData(uint64(l))
  3749  	if m.DeprecatedStartStasis != nil {
  3750  		l = m.DeprecatedStartStasis.Size()
  3751  		n += 1 + l + sovData(uint64(l))
  3752  	}
  3753  	if m.ProposedTS != nil {
  3754  		l = m.ProposedTS.Size()
  3755  		n += 1 + l + sovData(uint64(l))
  3756  	}
  3757  	if m.Epoch != 0 {
  3758  		n += 1 + sovData(uint64(m.Epoch))
  3759  	}
  3760  	if m.Sequence != 0 {
  3761  		n += 1 + sovData(uint64(m.Sequence))
  3762  	}
  3763  	return n
  3764  }
  3765  
  3766  func (m *AbortSpanEntry) Size() (n int) {
  3767  	if m == nil {
  3768  		return 0
  3769  	}
  3770  	var l int
  3771  	_ = l
  3772  	l = len(m.Key)
  3773  	if l > 0 {
  3774  		n += 1 + l + sovData(uint64(l))
  3775  	}
  3776  	l = m.Timestamp.Size()
  3777  	n += 1 + l + sovData(uint64(l))
  3778  	if m.Priority != 0 {
  3779  		n += 1 + sovData(uint64(m.Priority))
  3780  	}
  3781  	return n
  3782  }
  3783  
  3784  func (m *LeafTxnInputState) Size() (n int) {
  3785  	if m == nil {
  3786  		return 0
  3787  	}
  3788  	var l int
  3789  	_ = l
  3790  	l = m.Txn.Size()
  3791  	n += 1 + l + sovData(uint64(l))
  3792  	if m.RefreshInvalid {
  3793  		n += 2
  3794  	}
  3795  	if len(m.InFlightWrites) > 0 {
  3796  		for _, e := range m.InFlightWrites {
  3797  			l = e.Size()
  3798  			n += 1 + l + sovData(uint64(l))
  3799  		}
  3800  	}
  3801  	if m.SteppingModeEnabled {
  3802  		n += 2
  3803  	}
  3804  	if m.ReadSeqNum != 0 {
  3805  		n += 1 + sovData(uint64(m.ReadSeqNum))
  3806  	}
  3807  	return n
  3808  }
  3809  
  3810  func (m *LeafTxnFinalState) Size() (n int) {
  3811  	if m == nil {
  3812  		return 0
  3813  	}
  3814  	var l int
  3815  	_ = l
  3816  	l = m.Txn.Size()
  3817  	n += 1 + l + sovData(uint64(l))
  3818  	if m.DeprecatedCommandCount != 0 {
  3819  		n += 1 + sovData(uint64(m.DeprecatedCommandCount))
  3820  	}
  3821  	if len(m.RefreshSpans) > 0 {
  3822  		for _, e := range m.RefreshSpans {
  3823  			l = e.Size()
  3824  			n += 1 + l + sovData(uint64(l))
  3825  		}
  3826  	}
  3827  	if m.RefreshInvalid {
  3828  		n += 2
  3829  	}
  3830  	return n
  3831  }
  3832  
  3833  func sovData(x uint64) (n int) {
  3834  	for {
  3835  		n++
  3836  		x >>= 7
  3837  		if x == 0 {
  3838  			break
  3839  		}
  3840  	}
  3841  	return n
  3842  }
  3843  func sozData(x uint64) (n int) {
  3844  	return sovData(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  3845  }
  3846  func (m *Span) Unmarshal(dAtA []byte) error {
  3847  	l := len(dAtA)
  3848  	iNdEx := 0
  3849  	for iNdEx < l {
  3850  		preIndex := iNdEx
  3851  		var wire uint64
  3852  		for shift := uint(0); ; shift += 7 {
  3853  			if shift >= 64 {
  3854  				return ErrIntOverflowData
  3855  			}
  3856  			if iNdEx >= l {
  3857  				return io.ErrUnexpectedEOF
  3858  			}
  3859  			b := dAtA[iNdEx]
  3860  			iNdEx++
  3861  			wire |= (uint64(b) & 0x7F) << shift
  3862  			if b < 0x80 {
  3863  				break
  3864  			}
  3865  		}
  3866  		fieldNum := int32(wire >> 3)
  3867  		wireType := int(wire & 0x7)
  3868  		if wireType == 4 {
  3869  			return fmt.Errorf("proto: Span: wiretype end group for non-group")
  3870  		}
  3871  		if fieldNum <= 0 {
  3872  			return fmt.Errorf("proto: Span: illegal tag %d (wire type %d)", fieldNum, wire)
  3873  		}
  3874  		switch fieldNum {
  3875  		case 3:
  3876  			if wireType != 2 {
  3877  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  3878  			}
  3879  			var byteLen int
  3880  			for shift := uint(0); ; shift += 7 {
  3881  				if shift >= 64 {
  3882  					return ErrIntOverflowData
  3883  				}
  3884  				if iNdEx >= l {
  3885  					return io.ErrUnexpectedEOF
  3886  				}
  3887  				b := dAtA[iNdEx]
  3888  				iNdEx++
  3889  				byteLen |= (int(b) & 0x7F) << shift
  3890  				if b < 0x80 {
  3891  					break
  3892  				}
  3893  			}
  3894  			if byteLen < 0 {
  3895  				return ErrInvalidLengthData
  3896  			}
  3897  			postIndex := iNdEx + byteLen
  3898  			if postIndex > l {
  3899  				return io.ErrUnexpectedEOF
  3900  			}
  3901  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  3902  			if m.Key == nil {
  3903  				m.Key = []byte{}
  3904  			}
  3905  			iNdEx = postIndex
  3906  		case 4:
  3907  			if wireType != 2 {
  3908  				return fmt.Errorf("proto: wrong wireType = %d for field EndKey", wireType)
  3909  			}
  3910  			var byteLen int
  3911  			for shift := uint(0); ; shift += 7 {
  3912  				if shift >= 64 {
  3913  					return ErrIntOverflowData
  3914  				}
  3915  				if iNdEx >= l {
  3916  					return io.ErrUnexpectedEOF
  3917  				}
  3918  				b := dAtA[iNdEx]
  3919  				iNdEx++
  3920  				byteLen |= (int(b) & 0x7F) << shift
  3921  				if b < 0x80 {
  3922  					break
  3923  				}
  3924  			}
  3925  			if byteLen < 0 {
  3926  				return ErrInvalidLengthData
  3927  			}
  3928  			postIndex := iNdEx + byteLen
  3929  			if postIndex > l {
  3930  				return io.ErrUnexpectedEOF
  3931  			}
  3932  			m.EndKey = append(m.EndKey[:0], dAtA[iNdEx:postIndex]...)
  3933  			if m.EndKey == nil {
  3934  				m.EndKey = []byte{}
  3935  			}
  3936  			iNdEx = postIndex
  3937  		default:
  3938  			iNdEx = preIndex
  3939  			skippy, err := skipData(dAtA[iNdEx:])
  3940  			if err != nil {
  3941  				return err
  3942  			}
  3943  			if skippy < 0 {
  3944  				return ErrInvalidLengthData
  3945  			}
  3946  			if (iNdEx + skippy) > l {
  3947  				return io.ErrUnexpectedEOF
  3948  			}
  3949  			iNdEx += skippy
  3950  		}
  3951  	}
  3952  
  3953  	if iNdEx > l {
  3954  		return io.ErrUnexpectedEOF
  3955  	}
  3956  	return nil
  3957  }
  3958  func (m *Value) Unmarshal(dAtA []byte) error {
  3959  	l := len(dAtA)
  3960  	iNdEx := 0
  3961  	for iNdEx < l {
  3962  		preIndex := iNdEx
  3963  		var wire uint64
  3964  		for shift := uint(0); ; shift += 7 {
  3965  			if shift >= 64 {
  3966  				return ErrIntOverflowData
  3967  			}
  3968  			if iNdEx >= l {
  3969  				return io.ErrUnexpectedEOF
  3970  			}
  3971  			b := dAtA[iNdEx]
  3972  			iNdEx++
  3973  			wire |= (uint64(b) & 0x7F) << shift
  3974  			if b < 0x80 {
  3975  				break
  3976  			}
  3977  		}
  3978  		fieldNum := int32(wire >> 3)
  3979  		wireType := int(wire & 0x7)
  3980  		if wireType == 4 {
  3981  			return fmt.Errorf("proto: Value: wiretype end group for non-group")
  3982  		}
  3983  		if fieldNum <= 0 {
  3984  			return fmt.Errorf("proto: Value: illegal tag %d (wire type %d)", fieldNum, wire)
  3985  		}
  3986  		switch fieldNum {
  3987  		case 1:
  3988  			if wireType != 2 {
  3989  				return fmt.Errorf("proto: wrong wireType = %d for field RawBytes", wireType)
  3990  			}
  3991  			var byteLen int
  3992  			for shift := uint(0); ; shift += 7 {
  3993  				if shift >= 64 {
  3994  					return ErrIntOverflowData
  3995  				}
  3996  				if iNdEx >= l {
  3997  					return io.ErrUnexpectedEOF
  3998  				}
  3999  				b := dAtA[iNdEx]
  4000  				iNdEx++
  4001  				byteLen |= (int(b) & 0x7F) << shift
  4002  				if b < 0x80 {
  4003  					break
  4004  				}
  4005  			}
  4006  			if byteLen < 0 {
  4007  				return ErrInvalidLengthData
  4008  			}
  4009  			postIndex := iNdEx + byteLen
  4010  			if postIndex > l {
  4011  				return io.ErrUnexpectedEOF
  4012  			}
  4013  			m.RawBytes = append(m.RawBytes[:0], dAtA[iNdEx:postIndex]...)
  4014  			if m.RawBytes == nil {
  4015  				m.RawBytes = []byte{}
  4016  			}
  4017  			iNdEx = postIndex
  4018  		case 2:
  4019  			if wireType != 2 {
  4020  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  4021  			}
  4022  			var msglen int
  4023  			for shift := uint(0); ; shift += 7 {
  4024  				if shift >= 64 {
  4025  					return ErrIntOverflowData
  4026  				}
  4027  				if iNdEx >= l {
  4028  					return io.ErrUnexpectedEOF
  4029  				}
  4030  				b := dAtA[iNdEx]
  4031  				iNdEx++
  4032  				msglen |= (int(b) & 0x7F) << shift
  4033  				if b < 0x80 {
  4034  					break
  4035  				}
  4036  			}
  4037  			if msglen < 0 {
  4038  				return ErrInvalidLengthData
  4039  			}
  4040  			postIndex := iNdEx + msglen
  4041  			if postIndex > l {
  4042  				return io.ErrUnexpectedEOF
  4043  			}
  4044  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4045  				return err
  4046  			}
  4047  			iNdEx = postIndex
  4048  		default:
  4049  			iNdEx = preIndex
  4050  			skippy, err := skipData(dAtA[iNdEx:])
  4051  			if err != nil {
  4052  				return err
  4053  			}
  4054  			if skippy < 0 {
  4055  				return ErrInvalidLengthData
  4056  			}
  4057  			if (iNdEx + skippy) > l {
  4058  				return io.ErrUnexpectedEOF
  4059  			}
  4060  			iNdEx += skippy
  4061  		}
  4062  	}
  4063  
  4064  	if iNdEx > l {
  4065  		return io.ErrUnexpectedEOF
  4066  	}
  4067  	return nil
  4068  }
  4069  func (m *KeyValue) Unmarshal(dAtA []byte) error {
  4070  	l := len(dAtA)
  4071  	iNdEx := 0
  4072  	for iNdEx < l {
  4073  		preIndex := iNdEx
  4074  		var wire uint64
  4075  		for shift := uint(0); ; shift += 7 {
  4076  			if shift >= 64 {
  4077  				return ErrIntOverflowData
  4078  			}
  4079  			if iNdEx >= l {
  4080  				return io.ErrUnexpectedEOF
  4081  			}
  4082  			b := dAtA[iNdEx]
  4083  			iNdEx++
  4084  			wire |= (uint64(b) & 0x7F) << shift
  4085  			if b < 0x80 {
  4086  				break
  4087  			}
  4088  		}
  4089  		fieldNum := int32(wire >> 3)
  4090  		wireType := int(wire & 0x7)
  4091  		if wireType == 4 {
  4092  			return fmt.Errorf("proto: KeyValue: wiretype end group for non-group")
  4093  		}
  4094  		if fieldNum <= 0 {
  4095  			return fmt.Errorf("proto: KeyValue: illegal tag %d (wire type %d)", fieldNum, wire)
  4096  		}
  4097  		switch fieldNum {
  4098  		case 1:
  4099  			if wireType != 2 {
  4100  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  4101  			}
  4102  			var byteLen int
  4103  			for shift := uint(0); ; shift += 7 {
  4104  				if shift >= 64 {
  4105  					return ErrIntOverflowData
  4106  				}
  4107  				if iNdEx >= l {
  4108  					return io.ErrUnexpectedEOF
  4109  				}
  4110  				b := dAtA[iNdEx]
  4111  				iNdEx++
  4112  				byteLen |= (int(b) & 0x7F) << shift
  4113  				if b < 0x80 {
  4114  					break
  4115  				}
  4116  			}
  4117  			if byteLen < 0 {
  4118  				return ErrInvalidLengthData
  4119  			}
  4120  			postIndex := iNdEx + byteLen
  4121  			if postIndex > l {
  4122  				return io.ErrUnexpectedEOF
  4123  			}
  4124  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  4125  			if m.Key == nil {
  4126  				m.Key = []byte{}
  4127  			}
  4128  			iNdEx = postIndex
  4129  		case 2:
  4130  			if wireType != 2 {
  4131  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  4132  			}
  4133  			var msglen int
  4134  			for shift := uint(0); ; shift += 7 {
  4135  				if shift >= 64 {
  4136  					return ErrIntOverflowData
  4137  				}
  4138  				if iNdEx >= l {
  4139  					return io.ErrUnexpectedEOF
  4140  				}
  4141  				b := dAtA[iNdEx]
  4142  				iNdEx++
  4143  				msglen |= (int(b) & 0x7F) << shift
  4144  				if b < 0x80 {
  4145  					break
  4146  				}
  4147  			}
  4148  			if msglen < 0 {
  4149  				return ErrInvalidLengthData
  4150  			}
  4151  			postIndex := iNdEx + msglen
  4152  			if postIndex > l {
  4153  				return io.ErrUnexpectedEOF
  4154  			}
  4155  			if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4156  				return err
  4157  			}
  4158  			iNdEx = postIndex
  4159  		default:
  4160  			iNdEx = preIndex
  4161  			skippy, err := skipData(dAtA[iNdEx:])
  4162  			if err != nil {
  4163  				return err
  4164  			}
  4165  			if skippy < 0 {
  4166  				return ErrInvalidLengthData
  4167  			}
  4168  			if (iNdEx + skippy) > l {
  4169  				return io.ErrUnexpectedEOF
  4170  			}
  4171  			iNdEx += skippy
  4172  		}
  4173  	}
  4174  
  4175  	if iNdEx > l {
  4176  		return io.ErrUnexpectedEOF
  4177  	}
  4178  	return nil
  4179  }
  4180  func (m *StoreIdent) Unmarshal(dAtA []byte) error {
  4181  	l := len(dAtA)
  4182  	iNdEx := 0
  4183  	for iNdEx < l {
  4184  		preIndex := iNdEx
  4185  		var wire uint64
  4186  		for shift := uint(0); ; shift += 7 {
  4187  			if shift >= 64 {
  4188  				return ErrIntOverflowData
  4189  			}
  4190  			if iNdEx >= l {
  4191  				return io.ErrUnexpectedEOF
  4192  			}
  4193  			b := dAtA[iNdEx]
  4194  			iNdEx++
  4195  			wire |= (uint64(b) & 0x7F) << shift
  4196  			if b < 0x80 {
  4197  				break
  4198  			}
  4199  		}
  4200  		fieldNum := int32(wire >> 3)
  4201  		wireType := int(wire & 0x7)
  4202  		if wireType == 4 {
  4203  			return fmt.Errorf("proto: StoreIdent: wiretype end group for non-group")
  4204  		}
  4205  		if fieldNum <= 0 {
  4206  			return fmt.Errorf("proto: StoreIdent: illegal tag %d (wire type %d)", fieldNum, wire)
  4207  		}
  4208  		switch fieldNum {
  4209  		case 1:
  4210  			if wireType != 2 {
  4211  				return fmt.Errorf("proto: wrong wireType = %d for field ClusterID", wireType)
  4212  			}
  4213  			var byteLen int
  4214  			for shift := uint(0); ; shift += 7 {
  4215  				if shift >= 64 {
  4216  					return ErrIntOverflowData
  4217  				}
  4218  				if iNdEx >= l {
  4219  					return io.ErrUnexpectedEOF
  4220  				}
  4221  				b := dAtA[iNdEx]
  4222  				iNdEx++
  4223  				byteLen |= (int(b) & 0x7F) << shift
  4224  				if b < 0x80 {
  4225  					break
  4226  				}
  4227  			}
  4228  			if byteLen < 0 {
  4229  				return ErrInvalidLengthData
  4230  			}
  4231  			postIndex := iNdEx + byteLen
  4232  			if postIndex > l {
  4233  				return io.ErrUnexpectedEOF
  4234  			}
  4235  			if err := m.ClusterID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4236  				return err
  4237  			}
  4238  			iNdEx = postIndex
  4239  		case 2:
  4240  			if wireType != 0 {
  4241  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  4242  			}
  4243  			m.NodeID = 0
  4244  			for shift := uint(0); ; shift += 7 {
  4245  				if shift >= 64 {
  4246  					return ErrIntOverflowData
  4247  				}
  4248  				if iNdEx >= l {
  4249  					return io.ErrUnexpectedEOF
  4250  				}
  4251  				b := dAtA[iNdEx]
  4252  				iNdEx++
  4253  				m.NodeID |= (NodeID(b) & 0x7F) << shift
  4254  				if b < 0x80 {
  4255  					break
  4256  				}
  4257  			}
  4258  		case 3:
  4259  			if wireType != 0 {
  4260  				return fmt.Errorf("proto: wrong wireType = %d for field StoreID", wireType)
  4261  			}
  4262  			m.StoreID = 0
  4263  			for shift := uint(0); ; shift += 7 {
  4264  				if shift >= 64 {
  4265  					return ErrIntOverflowData
  4266  				}
  4267  				if iNdEx >= l {
  4268  					return io.ErrUnexpectedEOF
  4269  				}
  4270  				b := dAtA[iNdEx]
  4271  				iNdEx++
  4272  				m.StoreID |= (StoreID(b) & 0x7F) << shift
  4273  				if b < 0x80 {
  4274  					break
  4275  				}
  4276  			}
  4277  		default:
  4278  			iNdEx = preIndex
  4279  			skippy, err := skipData(dAtA[iNdEx:])
  4280  			if err != nil {
  4281  				return err
  4282  			}
  4283  			if skippy < 0 {
  4284  				return ErrInvalidLengthData
  4285  			}
  4286  			if (iNdEx + skippy) > l {
  4287  				return io.ErrUnexpectedEOF
  4288  			}
  4289  			iNdEx += skippy
  4290  		}
  4291  	}
  4292  
  4293  	if iNdEx > l {
  4294  		return io.ErrUnexpectedEOF
  4295  	}
  4296  	return nil
  4297  }
  4298  func (m *SplitTrigger) Unmarshal(dAtA []byte) error {
  4299  	l := len(dAtA)
  4300  	iNdEx := 0
  4301  	for iNdEx < l {
  4302  		preIndex := iNdEx
  4303  		var wire uint64
  4304  		for shift := uint(0); ; shift += 7 {
  4305  			if shift >= 64 {
  4306  				return ErrIntOverflowData
  4307  			}
  4308  			if iNdEx >= l {
  4309  				return io.ErrUnexpectedEOF
  4310  			}
  4311  			b := dAtA[iNdEx]
  4312  			iNdEx++
  4313  			wire |= (uint64(b) & 0x7F) << shift
  4314  			if b < 0x80 {
  4315  				break
  4316  			}
  4317  		}
  4318  		fieldNum := int32(wire >> 3)
  4319  		wireType := int(wire & 0x7)
  4320  		if wireType == 4 {
  4321  			return fmt.Errorf("proto: SplitTrigger: wiretype end group for non-group")
  4322  		}
  4323  		if fieldNum <= 0 {
  4324  			return fmt.Errorf("proto: SplitTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  4325  		}
  4326  		switch fieldNum {
  4327  		case 1:
  4328  			if wireType != 2 {
  4329  				return fmt.Errorf("proto: wrong wireType = %d for field LeftDesc", wireType)
  4330  			}
  4331  			var msglen int
  4332  			for shift := uint(0); ; shift += 7 {
  4333  				if shift >= 64 {
  4334  					return ErrIntOverflowData
  4335  				}
  4336  				if iNdEx >= l {
  4337  					return io.ErrUnexpectedEOF
  4338  				}
  4339  				b := dAtA[iNdEx]
  4340  				iNdEx++
  4341  				msglen |= (int(b) & 0x7F) << shift
  4342  				if b < 0x80 {
  4343  					break
  4344  				}
  4345  			}
  4346  			if msglen < 0 {
  4347  				return ErrInvalidLengthData
  4348  			}
  4349  			postIndex := iNdEx + msglen
  4350  			if postIndex > l {
  4351  				return io.ErrUnexpectedEOF
  4352  			}
  4353  			if err := m.LeftDesc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4354  				return err
  4355  			}
  4356  			iNdEx = postIndex
  4357  		case 2:
  4358  			if wireType != 2 {
  4359  				return fmt.Errorf("proto: wrong wireType = %d for field RightDesc", wireType)
  4360  			}
  4361  			var msglen int
  4362  			for shift := uint(0); ; shift += 7 {
  4363  				if shift >= 64 {
  4364  					return ErrIntOverflowData
  4365  				}
  4366  				if iNdEx >= l {
  4367  					return io.ErrUnexpectedEOF
  4368  				}
  4369  				b := dAtA[iNdEx]
  4370  				iNdEx++
  4371  				msglen |= (int(b) & 0x7F) << shift
  4372  				if b < 0x80 {
  4373  					break
  4374  				}
  4375  			}
  4376  			if msglen < 0 {
  4377  				return ErrInvalidLengthData
  4378  			}
  4379  			postIndex := iNdEx + msglen
  4380  			if postIndex > l {
  4381  				return io.ErrUnexpectedEOF
  4382  			}
  4383  			if err := m.RightDesc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4384  				return err
  4385  			}
  4386  			iNdEx = postIndex
  4387  		default:
  4388  			iNdEx = preIndex
  4389  			skippy, err := skipData(dAtA[iNdEx:])
  4390  			if err != nil {
  4391  				return err
  4392  			}
  4393  			if skippy < 0 {
  4394  				return ErrInvalidLengthData
  4395  			}
  4396  			if (iNdEx + skippy) > l {
  4397  				return io.ErrUnexpectedEOF
  4398  			}
  4399  			iNdEx += skippy
  4400  		}
  4401  	}
  4402  
  4403  	if iNdEx > l {
  4404  		return io.ErrUnexpectedEOF
  4405  	}
  4406  	return nil
  4407  }
  4408  func (m *MergeTrigger) Unmarshal(dAtA []byte) error {
  4409  	l := len(dAtA)
  4410  	iNdEx := 0
  4411  	for iNdEx < l {
  4412  		preIndex := iNdEx
  4413  		var wire uint64
  4414  		for shift := uint(0); ; shift += 7 {
  4415  			if shift >= 64 {
  4416  				return ErrIntOverflowData
  4417  			}
  4418  			if iNdEx >= l {
  4419  				return io.ErrUnexpectedEOF
  4420  			}
  4421  			b := dAtA[iNdEx]
  4422  			iNdEx++
  4423  			wire |= (uint64(b) & 0x7F) << shift
  4424  			if b < 0x80 {
  4425  				break
  4426  			}
  4427  		}
  4428  		fieldNum := int32(wire >> 3)
  4429  		wireType := int(wire & 0x7)
  4430  		if wireType == 4 {
  4431  			return fmt.Errorf("proto: MergeTrigger: wiretype end group for non-group")
  4432  		}
  4433  		if fieldNum <= 0 {
  4434  			return fmt.Errorf("proto: MergeTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  4435  		}
  4436  		switch fieldNum {
  4437  		case 1:
  4438  			if wireType != 2 {
  4439  				return fmt.Errorf("proto: wrong wireType = %d for field LeftDesc", wireType)
  4440  			}
  4441  			var msglen int
  4442  			for shift := uint(0); ; shift += 7 {
  4443  				if shift >= 64 {
  4444  					return ErrIntOverflowData
  4445  				}
  4446  				if iNdEx >= l {
  4447  					return io.ErrUnexpectedEOF
  4448  				}
  4449  				b := dAtA[iNdEx]
  4450  				iNdEx++
  4451  				msglen |= (int(b) & 0x7F) << shift
  4452  				if b < 0x80 {
  4453  					break
  4454  				}
  4455  			}
  4456  			if msglen < 0 {
  4457  				return ErrInvalidLengthData
  4458  			}
  4459  			postIndex := iNdEx + msglen
  4460  			if postIndex > l {
  4461  				return io.ErrUnexpectedEOF
  4462  			}
  4463  			if err := m.LeftDesc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4464  				return err
  4465  			}
  4466  			iNdEx = postIndex
  4467  		case 2:
  4468  			if wireType != 2 {
  4469  				return fmt.Errorf("proto: wrong wireType = %d for field RightDesc", wireType)
  4470  			}
  4471  			var msglen int
  4472  			for shift := uint(0); ; shift += 7 {
  4473  				if shift >= 64 {
  4474  					return ErrIntOverflowData
  4475  				}
  4476  				if iNdEx >= l {
  4477  					return io.ErrUnexpectedEOF
  4478  				}
  4479  				b := dAtA[iNdEx]
  4480  				iNdEx++
  4481  				msglen |= (int(b) & 0x7F) << shift
  4482  				if b < 0x80 {
  4483  					break
  4484  				}
  4485  			}
  4486  			if msglen < 0 {
  4487  				return ErrInvalidLengthData
  4488  			}
  4489  			postIndex := iNdEx + msglen
  4490  			if postIndex > l {
  4491  				return io.ErrUnexpectedEOF
  4492  			}
  4493  			if err := m.RightDesc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4494  				return err
  4495  			}
  4496  			iNdEx = postIndex
  4497  		case 4:
  4498  			if wireType != 2 {
  4499  				return fmt.Errorf("proto: wrong wireType = %d for field RightMVCCStats", wireType)
  4500  			}
  4501  			var msglen int
  4502  			for shift := uint(0); ; shift += 7 {
  4503  				if shift >= 64 {
  4504  					return ErrIntOverflowData
  4505  				}
  4506  				if iNdEx >= l {
  4507  					return io.ErrUnexpectedEOF
  4508  				}
  4509  				b := dAtA[iNdEx]
  4510  				iNdEx++
  4511  				msglen |= (int(b) & 0x7F) << shift
  4512  				if b < 0x80 {
  4513  					break
  4514  				}
  4515  			}
  4516  			if msglen < 0 {
  4517  				return ErrInvalidLengthData
  4518  			}
  4519  			postIndex := iNdEx + msglen
  4520  			if postIndex > l {
  4521  				return io.ErrUnexpectedEOF
  4522  			}
  4523  			if err := m.RightMVCCStats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4524  				return err
  4525  			}
  4526  			iNdEx = postIndex
  4527  		case 5:
  4528  			if wireType != 2 {
  4529  				return fmt.Errorf("proto: wrong wireType = %d for field FreezeStart", wireType)
  4530  			}
  4531  			var msglen int
  4532  			for shift := uint(0); ; shift += 7 {
  4533  				if shift >= 64 {
  4534  					return ErrIntOverflowData
  4535  				}
  4536  				if iNdEx >= l {
  4537  					return io.ErrUnexpectedEOF
  4538  				}
  4539  				b := dAtA[iNdEx]
  4540  				iNdEx++
  4541  				msglen |= (int(b) & 0x7F) << shift
  4542  				if b < 0x80 {
  4543  					break
  4544  				}
  4545  			}
  4546  			if msglen < 0 {
  4547  				return ErrInvalidLengthData
  4548  			}
  4549  			postIndex := iNdEx + msglen
  4550  			if postIndex > l {
  4551  				return io.ErrUnexpectedEOF
  4552  			}
  4553  			if err := m.FreezeStart.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4554  				return err
  4555  			}
  4556  			iNdEx = postIndex
  4557  		default:
  4558  			iNdEx = preIndex
  4559  			skippy, err := skipData(dAtA[iNdEx:])
  4560  			if err != nil {
  4561  				return err
  4562  			}
  4563  			if skippy < 0 {
  4564  				return ErrInvalidLengthData
  4565  			}
  4566  			if (iNdEx + skippy) > l {
  4567  				return io.ErrUnexpectedEOF
  4568  			}
  4569  			iNdEx += skippy
  4570  		}
  4571  	}
  4572  
  4573  	if iNdEx > l {
  4574  		return io.ErrUnexpectedEOF
  4575  	}
  4576  	return nil
  4577  }
  4578  func (m *ChangeReplicasTrigger) Unmarshal(dAtA []byte) error {
  4579  	l := len(dAtA)
  4580  	iNdEx := 0
  4581  	for iNdEx < l {
  4582  		preIndex := iNdEx
  4583  		var wire uint64
  4584  		for shift := uint(0); ; shift += 7 {
  4585  			if shift >= 64 {
  4586  				return ErrIntOverflowData
  4587  			}
  4588  			if iNdEx >= l {
  4589  				return io.ErrUnexpectedEOF
  4590  			}
  4591  			b := dAtA[iNdEx]
  4592  			iNdEx++
  4593  			wire |= (uint64(b) & 0x7F) << shift
  4594  			if b < 0x80 {
  4595  				break
  4596  			}
  4597  		}
  4598  		fieldNum := int32(wire >> 3)
  4599  		wireType := int(wire & 0x7)
  4600  		if wireType == 4 {
  4601  			return fmt.Errorf("proto: ChangeReplicasTrigger: wiretype end group for non-group")
  4602  		}
  4603  		if fieldNum <= 0 {
  4604  			return fmt.Errorf("proto: ChangeReplicasTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  4605  		}
  4606  		switch fieldNum {
  4607  		case 1:
  4608  			if wireType != 0 {
  4609  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedChangeType", wireType)
  4610  			}
  4611  			m.DeprecatedChangeType = 0
  4612  			for shift := uint(0); ; shift += 7 {
  4613  				if shift >= 64 {
  4614  					return ErrIntOverflowData
  4615  				}
  4616  				if iNdEx >= l {
  4617  					return io.ErrUnexpectedEOF
  4618  				}
  4619  				b := dAtA[iNdEx]
  4620  				iNdEx++
  4621  				m.DeprecatedChangeType |= (ReplicaChangeType(b) & 0x7F) << shift
  4622  				if b < 0x80 {
  4623  					break
  4624  				}
  4625  			}
  4626  		case 2:
  4627  			if wireType != 2 {
  4628  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedReplica", wireType)
  4629  			}
  4630  			var msglen int
  4631  			for shift := uint(0); ; shift += 7 {
  4632  				if shift >= 64 {
  4633  					return ErrIntOverflowData
  4634  				}
  4635  				if iNdEx >= l {
  4636  					return io.ErrUnexpectedEOF
  4637  				}
  4638  				b := dAtA[iNdEx]
  4639  				iNdEx++
  4640  				msglen |= (int(b) & 0x7F) << shift
  4641  				if b < 0x80 {
  4642  					break
  4643  				}
  4644  			}
  4645  			if msglen < 0 {
  4646  				return ErrInvalidLengthData
  4647  			}
  4648  			postIndex := iNdEx + msglen
  4649  			if postIndex > l {
  4650  				return io.ErrUnexpectedEOF
  4651  			}
  4652  			if err := m.DeprecatedReplica.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4653  				return err
  4654  			}
  4655  			iNdEx = postIndex
  4656  		case 3:
  4657  			if wireType != 2 {
  4658  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedUpdatedReplicas", wireType)
  4659  			}
  4660  			var msglen int
  4661  			for shift := uint(0); ; shift += 7 {
  4662  				if shift >= 64 {
  4663  					return ErrIntOverflowData
  4664  				}
  4665  				if iNdEx >= l {
  4666  					return io.ErrUnexpectedEOF
  4667  				}
  4668  				b := dAtA[iNdEx]
  4669  				iNdEx++
  4670  				msglen |= (int(b) & 0x7F) << shift
  4671  				if b < 0x80 {
  4672  					break
  4673  				}
  4674  			}
  4675  			if msglen < 0 {
  4676  				return ErrInvalidLengthData
  4677  			}
  4678  			postIndex := iNdEx + msglen
  4679  			if postIndex > l {
  4680  				return io.ErrUnexpectedEOF
  4681  			}
  4682  			m.DeprecatedUpdatedReplicas = append(m.DeprecatedUpdatedReplicas, ReplicaDescriptor{})
  4683  			if err := m.DeprecatedUpdatedReplicas[len(m.DeprecatedUpdatedReplicas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4684  				return err
  4685  			}
  4686  			iNdEx = postIndex
  4687  		case 4:
  4688  			if wireType != 0 {
  4689  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedNextReplicaID", wireType)
  4690  			}
  4691  			m.DeprecatedNextReplicaID = 0
  4692  			for shift := uint(0); ; shift += 7 {
  4693  				if shift >= 64 {
  4694  					return ErrIntOverflowData
  4695  				}
  4696  				if iNdEx >= l {
  4697  					return io.ErrUnexpectedEOF
  4698  				}
  4699  				b := dAtA[iNdEx]
  4700  				iNdEx++
  4701  				m.DeprecatedNextReplicaID |= (ReplicaID(b) & 0x7F) << shift
  4702  				if b < 0x80 {
  4703  					break
  4704  				}
  4705  			}
  4706  		case 5:
  4707  			if wireType != 2 {
  4708  				return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType)
  4709  			}
  4710  			var msglen int
  4711  			for shift := uint(0); ; shift += 7 {
  4712  				if shift >= 64 {
  4713  					return ErrIntOverflowData
  4714  				}
  4715  				if iNdEx >= l {
  4716  					return io.ErrUnexpectedEOF
  4717  				}
  4718  				b := dAtA[iNdEx]
  4719  				iNdEx++
  4720  				msglen |= (int(b) & 0x7F) << shift
  4721  				if b < 0x80 {
  4722  					break
  4723  				}
  4724  			}
  4725  			if msglen < 0 {
  4726  				return ErrInvalidLengthData
  4727  			}
  4728  			postIndex := iNdEx + msglen
  4729  			if postIndex > l {
  4730  				return io.ErrUnexpectedEOF
  4731  			}
  4732  			if m.Desc == nil {
  4733  				m.Desc = &RangeDescriptor{}
  4734  			}
  4735  			if err := m.Desc.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4736  				return err
  4737  			}
  4738  			iNdEx = postIndex
  4739  		case 6:
  4740  			if wireType != 2 {
  4741  				return fmt.Errorf("proto: wrong wireType = %d for field InternalAddedReplicas", wireType)
  4742  			}
  4743  			var msglen int
  4744  			for shift := uint(0); ; shift += 7 {
  4745  				if shift >= 64 {
  4746  					return ErrIntOverflowData
  4747  				}
  4748  				if iNdEx >= l {
  4749  					return io.ErrUnexpectedEOF
  4750  				}
  4751  				b := dAtA[iNdEx]
  4752  				iNdEx++
  4753  				msglen |= (int(b) & 0x7F) << shift
  4754  				if b < 0x80 {
  4755  					break
  4756  				}
  4757  			}
  4758  			if msglen < 0 {
  4759  				return ErrInvalidLengthData
  4760  			}
  4761  			postIndex := iNdEx + msglen
  4762  			if postIndex > l {
  4763  				return io.ErrUnexpectedEOF
  4764  			}
  4765  			m.InternalAddedReplicas = append(m.InternalAddedReplicas, ReplicaDescriptor{})
  4766  			if err := m.InternalAddedReplicas[len(m.InternalAddedReplicas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4767  				return err
  4768  			}
  4769  			iNdEx = postIndex
  4770  		case 7:
  4771  			if wireType != 2 {
  4772  				return fmt.Errorf("proto: wrong wireType = %d for field InternalRemovedReplicas", wireType)
  4773  			}
  4774  			var msglen int
  4775  			for shift := uint(0); ; shift += 7 {
  4776  				if shift >= 64 {
  4777  					return ErrIntOverflowData
  4778  				}
  4779  				if iNdEx >= l {
  4780  					return io.ErrUnexpectedEOF
  4781  				}
  4782  				b := dAtA[iNdEx]
  4783  				iNdEx++
  4784  				msglen |= (int(b) & 0x7F) << shift
  4785  				if b < 0x80 {
  4786  					break
  4787  				}
  4788  			}
  4789  			if msglen < 0 {
  4790  				return ErrInvalidLengthData
  4791  			}
  4792  			postIndex := iNdEx + msglen
  4793  			if postIndex > l {
  4794  				return io.ErrUnexpectedEOF
  4795  			}
  4796  			m.InternalRemovedReplicas = append(m.InternalRemovedReplicas, ReplicaDescriptor{})
  4797  			if err := m.InternalRemovedReplicas[len(m.InternalRemovedReplicas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4798  				return err
  4799  			}
  4800  			iNdEx = postIndex
  4801  		default:
  4802  			iNdEx = preIndex
  4803  			skippy, err := skipData(dAtA[iNdEx:])
  4804  			if err != nil {
  4805  				return err
  4806  			}
  4807  			if skippy < 0 {
  4808  				return ErrInvalidLengthData
  4809  			}
  4810  			if (iNdEx + skippy) > l {
  4811  				return io.ErrUnexpectedEOF
  4812  			}
  4813  			iNdEx += skippy
  4814  		}
  4815  	}
  4816  
  4817  	if iNdEx > l {
  4818  		return io.ErrUnexpectedEOF
  4819  	}
  4820  	return nil
  4821  }
  4822  func (m *ModifiedSpanTrigger) Unmarshal(dAtA []byte) error {
  4823  	l := len(dAtA)
  4824  	iNdEx := 0
  4825  	for iNdEx < l {
  4826  		preIndex := iNdEx
  4827  		var wire uint64
  4828  		for shift := uint(0); ; shift += 7 {
  4829  			if shift >= 64 {
  4830  				return ErrIntOverflowData
  4831  			}
  4832  			if iNdEx >= l {
  4833  				return io.ErrUnexpectedEOF
  4834  			}
  4835  			b := dAtA[iNdEx]
  4836  			iNdEx++
  4837  			wire |= (uint64(b) & 0x7F) << shift
  4838  			if b < 0x80 {
  4839  				break
  4840  			}
  4841  		}
  4842  		fieldNum := int32(wire >> 3)
  4843  		wireType := int(wire & 0x7)
  4844  		if wireType == 4 {
  4845  			return fmt.Errorf("proto: ModifiedSpanTrigger: wiretype end group for non-group")
  4846  		}
  4847  		if fieldNum <= 0 {
  4848  			return fmt.Errorf("proto: ModifiedSpanTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  4849  		}
  4850  		switch fieldNum {
  4851  		case 1:
  4852  			if wireType != 0 {
  4853  				return fmt.Errorf("proto: wrong wireType = %d for field SystemConfigSpan", wireType)
  4854  			}
  4855  			var v int
  4856  			for shift := uint(0); ; shift += 7 {
  4857  				if shift >= 64 {
  4858  					return ErrIntOverflowData
  4859  				}
  4860  				if iNdEx >= l {
  4861  					return io.ErrUnexpectedEOF
  4862  				}
  4863  				b := dAtA[iNdEx]
  4864  				iNdEx++
  4865  				v |= (int(b) & 0x7F) << shift
  4866  				if b < 0x80 {
  4867  					break
  4868  				}
  4869  			}
  4870  			m.SystemConfigSpan = bool(v != 0)
  4871  		case 2:
  4872  			if wireType != 2 {
  4873  				return fmt.Errorf("proto: wrong wireType = %d for field NodeLivenessSpan", wireType)
  4874  			}
  4875  			var msglen int
  4876  			for shift := uint(0); ; shift += 7 {
  4877  				if shift >= 64 {
  4878  					return ErrIntOverflowData
  4879  				}
  4880  				if iNdEx >= l {
  4881  					return io.ErrUnexpectedEOF
  4882  				}
  4883  				b := dAtA[iNdEx]
  4884  				iNdEx++
  4885  				msglen |= (int(b) & 0x7F) << shift
  4886  				if b < 0x80 {
  4887  					break
  4888  				}
  4889  			}
  4890  			if msglen < 0 {
  4891  				return ErrInvalidLengthData
  4892  			}
  4893  			postIndex := iNdEx + msglen
  4894  			if postIndex > l {
  4895  				return io.ErrUnexpectedEOF
  4896  			}
  4897  			if m.NodeLivenessSpan == nil {
  4898  				m.NodeLivenessSpan = &Span{}
  4899  			}
  4900  			if err := m.NodeLivenessSpan.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4901  				return err
  4902  			}
  4903  			iNdEx = postIndex
  4904  		default:
  4905  			iNdEx = preIndex
  4906  			skippy, err := skipData(dAtA[iNdEx:])
  4907  			if err != nil {
  4908  				return err
  4909  			}
  4910  			if skippy < 0 {
  4911  				return ErrInvalidLengthData
  4912  			}
  4913  			if (iNdEx + skippy) > l {
  4914  				return io.ErrUnexpectedEOF
  4915  			}
  4916  			iNdEx += skippy
  4917  		}
  4918  	}
  4919  
  4920  	if iNdEx > l {
  4921  		return io.ErrUnexpectedEOF
  4922  	}
  4923  	return nil
  4924  }
  4925  func (m *StickyBitTrigger) Unmarshal(dAtA []byte) error {
  4926  	l := len(dAtA)
  4927  	iNdEx := 0
  4928  	for iNdEx < l {
  4929  		preIndex := iNdEx
  4930  		var wire uint64
  4931  		for shift := uint(0); ; shift += 7 {
  4932  			if shift >= 64 {
  4933  				return ErrIntOverflowData
  4934  			}
  4935  			if iNdEx >= l {
  4936  				return io.ErrUnexpectedEOF
  4937  			}
  4938  			b := dAtA[iNdEx]
  4939  			iNdEx++
  4940  			wire |= (uint64(b) & 0x7F) << shift
  4941  			if b < 0x80 {
  4942  				break
  4943  			}
  4944  		}
  4945  		fieldNum := int32(wire >> 3)
  4946  		wireType := int(wire & 0x7)
  4947  		if wireType == 4 {
  4948  			return fmt.Errorf("proto: StickyBitTrigger: wiretype end group for non-group")
  4949  		}
  4950  		if fieldNum <= 0 {
  4951  			return fmt.Errorf("proto: StickyBitTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  4952  		}
  4953  		switch fieldNum {
  4954  		case 1:
  4955  			if wireType != 2 {
  4956  				return fmt.Errorf("proto: wrong wireType = %d for field StickyBit", wireType)
  4957  			}
  4958  			var msglen int
  4959  			for shift := uint(0); ; shift += 7 {
  4960  				if shift >= 64 {
  4961  					return ErrIntOverflowData
  4962  				}
  4963  				if iNdEx >= l {
  4964  					return io.ErrUnexpectedEOF
  4965  				}
  4966  				b := dAtA[iNdEx]
  4967  				iNdEx++
  4968  				msglen |= (int(b) & 0x7F) << shift
  4969  				if b < 0x80 {
  4970  					break
  4971  				}
  4972  			}
  4973  			if msglen < 0 {
  4974  				return ErrInvalidLengthData
  4975  			}
  4976  			postIndex := iNdEx + msglen
  4977  			if postIndex > l {
  4978  				return io.ErrUnexpectedEOF
  4979  			}
  4980  			if err := m.StickyBit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4981  				return err
  4982  			}
  4983  			iNdEx = postIndex
  4984  		default:
  4985  			iNdEx = preIndex
  4986  			skippy, err := skipData(dAtA[iNdEx:])
  4987  			if err != nil {
  4988  				return err
  4989  			}
  4990  			if skippy < 0 {
  4991  				return ErrInvalidLengthData
  4992  			}
  4993  			if (iNdEx + skippy) > l {
  4994  				return io.ErrUnexpectedEOF
  4995  			}
  4996  			iNdEx += skippy
  4997  		}
  4998  	}
  4999  
  5000  	if iNdEx > l {
  5001  		return io.ErrUnexpectedEOF
  5002  	}
  5003  	return nil
  5004  }
  5005  func (m *InternalCommitTrigger) Unmarshal(dAtA []byte) error {
  5006  	l := len(dAtA)
  5007  	iNdEx := 0
  5008  	for iNdEx < l {
  5009  		preIndex := iNdEx
  5010  		var wire uint64
  5011  		for shift := uint(0); ; shift += 7 {
  5012  			if shift >= 64 {
  5013  				return ErrIntOverflowData
  5014  			}
  5015  			if iNdEx >= l {
  5016  				return io.ErrUnexpectedEOF
  5017  			}
  5018  			b := dAtA[iNdEx]
  5019  			iNdEx++
  5020  			wire |= (uint64(b) & 0x7F) << shift
  5021  			if b < 0x80 {
  5022  				break
  5023  			}
  5024  		}
  5025  		fieldNum := int32(wire >> 3)
  5026  		wireType := int(wire & 0x7)
  5027  		if wireType == 4 {
  5028  			return fmt.Errorf("proto: InternalCommitTrigger: wiretype end group for non-group")
  5029  		}
  5030  		if fieldNum <= 0 {
  5031  			return fmt.Errorf("proto: InternalCommitTrigger: illegal tag %d (wire type %d)", fieldNum, wire)
  5032  		}
  5033  		switch fieldNum {
  5034  		case 1:
  5035  			if wireType != 2 {
  5036  				return fmt.Errorf("proto: wrong wireType = %d for field SplitTrigger", wireType)
  5037  			}
  5038  			var msglen int
  5039  			for shift := uint(0); ; shift += 7 {
  5040  				if shift >= 64 {
  5041  					return ErrIntOverflowData
  5042  				}
  5043  				if iNdEx >= l {
  5044  					return io.ErrUnexpectedEOF
  5045  				}
  5046  				b := dAtA[iNdEx]
  5047  				iNdEx++
  5048  				msglen |= (int(b) & 0x7F) << shift
  5049  				if b < 0x80 {
  5050  					break
  5051  				}
  5052  			}
  5053  			if msglen < 0 {
  5054  				return ErrInvalidLengthData
  5055  			}
  5056  			postIndex := iNdEx + msglen
  5057  			if postIndex > l {
  5058  				return io.ErrUnexpectedEOF
  5059  			}
  5060  			if m.SplitTrigger == nil {
  5061  				m.SplitTrigger = &SplitTrigger{}
  5062  			}
  5063  			if err := m.SplitTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5064  				return err
  5065  			}
  5066  			iNdEx = postIndex
  5067  		case 2:
  5068  			if wireType != 2 {
  5069  				return fmt.Errorf("proto: wrong wireType = %d for field MergeTrigger", wireType)
  5070  			}
  5071  			var msglen int
  5072  			for shift := uint(0); ; shift += 7 {
  5073  				if shift >= 64 {
  5074  					return ErrIntOverflowData
  5075  				}
  5076  				if iNdEx >= l {
  5077  					return io.ErrUnexpectedEOF
  5078  				}
  5079  				b := dAtA[iNdEx]
  5080  				iNdEx++
  5081  				msglen |= (int(b) & 0x7F) << shift
  5082  				if b < 0x80 {
  5083  					break
  5084  				}
  5085  			}
  5086  			if msglen < 0 {
  5087  				return ErrInvalidLengthData
  5088  			}
  5089  			postIndex := iNdEx + msglen
  5090  			if postIndex > l {
  5091  				return io.ErrUnexpectedEOF
  5092  			}
  5093  			if m.MergeTrigger == nil {
  5094  				m.MergeTrigger = &MergeTrigger{}
  5095  			}
  5096  			if err := m.MergeTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5097  				return err
  5098  			}
  5099  			iNdEx = postIndex
  5100  		case 3:
  5101  			if wireType != 2 {
  5102  				return fmt.Errorf("proto: wrong wireType = %d for field ChangeReplicasTrigger", wireType)
  5103  			}
  5104  			var msglen int
  5105  			for shift := uint(0); ; shift += 7 {
  5106  				if shift >= 64 {
  5107  					return ErrIntOverflowData
  5108  				}
  5109  				if iNdEx >= l {
  5110  					return io.ErrUnexpectedEOF
  5111  				}
  5112  				b := dAtA[iNdEx]
  5113  				iNdEx++
  5114  				msglen |= (int(b) & 0x7F) << shift
  5115  				if b < 0x80 {
  5116  					break
  5117  				}
  5118  			}
  5119  			if msglen < 0 {
  5120  				return ErrInvalidLengthData
  5121  			}
  5122  			postIndex := iNdEx + msglen
  5123  			if postIndex > l {
  5124  				return io.ErrUnexpectedEOF
  5125  			}
  5126  			if m.ChangeReplicasTrigger == nil {
  5127  				m.ChangeReplicasTrigger = &ChangeReplicasTrigger{}
  5128  			}
  5129  			if err := m.ChangeReplicasTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5130  				return err
  5131  			}
  5132  			iNdEx = postIndex
  5133  		case 4:
  5134  			if wireType != 2 {
  5135  				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedSpanTrigger", wireType)
  5136  			}
  5137  			var msglen int
  5138  			for shift := uint(0); ; shift += 7 {
  5139  				if shift >= 64 {
  5140  					return ErrIntOverflowData
  5141  				}
  5142  				if iNdEx >= l {
  5143  					return io.ErrUnexpectedEOF
  5144  				}
  5145  				b := dAtA[iNdEx]
  5146  				iNdEx++
  5147  				msglen |= (int(b) & 0x7F) << shift
  5148  				if b < 0x80 {
  5149  					break
  5150  				}
  5151  			}
  5152  			if msglen < 0 {
  5153  				return ErrInvalidLengthData
  5154  			}
  5155  			postIndex := iNdEx + msglen
  5156  			if postIndex > l {
  5157  				return io.ErrUnexpectedEOF
  5158  			}
  5159  			if m.ModifiedSpanTrigger == nil {
  5160  				m.ModifiedSpanTrigger = &ModifiedSpanTrigger{}
  5161  			}
  5162  			if err := m.ModifiedSpanTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5163  				return err
  5164  			}
  5165  			iNdEx = postIndex
  5166  		case 5:
  5167  			if wireType != 2 {
  5168  				return fmt.Errorf("proto: wrong wireType = %d for field StickyBitTrigger", wireType)
  5169  			}
  5170  			var msglen int
  5171  			for shift := uint(0); ; shift += 7 {
  5172  				if shift >= 64 {
  5173  					return ErrIntOverflowData
  5174  				}
  5175  				if iNdEx >= l {
  5176  					return io.ErrUnexpectedEOF
  5177  				}
  5178  				b := dAtA[iNdEx]
  5179  				iNdEx++
  5180  				msglen |= (int(b) & 0x7F) << shift
  5181  				if b < 0x80 {
  5182  					break
  5183  				}
  5184  			}
  5185  			if msglen < 0 {
  5186  				return ErrInvalidLengthData
  5187  			}
  5188  			postIndex := iNdEx + msglen
  5189  			if postIndex > l {
  5190  				return io.ErrUnexpectedEOF
  5191  			}
  5192  			if m.StickyBitTrigger == nil {
  5193  				m.StickyBitTrigger = &StickyBitTrigger{}
  5194  			}
  5195  			if err := m.StickyBitTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5196  				return err
  5197  			}
  5198  			iNdEx = postIndex
  5199  		default:
  5200  			iNdEx = preIndex
  5201  			skippy, err := skipData(dAtA[iNdEx:])
  5202  			if err != nil {
  5203  				return err
  5204  			}
  5205  			if skippy < 0 {
  5206  				return ErrInvalidLengthData
  5207  			}
  5208  			if (iNdEx + skippy) > l {
  5209  				return io.ErrUnexpectedEOF
  5210  			}
  5211  			iNdEx += skippy
  5212  		}
  5213  	}
  5214  
  5215  	if iNdEx > l {
  5216  		return io.ErrUnexpectedEOF
  5217  	}
  5218  	return nil
  5219  }
  5220  func (m *ObservedTimestamp) Unmarshal(dAtA []byte) error {
  5221  	l := len(dAtA)
  5222  	iNdEx := 0
  5223  	for iNdEx < l {
  5224  		preIndex := iNdEx
  5225  		var wire uint64
  5226  		for shift := uint(0); ; shift += 7 {
  5227  			if shift >= 64 {
  5228  				return ErrIntOverflowData
  5229  			}
  5230  			if iNdEx >= l {
  5231  				return io.ErrUnexpectedEOF
  5232  			}
  5233  			b := dAtA[iNdEx]
  5234  			iNdEx++
  5235  			wire |= (uint64(b) & 0x7F) << shift
  5236  			if b < 0x80 {
  5237  				break
  5238  			}
  5239  		}
  5240  		fieldNum := int32(wire >> 3)
  5241  		wireType := int(wire & 0x7)
  5242  		if wireType == 4 {
  5243  			return fmt.Errorf("proto: ObservedTimestamp: wiretype end group for non-group")
  5244  		}
  5245  		if fieldNum <= 0 {
  5246  			return fmt.Errorf("proto: ObservedTimestamp: illegal tag %d (wire type %d)", fieldNum, wire)
  5247  		}
  5248  		switch fieldNum {
  5249  		case 1:
  5250  			if wireType != 0 {
  5251  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  5252  			}
  5253  			m.NodeID = 0
  5254  			for shift := uint(0); ; shift += 7 {
  5255  				if shift >= 64 {
  5256  					return ErrIntOverflowData
  5257  				}
  5258  				if iNdEx >= l {
  5259  					return io.ErrUnexpectedEOF
  5260  				}
  5261  				b := dAtA[iNdEx]
  5262  				iNdEx++
  5263  				m.NodeID |= (NodeID(b) & 0x7F) << shift
  5264  				if b < 0x80 {
  5265  					break
  5266  				}
  5267  			}
  5268  		case 2:
  5269  			if wireType != 2 {
  5270  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  5271  			}
  5272  			var msglen int
  5273  			for shift := uint(0); ; shift += 7 {
  5274  				if shift >= 64 {
  5275  					return ErrIntOverflowData
  5276  				}
  5277  				if iNdEx >= l {
  5278  					return io.ErrUnexpectedEOF
  5279  				}
  5280  				b := dAtA[iNdEx]
  5281  				iNdEx++
  5282  				msglen |= (int(b) & 0x7F) << shift
  5283  				if b < 0x80 {
  5284  					break
  5285  				}
  5286  			}
  5287  			if msglen < 0 {
  5288  				return ErrInvalidLengthData
  5289  			}
  5290  			postIndex := iNdEx + msglen
  5291  			if postIndex > l {
  5292  				return io.ErrUnexpectedEOF
  5293  			}
  5294  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5295  				return err
  5296  			}
  5297  			iNdEx = postIndex
  5298  		default:
  5299  			iNdEx = preIndex
  5300  			skippy, err := skipData(dAtA[iNdEx:])
  5301  			if err != nil {
  5302  				return err
  5303  			}
  5304  			if skippy < 0 {
  5305  				return ErrInvalidLengthData
  5306  			}
  5307  			if (iNdEx + skippy) > l {
  5308  				return io.ErrUnexpectedEOF
  5309  			}
  5310  			iNdEx += skippy
  5311  		}
  5312  	}
  5313  
  5314  	if iNdEx > l {
  5315  		return io.ErrUnexpectedEOF
  5316  	}
  5317  	return nil
  5318  }
  5319  func (m *Transaction) Unmarshal(dAtA []byte) error {
  5320  	l := len(dAtA)
  5321  	iNdEx := 0
  5322  	for iNdEx < l {
  5323  		preIndex := iNdEx
  5324  		var wire uint64
  5325  		for shift := uint(0); ; shift += 7 {
  5326  			if shift >= 64 {
  5327  				return ErrIntOverflowData
  5328  			}
  5329  			if iNdEx >= l {
  5330  				return io.ErrUnexpectedEOF
  5331  			}
  5332  			b := dAtA[iNdEx]
  5333  			iNdEx++
  5334  			wire |= (uint64(b) & 0x7F) << shift
  5335  			if b < 0x80 {
  5336  				break
  5337  			}
  5338  		}
  5339  		fieldNum := int32(wire >> 3)
  5340  		wireType := int(wire & 0x7)
  5341  		if wireType == 4 {
  5342  			return fmt.Errorf("proto: Transaction: wiretype end group for non-group")
  5343  		}
  5344  		if fieldNum <= 0 {
  5345  			return fmt.Errorf("proto: Transaction: illegal tag %d (wire type %d)", fieldNum, wire)
  5346  		}
  5347  		switch fieldNum {
  5348  		case 1:
  5349  			if wireType != 2 {
  5350  				return fmt.Errorf("proto: wrong wireType = %d for field TxnMeta", wireType)
  5351  			}
  5352  			var msglen int
  5353  			for shift := uint(0); ; shift += 7 {
  5354  				if shift >= 64 {
  5355  					return ErrIntOverflowData
  5356  				}
  5357  				if iNdEx >= l {
  5358  					return io.ErrUnexpectedEOF
  5359  				}
  5360  				b := dAtA[iNdEx]
  5361  				iNdEx++
  5362  				msglen |= (int(b) & 0x7F) << shift
  5363  				if b < 0x80 {
  5364  					break
  5365  				}
  5366  			}
  5367  			if msglen < 0 {
  5368  				return ErrInvalidLengthData
  5369  			}
  5370  			postIndex := iNdEx + msglen
  5371  			if postIndex > l {
  5372  				return io.ErrUnexpectedEOF
  5373  			}
  5374  			if err := m.TxnMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5375  				return err
  5376  			}
  5377  			iNdEx = postIndex
  5378  		case 2:
  5379  			if wireType != 2 {
  5380  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  5381  			}
  5382  			var stringLen uint64
  5383  			for shift := uint(0); ; shift += 7 {
  5384  				if shift >= 64 {
  5385  					return ErrIntOverflowData
  5386  				}
  5387  				if iNdEx >= l {
  5388  					return io.ErrUnexpectedEOF
  5389  				}
  5390  				b := dAtA[iNdEx]
  5391  				iNdEx++
  5392  				stringLen |= (uint64(b) & 0x7F) << shift
  5393  				if b < 0x80 {
  5394  					break
  5395  				}
  5396  			}
  5397  			intStringLen := int(stringLen)
  5398  			if intStringLen < 0 {
  5399  				return ErrInvalidLengthData
  5400  			}
  5401  			postIndex := iNdEx + intStringLen
  5402  			if postIndex > l {
  5403  				return io.ErrUnexpectedEOF
  5404  			}
  5405  			m.Name = string(dAtA[iNdEx:postIndex])
  5406  			iNdEx = postIndex
  5407  		case 4:
  5408  			if wireType != 0 {
  5409  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  5410  			}
  5411  			m.Status = 0
  5412  			for shift := uint(0); ; shift += 7 {
  5413  				if shift >= 64 {
  5414  					return ErrIntOverflowData
  5415  				}
  5416  				if iNdEx >= l {
  5417  					return io.ErrUnexpectedEOF
  5418  				}
  5419  				b := dAtA[iNdEx]
  5420  				iNdEx++
  5421  				m.Status |= (TransactionStatus(b) & 0x7F) << shift
  5422  				if b < 0x80 {
  5423  					break
  5424  				}
  5425  			}
  5426  		case 5:
  5427  			if wireType != 2 {
  5428  				return fmt.Errorf("proto: wrong wireType = %d for field LastHeartbeat", wireType)
  5429  			}
  5430  			var msglen int
  5431  			for shift := uint(0); ; shift += 7 {
  5432  				if shift >= 64 {
  5433  					return ErrIntOverflowData
  5434  				}
  5435  				if iNdEx >= l {
  5436  					return io.ErrUnexpectedEOF
  5437  				}
  5438  				b := dAtA[iNdEx]
  5439  				iNdEx++
  5440  				msglen |= (int(b) & 0x7F) << shift
  5441  				if b < 0x80 {
  5442  					break
  5443  				}
  5444  			}
  5445  			if msglen < 0 {
  5446  				return ErrInvalidLengthData
  5447  			}
  5448  			postIndex := iNdEx + msglen
  5449  			if postIndex > l {
  5450  				return io.ErrUnexpectedEOF
  5451  			}
  5452  			if err := m.LastHeartbeat.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5453  				return err
  5454  			}
  5455  			iNdEx = postIndex
  5456  		case 6:
  5457  			if wireType != 2 {
  5458  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedOrigTimestamp", wireType)
  5459  			}
  5460  			var msglen int
  5461  			for shift := uint(0); ; shift += 7 {
  5462  				if shift >= 64 {
  5463  					return ErrIntOverflowData
  5464  				}
  5465  				if iNdEx >= l {
  5466  					return io.ErrUnexpectedEOF
  5467  				}
  5468  				b := dAtA[iNdEx]
  5469  				iNdEx++
  5470  				msglen |= (int(b) & 0x7F) << shift
  5471  				if b < 0x80 {
  5472  					break
  5473  				}
  5474  			}
  5475  			if msglen < 0 {
  5476  				return ErrInvalidLengthData
  5477  			}
  5478  			postIndex := iNdEx + msglen
  5479  			if postIndex > l {
  5480  				return io.ErrUnexpectedEOF
  5481  			}
  5482  			if err := m.DeprecatedOrigTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5483  				return err
  5484  			}
  5485  			iNdEx = postIndex
  5486  		case 7:
  5487  			if wireType != 2 {
  5488  				return fmt.Errorf("proto: wrong wireType = %d for field MaxTimestamp", wireType)
  5489  			}
  5490  			var msglen int
  5491  			for shift := uint(0); ; shift += 7 {
  5492  				if shift >= 64 {
  5493  					return ErrIntOverflowData
  5494  				}
  5495  				if iNdEx >= l {
  5496  					return io.ErrUnexpectedEOF
  5497  				}
  5498  				b := dAtA[iNdEx]
  5499  				iNdEx++
  5500  				msglen |= (int(b) & 0x7F) << shift
  5501  				if b < 0x80 {
  5502  					break
  5503  				}
  5504  			}
  5505  			if msglen < 0 {
  5506  				return ErrInvalidLengthData
  5507  			}
  5508  			postIndex := iNdEx + msglen
  5509  			if postIndex > l {
  5510  				return io.ErrUnexpectedEOF
  5511  			}
  5512  			if err := m.MaxTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5513  				return err
  5514  			}
  5515  			iNdEx = postIndex
  5516  		case 8:
  5517  			if wireType != 2 {
  5518  				return fmt.Errorf("proto: wrong wireType = %d for field ObservedTimestamps", wireType)
  5519  			}
  5520  			var msglen int
  5521  			for shift := uint(0); ; shift += 7 {
  5522  				if shift >= 64 {
  5523  					return ErrIntOverflowData
  5524  				}
  5525  				if iNdEx >= l {
  5526  					return io.ErrUnexpectedEOF
  5527  				}
  5528  				b := dAtA[iNdEx]
  5529  				iNdEx++
  5530  				msglen |= (int(b) & 0x7F) << shift
  5531  				if b < 0x80 {
  5532  					break
  5533  				}
  5534  			}
  5535  			if msglen < 0 {
  5536  				return ErrInvalidLengthData
  5537  			}
  5538  			postIndex := iNdEx + msglen
  5539  			if postIndex > l {
  5540  				return io.ErrUnexpectedEOF
  5541  			}
  5542  			m.ObservedTimestamps = append(m.ObservedTimestamps, ObservedTimestamp{})
  5543  			if err := m.ObservedTimestamps[len(m.ObservedTimestamps)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5544  				return err
  5545  			}
  5546  			iNdEx = postIndex
  5547  		case 11:
  5548  			if wireType != 2 {
  5549  				return fmt.Errorf("proto: wrong wireType = %d for field LockSpans", wireType)
  5550  			}
  5551  			var msglen int
  5552  			for shift := uint(0); ; shift += 7 {
  5553  				if shift >= 64 {
  5554  					return ErrIntOverflowData
  5555  				}
  5556  				if iNdEx >= l {
  5557  					return io.ErrUnexpectedEOF
  5558  				}
  5559  				b := dAtA[iNdEx]
  5560  				iNdEx++
  5561  				msglen |= (int(b) & 0x7F) << shift
  5562  				if b < 0x80 {
  5563  					break
  5564  				}
  5565  			}
  5566  			if msglen < 0 {
  5567  				return ErrInvalidLengthData
  5568  			}
  5569  			postIndex := iNdEx + msglen
  5570  			if postIndex > l {
  5571  				return io.ErrUnexpectedEOF
  5572  			}
  5573  			m.LockSpans = append(m.LockSpans, Span{})
  5574  			if err := m.LockSpans[len(m.LockSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5575  				return err
  5576  			}
  5577  			iNdEx = postIndex
  5578  		case 12:
  5579  			if wireType != 0 {
  5580  				return fmt.Errorf("proto: wrong wireType = %d for field WriteTooOld", wireType)
  5581  			}
  5582  			var v int
  5583  			for shift := uint(0); ; shift += 7 {
  5584  				if shift >= 64 {
  5585  					return ErrIntOverflowData
  5586  				}
  5587  				if iNdEx >= l {
  5588  					return io.ErrUnexpectedEOF
  5589  				}
  5590  				b := dAtA[iNdEx]
  5591  				iNdEx++
  5592  				v |= (int(b) & 0x7F) << shift
  5593  				if b < 0x80 {
  5594  					break
  5595  				}
  5596  			}
  5597  			m.WriteTooOld = bool(v != 0)
  5598  		case 15:
  5599  			if wireType != 2 {
  5600  				return fmt.Errorf("proto: wrong wireType = %d for field ReadTimestamp", wireType)
  5601  			}
  5602  			var msglen int
  5603  			for shift := uint(0); ; shift += 7 {
  5604  				if shift >= 64 {
  5605  					return ErrIntOverflowData
  5606  				}
  5607  				if iNdEx >= l {
  5608  					return io.ErrUnexpectedEOF
  5609  				}
  5610  				b := dAtA[iNdEx]
  5611  				iNdEx++
  5612  				msglen |= (int(b) & 0x7F) << shift
  5613  				if b < 0x80 {
  5614  					break
  5615  				}
  5616  			}
  5617  			if msglen < 0 {
  5618  				return ErrInvalidLengthData
  5619  			}
  5620  			postIndex := iNdEx + msglen
  5621  			if postIndex > l {
  5622  				return io.ErrUnexpectedEOF
  5623  			}
  5624  			if err := m.ReadTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5625  				return err
  5626  			}
  5627  			iNdEx = postIndex
  5628  		case 16:
  5629  			if wireType != 0 {
  5630  				return fmt.Errorf("proto: wrong wireType = %d for field CommitTimestampFixed", wireType)
  5631  			}
  5632  			var v int
  5633  			for shift := uint(0); ; shift += 7 {
  5634  				if shift >= 64 {
  5635  					return ErrIntOverflowData
  5636  				}
  5637  				if iNdEx >= l {
  5638  					return io.ErrUnexpectedEOF
  5639  				}
  5640  				b := dAtA[iNdEx]
  5641  				iNdEx++
  5642  				v |= (int(b) & 0x7F) << shift
  5643  				if b < 0x80 {
  5644  					break
  5645  				}
  5646  			}
  5647  			m.CommitTimestampFixed = bool(v != 0)
  5648  		case 17:
  5649  			if wireType != 2 {
  5650  				return fmt.Errorf("proto: wrong wireType = %d for field InFlightWrites", wireType)
  5651  			}
  5652  			var msglen int
  5653  			for shift := uint(0); ; shift += 7 {
  5654  				if shift >= 64 {
  5655  					return ErrIntOverflowData
  5656  				}
  5657  				if iNdEx >= l {
  5658  					return io.ErrUnexpectedEOF
  5659  				}
  5660  				b := dAtA[iNdEx]
  5661  				iNdEx++
  5662  				msglen |= (int(b) & 0x7F) << shift
  5663  				if b < 0x80 {
  5664  					break
  5665  				}
  5666  			}
  5667  			if msglen < 0 {
  5668  				return ErrInvalidLengthData
  5669  			}
  5670  			postIndex := iNdEx + msglen
  5671  			if postIndex > l {
  5672  				return io.ErrUnexpectedEOF
  5673  			}
  5674  			m.InFlightWrites = append(m.InFlightWrites, SequencedWrite{})
  5675  			if err := m.InFlightWrites[len(m.InFlightWrites)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5676  				return err
  5677  			}
  5678  			iNdEx = postIndex
  5679  		case 18:
  5680  			if wireType != 2 {
  5681  				return fmt.Errorf("proto: wrong wireType = %d for field IgnoredSeqNums", wireType)
  5682  			}
  5683  			var msglen int
  5684  			for shift := uint(0); ; shift += 7 {
  5685  				if shift >= 64 {
  5686  					return ErrIntOverflowData
  5687  				}
  5688  				if iNdEx >= l {
  5689  					return io.ErrUnexpectedEOF
  5690  				}
  5691  				b := dAtA[iNdEx]
  5692  				iNdEx++
  5693  				msglen |= (int(b) & 0x7F) << shift
  5694  				if b < 0x80 {
  5695  					break
  5696  				}
  5697  			}
  5698  			if msglen < 0 {
  5699  				return ErrInvalidLengthData
  5700  			}
  5701  			postIndex := iNdEx + msglen
  5702  			if postIndex > l {
  5703  				return io.ErrUnexpectedEOF
  5704  			}
  5705  			m.IgnoredSeqNums = append(m.IgnoredSeqNums, enginepb.IgnoredSeqNumRange{})
  5706  			if err := m.IgnoredSeqNums[len(m.IgnoredSeqNums)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5707  				return err
  5708  			}
  5709  			iNdEx = postIndex
  5710  		default:
  5711  			iNdEx = preIndex
  5712  			skippy, err := skipData(dAtA[iNdEx:])
  5713  			if err != nil {
  5714  				return err
  5715  			}
  5716  			if skippy < 0 {
  5717  				return ErrInvalidLengthData
  5718  			}
  5719  			if (iNdEx + skippy) > l {
  5720  				return io.ErrUnexpectedEOF
  5721  			}
  5722  			iNdEx += skippy
  5723  		}
  5724  	}
  5725  
  5726  	if iNdEx > l {
  5727  		return io.ErrUnexpectedEOF
  5728  	}
  5729  	return nil
  5730  }
  5731  func (m *TransactionRecord) Unmarshal(dAtA []byte) error {
  5732  	l := len(dAtA)
  5733  	iNdEx := 0
  5734  	for iNdEx < l {
  5735  		preIndex := iNdEx
  5736  		var wire uint64
  5737  		for shift := uint(0); ; shift += 7 {
  5738  			if shift >= 64 {
  5739  				return ErrIntOverflowData
  5740  			}
  5741  			if iNdEx >= l {
  5742  				return io.ErrUnexpectedEOF
  5743  			}
  5744  			b := dAtA[iNdEx]
  5745  			iNdEx++
  5746  			wire |= (uint64(b) & 0x7F) << shift
  5747  			if b < 0x80 {
  5748  				break
  5749  			}
  5750  		}
  5751  		fieldNum := int32(wire >> 3)
  5752  		wireType := int(wire & 0x7)
  5753  		if wireType == 4 {
  5754  			return fmt.Errorf("proto: TransactionRecord: wiretype end group for non-group")
  5755  		}
  5756  		if fieldNum <= 0 {
  5757  			return fmt.Errorf("proto: TransactionRecord: illegal tag %d (wire type %d)", fieldNum, wire)
  5758  		}
  5759  		switch fieldNum {
  5760  		case 1:
  5761  			if wireType != 2 {
  5762  				return fmt.Errorf("proto: wrong wireType = %d for field TxnMeta", wireType)
  5763  			}
  5764  			var msglen int
  5765  			for shift := uint(0); ; shift += 7 {
  5766  				if shift >= 64 {
  5767  					return ErrIntOverflowData
  5768  				}
  5769  				if iNdEx >= l {
  5770  					return io.ErrUnexpectedEOF
  5771  				}
  5772  				b := dAtA[iNdEx]
  5773  				iNdEx++
  5774  				msglen |= (int(b) & 0x7F) << shift
  5775  				if b < 0x80 {
  5776  					break
  5777  				}
  5778  			}
  5779  			if msglen < 0 {
  5780  				return ErrInvalidLengthData
  5781  			}
  5782  			postIndex := iNdEx + msglen
  5783  			if postIndex > l {
  5784  				return io.ErrUnexpectedEOF
  5785  			}
  5786  			if err := m.TxnMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5787  				return err
  5788  			}
  5789  			iNdEx = postIndex
  5790  		case 4:
  5791  			if wireType != 0 {
  5792  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  5793  			}
  5794  			m.Status = 0
  5795  			for shift := uint(0); ; shift += 7 {
  5796  				if shift >= 64 {
  5797  					return ErrIntOverflowData
  5798  				}
  5799  				if iNdEx >= l {
  5800  					return io.ErrUnexpectedEOF
  5801  				}
  5802  				b := dAtA[iNdEx]
  5803  				iNdEx++
  5804  				m.Status |= (TransactionStatus(b) & 0x7F) << shift
  5805  				if b < 0x80 {
  5806  					break
  5807  				}
  5808  			}
  5809  		case 5:
  5810  			if wireType != 2 {
  5811  				return fmt.Errorf("proto: wrong wireType = %d for field LastHeartbeat", wireType)
  5812  			}
  5813  			var msglen int
  5814  			for shift := uint(0); ; shift += 7 {
  5815  				if shift >= 64 {
  5816  					return ErrIntOverflowData
  5817  				}
  5818  				if iNdEx >= l {
  5819  					return io.ErrUnexpectedEOF
  5820  				}
  5821  				b := dAtA[iNdEx]
  5822  				iNdEx++
  5823  				msglen |= (int(b) & 0x7F) << shift
  5824  				if b < 0x80 {
  5825  					break
  5826  				}
  5827  			}
  5828  			if msglen < 0 {
  5829  				return ErrInvalidLengthData
  5830  			}
  5831  			postIndex := iNdEx + msglen
  5832  			if postIndex > l {
  5833  				return io.ErrUnexpectedEOF
  5834  			}
  5835  			if err := m.LastHeartbeat.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5836  				return err
  5837  			}
  5838  			iNdEx = postIndex
  5839  		case 11:
  5840  			if wireType != 2 {
  5841  				return fmt.Errorf("proto: wrong wireType = %d for field LockSpans", wireType)
  5842  			}
  5843  			var msglen int
  5844  			for shift := uint(0); ; shift += 7 {
  5845  				if shift >= 64 {
  5846  					return ErrIntOverflowData
  5847  				}
  5848  				if iNdEx >= l {
  5849  					return io.ErrUnexpectedEOF
  5850  				}
  5851  				b := dAtA[iNdEx]
  5852  				iNdEx++
  5853  				msglen |= (int(b) & 0x7F) << shift
  5854  				if b < 0x80 {
  5855  					break
  5856  				}
  5857  			}
  5858  			if msglen < 0 {
  5859  				return ErrInvalidLengthData
  5860  			}
  5861  			postIndex := iNdEx + msglen
  5862  			if postIndex > l {
  5863  				return io.ErrUnexpectedEOF
  5864  			}
  5865  			m.LockSpans = append(m.LockSpans, Span{})
  5866  			if err := m.LockSpans[len(m.LockSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5867  				return err
  5868  			}
  5869  			iNdEx = postIndex
  5870  		case 17:
  5871  			if wireType != 2 {
  5872  				return fmt.Errorf("proto: wrong wireType = %d for field InFlightWrites", wireType)
  5873  			}
  5874  			var msglen int
  5875  			for shift := uint(0); ; shift += 7 {
  5876  				if shift >= 64 {
  5877  					return ErrIntOverflowData
  5878  				}
  5879  				if iNdEx >= l {
  5880  					return io.ErrUnexpectedEOF
  5881  				}
  5882  				b := dAtA[iNdEx]
  5883  				iNdEx++
  5884  				msglen |= (int(b) & 0x7F) << shift
  5885  				if b < 0x80 {
  5886  					break
  5887  				}
  5888  			}
  5889  			if msglen < 0 {
  5890  				return ErrInvalidLengthData
  5891  			}
  5892  			postIndex := iNdEx + msglen
  5893  			if postIndex > l {
  5894  				return io.ErrUnexpectedEOF
  5895  			}
  5896  			m.InFlightWrites = append(m.InFlightWrites, SequencedWrite{})
  5897  			if err := m.InFlightWrites[len(m.InFlightWrites)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5898  				return err
  5899  			}
  5900  			iNdEx = postIndex
  5901  		case 18:
  5902  			if wireType != 2 {
  5903  				return fmt.Errorf("proto: wrong wireType = %d for field IgnoredSeqNums", wireType)
  5904  			}
  5905  			var msglen int
  5906  			for shift := uint(0); ; shift += 7 {
  5907  				if shift >= 64 {
  5908  					return ErrIntOverflowData
  5909  				}
  5910  				if iNdEx >= l {
  5911  					return io.ErrUnexpectedEOF
  5912  				}
  5913  				b := dAtA[iNdEx]
  5914  				iNdEx++
  5915  				msglen |= (int(b) & 0x7F) << shift
  5916  				if b < 0x80 {
  5917  					break
  5918  				}
  5919  			}
  5920  			if msglen < 0 {
  5921  				return ErrInvalidLengthData
  5922  			}
  5923  			postIndex := iNdEx + msglen
  5924  			if postIndex > l {
  5925  				return io.ErrUnexpectedEOF
  5926  			}
  5927  			m.IgnoredSeqNums = append(m.IgnoredSeqNums, enginepb.IgnoredSeqNumRange{})
  5928  			if err := m.IgnoredSeqNums[len(m.IgnoredSeqNums)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5929  				return err
  5930  			}
  5931  			iNdEx = postIndex
  5932  		default:
  5933  			iNdEx = preIndex
  5934  			skippy, err := skipData(dAtA[iNdEx:])
  5935  			if err != nil {
  5936  				return err
  5937  			}
  5938  			if skippy < 0 {
  5939  				return ErrInvalidLengthData
  5940  			}
  5941  			if (iNdEx + skippy) > l {
  5942  				return io.ErrUnexpectedEOF
  5943  			}
  5944  			iNdEx += skippy
  5945  		}
  5946  	}
  5947  
  5948  	if iNdEx > l {
  5949  		return io.ErrUnexpectedEOF
  5950  	}
  5951  	return nil
  5952  }
  5953  func (m *Intent) Unmarshal(dAtA []byte) error {
  5954  	l := len(dAtA)
  5955  	iNdEx := 0
  5956  	for iNdEx < l {
  5957  		preIndex := iNdEx
  5958  		var wire uint64
  5959  		for shift := uint(0); ; shift += 7 {
  5960  			if shift >= 64 {
  5961  				return ErrIntOverflowData
  5962  			}
  5963  			if iNdEx >= l {
  5964  				return io.ErrUnexpectedEOF
  5965  			}
  5966  			b := dAtA[iNdEx]
  5967  			iNdEx++
  5968  			wire |= (uint64(b) & 0x7F) << shift
  5969  			if b < 0x80 {
  5970  				break
  5971  			}
  5972  		}
  5973  		fieldNum := int32(wire >> 3)
  5974  		wireType := int(wire & 0x7)
  5975  		if wireType == 4 {
  5976  			return fmt.Errorf("proto: Intent: wiretype end group for non-group")
  5977  		}
  5978  		if fieldNum <= 0 {
  5979  			return fmt.Errorf("proto: Intent: illegal tag %d (wire type %d)", fieldNum, wire)
  5980  		}
  5981  		switch fieldNum {
  5982  		case 1:
  5983  			if wireType != 2 {
  5984  				return fmt.Errorf("proto: wrong wireType = %d for field Intent_SingleKeySpan", wireType)
  5985  			}
  5986  			var msglen int
  5987  			for shift := uint(0); ; shift += 7 {
  5988  				if shift >= 64 {
  5989  					return ErrIntOverflowData
  5990  				}
  5991  				if iNdEx >= l {
  5992  					return io.ErrUnexpectedEOF
  5993  				}
  5994  				b := dAtA[iNdEx]
  5995  				iNdEx++
  5996  				msglen |= (int(b) & 0x7F) << shift
  5997  				if b < 0x80 {
  5998  					break
  5999  				}
  6000  			}
  6001  			if msglen < 0 {
  6002  				return ErrInvalidLengthData
  6003  			}
  6004  			postIndex := iNdEx + msglen
  6005  			if postIndex > l {
  6006  				return io.ErrUnexpectedEOF
  6007  			}
  6008  			if err := m.Intent_SingleKeySpan.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6009  				return err
  6010  			}
  6011  			iNdEx = postIndex
  6012  		case 2:
  6013  			if wireType != 2 {
  6014  				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
  6015  			}
  6016  			var msglen int
  6017  			for shift := uint(0); ; shift += 7 {
  6018  				if shift >= 64 {
  6019  					return ErrIntOverflowData
  6020  				}
  6021  				if iNdEx >= l {
  6022  					return io.ErrUnexpectedEOF
  6023  				}
  6024  				b := dAtA[iNdEx]
  6025  				iNdEx++
  6026  				msglen |= (int(b) & 0x7F) << shift
  6027  				if b < 0x80 {
  6028  					break
  6029  				}
  6030  			}
  6031  			if msglen < 0 {
  6032  				return ErrInvalidLengthData
  6033  			}
  6034  			postIndex := iNdEx + msglen
  6035  			if postIndex > l {
  6036  				return io.ErrUnexpectedEOF
  6037  			}
  6038  			if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6039  				return err
  6040  			}
  6041  			iNdEx = postIndex
  6042  		default:
  6043  			iNdEx = preIndex
  6044  			skippy, err := skipData(dAtA[iNdEx:])
  6045  			if err != nil {
  6046  				return err
  6047  			}
  6048  			if skippy < 0 {
  6049  				return ErrInvalidLengthData
  6050  			}
  6051  			if (iNdEx + skippy) > l {
  6052  				return io.ErrUnexpectedEOF
  6053  			}
  6054  			iNdEx += skippy
  6055  		}
  6056  	}
  6057  
  6058  	if iNdEx > l {
  6059  		return io.ErrUnexpectedEOF
  6060  	}
  6061  	return nil
  6062  }
  6063  func (m *Intent_SingleKeySpan) Unmarshal(dAtA []byte) error {
  6064  	l := len(dAtA)
  6065  	iNdEx := 0
  6066  	for iNdEx < l {
  6067  		preIndex := iNdEx
  6068  		var wire uint64
  6069  		for shift := uint(0); ; shift += 7 {
  6070  			if shift >= 64 {
  6071  				return ErrIntOverflowData
  6072  			}
  6073  			if iNdEx >= l {
  6074  				return io.ErrUnexpectedEOF
  6075  			}
  6076  			b := dAtA[iNdEx]
  6077  			iNdEx++
  6078  			wire |= (uint64(b) & 0x7F) << shift
  6079  			if b < 0x80 {
  6080  				break
  6081  			}
  6082  		}
  6083  		fieldNum := int32(wire >> 3)
  6084  		wireType := int(wire & 0x7)
  6085  		if wireType == 4 {
  6086  			return fmt.Errorf("proto: SingleKeySpan: wiretype end group for non-group")
  6087  		}
  6088  		if fieldNum <= 0 {
  6089  			return fmt.Errorf("proto: SingleKeySpan: illegal tag %d (wire type %d)", fieldNum, wire)
  6090  		}
  6091  		switch fieldNum {
  6092  		case 3:
  6093  			if wireType != 2 {
  6094  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  6095  			}
  6096  			var byteLen int
  6097  			for shift := uint(0); ; shift += 7 {
  6098  				if shift >= 64 {
  6099  					return ErrIntOverflowData
  6100  				}
  6101  				if iNdEx >= l {
  6102  					return io.ErrUnexpectedEOF
  6103  				}
  6104  				b := dAtA[iNdEx]
  6105  				iNdEx++
  6106  				byteLen |= (int(b) & 0x7F) << shift
  6107  				if b < 0x80 {
  6108  					break
  6109  				}
  6110  			}
  6111  			if byteLen < 0 {
  6112  				return ErrInvalidLengthData
  6113  			}
  6114  			postIndex := iNdEx + byteLen
  6115  			if postIndex > l {
  6116  				return io.ErrUnexpectedEOF
  6117  			}
  6118  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  6119  			if m.Key == nil {
  6120  				m.Key = []byte{}
  6121  			}
  6122  			iNdEx = postIndex
  6123  		default:
  6124  			iNdEx = preIndex
  6125  			skippy, err := skipData(dAtA[iNdEx:])
  6126  			if err != nil {
  6127  				return err
  6128  			}
  6129  			if skippy < 0 {
  6130  				return ErrInvalidLengthData
  6131  			}
  6132  			if (iNdEx + skippy) > l {
  6133  				return io.ErrUnexpectedEOF
  6134  			}
  6135  			iNdEx += skippy
  6136  		}
  6137  	}
  6138  
  6139  	if iNdEx > l {
  6140  		return io.ErrUnexpectedEOF
  6141  	}
  6142  	return nil
  6143  }
  6144  func (m *LockAcquisition) Unmarshal(dAtA []byte) error {
  6145  	l := len(dAtA)
  6146  	iNdEx := 0
  6147  	for iNdEx < l {
  6148  		preIndex := iNdEx
  6149  		var wire uint64
  6150  		for shift := uint(0); ; shift += 7 {
  6151  			if shift >= 64 {
  6152  				return ErrIntOverflowData
  6153  			}
  6154  			if iNdEx >= l {
  6155  				return io.ErrUnexpectedEOF
  6156  			}
  6157  			b := dAtA[iNdEx]
  6158  			iNdEx++
  6159  			wire |= (uint64(b) & 0x7F) << shift
  6160  			if b < 0x80 {
  6161  				break
  6162  			}
  6163  		}
  6164  		fieldNum := int32(wire >> 3)
  6165  		wireType := int(wire & 0x7)
  6166  		if wireType == 4 {
  6167  			return fmt.Errorf("proto: LockAcquisition: wiretype end group for non-group")
  6168  		}
  6169  		if fieldNum <= 0 {
  6170  			return fmt.Errorf("proto: LockAcquisition: illegal tag %d (wire type %d)", fieldNum, wire)
  6171  		}
  6172  		switch fieldNum {
  6173  		case 1:
  6174  			if wireType != 2 {
  6175  				return fmt.Errorf("proto: wrong wireType = %d for field Span", wireType)
  6176  			}
  6177  			var msglen int
  6178  			for shift := uint(0); ; shift += 7 {
  6179  				if shift >= 64 {
  6180  					return ErrIntOverflowData
  6181  				}
  6182  				if iNdEx >= l {
  6183  					return io.ErrUnexpectedEOF
  6184  				}
  6185  				b := dAtA[iNdEx]
  6186  				iNdEx++
  6187  				msglen |= (int(b) & 0x7F) << shift
  6188  				if b < 0x80 {
  6189  					break
  6190  				}
  6191  			}
  6192  			if msglen < 0 {
  6193  				return ErrInvalidLengthData
  6194  			}
  6195  			postIndex := iNdEx + msglen
  6196  			if postIndex > l {
  6197  				return io.ErrUnexpectedEOF
  6198  			}
  6199  			if err := m.Span.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6200  				return err
  6201  			}
  6202  			iNdEx = postIndex
  6203  		case 2:
  6204  			if wireType != 2 {
  6205  				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
  6206  			}
  6207  			var msglen int
  6208  			for shift := uint(0); ; shift += 7 {
  6209  				if shift >= 64 {
  6210  					return ErrIntOverflowData
  6211  				}
  6212  				if iNdEx >= l {
  6213  					return io.ErrUnexpectedEOF
  6214  				}
  6215  				b := dAtA[iNdEx]
  6216  				iNdEx++
  6217  				msglen |= (int(b) & 0x7F) << shift
  6218  				if b < 0x80 {
  6219  					break
  6220  				}
  6221  			}
  6222  			if msglen < 0 {
  6223  				return ErrInvalidLengthData
  6224  			}
  6225  			postIndex := iNdEx + msglen
  6226  			if postIndex > l {
  6227  				return io.ErrUnexpectedEOF
  6228  			}
  6229  			if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6230  				return err
  6231  			}
  6232  			iNdEx = postIndex
  6233  		case 3:
  6234  			if wireType != 0 {
  6235  				return fmt.Errorf("proto: wrong wireType = %d for field Durability", wireType)
  6236  			}
  6237  			m.Durability = 0
  6238  			for shift := uint(0); ; shift += 7 {
  6239  				if shift >= 64 {
  6240  					return ErrIntOverflowData
  6241  				}
  6242  				if iNdEx >= l {
  6243  					return io.ErrUnexpectedEOF
  6244  				}
  6245  				b := dAtA[iNdEx]
  6246  				iNdEx++
  6247  				m.Durability |= (lock.Durability(b) & 0x7F) << shift
  6248  				if b < 0x80 {
  6249  					break
  6250  				}
  6251  			}
  6252  		default:
  6253  			iNdEx = preIndex
  6254  			skippy, err := skipData(dAtA[iNdEx:])
  6255  			if err != nil {
  6256  				return err
  6257  			}
  6258  			if skippy < 0 {
  6259  				return ErrInvalidLengthData
  6260  			}
  6261  			if (iNdEx + skippy) > l {
  6262  				return io.ErrUnexpectedEOF
  6263  			}
  6264  			iNdEx += skippy
  6265  		}
  6266  	}
  6267  
  6268  	if iNdEx > l {
  6269  		return io.ErrUnexpectedEOF
  6270  	}
  6271  	return nil
  6272  }
  6273  func (m *LockUpdate) Unmarshal(dAtA []byte) error {
  6274  	l := len(dAtA)
  6275  	iNdEx := 0
  6276  	for iNdEx < l {
  6277  		preIndex := iNdEx
  6278  		var wire uint64
  6279  		for shift := uint(0); ; shift += 7 {
  6280  			if shift >= 64 {
  6281  				return ErrIntOverflowData
  6282  			}
  6283  			if iNdEx >= l {
  6284  				return io.ErrUnexpectedEOF
  6285  			}
  6286  			b := dAtA[iNdEx]
  6287  			iNdEx++
  6288  			wire |= (uint64(b) & 0x7F) << shift
  6289  			if b < 0x80 {
  6290  				break
  6291  			}
  6292  		}
  6293  		fieldNum := int32(wire >> 3)
  6294  		wireType := int(wire & 0x7)
  6295  		if wireType == 4 {
  6296  			return fmt.Errorf("proto: LockUpdate: wiretype end group for non-group")
  6297  		}
  6298  		if fieldNum <= 0 {
  6299  			return fmt.Errorf("proto: LockUpdate: illegal tag %d (wire type %d)", fieldNum, wire)
  6300  		}
  6301  		switch fieldNum {
  6302  		case 1:
  6303  			if wireType != 2 {
  6304  				return fmt.Errorf("proto: wrong wireType = %d for field Span", wireType)
  6305  			}
  6306  			var msglen int
  6307  			for shift := uint(0); ; shift += 7 {
  6308  				if shift >= 64 {
  6309  					return ErrIntOverflowData
  6310  				}
  6311  				if iNdEx >= l {
  6312  					return io.ErrUnexpectedEOF
  6313  				}
  6314  				b := dAtA[iNdEx]
  6315  				iNdEx++
  6316  				msglen |= (int(b) & 0x7F) << shift
  6317  				if b < 0x80 {
  6318  					break
  6319  				}
  6320  			}
  6321  			if msglen < 0 {
  6322  				return ErrInvalidLengthData
  6323  			}
  6324  			postIndex := iNdEx + msglen
  6325  			if postIndex > l {
  6326  				return io.ErrUnexpectedEOF
  6327  			}
  6328  			if err := m.Span.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6329  				return err
  6330  			}
  6331  			iNdEx = postIndex
  6332  		case 2:
  6333  			if wireType != 2 {
  6334  				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
  6335  			}
  6336  			var msglen int
  6337  			for shift := uint(0); ; shift += 7 {
  6338  				if shift >= 64 {
  6339  					return ErrIntOverflowData
  6340  				}
  6341  				if iNdEx >= l {
  6342  					return io.ErrUnexpectedEOF
  6343  				}
  6344  				b := dAtA[iNdEx]
  6345  				iNdEx++
  6346  				msglen |= (int(b) & 0x7F) << shift
  6347  				if b < 0x80 {
  6348  					break
  6349  				}
  6350  			}
  6351  			if msglen < 0 {
  6352  				return ErrInvalidLengthData
  6353  			}
  6354  			postIndex := iNdEx + msglen
  6355  			if postIndex > l {
  6356  				return io.ErrUnexpectedEOF
  6357  			}
  6358  			if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6359  				return err
  6360  			}
  6361  			iNdEx = postIndex
  6362  		case 3:
  6363  			if wireType != 0 {
  6364  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  6365  			}
  6366  			m.Status = 0
  6367  			for shift := uint(0); ; shift += 7 {
  6368  				if shift >= 64 {
  6369  					return ErrIntOverflowData
  6370  				}
  6371  				if iNdEx >= l {
  6372  					return io.ErrUnexpectedEOF
  6373  				}
  6374  				b := dAtA[iNdEx]
  6375  				iNdEx++
  6376  				m.Status |= (TransactionStatus(b) & 0x7F) << shift
  6377  				if b < 0x80 {
  6378  					break
  6379  				}
  6380  			}
  6381  		case 4:
  6382  			if wireType != 2 {
  6383  				return fmt.Errorf("proto: wrong wireType = %d for field IgnoredSeqNums", wireType)
  6384  			}
  6385  			var msglen int
  6386  			for shift := uint(0); ; shift += 7 {
  6387  				if shift >= 64 {
  6388  					return ErrIntOverflowData
  6389  				}
  6390  				if iNdEx >= l {
  6391  					return io.ErrUnexpectedEOF
  6392  				}
  6393  				b := dAtA[iNdEx]
  6394  				iNdEx++
  6395  				msglen |= (int(b) & 0x7F) << shift
  6396  				if b < 0x80 {
  6397  					break
  6398  				}
  6399  			}
  6400  			if msglen < 0 {
  6401  				return ErrInvalidLengthData
  6402  			}
  6403  			postIndex := iNdEx + msglen
  6404  			if postIndex > l {
  6405  				return io.ErrUnexpectedEOF
  6406  			}
  6407  			m.IgnoredSeqNums = append(m.IgnoredSeqNums, enginepb.IgnoredSeqNumRange{})
  6408  			if err := m.IgnoredSeqNums[len(m.IgnoredSeqNums)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6409  				return err
  6410  			}
  6411  			iNdEx = postIndex
  6412  		default:
  6413  			iNdEx = preIndex
  6414  			skippy, err := skipData(dAtA[iNdEx:])
  6415  			if err != nil {
  6416  				return err
  6417  			}
  6418  			if skippy < 0 {
  6419  				return ErrInvalidLengthData
  6420  			}
  6421  			if (iNdEx + skippy) > l {
  6422  				return io.ErrUnexpectedEOF
  6423  			}
  6424  			iNdEx += skippy
  6425  		}
  6426  	}
  6427  
  6428  	if iNdEx > l {
  6429  		return io.ErrUnexpectedEOF
  6430  	}
  6431  	return nil
  6432  }
  6433  func (m *SequencedWrite) Unmarshal(dAtA []byte) error {
  6434  	l := len(dAtA)
  6435  	iNdEx := 0
  6436  	for iNdEx < l {
  6437  		preIndex := iNdEx
  6438  		var wire uint64
  6439  		for shift := uint(0); ; shift += 7 {
  6440  			if shift >= 64 {
  6441  				return ErrIntOverflowData
  6442  			}
  6443  			if iNdEx >= l {
  6444  				return io.ErrUnexpectedEOF
  6445  			}
  6446  			b := dAtA[iNdEx]
  6447  			iNdEx++
  6448  			wire |= (uint64(b) & 0x7F) << shift
  6449  			if b < 0x80 {
  6450  				break
  6451  			}
  6452  		}
  6453  		fieldNum := int32(wire >> 3)
  6454  		wireType := int(wire & 0x7)
  6455  		if wireType == 4 {
  6456  			return fmt.Errorf("proto: SequencedWrite: wiretype end group for non-group")
  6457  		}
  6458  		if fieldNum <= 0 {
  6459  			return fmt.Errorf("proto: SequencedWrite: illegal tag %d (wire type %d)", fieldNum, wire)
  6460  		}
  6461  		switch fieldNum {
  6462  		case 1:
  6463  			if wireType != 2 {
  6464  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  6465  			}
  6466  			var byteLen int
  6467  			for shift := uint(0); ; shift += 7 {
  6468  				if shift >= 64 {
  6469  					return ErrIntOverflowData
  6470  				}
  6471  				if iNdEx >= l {
  6472  					return io.ErrUnexpectedEOF
  6473  				}
  6474  				b := dAtA[iNdEx]
  6475  				iNdEx++
  6476  				byteLen |= (int(b) & 0x7F) << shift
  6477  				if b < 0x80 {
  6478  					break
  6479  				}
  6480  			}
  6481  			if byteLen < 0 {
  6482  				return ErrInvalidLengthData
  6483  			}
  6484  			postIndex := iNdEx + byteLen
  6485  			if postIndex > l {
  6486  				return io.ErrUnexpectedEOF
  6487  			}
  6488  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  6489  			if m.Key == nil {
  6490  				m.Key = []byte{}
  6491  			}
  6492  			iNdEx = postIndex
  6493  		case 2:
  6494  			if wireType != 0 {
  6495  				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
  6496  			}
  6497  			m.Sequence = 0
  6498  			for shift := uint(0); ; shift += 7 {
  6499  				if shift >= 64 {
  6500  					return ErrIntOverflowData
  6501  				}
  6502  				if iNdEx >= l {
  6503  					return io.ErrUnexpectedEOF
  6504  				}
  6505  				b := dAtA[iNdEx]
  6506  				iNdEx++
  6507  				m.Sequence |= (github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnSeq(b) & 0x7F) << shift
  6508  				if b < 0x80 {
  6509  					break
  6510  				}
  6511  			}
  6512  		default:
  6513  			iNdEx = preIndex
  6514  			skippy, err := skipData(dAtA[iNdEx:])
  6515  			if err != nil {
  6516  				return err
  6517  			}
  6518  			if skippy < 0 {
  6519  				return ErrInvalidLengthData
  6520  			}
  6521  			if (iNdEx + skippy) > l {
  6522  				return io.ErrUnexpectedEOF
  6523  			}
  6524  			iNdEx += skippy
  6525  		}
  6526  	}
  6527  
  6528  	if iNdEx > l {
  6529  		return io.ErrUnexpectedEOF
  6530  	}
  6531  	return nil
  6532  }
  6533  func (m *Lease) Unmarshal(dAtA []byte) error {
  6534  	l := len(dAtA)
  6535  	iNdEx := 0
  6536  	for iNdEx < l {
  6537  		preIndex := iNdEx
  6538  		var wire uint64
  6539  		for shift := uint(0); ; shift += 7 {
  6540  			if shift >= 64 {
  6541  				return ErrIntOverflowData
  6542  			}
  6543  			if iNdEx >= l {
  6544  				return io.ErrUnexpectedEOF
  6545  			}
  6546  			b := dAtA[iNdEx]
  6547  			iNdEx++
  6548  			wire |= (uint64(b) & 0x7F) << shift
  6549  			if b < 0x80 {
  6550  				break
  6551  			}
  6552  		}
  6553  		fieldNum := int32(wire >> 3)
  6554  		wireType := int(wire & 0x7)
  6555  		if wireType == 4 {
  6556  			return fmt.Errorf("proto: Lease: wiretype end group for non-group")
  6557  		}
  6558  		if fieldNum <= 0 {
  6559  			return fmt.Errorf("proto: Lease: illegal tag %d (wire type %d)", fieldNum, wire)
  6560  		}
  6561  		switch fieldNum {
  6562  		case 1:
  6563  			if wireType != 2 {
  6564  				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
  6565  			}
  6566  			var msglen int
  6567  			for shift := uint(0); ; shift += 7 {
  6568  				if shift >= 64 {
  6569  					return ErrIntOverflowData
  6570  				}
  6571  				if iNdEx >= l {
  6572  					return io.ErrUnexpectedEOF
  6573  				}
  6574  				b := dAtA[iNdEx]
  6575  				iNdEx++
  6576  				msglen |= (int(b) & 0x7F) << shift
  6577  				if b < 0x80 {
  6578  					break
  6579  				}
  6580  			}
  6581  			if msglen < 0 {
  6582  				return ErrInvalidLengthData
  6583  			}
  6584  			postIndex := iNdEx + msglen
  6585  			if postIndex > l {
  6586  				return io.ErrUnexpectedEOF
  6587  			}
  6588  			if err := m.Start.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6589  				return err
  6590  			}
  6591  			iNdEx = postIndex
  6592  		case 2:
  6593  			if wireType != 2 {
  6594  				return fmt.Errorf("proto: wrong wireType = %d for field Expiration", wireType)
  6595  			}
  6596  			var msglen int
  6597  			for shift := uint(0); ; shift += 7 {
  6598  				if shift >= 64 {
  6599  					return ErrIntOverflowData
  6600  				}
  6601  				if iNdEx >= l {
  6602  					return io.ErrUnexpectedEOF
  6603  				}
  6604  				b := dAtA[iNdEx]
  6605  				iNdEx++
  6606  				msglen |= (int(b) & 0x7F) << shift
  6607  				if b < 0x80 {
  6608  					break
  6609  				}
  6610  			}
  6611  			if msglen < 0 {
  6612  				return ErrInvalidLengthData
  6613  			}
  6614  			postIndex := iNdEx + msglen
  6615  			if postIndex > l {
  6616  				return io.ErrUnexpectedEOF
  6617  			}
  6618  			if m.Expiration == nil {
  6619  				m.Expiration = &hlc.Timestamp{}
  6620  			}
  6621  			if err := m.Expiration.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6622  				return err
  6623  			}
  6624  			iNdEx = postIndex
  6625  		case 3:
  6626  			if wireType != 2 {
  6627  				return fmt.Errorf("proto: wrong wireType = %d for field Replica", wireType)
  6628  			}
  6629  			var msglen int
  6630  			for shift := uint(0); ; shift += 7 {
  6631  				if shift >= 64 {
  6632  					return ErrIntOverflowData
  6633  				}
  6634  				if iNdEx >= l {
  6635  					return io.ErrUnexpectedEOF
  6636  				}
  6637  				b := dAtA[iNdEx]
  6638  				iNdEx++
  6639  				msglen |= (int(b) & 0x7F) << shift
  6640  				if b < 0x80 {
  6641  					break
  6642  				}
  6643  			}
  6644  			if msglen < 0 {
  6645  				return ErrInvalidLengthData
  6646  			}
  6647  			postIndex := iNdEx + msglen
  6648  			if postIndex > l {
  6649  				return io.ErrUnexpectedEOF
  6650  			}
  6651  			if err := m.Replica.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6652  				return err
  6653  			}
  6654  			iNdEx = postIndex
  6655  		case 4:
  6656  			if wireType != 2 {
  6657  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedStartStasis", wireType)
  6658  			}
  6659  			var msglen int
  6660  			for shift := uint(0); ; shift += 7 {
  6661  				if shift >= 64 {
  6662  					return ErrIntOverflowData
  6663  				}
  6664  				if iNdEx >= l {
  6665  					return io.ErrUnexpectedEOF
  6666  				}
  6667  				b := dAtA[iNdEx]
  6668  				iNdEx++
  6669  				msglen |= (int(b) & 0x7F) << shift
  6670  				if b < 0x80 {
  6671  					break
  6672  				}
  6673  			}
  6674  			if msglen < 0 {
  6675  				return ErrInvalidLengthData
  6676  			}
  6677  			postIndex := iNdEx + msglen
  6678  			if postIndex > l {
  6679  				return io.ErrUnexpectedEOF
  6680  			}
  6681  			if m.DeprecatedStartStasis == nil {
  6682  				m.DeprecatedStartStasis = &hlc.Timestamp{}
  6683  			}
  6684  			if err := m.DeprecatedStartStasis.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6685  				return err
  6686  			}
  6687  			iNdEx = postIndex
  6688  		case 5:
  6689  			if wireType != 2 {
  6690  				return fmt.Errorf("proto: wrong wireType = %d for field ProposedTS", wireType)
  6691  			}
  6692  			var msglen int
  6693  			for shift := uint(0); ; shift += 7 {
  6694  				if shift >= 64 {
  6695  					return ErrIntOverflowData
  6696  				}
  6697  				if iNdEx >= l {
  6698  					return io.ErrUnexpectedEOF
  6699  				}
  6700  				b := dAtA[iNdEx]
  6701  				iNdEx++
  6702  				msglen |= (int(b) & 0x7F) << shift
  6703  				if b < 0x80 {
  6704  					break
  6705  				}
  6706  			}
  6707  			if msglen < 0 {
  6708  				return ErrInvalidLengthData
  6709  			}
  6710  			postIndex := iNdEx + msglen
  6711  			if postIndex > l {
  6712  				return io.ErrUnexpectedEOF
  6713  			}
  6714  			if m.ProposedTS == nil {
  6715  				m.ProposedTS = &hlc.Timestamp{}
  6716  			}
  6717  			if err := m.ProposedTS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6718  				return err
  6719  			}
  6720  			iNdEx = postIndex
  6721  		case 6:
  6722  			if wireType != 0 {
  6723  				return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType)
  6724  			}
  6725  			m.Epoch = 0
  6726  			for shift := uint(0); ; shift += 7 {
  6727  				if shift >= 64 {
  6728  					return ErrIntOverflowData
  6729  				}
  6730  				if iNdEx >= l {
  6731  					return io.ErrUnexpectedEOF
  6732  				}
  6733  				b := dAtA[iNdEx]
  6734  				iNdEx++
  6735  				m.Epoch |= (int64(b) & 0x7F) << shift
  6736  				if b < 0x80 {
  6737  					break
  6738  				}
  6739  			}
  6740  		case 7:
  6741  			if wireType != 0 {
  6742  				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
  6743  			}
  6744  			m.Sequence = 0
  6745  			for shift := uint(0); ; shift += 7 {
  6746  				if shift >= 64 {
  6747  					return ErrIntOverflowData
  6748  				}
  6749  				if iNdEx >= l {
  6750  					return io.ErrUnexpectedEOF
  6751  				}
  6752  				b := dAtA[iNdEx]
  6753  				iNdEx++
  6754  				m.Sequence |= (LeaseSequence(b) & 0x7F) << shift
  6755  				if b < 0x80 {
  6756  					break
  6757  				}
  6758  			}
  6759  		default:
  6760  			iNdEx = preIndex
  6761  			skippy, err := skipData(dAtA[iNdEx:])
  6762  			if err != nil {
  6763  				return err
  6764  			}
  6765  			if skippy < 0 {
  6766  				return ErrInvalidLengthData
  6767  			}
  6768  			if (iNdEx + skippy) > l {
  6769  				return io.ErrUnexpectedEOF
  6770  			}
  6771  			iNdEx += skippy
  6772  		}
  6773  	}
  6774  
  6775  	if iNdEx > l {
  6776  		return io.ErrUnexpectedEOF
  6777  	}
  6778  	return nil
  6779  }
  6780  func (m *AbortSpanEntry) Unmarshal(dAtA []byte) error {
  6781  	l := len(dAtA)
  6782  	iNdEx := 0
  6783  	for iNdEx < l {
  6784  		preIndex := iNdEx
  6785  		var wire uint64
  6786  		for shift := uint(0); ; shift += 7 {
  6787  			if shift >= 64 {
  6788  				return ErrIntOverflowData
  6789  			}
  6790  			if iNdEx >= l {
  6791  				return io.ErrUnexpectedEOF
  6792  			}
  6793  			b := dAtA[iNdEx]
  6794  			iNdEx++
  6795  			wire |= (uint64(b) & 0x7F) << shift
  6796  			if b < 0x80 {
  6797  				break
  6798  			}
  6799  		}
  6800  		fieldNum := int32(wire >> 3)
  6801  		wireType := int(wire & 0x7)
  6802  		if wireType == 4 {
  6803  			return fmt.Errorf("proto: AbortSpanEntry: wiretype end group for non-group")
  6804  		}
  6805  		if fieldNum <= 0 {
  6806  			return fmt.Errorf("proto: AbortSpanEntry: illegal tag %d (wire type %d)", fieldNum, wire)
  6807  		}
  6808  		switch fieldNum {
  6809  		case 1:
  6810  			if wireType != 2 {
  6811  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  6812  			}
  6813  			var byteLen int
  6814  			for shift := uint(0); ; shift += 7 {
  6815  				if shift >= 64 {
  6816  					return ErrIntOverflowData
  6817  				}
  6818  				if iNdEx >= l {
  6819  					return io.ErrUnexpectedEOF
  6820  				}
  6821  				b := dAtA[iNdEx]
  6822  				iNdEx++
  6823  				byteLen |= (int(b) & 0x7F) << shift
  6824  				if b < 0x80 {
  6825  					break
  6826  				}
  6827  			}
  6828  			if byteLen < 0 {
  6829  				return ErrInvalidLengthData
  6830  			}
  6831  			postIndex := iNdEx + byteLen
  6832  			if postIndex > l {
  6833  				return io.ErrUnexpectedEOF
  6834  			}
  6835  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  6836  			if m.Key == nil {
  6837  				m.Key = []byte{}
  6838  			}
  6839  			iNdEx = postIndex
  6840  		case 2:
  6841  			if wireType != 2 {
  6842  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  6843  			}
  6844  			var msglen int
  6845  			for shift := uint(0); ; shift += 7 {
  6846  				if shift >= 64 {
  6847  					return ErrIntOverflowData
  6848  				}
  6849  				if iNdEx >= l {
  6850  					return io.ErrUnexpectedEOF
  6851  				}
  6852  				b := dAtA[iNdEx]
  6853  				iNdEx++
  6854  				msglen |= (int(b) & 0x7F) << shift
  6855  				if b < 0x80 {
  6856  					break
  6857  				}
  6858  			}
  6859  			if msglen < 0 {
  6860  				return ErrInvalidLengthData
  6861  			}
  6862  			postIndex := iNdEx + msglen
  6863  			if postIndex > l {
  6864  				return io.ErrUnexpectedEOF
  6865  			}
  6866  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6867  				return err
  6868  			}
  6869  			iNdEx = postIndex
  6870  		case 3:
  6871  			if wireType != 0 {
  6872  				return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType)
  6873  			}
  6874  			m.Priority = 0
  6875  			for shift := uint(0); ; shift += 7 {
  6876  				if shift >= 64 {
  6877  					return ErrIntOverflowData
  6878  				}
  6879  				if iNdEx >= l {
  6880  					return io.ErrUnexpectedEOF
  6881  				}
  6882  				b := dAtA[iNdEx]
  6883  				iNdEx++
  6884  				m.Priority |= (github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnPriority(b) & 0x7F) << shift
  6885  				if b < 0x80 {
  6886  					break
  6887  				}
  6888  			}
  6889  		default:
  6890  			iNdEx = preIndex
  6891  			skippy, err := skipData(dAtA[iNdEx:])
  6892  			if err != nil {
  6893  				return err
  6894  			}
  6895  			if skippy < 0 {
  6896  				return ErrInvalidLengthData
  6897  			}
  6898  			if (iNdEx + skippy) > l {
  6899  				return io.ErrUnexpectedEOF
  6900  			}
  6901  			iNdEx += skippy
  6902  		}
  6903  	}
  6904  
  6905  	if iNdEx > l {
  6906  		return io.ErrUnexpectedEOF
  6907  	}
  6908  	return nil
  6909  }
  6910  func (m *LeafTxnInputState) Unmarshal(dAtA []byte) error {
  6911  	l := len(dAtA)
  6912  	iNdEx := 0
  6913  	for iNdEx < l {
  6914  		preIndex := iNdEx
  6915  		var wire uint64
  6916  		for shift := uint(0); ; shift += 7 {
  6917  			if shift >= 64 {
  6918  				return ErrIntOverflowData
  6919  			}
  6920  			if iNdEx >= l {
  6921  				return io.ErrUnexpectedEOF
  6922  			}
  6923  			b := dAtA[iNdEx]
  6924  			iNdEx++
  6925  			wire |= (uint64(b) & 0x7F) << shift
  6926  			if b < 0x80 {
  6927  				break
  6928  			}
  6929  		}
  6930  		fieldNum := int32(wire >> 3)
  6931  		wireType := int(wire & 0x7)
  6932  		if wireType == 4 {
  6933  			return fmt.Errorf("proto: LeafTxnInputState: wiretype end group for non-group")
  6934  		}
  6935  		if fieldNum <= 0 {
  6936  			return fmt.Errorf("proto: LeafTxnInputState: illegal tag %d (wire type %d)", fieldNum, wire)
  6937  		}
  6938  		switch fieldNum {
  6939  		case 1:
  6940  			if wireType != 2 {
  6941  				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
  6942  			}
  6943  			var msglen int
  6944  			for shift := uint(0); ; shift += 7 {
  6945  				if shift >= 64 {
  6946  					return ErrIntOverflowData
  6947  				}
  6948  				if iNdEx >= l {
  6949  					return io.ErrUnexpectedEOF
  6950  				}
  6951  				b := dAtA[iNdEx]
  6952  				iNdEx++
  6953  				msglen |= (int(b) & 0x7F) << shift
  6954  				if b < 0x80 {
  6955  					break
  6956  				}
  6957  			}
  6958  			if msglen < 0 {
  6959  				return ErrInvalidLengthData
  6960  			}
  6961  			postIndex := iNdEx + msglen
  6962  			if postIndex > l {
  6963  				return io.ErrUnexpectedEOF
  6964  			}
  6965  			if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6966  				return err
  6967  			}
  6968  			iNdEx = postIndex
  6969  		case 7:
  6970  			if wireType != 0 {
  6971  				return fmt.Errorf("proto: wrong wireType = %d for field RefreshInvalid", wireType)
  6972  			}
  6973  			var v int
  6974  			for shift := uint(0); ; shift += 7 {
  6975  				if shift >= 64 {
  6976  					return ErrIntOverflowData
  6977  				}
  6978  				if iNdEx >= l {
  6979  					return io.ErrUnexpectedEOF
  6980  				}
  6981  				b := dAtA[iNdEx]
  6982  				iNdEx++
  6983  				v |= (int(b) & 0x7F) << shift
  6984  				if b < 0x80 {
  6985  					break
  6986  				}
  6987  			}
  6988  			m.RefreshInvalid = bool(v != 0)
  6989  		case 8:
  6990  			if wireType != 2 {
  6991  				return fmt.Errorf("proto: wrong wireType = %d for field InFlightWrites", wireType)
  6992  			}
  6993  			var msglen int
  6994  			for shift := uint(0); ; shift += 7 {
  6995  				if shift >= 64 {
  6996  					return ErrIntOverflowData
  6997  				}
  6998  				if iNdEx >= l {
  6999  					return io.ErrUnexpectedEOF
  7000  				}
  7001  				b := dAtA[iNdEx]
  7002  				iNdEx++
  7003  				msglen |= (int(b) & 0x7F) << shift
  7004  				if b < 0x80 {
  7005  					break
  7006  				}
  7007  			}
  7008  			if msglen < 0 {
  7009  				return ErrInvalidLengthData
  7010  			}
  7011  			postIndex := iNdEx + msglen
  7012  			if postIndex > l {
  7013  				return io.ErrUnexpectedEOF
  7014  			}
  7015  			m.InFlightWrites = append(m.InFlightWrites, SequencedWrite{})
  7016  			if err := m.InFlightWrites[len(m.InFlightWrites)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7017  				return err
  7018  			}
  7019  			iNdEx = postIndex
  7020  		case 9:
  7021  			if wireType != 0 {
  7022  				return fmt.Errorf("proto: wrong wireType = %d for field SteppingModeEnabled", wireType)
  7023  			}
  7024  			var v int
  7025  			for shift := uint(0); ; shift += 7 {
  7026  				if shift >= 64 {
  7027  					return ErrIntOverflowData
  7028  				}
  7029  				if iNdEx >= l {
  7030  					return io.ErrUnexpectedEOF
  7031  				}
  7032  				b := dAtA[iNdEx]
  7033  				iNdEx++
  7034  				v |= (int(b) & 0x7F) << shift
  7035  				if b < 0x80 {
  7036  					break
  7037  				}
  7038  			}
  7039  			m.SteppingModeEnabled = bool(v != 0)
  7040  		case 10:
  7041  			if wireType != 0 {
  7042  				return fmt.Errorf("proto: wrong wireType = %d for field ReadSeqNum", wireType)
  7043  			}
  7044  			m.ReadSeqNum = 0
  7045  			for shift := uint(0); ; shift += 7 {
  7046  				if shift >= 64 {
  7047  					return ErrIntOverflowData
  7048  				}
  7049  				if iNdEx >= l {
  7050  					return io.ErrUnexpectedEOF
  7051  				}
  7052  				b := dAtA[iNdEx]
  7053  				iNdEx++
  7054  				m.ReadSeqNum |= (github_com_cockroachdb_cockroach_pkg_storage_enginepb.TxnSeq(b) & 0x7F) << shift
  7055  				if b < 0x80 {
  7056  					break
  7057  				}
  7058  			}
  7059  		default:
  7060  			iNdEx = preIndex
  7061  			skippy, err := skipData(dAtA[iNdEx:])
  7062  			if err != nil {
  7063  				return err
  7064  			}
  7065  			if skippy < 0 {
  7066  				return ErrInvalidLengthData
  7067  			}
  7068  			if (iNdEx + skippy) > l {
  7069  				return io.ErrUnexpectedEOF
  7070  			}
  7071  			iNdEx += skippy
  7072  		}
  7073  	}
  7074  
  7075  	if iNdEx > l {
  7076  		return io.ErrUnexpectedEOF
  7077  	}
  7078  	return nil
  7079  }
  7080  func (m *LeafTxnFinalState) Unmarshal(dAtA []byte) error {
  7081  	l := len(dAtA)
  7082  	iNdEx := 0
  7083  	for iNdEx < l {
  7084  		preIndex := iNdEx
  7085  		var wire uint64
  7086  		for shift := uint(0); ; shift += 7 {
  7087  			if shift >= 64 {
  7088  				return ErrIntOverflowData
  7089  			}
  7090  			if iNdEx >= l {
  7091  				return io.ErrUnexpectedEOF
  7092  			}
  7093  			b := dAtA[iNdEx]
  7094  			iNdEx++
  7095  			wire |= (uint64(b) & 0x7F) << shift
  7096  			if b < 0x80 {
  7097  				break
  7098  			}
  7099  		}
  7100  		fieldNum := int32(wire >> 3)
  7101  		wireType := int(wire & 0x7)
  7102  		if wireType == 4 {
  7103  			return fmt.Errorf("proto: LeafTxnFinalState: wiretype end group for non-group")
  7104  		}
  7105  		if fieldNum <= 0 {
  7106  			return fmt.Errorf("proto: LeafTxnFinalState: illegal tag %d (wire type %d)", fieldNum, wire)
  7107  		}
  7108  		switch fieldNum {
  7109  		case 1:
  7110  			if wireType != 2 {
  7111  				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
  7112  			}
  7113  			var msglen int
  7114  			for shift := uint(0); ; shift += 7 {
  7115  				if shift >= 64 {
  7116  					return ErrIntOverflowData
  7117  				}
  7118  				if iNdEx >= l {
  7119  					return io.ErrUnexpectedEOF
  7120  				}
  7121  				b := dAtA[iNdEx]
  7122  				iNdEx++
  7123  				msglen |= (int(b) & 0x7F) << shift
  7124  				if b < 0x80 {
  7125  					break
  7126  				}
  7127  			}
  7128  			if msglen < 0 {
  7129  				return ErrInvalidLengthData
  7130  			}
  7131  			postIndex := iNdEx + msglen
  7132  			if postIndex > l {
  7133  				return io.ErrUnexpectedEOF
  7134  			}
  7135  			if err := m.Txn.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7136  				return err
  7137  			}
  7138  			iNdEx = postIndex
  7139  		case 3:
  7140  			if wireType != 0 {
  7141  				return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedCommandCount", wireType)
  7142  			}
  7143  			m.DeprecatedCommandCount = 0
  7144  			for shift := uint(0); ; shift += 7 {
  7145  				if shift >= 64 {
  7146  					return ErrIntOverflowData
  7147  				}
  7148  				if iNdEx >= l {
  7149  					return io.ErrUnexpectedEOF
  7150  				}
  7151  				b := dAtA[iNdEx]
  7152  				iNdEx++
  7153  				m.DeprecatedCommandCount |= (int32(b) & 0x7F) << shift
  7154  				if b < 0x80 {
  7155  					break
  7156  				}
  7157  			}
  7158  		case 4:
  7159  			if wireType != 2 {
  7160  				return fmt.Errorf("proto: wrong wireType = %d for field RefreshSpans", wireType)
  7161  			}
  7162  			var msglen int
  7163  			for shift := uint(0); ; shift += 7 {
  7164  				if shift >= 64 {
  7165  					return ErrIntOverflowData
  7166  				}
  7167  				if iNdEx >= l {
  7168  					return io.ErrUnexpectedEOF
  7169  				}
  7170  				b := dAtA[iNdEx]
  7171  				iNdEx++
  7172  				msglen |= (int(b) & 0x7F) << shift
  7173  				if b < 0x80 {
  7174  					break
  7175  				}
  7176  			}
  7177  			if msglen < 0 {
  7178  				return ErrInvalidLengthData
  7179  			}
  7180  			postIndex := iNdEx + msglen
  7181  			if postIndex > l {
  7182  				return io.ErrUnexpectedEOF
  7183  			}
  7184  			m.RefreshSpans = append(m.RefreshSpans, Span{})
  7185  			if err := m.RefreshSpans[len(m.RefreshSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7186  				return err
  7187  			}
  7188  			iNdEx = postIndex
  7189  		case 7:
  7190  			if wireType != 0 {
  7191  				return fmt.Errorf("proto: wrong wireType = %d for field RefreshInvalid", wireType)
  7192  			}
  7193  			var v int
  7194  			for shift := uint(0); ; shift += 7 {
  7195  				if shift >= 64 {
  7196  					return ErrIntOverflowData
  7197  				}
  7198  				if iNdEx >= l {
  7199  					return io.ErrUnexpectedEOF
  7200  				}
  7201  				b := dAtA[iNdEx]
  7202  				iNdEx++
  7203  				v |= (int(b) & 0x7F) << shift
  7204  				if b < 0x80 {
  7205  					break
  7206  				}
  7207  			}
  7208  			m.RefreshInvalid = bool(v != 0)
  7209  		default:
  7210  			iNdEx = preIndex
  7211  			skippy, err := skipData(dAtA[iNdEx:])
  7212  			if err != nil {
  7213  				return err
  7214  			}
  7215  			if skippy < 0 {
  7216  				return ErrInvalidLengthData
  7217  			}
  7218  			if (iNdEx + skippy) > l {
  7219  				return io.ErrUnexpectedEOF
  7220  			}
  7221  			iNdEx += skippy
  7222  		}
  7223  	}
  7224  
  7225  	if iNdEx > l {
  7226  		return io.ErrUnexpectedEOF
  7227  	}
  7228  	return nil
  7229  }
  7230  func skipData(dAtA []byte) (n int, err error) {
  7231  	l := len(dAtA)
  7232  	iNdEx := 0
  7233  	for iNdEx < l {
  7234  		var wire uint64
  7235  		for shift := uint(0); ; shift += 7 {
  7236  			if shift >= 64 {
  7237  				return 0, ErrIntOverflowData
  7238  			}
  7239  			if iNdEx >= l {
  7240  				return 0, io.ErrUnexpectedEOF
  7241  			}
  7242  			b := dAtA[iNdEx]
  7243  			iNdEx++
  7244  			wire |= (uint64(b) & 0x7F) << shift
  7245  			if b < 0x80 {
  7246  				break
  7247  			}
  7248  		}
  7249  		wireType := int(wire & 0x7)
  7250  		switch wireType {
  7251  		case 0:
  7252  			for shift := uint(0); ; shift += 7 {
  7253  				if shift >= 64 {
  7254  					return 0, ErrIntOverflowData
  7255  				}
  7256  				if iNdEx >= l {
  7257  					return 0, io.ErrUnexpectedEOF
  7258  				}
  7259  				iNdEx++
  7260  				if dAtA[iNdEx-1] < 0x80 {
  7261  					break
  7262  				}
  7263  			}
  7264  			return iNdEx, nil
  7265  		case 1:
  7266  			iNdEx += 8
  7267  			return iNdEx, nil
  7268  		case 2:
  7269  			var length int
  7270  			for shift := uint(0); ; shift += 7 {
  7271  				if shift >= 64 {
  7272  					return 0, ErrIntOverflowData
  7273  				}
  7274  				if iNdEx >= l {
  7275  					return 0, io.ErrUnexpectedEOF
  7276  				}
  7277  				b := dAtA[iNdEx]
  7278  				iNdEx++
  7279  				length |= (int(b) & 0x7F) << shift
  7280  				if b < 0x80 {
  7281  					break
  7282  				}
  7283  			}
  7284  			iNdEx += length
  7285  			if length < 0 {
  7286  				return 0, ErrInvalidLengthData
  7287  			}
  7288  			return iNdEx, nil
  7289  		case 3:
  7290  			for {
  7291  				var innerWire uint64
  7292  				var start int = iNdEx
  7293  				for shift := uint(0); ; shift += 7 {
  7294  					if shift >= 64 {
  7295  						return 0, ErrIntOverflowData
  7296  					}
  7297  					if iNdEx >= l {
  7298  						return 0, io.ErrUnexpectedEOF
  7299  					}
  7300  					b := dAtA[iNdEx]
  7301  					iNdEx++
  7302  					innerWire |= (uint64(b) & 0x7F) << shift
  7303  					if b < 0x80 {
  7304  						break
  7305  					}
  7306  				}
  7307  				innerWireType := int(innerWire & 0x7)
  7308  				if innerWireType == 4 {
  7309  					break
  7310  				}
  7311  				next, err := skipData(dAtA[start:])
  7312  				if err != nil {
  7313  					return 0, err
  7314  				}
  7315  				iNdEx = start + next
  7316  			}
  7317  			return iNdEx, nil
  7318  		case 4:
  7319  			return iNdEx, nil
  7320  		case 5:
  7321  			iNdEx += 4
  7322  			return iNdEx, nil
  7323  		default:
  7324  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  7325  		}
  7326  	}
  7327  	panic("unreachable")
  7328  }
  7329  
  7330  var (
  7331  	ErrInvalidLengthData = fmt.Errorf("proto: negative length found during unmarshaling")
  7332  	ErrIntOverflowData   = fmt.Errorf("proto: integer overflow")
  7333  )
  7334  
  7335  func init() { proto.RegisterFile("roachpb/data.proto", fileDescriptor_data_171f939460d16c96) }
  7336  
  7337  var fileDescriptor_data_171f939460d16c96 = []byte{
  7338  	// 2371 bytes of a gzipped FileDescriptorProto
  7339  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x73, 0x1b, 0x49,
  7340  	0xf5, 0xf7, 0x58, 0x23, 0x69, 0xf4, 0xf4, 0xc3, 0xe3, 0x4e, 0x9c, 0x68, 0xbd, 0xdf, 0xaf, 0x15,
  7341  	0xb4, 0xc0, 0x86, 0x14, 0x2b, 0x17, 0xce, 0xb2, 0x05, 0x21, 0x50, 0x48, 0x96, 0x92, 0x48, 0xb1,
  7342  	0xac, 0xec, 0x48, 0xce, 0x56, 0xb2, 0x4b, 0x0d, 0xa3, 0x99, 0xb6, 0x3c, 0x58, 0x33, 0x23, 0x4f,
  7343  	0x8f, 0x1c, 0x8b, 0xbf, 0x60, 0x8b, 0x0b, 0x5b, 0xc5, 0x85, 0x63, 0xaa, 0xb8, 0x71, 0xe1, 0x02,
  7344  	0x55, 0x5c, 0xe0, 0xc4, 0x21, 0x07, 0x0e, 0xb9, 0xb1, 0xc5, 0x56, 0x09, 0x70, 0x2e, 0x14, 0x7f,
  7345  	0x42, 0xaa, 0xa8, 0xa2, 0xba, 0x7b, 0x7e, 0x39, 0x56, 0x8c, 0xbc, 0x09, 0xc5, 0x16, 0x17, 0x79,
  7346  	0xba, 0xfb, 0xbd, 0xcf, 0xeb, 0x7e, 0xbf, 0xbb, 0x0d, 0xc8, 0x75, 0x34, 0x7d, 0x6f, 0xd4, 0x5f,
  7347  	0x37, 0x34, 0x4f, 0xab, 0x8c, 0x5c, 0xc7, 0x73, 0xd0, 0xb2, 0xee, 0xe8, 0xfb, 0x6c, 0xbe, 0xe2,
  7348  	0xaf, 0xae, 0x5e, 0xdb, 0x3f, 0x5c, 0xdf, 0x3f, 0x24, 0xd8, 0x3d, 0xc4, 0xee, 0xba, 0xee, 0xd8,
  7349  	0xfa, 0xd8, 0x75, 0xb1, 0xad, 0x4f, 0xd6, 0x87, 0x8e, 0xbe, 0xcf, 0x7e, 0x4c, 0x7b, 0xc0, 0xd9,
  7350  	0x57, 0x2f, 0x05, 0x90, 0x16, 0xf6, 0xb4, 0x08, 0x76, 0xf5, 0x4d, 0xe2, 0x39, 0xae, 0x36, 0xc0,
  7351  	0xeb, 0xd8, 0x1e, 0x98, 0x36, 0xa6, 0x04, 0x87, 0xba, 0xee, 0x2f, 0xfe, 0xdf, 0xcc, 0xc5, 0xeb,
  7352  	0xfe, 0x6a, 0x71, 0xec, 0x99, 0xc3, 0xf5, 0xbd, 0xa1, 0xbe, 0xee, 0x99, 0x16, 0x26, 0x9e, 0x66,
  7353  	0x8d, 0xfc, 0x95, 0x8b, 0x03, 0x67, 0xe0, 0xb0, 0xcf, 0x75, 0xfa, 0xc5, 0x67, 0xcb, 0x3f, 0x00,
  7354  	0xb1, 0x3b, 0xd2, 0x6c, 0xf4, 0x06, 0x24, 0xf6, 0xf1, 0xa4, 0x98, 0xb8, 0x22, 0x5c, 0xcd, 0xd5,
  7355  	0xd2, 0xcf, 0xa7, 0xa5, 0xc4, 0x5d, 0x3c, 0x51, 0xe8, 0x1c, 0xba, 0x02, 0x69, 0x6c, 0x1b, 0x2a,
  7356  	0x5d, 0x16, 0x4f, 0x2e, 0xa7, 0xb0, 0x6d, 0xdc, 0xc5, 0x93, 0x1b, 0xb9, 0x9f, 0x3f, 0x2e, 0x2d,
  7357  	0xfc, 0xf6, 0x71, 0x49, 0xf8, 0xfb, 0xe3, 0x92, 0xd0, 0x12, 0x25, 0x41, 0x5e, 0x6c, 0x89, 0xd2,
  7358  	0xa2, 0x9c, 0x28, 0x5b, 0x90, 0xbc, 0xaf, 0x0d, 0xc7, 0x18, 0xbd, 0x09, 0x19, 0x57, 0x7b, 0xa4,
  7359  	0xf6, 0x27, 0x1e, 0x26, 0x45, 0x81, 0xc2, 0x28, 0x92, 0xab, 0x3d, 0xaa, 0xd1, 0x31, 0xaa, 0x42,
  7360  	0x26, 0xdc, 0x6d, 0x71, 0xf1, 0x8a, 0x70, 0x35, 0xbb, 0xf1, 0xff, 0x95, 0x48, 0xb5, 0xf4, 0x48,
  7361  	0x95, 0xbd, 0xa1, 0x5e, 0xe9, 0x05, 0x44, 0x35, 0xf1, 0xc9, 0xb4, 0xb4, 0xa0, 0x44, 0x5c, 0x37,
  7362  	0x44, 0x2a, 0xba, 0xfc, 0x21, 0x48, 0x77, 0xf1, 0x84, 0x4b, 0xf4, 0x4f, 0x24, 0xcc, 0x38, 0xd1,
  7363  	0xbb, 0x90, 0x3c, 0xa4, 0x34, 0xbe, 0xac, 0x62, 0xe5, 0x94, 0x19, 0x2b, 0x0c, 0xc3, 0x17, 0xc3,
  7364  	0x89, 0xcb, 0x7f, 0x12, 0x00, 0xba, 0x9e, 0xe3, 0xe2, 0xa6, 0x81, 0x6d, 0x0f, 0x0d, 0x00, 0xf4,
  7365  	0xe1, 0x98, 0x78, 0xd8, 0x55, 0x4d, 0xc3, 0x17, 0x73, 0x87, 0xd2, 0xff, 0x79, 0x5a, 0xba, 0x3e,
  7366  	0x30, 0xbd, 0xbd, 0x71, 0xbf, 0xa2, 0x3b, 0xd6, 0x7a, 0x88, 0x6d, 0xf4, 0xa3, 0xef, 0xf5, 0xd1,
  7367  	0xfe, 0x60, 0x9d, 0x99, 0x6a, 0x3c, 0x36, 0x8d, 0xca, 0xce, 0x4e, 0xb3, 0x7e, 0x3c, 0x2d, 0x65,
  7368  	0x36, 0x39, 0x60, 0xb3, 0xae, 0x64, 0x7c, 0xec, 0xa6, 0x81, 0xde, 0x81, 0xb4, 0xed, 0x18, 0x98,
  7369  	0x4a, 0xa1, 0xfb, 0x4d, 0xd6, 0x2e, 0x1e, 0x4f, 0x4b, 0xa9, 0x6d, 0xc7, 0xc0, 0xcd, 0xfa, 0xf3,
  7370  	0xf0, 0x4b, 0x49, 0x51, 0xa2, 0xa6, 0x81, 0xbe, 0x01, 0x12, 0xf5, 0x10, 0x46, 0x9f, 0x60, 0xf4,
  7371  	0x97, 0x8e, 0xa7, 0xa5, 0x34, 0xdf, 0x39, 0x65, 0x08, 0x3e, 0x95, 0x34, 0xe1, 0xa7, 0x29, 0xff,
  7372  	0x52, 0x80, 0x5c, 0x77, 0x34, 0x34, 0xbd, 0x9e, 0x6b, 0x0e, 0x06, 0xd8, 0x45, 0x0d, 0xc8, 0x0c,
  7373  	0xf1, 0xae, 0xa7, 0x1a, 0x98, 0xe8, 0xec, 0x68, 0xd9, 0x8d, 0xf2, 0x0c, 0x25, 0x29, 0x9a, 0x3d,
  7374  	0xc0, 0x75, 0x4c, 0x74, 0xd7, 0x1c, 0x79, 0x8e, 0xeb, 0xab, 0x4b, 0xa2, 0xac, 0x74, 0x16, 0xdd,
  7375  	0x06, 0x70, 0xcd, 0xc1, 0x9e, 0x8f, 0xb3, 0x78, 0x4e, 0x9c, 0x0c, 0xe3, 0xa5, 0xd3, 0xdc, 0xba,
  7376  	0x2d, 0x51, 0x4a, 0xc8, 0x62, 0xf9, 0xb3, 0x45, 0xc8, 0xb5, 0xb1, 0x3b, 0xc0, 0x5f, 0xd0, 0xcd,
  7377  	0xa2, 0x01, 0xc8, 0x1c, 0x88, 0xc6, 0xa5, 0x4a, 0x3c, 0xcd, 0x23, 0x2c, 0x70, 0xb2, 0x1b, 0x5f,
  7378  	0x89, 0xc1, 0xf9, 0x51, 0x5c, 0x09, 0xa2, 0xb8, 0xd2, 0xbe, 0xbf, 0xb9, 0xd9, 0xa5, 0xc4, 0xb5,
  7379  	0x4b, 0x14, 0xf1, 0x78, 0x5a, 0x2a, 0x28, 0x14, 0x26, 0x9c, 0x57, 0x0a, 0x0c, 0xb6, 0x7d, 0xa8,
  7380  	0xeb, 0x6c, 0x8c, 0x6e, 0x41, 0x6e, 0xd7, 0xc5, 0xf8, 0xc7, 0x98, 0x0a, 0x71, 0xbd, 0x62, 0x72,
  7381  	0xfe, 0xc8, 0xc9, 0x72, 0xc6, 0x2e, 0xe5, 0x3b, 0xa1, 0xdd, 0x5f, 0x25, 0x61, 0x65, 0x73, 0x8f,
  7382  	0x1e, 0x51, 0xc1, 0xa3, 0xa1, 0xa9, 0x6b, 0x24, 0x50, 0xf3, 0x43, 0xb8, 0x64, 0xe0, 0x91, 0x8b,
  7383  	0x75, 0xcd, 0xc3, 0x86, 0xaa, 0x33, 0x1a, 0xd5, 0x9b, 0x8c, 0x30, 0xd3, 0x79, 0x61, 0xe3, 0xcb,
  7384  	0xb3, 0x74, 0xc5, 0x31, 0x38, 0x60, 0x6f, 0x32, 0xc2, 0xca, 0xc5, 0x08, 0x23, 0x9a, 0x45, 0x0f,
  7385  	0x00, 0xc5, 0xb0, 0x5d, 0xce, 0xe5, 0xdb, 0xe0, 0x0c, 0xdc, 0x53, 0x56, 0x58, 0x8e, 0x50, 0x7c,
  7386  	0x12, 0xf4, 0x23, 0x78, 0x33, 0x06, 0x3d, 0x1e, 0x19, 0x71, 0x11, 0xa4, 0x98, 0xb8, 0x92, 0x38,
  7387  	0xa7, 0x8c, 0x37, 0x22, 0xb8, 0x1d, 0x8e, 0x16, 0x68, 0x0a, 0x61, 0x58, 0x8d, 0xc9, 0xb2, 0xf1,
  7388  	0x91, 0x17, 0x08, 0xa2, 0xc1, 0x28, 0xb2, 0x60, 0xbc, 0x7a, 0x3c, 0x2d, 0x5d, 0xae, 0x87, 0x54,
  7389  	0xdb, 0xf8, 0xc8, 0xf3, 0xf9, 0x59, 0x70, 0x66, 0xc2, 0x81, 0x72, 0xd9, 0x98, 0x49, 0x65, 0xa0,
  7390  	0xf7, 0x40, 0x64, 0x3e, 0x9a, 0x9c, 0xd7, 0x47, 0x15, 0x46, 0x8f, 0xfa, 0x70, 0xd9, 0xb4, 0x3d,
  7391  	0xec, 0xda, 0xda, 0x50, 0xd5, 0x0c, 0x23, 0xae, 0x86, 0xd4, 0xb9, 0xd5, 0xb0, 0x12, 0x40, 0x55,
  7392  	0x29, 0x52, 0xa8, 0x82, 0x5d, 0x78, 0x23, 0x94, 0xe1, 0x62, 0xcb, 0x39, 0x8c, 0x4b, 0x49, 0x9f,
  7393  	0x5b, 0x4a, 0xb8, 0x61, 0x85, 0x63, 0x05, 0x72, 0x6e, 0x48, 0xb4, 0xe4, 0xb0, 0x9c, 0xff, 0x89,
  7394  	0x00, 0x17, 0xda, 0x8e, 0x61, 0xee, 0x9a, 0xd8, 0xa0, 0xa5, 0x2c, 0xf0, 0xd7, 0xaf, 0x03, 0x22,
  7395  	0x13, 0xe2, 0x61, 0x4b, 0xd5, 0x1d, 0x7b, 0xd7, 0x1c, 0xa8, 0x64, 0xa4, 0xd9, 0xcc, 0x57, 0x25,
  7396  	0x45, 0xe6, 0x2b, 0x9b, 0x6c, 0x81, 0xd5, 0xbf, 0x06, 0x20, 0x96, 0x64, 0x87, 0xe6, 0x21, 0xb6,
  7397  	0x31, 0x21, 0x9c, 0x9a, 0x7b, 0xe0, 0xe5, 0x19, 0x1b, 0xa6, 0x4c, 0x8a, 0x4c, 0x59, 0xb6, 0x7c,
  7398  	0x0e, 0x3a, 0xe3, 0x97, 0xa1, 0x8f, 0x40, 0xee, 0x7a, 0xa6, 0xbe, 0x3f, 0xa9, 0x45, 0x29, 0xb5,
  7399  	0x06, 0x40, 0xd8, 0x9c, 0xda, 0x37, 0x3d, 0x3f, 0x4d, 0xcd, 0x57, 0xe4, 0x48, 0x00, 0xe5, 0xa3,
  7400  	0xff, 0x3e, 0x01, 0x2b, 0x4d, 0x5f, 0x2d, 0x9b, 0x8e, 0x65, 0x45, 0x32, 0xea, 0x90, 0x27, 0x34,
  7401  	0x8d, 0xab, 0x1e, 0x9f, 0xf0, 0xc5, 0x94, 0x66, 0xee, 0x3f, 0x4a, 0xf7, 0x4a, 0x8e, 0xc4, 0x93,
  7402  	0x7f, 0x1d, 0xf2, 0x16, 0xcd, 0xaf, 0x21, 0xca, 0xe2, 0x4b, 0x51, 0xe2, 0x79, 0x58, 0xc9, 0x59,
  7403  	0xf1, 0xac, 0xfc, 0x43, 0xb8, 0xec, 0xe7, 0x88, 0xc0, 0xfc, 0x21, 0x5e, 0x82, 0xe1, 0x5d, 0x9d,
  7404  	0x81, 0x37, 0x33, 0xf3, 0x28, 0x2b, 0xfa, 0x4b, 0x12, 0xd2, 0x8a, 0xe5, 0xdb, 0x9d, 0x59, 0x2b,
  7405  	0xc4, 0xe7, 0xc9, 0xf6, 0xab, 0xb3, 0xf6, 0x7b, 0xda, 0x4f, 0x94, 0x0b, 0xd6, 0x0c, 0xe7, 0x79,
  7406  	0x1f, 0x50, 0x64, 0xad, 0x10, 0x98, 0x07, 0xdc, 0x5b, 0xb3, 0xd4, 0xf9, 0x82, 0xb9, 0x15, 0x99,
  7407  	0xbc, 0x30, 0x73, 0x43, 0xfa, 0xd8, 0x6f, 0x90, 0xca, 0x3f, 0x15, 0x60, 0xb9, 0xd3, 0x67, 0x2d,
  7408  	0xa2, 0x11, 0x5a, 0x3b, 0x5e, 0xe6, 0x85, 0x39, 0xca, 0xfc, 0x6b, 0xe8, 0x99, 0xa4, 0xa0, 0x65,
  7409  	0x2b, 0xff, 0x21, 0x0d, 0xd9, 0x9e, 0xab, 0xd9, 0x44, 0xd3, 0x3d, 0xd3, 0xb1, 0x51, 0x15, 0x44,
  7410  	0xda, 0x92, 0xfa, 0xfe, 0xf3, 0xd6, 0x59, 0x65, 0xab, 0x77, 0x64, 0xb7, 0xb1, 0xa7, 0xd5, 0x24,
  7411  	0x8a, 0xfe, 0x74, 0x5a, 0x12, 0x14, 0xc6, 0x8a, 0x10, 0x88, 0xb6, 0x66, 0xf1, 0x16, 0x2b, 0xa3,
  7412  	0xb0, 0x6f, 0x74, 0x13, 0x52, 0xb4, 0x1c, 0x8e, 0x79, 0x3d, 0x9c, 0x5d, 0x32, 0x62, 0xdb, 0xe8,
  7413  	0x32, 0x5a, 0xc5, 0xe7, 0x41, 0x2d, 0x28, 0x0c, 0x35, 0xe2, 0xa9, 0x7b, 0x58, 0x73, 0xbd, 0x3e,
  7414  	0xd6, 0xce, 0x55, 0xf0, 0xf2, 0x94, 0xf5, 0x4e, 0xc0, 0x89, 0x54, 0x88, 0xa5, 0x71, 0xd5, 0x71,
  7415  	0xcd, 0x81, 0x1a, 0x69, 0x33, 0x35, 0x3f, 0x6c, 0x2c, 0x47, 0x77, 0x5c, 0x73, 0x10, 0x59, 0xf3,
  7416  	0x0e, 0xe4, 0x2d, 0xed, 0x28, 0x06, 0x9a, 0x9e, 0x1f, 0x34, 0x67, 0x69, 0x47, 0x11, 0xd2, 0x87,
  7417  	0x70, 0xc1, 0xf1, 0x9d, 0x25, 0x82, 0x23, 0x45, 0xe9, 0xa5, 0xb9, 0xf4, 0x94, 0x6b, 0xf9, 0xb0,
  7418  	0xc8, 0x79, 0x71, 0x81, 0xa0, 0x9b, 0x00, 0xf4, 0x4a, 0xc2, 0xe2, 0x87, 0x14, 0xb3, 0x0c, 0xf3,
  7419  	0x65, 0xe9, 0x2e, 0x70, 0x20, 0xca, 0x40, 0xc7, 0x04, 0x95, 0x21, 0xff, 0xc8, 0x35, 0x3d, 0xac,
  7420  	0x7a, 0x8e, 0xa3, 0x3a, 0x43, 0xa3, 0x98, 0x63, 0xd9, 0x35, 0xcb, 0x26, 0x7b, 0x8e, 0xd3, 0x19,
  7421  	0x1a, 0xd4, 0x6a, 0x2e, 0xd6, 0x62, 0x5b, 0x2f, 0x2e, 0x9d, 0xc3, 0x6a, 0x94, 0x35, 0x52, 0xc5,
  7422  	0xbb, 0x70, 0x49, 0x67, 0x09, 0x2f, 0x42, 0x53, 0x77, 0xcd, 0x23, 0x6c, 0x14, 0x65, 0x26, 0xf8,
  7423  	0x22, 0x5f, 0x0d, 0x19, 0x6e, 0xd1, 0x35, 0xf4, 0x3e, 0xc8, 0xa6, 0xad, 0xee, 0x0e, 0x59, 0x4f,
  7424  	0xc6, 0xb6, 0x46, 0x8a, 0xcb, 0xec, 0xa4, 0x5f, 0x9a, 0x75, 0x52, 0x7c, 0x30, 0xc6, 0xb6, 0x8e,
  7425  	0x8d, 0x0f, 0x28, 0xa5, 0xbf, 0x8f, 0x82, 0x69, 0xdf, 0x62, 0xfc, 0x6c, 0x92, 0x20, 0x07, 0x96,
  7426  	0xcc, 0x81, 0xed, 0xb8, 0x34, 0xf3, 0xe0, 0x03, 0x7b, 0x6c, 0x91, 0x22, 0x62, 0x88, 0x95, 0xb3,
  7427  	0x42, 0xa5, 0xc9, 0x59, 0xba, 0xf8, 0x60, 0x7b, 0x6c, 0xb1, 0x12, 0x1d, 0xb5, 0x7a, 0x27, 0xd6,
  7428  	0x88, 0x52, 0x30, 0xc3, 0x31, 0x45, 0x3f, 0x75, 0xc3, 0x4a, 0xc8, 0x62, 0x4b, 0x94, 0x32, 0x32,
  7429  	0xb4, 0x44, 0x29, 0x2f, 0x17, 0x5a, 0xa2, 0x54, 0x90, 0x97, 0xca, 0xbf, 0x16, 0x61, 0x39, 0x16,
  7430  	0x3f, 0x0a, 0xd6, 0x1d, 0xd7, 0x78, 0x1d, 0xc1, 0xfc, 0xc5, 0x09, 0xdc, 0x57, 0x73, 0xd8, 0xff,
  7431  	0x05, 0x57, 0x90, 0x62, 0x6e, 0xb0, 0x28, 0x27, 0x42, 0x67, 0x48, 0xc9, 0xe9, 0x96, 0x28, 0xa5,
  7432  	0x65, 0xa9, 0x25, 0x4a, 0x92, 0x9c, 0x09, 0xdd, 0x03, 0xe4, 0x6c, 0x4b, 0x94, 0x72, 0x72, 0x3e,
  7433  	0xee, 0x2a, 0x2d, 0x51, 0x5a, 0x92, 0xe5, 0x96, 0x28, 0xc9, 0xf2, 0x72, 0xf9, 0x1f, 0x02, 0xa4,
  7434  	0x68, 0x43, 0x61, 0x7b, 0xe8, 0x01, 0x2c, 0x11, 0xd3, 0x1e, 0x0c, 0x31, 0xbd, 0xee, 0x47, 0x1d,
  7435  	0x53, 0x76, 0xe3, 0xed, 0x19, 0xfa, 0xe1, 0x3c, 0x95, 0x2e, 0x63, 0xb8, 0x8b, 0x27, 0x4c, 0xe7,
  7436  	0x91, 0xeb, 0xe4, 0x49, 0x7c, 0x01, 0x7d, 0x07, 0x12, 0xde, 0x51, 0xd0, 0x52, 0xcd, 0xe5, 0x85,
  7437  	0x5c, 0xe1, 0x94, 0x6b, 0xb5, 0x06, 0xf9, 0x13, 0x62, 0xce, 0x78, 0xaf, 0x08, 0xaf, 0x33, 0xe1,
  7438  	0x2b, 0x44, 0x4b, 0x94, 0x44, 0x39, 0xe9, 0x77, 0x4f, 0x7f, 0x11, 0x60, 0x69, 0xcb, 0xd1, 0xf7,
  7439  	0xab, 0xfa, 0xc1, 0xd8, 0x24, 0x26, 0x2b, 0x77, 0xdf, 0x04, 0x31, 0x76, 0xd4, 0x97, 0xba, 0x53,
  7440  	0x2c, 0x2a, 0xc8, 0xab, 0x9e, 0x08, 0x29, 0x00, 0xc6, 0xd8, 0xd5, 0xfa, 0xe6, 0xd0, 0xf4, 0xf8,
  7441  	0x39, 0x0a, 0x1b, 0x1b, 0x31, 0x8c, 0xfd, 0xc3, 0x4a, 0xf0, 0x8c, 0x54, 0x89, 0x3d, 0x23, 0x55,
  7442  	0xa8, 0x33, 0x57, 0xea, 0x21, 0xa7, 0x12, 0x43, 0xf1, 0x4f, 0xf8, 0x9b, 0x45, 0x00, 0x7a, 0x42,
  7443  	0x7e, 0x3b, 0xf9, 0xaf, 0x1c, 0x2e, 0xca, 0x17, 0x89, 0xcf, 0x91, 0x2f, 0x66, 0x84, 0x94, 0xf8,
  7444  	0x1f, 0x0d, 0x29, 0xae, 0xb7, 0x9f, 0x09, 0x50, 0x38, 0x19, 0xf2, 0x67, 0xbd, 0x21, 0x7d, 0x04,
  7445  	0x12, 0xf1, 0x89, 0xfd, 0x67, 0x99, 0xef, 0x3f, 0x9f, 0x96, 0x6e, 0xce, 0xf5, 0xf0, 0xf3, 0xe2,
  7446  	0x0b, 0x1e, 0x55, 0x61, 0x17, 0x1f, 0x28, 0x21, 0x62, 0xac, 0x35, 0xfb, 0x5d, 0x02, 0x92, 0x5b,
  7447  	0x58, 0x23, 0x18, 0x7d, 0x1b, 0x92, 0xfc, 0x9e, 0x7f, 0x8e, 0xcb, 0x03, 0xe7, 0x40, 0xdf, 0x05,
  7448  	0xc0, 0x47, 0x23, 0xd3, 0xd5, 0xa8, 0xb6, 0xe7, 0xea, 0x16, 0x95, 0x18, 0x03, 0xaa, 0x43, 0x3a,
  7449  	0xb8, 0x93, 0x27, 0xce, 0x7d, 0x27, 0x0f, 0x58, 0xd1, 0x0e, 0xc4, 0xba, 0x25, 0xfe, 0x64, 0x41,
  7450  	0x7f, 0x89, 0x19, 0x3c, 0x8f, 0xfc, 0x9b, 0x1d, 0xad, 0x44, 0xdc, 0xec, 0xdd, 0xa2, 0xcb, 0x78,
  7451  	0xd1, 0x36, 0x64, 0x47, 0xae, 0x33, 0x72, 0x08, 0xed, 0x8f, 0xc8, 0x7c, 0xa5, 0xa5, 0x70, 0x3c,
  7452  	0x2d, 0xc1, 0x3d, 0x9f, 0xab, 0xd7, 0x55, 0x20, 0x40, 0xe8, 0x11, 0x74, 0x11, 0x92, 0x78, 0xe4,
  7453  	0xe8, 0x7b, 0xac, 0x0d, 0x4c, 0x28, 0x7c, 0x80, 0xde, 0x89, 0x99, 0x9b, 0xb6, 0x72, 0x89, 0xda,
  7454  	0xf2, 0xf3, 0x69, 0x29, 0xcf, 0x2c, 0x13, 0x38, 0x4d, 0xdc, 0x7e, 0x41, 0xbd, 0x2e, 0x7f, 0x26,
  7455  	0x40, 0xa1, 0xda, 0x77, 0x5c, 0x8f, 0x46, 0x59, 0xc3, 0xf6, 0xdc, 0xc9, 0x59, 0x5e, 0xf5, 0xea,
  7456  	0x5d, 0x3d, 0xd2, 0x40, 0x1a, 0xb9, 0xa6, 0xe3, 0x06, 0x69, 0x25, 0x59, 0x6b, 0x3c, 0x9f, 0x96,
  7457  	0xaa, 0x9f, 0xdb, 0x31, 0xef, 0xf9, 0x60, 0x4a, 0x08, 0x1b, 0xf3, 0xce, 0x7f, 0x2e, 0xc2, 0xf2,
  7458  	0x16, 0xd6, 0x76, 0x7b, 0x47, 0x76, 0xd3, 0x1e, 0x8d, 0xa9, 0x4d, 0x3c, 0x8c, 0xde, 0xe3, 0xb9,
  7459  	0x83, 0xfb, 0xe9, 0xda, 0xd9, 0xb1, 0x1f, 0x4f, 0x1b, 0x6f, 0xc3, 0x92, 0x8b, 0x77, 0x5d, 0x4c,
  7460  	0xf6, 0x54, 0xd3, 0x3e, 0xd4, 0x86, 0xa6, 0xc1, 0x74, 0x2d, 0x29, 0x05, 0x7f, 0xba, 0xc9, 0x67,
  7461  	0x67, 0xd6, 0x71, 0xe9, 0xd5, 0xea, 0xf8, 0x06, 0xac, 0x10, 0x0f, 0x8f, 0x46, 0xa6, 0x3d, 0x50,
  7462  	0x2d, 0x7a, 0x0f, 0xc3, 0xb6, 0xd6, 0x1f, 0x62, 0xa3, 0x98, 0x61, 0x3b, 0xb8, 0x10, 0x2c, 0xb6,
  7463  	0x1d, 0x03, 0x37, 0xf8, 0x12, 0xea, 0x43, 0x8e, 0xf5, 0xb6, 0x04, 0x1f, 0xa8, 0xf6, 0xd8, 0x2a,
  7464  	0xc2, 0x6b, 0xca, 0x03, 0x40, 0x51, 0x79, 0xb2, 0x7a, 0xa1, 0xc8, 0x8b, 0x72, 0xb2, 0x25, 0x4a,
  7465  	0x49, 0x39, 0xc5, 0x0b, 0x7e, 0xf9, 0x27, 0x91, 0xfe, 0x6f, 0x99, 0xb6, 0x36, 0x7c, 0x35, 0xfd,
  7466  	0x7f, 0x0b, 0x8a, 0xf1, 0x27, 0x3e, 0xc7, 0xb2, 0x34, 0x9b, 0xfe, 0x1d, 0xdb, 0x1e, 0x77, 0x25,
  7467  	0x25, 0xf6, 0x04, 0xb8, 0xc9, 0x97, 0x37, 0xe9, 0x2a, 0xaa, 0x41, 0x3e, 0xb0, 0x1c, 0xef, 0xcc,
  7468  	0xc4, 0x79, 0x3a, 0xb3, 0x9c, 0xcf, 0xc3, 0x9b, 0xb3, 0x79, 0xad, 0x1f, 0xaa, 0x24, 0x54, 0x03,
  7469  	0xef, 0x78, 0xae, 0xfd, 0x51, 0x80, 0x0c, 0x7b, 0xb7, 0x67, 0x6f, 0x8a, 0x59, 0x48, 0xef, 0x6c,
  7470  	0xdf, 0xdd, 0xee, 0x7c, 0xb0, 0x2d, 0x2f, 0xa0, 0x34, 0x24, 0x9a, 0xdb, 0x3d, 0x59, 0x40, 0x19,
  7471  	0x48, 0xde, 0xda, 0xea, 0x54, 0x7b, 0xf2, 0x22, 0xfd, 0xac, 0x3d, 0xe8, 0x35, 0xba, 0x72, 0x02,
  7472  	0x5d, 0x80, 0xa5, 0x7a, 0x63, 0xab, 0xd9, 0x6e, 0xf6, 0x1a, 0x75, 0x95, 0x4f, 0x4a, 0x48, 0x02,
  7473  	0xb1, 0xd7, 0x6c, 0x37, 0x64, 0x91, 0x42, 0xd5, 0x1b, 0x9b, 0xcd, 0x76, 0x75, 0x4b, 0x4e, 0xa2,
  7474  	0x15, 0x58, 0x8e, 0x68, 0x83, 0xe9, 0x0c, 0xca, 0x81, 0x54, 0xdf, 0x51, 0xaa, 0xbd, 0x66, 0x67,
  7475  	0x5b, 0x4e, 0x21, 0x80, 0x14, 0xe5, 0xed, 0x3d, 0x94, 0x73, 0x54, 0xf6, 0xed, 0x46, 0x47, 0xce,
  7476  	0x53, 0x81, 0xbd, 0x9d, 0x7b, 0x5b, 0x0d, 0x19, 0x28, 0x75, 0xad, 0xd9, 0xab, 0x2a, 0x4a, 0xf5,
  7477  	0x81, 0x9c, 0x45, 0x05, 0x00, 0x4a, 0xdd, 0x6d, 0x28, 0xcd, 0x46, 0x57, 0x36, 0xca, 0xb4, 0x8d,
  7478  	0x4b, 0x5f, 0xfb, 0x1e, 0x2c, 0x9f, 0x7a, 0x3f, 0x45, 0x4b, 0x90, 0xad, 0xd6, 0xeb, 0xaa, 0xd2,
  7479  	0xb8, 0xb7, 0xd5, 0xdc, 0xac, 0xca, 0x0b, 0x08, 0x41, 0x41, 0x69, 0xb4, 0x3b, 0xf7, 0x1b, 0xe1,
  7480  	0x9c, 0xb0, 0x2a, 0x7e, 0xfc, 0x8b, 0xb5, 0x85, 0x6b, 0x9d, 0x13, 0x97, 0x01, 0x5e, 0x63, 0xe9,
  7481  	0x51, 0xee, 0x35, 0xb6, 0xeb, 0xcd, 0xed, 0xdb, 0xf2, 0x02, 0x1d, 0x74, 0x7b, 0xd5, 0xdb, 0x74,
  7482  	0x90, 0x40, 0x79, 0xc8, 0x6c, 0x76, 0xda, 0xed, 0x66, 0xaf, 0xd7, 0xa8, 0xcb, 0x02, 0x5d, 0xab,
  7483  	0xd6, 0x3a, 0x0a, 0x1d, 0x2c, 0x72, 0xc0, 0xda, 0xd7, 0x9e, 0xfc, 0x6d, 0x6d, 0xe1, 0xc9, 0xf1,
  7484  	0x9a, 0xf0, 0xf4, 0x78, 0x4d, 0xf8, 0xf4, 0x78, 0x4d, 0xf8, 0xeb, 0xf1, 0x9a, 0xf0, 0xc9, 0xb3,
  7485  	0xb5, 0x85, 0xa7, 0xcf, 0xd6, 0x16, 0x3e, 0x7d, 0xb6, 0xb6, 0xf0, 0x30, 0xed, 0x1b, 0xb9, 0x9f,
  7486  	0x62, 0xff, 0x5d, 0xba, 0xfe, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x7b, 0xdf, 0x1f, 0x35,
  7487  	0x1b, 0x00, 0x00,
  7488  }