diff --git a/data/hyperOutportBlocks/hyperOutportBlock.pb.go b/data/hyperOutportBlocks/hyperOutportBlock.pb.go index 4f50d55..ae600a9 100644 --- a/data/hyperOutportBlocks/hyperOutportBlock.pb.go +++ b/data/hyperOutportBlocks/hyperOutportBlock.pb.go @@ -2,15 +2,16 @@ // versions: // protoc-gen-go v1.28.1 // protoc v3.6.1 -// source: data/hyperOutportBlocks/hyperOutportBlock.proto +// source: hyperOutportBlock.proto package hyperOutportBlocks import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" + "reflect" + "sync" + + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/runtime/protoimpl" ) const ( @@ -69,11 +70,11 @@ func (x PeerAction) String() string { } func (PeerAction) Descriptor() protoreflect.EnumDescriptor { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[0].Descriptor() + return file_hyperOutportBlock_proto_enumTypes[0].Descriptor() } func (PeerAction) Type() protoreflect.EnumType { - return &file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[0] + return &file_hyperOutportBlock_proto_enumTypes[0] } func (x PeerAction) Number() protoreflect.EnumNumber { @@ -82,7 +83,7 @@ func (x PeerAction) Number() protoreflect.EnumNumber { // Deprecated: Use PeerAction.Descriptor instead. func (PeerAction) EnumDescriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{0} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{0} } type TxType int32 @@ -121,11 +122,11 @@ func (x TxType) String() string { } func (TxType) Descriptor() protoreflect.EnumDescriptor { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[1].Descriptor() + return file_hyperOutportBlock_proto_enumTypes[1].Descriptor() } func (TxType) Type() protoreflect.EnumType { - return &file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[1] + return &file_hyperOutportBlock_proto_enumTypes[1] } func (x TxType) Number() protoreflect.EnumNumber { @@ -134,7 +135,7 @@ func (x TxType) Number() protoreflect.EnumNumber { // Deprecated: Use TxType.Descriptor instead. func (TxType) EnumDescriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{1} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{1} } type Type int32 @@ -182,11 +183,11 @@ func (x Type) String() string { } func (Type) Descriptor() protoreflect.EnumDescriptor { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[2].Descriptor() + return file_hyperOutportBlock_proto_enumTypes[2].Descriptor() } func (Type) Type() protoreflect.EnumType { - return &file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes[2] + return &file_hyperOutportBlock_proto_enumTypes[2] } func (x Type) Number() protoreflect.EnumNumber { @@ -195,7 +196,108 @@ func (x Type) Number() protoreflect.EnumNumber { // Deprecated: Use Type.Descriptor instead. func (Type) EnumDescriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{2} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{2} +} + +type ActionType int32 + +const ( + ActionType_Read ActionType = 0 + ActionType_Write ActionType = 1 +) + +// Enum value maps for ActionType. +var ( + ActionType_name = map[int32]string{ + 0: "Read", + 1: "Write", + } + ActionType_value = map[string]int32{ + "Read": 0, + "Write": 1, + } +) + +func (x ActionType) Enum() *ActionType { + p := new(ActionType) + *p = x + return p +} + +func (x ActionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActionType) Descriptor() protoreflect.EnumDescriptor { + return file_hyperOutportBlock_proto_enumTypes[3].Descriptor() +} + +func (ActionType) Type() protoreflect.EnumType { + return &file_hyperOutportBlock_proto_enumTypes[3] +} + +func (x ActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActionType.Descriptor instead. +func (ActionType) EnumDescriptor() ([]byte, []int) { + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{3} +} + +type Operation int32 + +const ( + Operation_GetCode Operation = 0 + Operation_SaveAccount Operation = 1 + Operation_GetAccount Operation = 2 + Operation_WriteCode Operation = 3 + Operation_RemoveDataTrie Operation = 4 +) + +// Enum value maps for Operation. +var ( + Operation_name = map[int32]string{ + 0: "GetCode", + 1: "SaveAccount", + 2: "GetAccount", + 3: "WriteCode", + 4: "RemoveDataTrie", + } + Operation_value = map[string]int32{ + "GetCode": 0, + "SaveAccount": 1, + "GetAccount": 2, + "WriteCode": 3, + "RemoveDataTrie": 4, + } +) + +func (x Operation) Enum() *Operation { + p := new(Operation) + *p = x + return p +} + +func (x Operation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Operation) Descriptor() protoreflect.EnumDescriptor { + return file_hyperOutportBlock_proto_enumTypes[4].Descriptor() +} + +func (Operation) Type() protoreflect.EnumType { + return &file_hyperOutportBlock_proto_enumTypes[4] +} + +func (x Operation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Operation.Descriptor instead. +func (Operation) EnumDescriptor() ([]byte, []int) { + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{4} } type HyperOutportBlock struct { @@ -210,7 +312,7 @@ type HyperOutportBlock struct { func (x *HyperOutportBlock) Reset() { *x = HyperOutportBlock{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[0] + mi := &file_hyperOutportBlock_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -223,7 +325,7 @@ func (x *HyperOutportBlock) String() string { func (*HyperOutportBlock) ProtoMessage() {} func (x *HyperOutportBlock) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[0] + mi := &file_hyperOutportBlock_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -236,7 +338,7 @@ func (x *HyperOutportBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use HyperOutportBlock.ProtoReflect.Descriptor instead. func (*HyperOutportBlock) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{0} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{0} } func (x *HyperOutportBlock) GetMetaOutportBlock() *MetaOutportBlock { @@ -265,7 +367,7 @@ type NotarizedHeaderOutportData struct { func (x *NotarizedHeaderOutportData) Reset() { *x = NotarizedHeaderOutportData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[1] + mi := &file_hyperOutportBlock_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -278,7 +380,7 @@ func (x *NotarizedHeaderOutportData) String() string { func (*NotarizedHeaderOutportData) ProtoMessage() {} func (x *NotarizedHeaderOutportData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[1] + mi := &file_hyperOutportBlock_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -291,7 +393,7 @@ func (x *NotarizedHeaderOutportData) ProtoReflect() protoreflect.Message { // Deprecated: Use NotarizedHeaderOutportData.ProtoReflect.Descriptor instead. func (*NotarizedHeaderOutportData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{1} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{1} } func (x *NotarizedHeaderOutportData) GetNotarizedHeaderHash() string { @@ -323,12 +425,13 @@ type MetaOutportBlock struct { SignersIndexes []uint64 `protobuf:"varint,8,rep,packed,name=SignersIndexes,proto3" json:"SignersIndexes,omitempty"` HighestFinalBlockNonce uint64 `protobuf:"varint,9,opt,name=HighestFinalBlockNonce,proto3" json:"HighestFinalBlockNonce,omitempty"` HighestFinalBlockHash []byte `protobuf:"bytes,10,opt,name=HighestFinalBlockHash,proto3" json:"HighestFinalBlockHash,omitempty"` + StateChanges map[string]*StateChanges `protobuf:"bytes,11,rep,name=StateChanges,proto3" json:"StateChanges,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *MetaOutportBlock) Reset() { *x = MetaOutportBlock{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[2] + mi := &file_hyperOutportBlock_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -341,7 +444,7 @@ func (x *MetaOutportBlock) String() string { func (*MetaOutportBlock) ProtoMessage() {} func (x *MetaOutportBlock) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[2] + mi := &file_hyperOutportBlock_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -354,7 +457,7 @@ func (x *MetaOutportBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaOutportBlock.ProtoReflect.Descriptor instead. func (*MetaOutportBlock) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{2} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{2} } func (x *MetaOutportBlock) GetShardID() uint32 { @@ -427,6 +530,13 @@ func (x *MetaOutportBlock) GetHighestFinalBlockHash() []byte { return nil } +func (x *MetaOutportBlock) GetStateChanges() map[string]*StateChanges { + if x != nil { + return x.StateChanges + } + return nil +} + type ShardOutportBlock struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -447,7 +557,7 @@ type ShardOutportBlock struct { func (x *ShardOutportBlock) Reset() { *x = ShardOutportBlock{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[3] + mi := &file_hyperOutportBlock_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -460,7 +570,7 @@ func (x *ShardOutportBlock) String() string { func (*ShardOutportBlock) ProtoMessage() {} func (x *ShardOutportBlock) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[3] + mi := &file_hyperOutportBlock_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -473,7 +583,7 @@ func (x *ShardOutportBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardOutportBlock.ProtoReflect.Descriptor instead. func (*ShardOutportBlock) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{3} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{3} } func (x *ShardOutportBlock) GetShardID() uint32 { @@ -561,12 +671,13 @@ type ShardOutportBlockV2 struct { SignersIndexes []uint64 `protobuf:"varint,8,rep,packed,name=SignersIndexes,proto3" json:"SignersIndexes,omitempty"` HighestFinalBlockNonce uint64 `protobuf:"varint,9,opt,name=HighestFinalBlockNonce,proto3" json:"HighestFinalBlockNonce,omitempty"` HighestFinalBlockHash []byte `protobuf:"bytes,10,opt,name=HighestFinalBlockHash,proto3" json:"HighestFinalBlockHash,omitempty"` + StateChanges map[string]*StateChanges `protobuf:"bytes,11,rep,name=StateChanges,proto3" json:"StateChanges,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ShardOutportBlockV2) Reset() { *x = ShardOutportBlockV2{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[4] + mi := &file_hyperOutportBlock_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -579,7 +690,7 @@ func (x *ShardOutportBlockV2) String() string { func (*ShardOutportBlockV2) ProtoMessage() {} func (x *ShardOutportBlockV2) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[4] + mi := &file_hyperOutportBlock_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -592,7 +703,7 @@ func (x *ShardOutportBlockV2) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardOutportBlockV2.ProtoReflect.Descriptor instead. func (*ShardOutportBlockV2) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{4} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{4} } func (x *ShardOutportBlockV2) GetShardID() uint32 { @@ -665,6 +776,13 @@ func (x *ShardOutportBlockV2) GetHighestFinalBlockHash() []byte { return nil } +func (x *ShardOutportBlockV2) GetStateChanges() map[string]*StateChanges { + if x != nil { + return x.StateChanges + } + return nil +} + type TransactionPoolV2 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -678,7 +796,7 @@ type TransactionPoolV2 struct { func (x *TransactionPoolV2) Reset() { *x = TransactionPoolV2{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[5] + mi := &file_hyperOutportBlock_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -691,7 +809,7 @@ func (x *TransactionPoolV2) String() string { func (*TransactionPoolV2) ProtoMessage() {} func (x *TransactionPoolV2) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[5] + mi := &file_hyperOutportBlock_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -704,7 +822,7 @@ func (x *TransactionPoolV2) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionPoolV2.ProtoReflect.Descriptor instead. func (*TransactionPoolV2) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{5} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{5} } func (x *TransactionPoolV2) GetTransactions() map[string]*TxInfoV2 { @@ -764,7 +882,7 @@ type Header struct { func (x *Header) Reset() { *x = Header{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[6] + mi := &file_hyperOutportBlock_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -777,7 +895,7 @@ func (x *Header) String() string { func (*Header) ProtoMessage() {} func (x *Header) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[6] + mi := &file_hyperOutportBlock_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -790,7 +908,7 @@ func (x *Header) ProtoReflect() protoreflect.Message { // Deprecated: Use Header.ProtoReflect.Descriptor instead. func (*Header) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{6} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{6} } func (x *Header) GetNonce() uint64 { @@ -996,7 +1114,7 @@ type MetaHeader struct { func (x *MetaHeader) Reset() { *x = MetaHeader{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[7] + mi := &file_hyperOutportBlock_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1009,7 +1127,7 @@ func (x *MetaHeader) String() string { func (*MetaHeader) ProtoMessage() {} func (x *MetaHeader) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[7] + mi := &file_hyperOutportBlock_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1022,7 +1140,7 @@ func (x *MetaHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaHeader.ProtoReflect.Descriptor instead. func (*MetaHeader) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{7} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{7} } func (x *MetaHeader) GetNonce() uint64 { @@ -1216,7 +1334,7 @@ type MiniBlockHeader struct { func (x *MiniBlockHeader) Reset() { *x = MiniBlockHeader{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[8] + mi := &file_hyperOutportBlock_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1229,7 +1347,7 @@ func (x *MiniBlockHeader) String() string { func (*MiniBlockHeader) ProtoMessage() {} func (x *MiniBlockHeader) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[8] + mi := &file_hyperOutportBlock_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1242,7 +1360,7 @@ func (x *MiniBlockHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use MiniBlockHeader.ProtoReflect.Descriptor instead. func (*MiniBlockHeader) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{8} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{8} } func (x *MiniBlockHeader) GetHash() []byte { @@ -1300,7 +1418,7 @@ type PeerChange struct { func (x *PeerChange) Reset() { *x = PeerChange{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[9] + mi := &file_hyperOutportBlock_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1313,7 +1431,7 @@ func (x *PeerChange) String() string { func (*PeerChange) ProtoMessage() {} func (x *PeerChange) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[9] + mi := &file_hyperOutportBlock_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1326,7 +1444,7 @@ func (x *PeerChange) ProtoReflect() protoreflect.Message { // Deprecated: Use PeerChange.ProtoReflect.Descriptor instead. func (*PeerChange) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{9} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{9} } func (x *PeerChange) GetPubKey() []byte { @@ -1365,7 +1483,7 @@ type BlockData struct { func (x *BlockData) Reset() { *x = BlockData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[10] + mi := &file_hyperOutportBlock_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1378,7 +1496,7 @@ func (x *BlockData) String() string { func (*BlockData) ProtoMessage() {} func (x *BlockData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[10] + mi := &file_hyperOutportBlock_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1391,7 +1509,7 @@ func (x *BlockData) ProtoReflect() protoreflect.Message { // Deprecated: Use BlockData.ProtoReflect.Descriptor instead. func (*BlockData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{10} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{10} } func (x *BlockData) GetShardID() uint32 { @@ -1500,7 +1618,7 @@ type MetaBlockData struct { func (x *MetaBlockData) Reset() { *x = MetaBlockData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[11] + mi := &file_hyperOutportBlock_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1513,7 +1631,7 @@ func (x *MetaBlockData) String() string { func (*MetaBlockData) ProtoMessage() {} func (x *MetaBlockData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[11] + mi := &file_hyperOutportBlock_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1526,7 +1644,7 @@ func (x *MetaBlockData) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaBlockData.ProtoReflect.Descriptor instead. func (*MetaBlockData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{11} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{11} } func (x *MetaBlockData) GetShardID() uint32 { @@ -1637,7 +1755,7 @@ type ShardData struct { func (x *ShardData) Reset() { *x = ShardData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[12] + mi := &file_hyperOutportBlock_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1650,7 +1768,7 @@ func (x *ShardData) String() string { func (*ShardData) ProtoMessage() {} func (x *ShardData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[12] + mi := &file_hyperOutportBlock_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1663,7 +1781,7 @@ func (x *ShardData) ProtoReflect() protoreflect.Message { // Deprecated: Use ShardData.ProtoReflect.Descriptor instead. func (*ShardData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{12} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{12} } func (x *ShardData) GetShardID() uint32 { @@ -1777,7 +1895,7 @@ type EpochStart struct { func (x *EpochStart) Reset() { *x = EpochStart{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[13] + mi := &file_hyperOutportBlock_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1790,7 +1908,7 @@ func (x *EpochStart) String() string { func (*EpochStart) ProtoMessage() {} func (x *EpochStart) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[13] + mi := &file_hyperOutportBlock_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1803,7 +1921,7 @@ func (x *EpochStart) ProtoReflect() protoreflect.Message { // Deprecated: Use EpochStart.ProtoReflect.Descriptor instead. func (*EpochStart) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{13} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{13} } func (x *EpochStart) GetLastFinalizedHeaders() []*EpochStartShardData { @@ -1840,7 +1958,7 @@ type EpochStartShardData struct { func (x *EpochStartShardData) Reset() { *x = EpochStartShardData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[14] + mi := &file_hyperOutportBlock_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1853,7 +1971,7 @@ func (x *EpochStartShardData) String() string { func (*EpochStartShardData) ProtoMessage() {} func (x *EpochStartShardData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[14] + mi := &file_hyperOutportBlock_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1866,7 +1984,7 @@ func (x *EpochStartShardData) ProtoReflect() protoreflect.Message { // Deprecated: Use EpochStartShardData.ProtoReflect.Descriptor instead. func (*EpochStartShardData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{14} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{14} } func (x *EpochStartShardData) GetShardID() uint32 { @@ -1957,7 +2075,7 @@ type Economics struct { func (x *Economics) Reset() { *x = Economics{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[15] + mi := &file_hyperOutportBlock_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1970,7 +2088,7 @@ func (x *Economics) String() string { func (*Economics) ProtoMessage() {} func (x *Economics) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[15] + mi := &file_hyperOutportBlock_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1983,7 +2101,7 @@ func (x *Economics) ProtoReflect() protoreflect.Message { // Deprecated: Use Economics.ProtoReflect.Descriptor instead. func (*Economics) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{15} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{15} } func (x *Economics) GetTotalSupply() []byte { @@ -2060,7 +2178,7 @@ type PeerData struct { func (x *PeerData) Reset() { *x = PeerData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[16] + mi := &file_hyperOutportBlock_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2073,7 +2191,7 @@ func (x *PeerData) String() string { func (*PeerData) ProtoMessage() {} func (x *PeerData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[16] + mi := &file_hyperOutportBlock_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2086,7 +2204,7 @@ func (x *PeerData) ProtoReflect() protoreflect.Message { // Deprecated: Use PeerData.ProtoReflect.Descriptor instead. func (*PeerData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{16} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{16} } func (x *PeerData) GetAddress() []byte { @@ -2142,7 +2260,7 @@ type TransactionPool struct { func (x *TransactionPool) Reset() { *x = TransactionPool{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[17] + mi := &file_hyperOutportBlock_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2155,7 +2273,7 @@ func (x *TransactionPool) String() string { func (*TransactionPool) ProtoMessage() {} func (x *TransactionPool) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[17] + mi := &file_hyperOutportBlock_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2168,7 +2286,7 @@ func (x *TransactionPool) ProtoReflect() protoreflect.Message { // Deprecated: Use TransactionPool.ProtoReflect.Descriptor instead. func (*TransactionPool) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{17} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{17} } func (x *TransactionPool) GetTransactions() map[string]*TxInfo { @@ -2240,7 +2358,7 @@ type FeeInfo struct { func (x *FeeInfo) Reset() { *x = FeeInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[18] + mi := &file_hyperOutportBlock_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2253,7 +2371,7 @@ func (x *FeeInfo) String() string { func (*FeeInfo) ProtoMessage() {} func (x *FeeInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[18] + mi := &file_hyperOutportBlock_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2266,7 +2384,7 @@ func (x *FeeInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FeeInfo.ProtoReflect.Descriptor instead. func (*FeeInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{18} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{18} } func (x *FeeInfo) GetGasUsed() uint64 { @@ -2303,7 +2421,7 @@ type TxInfo struct { func (x *TxInfo) Reset() { *x = TxInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[19] + mi := &file_hyperOutportBlock_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2316,7 +2434,7 @@ func (x *TxInfo) String() string { func (*TxInfo) ProtoMessage() {} func (x *TxInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[19] + mi := &file_hyperOutportBlock_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2329,7 +2447,7 @@ func (x *TxInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TxInfo.ProtoReflect.Descriptor instead. func (*TxInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{19} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{19} } func (x *TxInfo) GetTransaction() *Transaction { @@ -2368,7 +2486,7 @@ type TxInfoV2 struct { func (x *TxInfoV2) Reset() { *x = TxInfoV2{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[20] + mi := &file_hyperOutportBlock_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2381,7 +2499,7 @@ func (x *TxInfoV2) String() string { func (*TxInfoV2) ProtoMessage() {} func (x *TxInfoV2) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[20] + mi := &file_hyperOutportBlock_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2394,7 +2512,7 @@ func (x *TxInfoV2) ProtoReflect() protoreflect.Message { // Deprecated: Use TxInfoV2.ProtoReflect.Descriptor instead. func (*TxInfoV2) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{20} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{20} } func (x *TxInfoV2) GetTransaction() *WrappedTx { @@ -2470,7 +2588,7 @@ type WrappedTx struct { func (x *WrappedTx) Reset() { *x = WrappedTx{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[21] + mi := &file_hyperOutportBlock_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2483,7 +2601,7 @@ func (x *WrappedTx) String() string { func (*WrappedTx) ProtoMessage() {} func (x *WrappedTx) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[21] + mi := &file_hyperOutportBlock_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2496,7 +2614,7 @@ func (x *WrappedTx) ProtoReflect() protoreflect.Message { // Deprecated: Use WrappedTx.ProtoReflect.Descriptor instead. func (*WrappedTx) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{21} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{21} } func (x *WrappedTx) GetNonce() uint64 { @@ -2708,7 +2826,7 @@ type SCRInfo struct { func (x *SCRInfo) Reset() { *x = SCRInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[22] + mi := &file_hyperOutportBlock_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2721,7 +2839,7 @@ func (x *SCRInfo) String() string { func (*SCRInfo) ProtoMessage() {} func (x *SCRInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[22] + mi := &file_hyperOutportBlock_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2734,7 +2852,7 @@ func (x *SCRInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SCRInfo.ProtoReflect.Descriptor instead. func (*SCRInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{22} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{22} } func (x *SCRInfo) GetSmartContractResult() *SmartContractResult { @@ -2770,7 +2888,7 @@ type LogData struct { func (x *LogData) Reset() { *x = LogData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[23] + mi := &file_hyperOutportBlock_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2783,7 +2901,7 @@ func (x *LogData) String() string { func (*LogData) ProtoMessage() {} func (x *LogData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[23] + mi := &file_hyperOutportBlock_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2796,7 +2914,7 @@ func (x *LogData) ProtoReflect() protoreflect.Message { // Deprecated: Use LogData.ProtoReflect.Descriptor instead. func (*LogData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{23} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{23} } func (x *LogData) GetTxHash() string { @@ -2825,7 +2943,7 @@ type RewardInfo struct { func (x *RewardInfo) Reset() { *x = RewardInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[24] + mi := &file_hyperOutportBlock_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2838,7 +2956,7 @@ func (x *RewardInfo) String() string { func (*RewardInfo) ProtoMessage() {} func (x *RewardInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[24] + mi := &file_hyperOutportBlock_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2851,7 +2969,7 @@ func (x *RewardInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use RewardInfo.ProtoReflect.Descriptor instead. func (*RewardInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{24} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{24} } func (x *RewardInfo) GetReward() *RewardTx { @@ -2882,7 +3000,7 @@ type HeaderGasConsumption struct { func (x *HeaderGasConsumption) Reset() { *x = HeaderGasConsumption{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[25] + mi := &file_hyperOutportBlock_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2895,7 +3013,7 @@ func (x *HeaderGasConsumption) String() string { func (*HeaderGasConsumption) ProtoMessage() {} func (x *HeaderGasConsumption) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[25] + mi := &file_hyperOutportBlock_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2908,7 +3026,7 @@ func (x *HeaderGasConsumption) ProtoReflect() protoreflect.Message { // Deprecated: Use HeaderGasConsumption.ProtoReflect.Descriptor instead. func (*HeaderGasConsumption) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{25} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{25} } func (x *HeaderGasConsumption) GetGasProvided() uint64 { @@ -2951,7 +3069,7 @@ type ValidatorRatingInfo struct { func (x *ValidatorRatingInfo) Reset() { *x = ValidatorRatingInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[26] + mi := &file_hyperOutportBlock_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2964,7 +3082,7 @@ func (x *ValidatorRatingInfo) String() string { func (*ValidatorRatingInfo) ProtoMessage() {} func (x *ValidatorRatingInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[26] + mi := &file_hyperOutportBlock_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2977,7 +3095,7 @@ func (x *ValidatorRatingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorRatingInfo.ProtoReflect.Descriptor instead. func (*ValidatorRatingInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{26} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{26} } func (x *ValidatorRatingInfo) GetPublicKey() string { @@ -3007,7 +3125,7 @@ type ValidatorsRating struct { func (x *ValidatorsRating) Reset() { *x = ValidatorsRating{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[27] + mi := &file_hyperOutportBlock_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3020,7 +3138,7 @@ func (x *ValidatorsRating) String() string { func (*ValidatorsRating) ProtoMessage() {} func (x *ValidatorsRating) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[27] + mi := &file_hyperOutportBlock_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3033,7 +3151,7 @@ func (x *ValidatorsRating) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorsRating.ProtoReflect.Descriptor instead. func (*ValidatorsRating) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{27} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{27} } func (x *ValidatorsRating) GetShardID() uint32 { @@ -3073,7 +3191,7 @@ type RoundInfo struct { func (x *RoundInfo) Reset() { *x = RoundInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[28] + mi := &file_hyperOutportBlock_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3086,7 +3204,7 @@ func (x *RoundInfo) String() string { func (*RoundInfo) ProtoMessage() {} func (x *RoundInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[28] + mi := &file_hyperOutportBlock_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3099,7 +3217,7 @@ func (x *RoundInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use RoundInfo.ProtoReflect.Descriptor instead. func (*RoundInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{28} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{28} } func (x *RoundInfo) GetRound() uint64 { @@ -3156,7 +3274,7 @@ type RoundsInfo struct { func (x *RoundsInfo) Reset() { *x = RoundsInfo{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[29] + mi := &file_hyperOutportBlock_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3169,7 +3287,7 @@ func (x *RoundsInfo) String() string { func (*RoundsInfo) ProtoMessage() {} func (x *RoundsInfo) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[29] + mi := &file_hyperOutportBlock_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3182,7 +3300,7 @@ func (x *RoundsInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use RoundsInfo.ProtoReflect.Descriptor instead. func (*RoundsInfo) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{29} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{29} } func (x *RoundsInfo) GetShardID() uint32 { @@ -3210,7 +3328,7 @@ type PubKeys struct { func (x *PubKeys) Reset() { *x = PubKeys{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[30] + mi := &file_hyperOutportBlock_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3223,7 +3341,7 @@ func (x *PubKeys) String() string { func (*PubKeys) ProtoMessage() {} func (x *PubKeys) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[30] + mi := &file_hyperOutportBlock_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3236,7 +3354,7 @@ func (x *PubKeys) ProtoReflect() protoreflect.Message { // Deprecated: Use PubKeys.ProtoReflect.Descriptor instead. func (*PubKeys) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{30} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{30} } func (x *PubKeys) GetKeys() [][]byte { @@ -3259,7 +3377,7 @@ type ValidatorsPubKeys struct { func (x *ValidatorsPubKeys) Reset() { *x = ValidatorsPubKeys{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[31] + mi := &file_hyperOutportBlock_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3272,7 +3390,7 @@ func (x *ValidatorsPubKeys) String() string { func (*ValidatorsPubKeys) ProtoMessage() {} func (x *ValidatorsPubKeys) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[31] + mi := &file_hyperOutportBlock_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3285,7 +3403,7 @@ func (x *ValidatorsPubKeys) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatorsPubKeys.ProtoReflect.Descriptor instead. func (*ValidatorsPubKeys) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{31} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{31} } func (x *ValidatorsPubKeys) GetShardID() uint32 { @@ -3322,7 +3440,7 @@ type Accounts struct { func (x *Accounts) Reset() { *x = Accounts{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[32] + mi := &file_hyperOutportBlock_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3335,7 +3453,7 @@ func (x *Accounts) String() string { func (*Accounts) ProtoMessage() {} func (x *Accounts) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[32] + mi := &file_hyperOutportBlock_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3348,7 +3466,7 @@ func (x *Accounts) ProtoReflect() protoreflect.Message { // Deprecated: Use Accounts.ProtoReflect.Descriptor instead. func (*Accounts) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{32} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{32} } func (x *Accounts) GetShardID() uint32 { @@ -3384,7 +3502,7 @@ type FinalizedBlock struct { func (x *FinalizedBlock) Reset() { *x = FinalizedBlock{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[33] + mi := &file_hyperOutportBlock_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3397,7 +3515,7 @@ func (x *FinalizedBlock) String() string { func (*FinalizedBlock) ProtoMessage() {} func (x *FinalizedBlock) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[33] + mi := &file_hyperOutportBlock_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3410,7 +3528,7 @@ func (x *FinalizedBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use FinalizedBlock.ProtoReflect.Descriptor instead. func (*FinalizedBlock) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{33} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{33} } func (x *FinalizedBlock) GetShardID() uint32 { @@ -3438,7 +3556,7 @@ type Shard struct { func (x *Shard) Reset() { *x = Shard{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[34] + mi := &file_hyperOutportBlock_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3451,7 +3569,7 @@ func (x *Shard) String() string { func (*Shard) ProtoMessage() {} func (x *Shard) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[34] + mi := &file_hyperOutportBlock_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3464,7 +3582,7 @@ func (x *Shard) ProtoReflect() protoreflect.Message { // Deprecated: Use Shard.ProtoReflect.Descriptor instead. func (*Shard) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{34} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{34} } func (x *Shard) GetShardID() uint32 { @@ -3485,7 +3603,7 @@ type Body struct { func (x *Body) Reset() { *x = Body{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[35] + mi := &file_hyperOutportBlock_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3498,7 +3616,7 @@ func (x *Body) String() string { func (*Body) ProtoMessage() {} func (x *Body) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[35] + mi := &file_hyperOutportBlock_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3511,7 +3629,7 @@ func (x *Body) ProtoReflect() protoreflect.Message { // Deprecated: Use Body.ProtoReflect.Descriptor instead. func (*Body) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{35} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{35} } func (x *Body) GetMiniBlocks() []*MiniBlock { @@ -3536,7 +3654,7 @@ type MiniBlock struct { func (x *MiniBlock) Reset() { *x = MiniBlock{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[36] + mi := &file_hyperOutportBlock_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3549,7 +3667,7 @@ func (x *MiniBlock) String() string { func (*MiniBlock) ProtoMessage() {} func (x *MiniBlock) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[36] + mi := &file_hyperOutportBlock_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3562,7 +3680,7 @@ func (x *MiniBlock) ProtoReflect() protoreflect.Message { // Deprecated: Use MiniBlock.ProtoReflect.Descriptor instead. func (*MiniBlock) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{36} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{36} } func (x *MiniBlock) GetTxHashes() [][]byte { @@ -3626,7 +3744,7 @@ type Transaction struct { func (x *Transaction) Reset() { *x = Transaction{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[37] + mi := &file_hyperOutportBlock_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3639,7 +3757,7 @@ func (x *Transaction) String() string { func (*Transaction) ProtoMessage() {} func (x *Transaction) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[37] + mi := &file_hyperOutportBlock_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3652,7 +3770,7 @@ func (x *Transaction) ProtoReflect() protoreflect.Message { // Deprecated: Use Transaction.ProtoReflect.Descriptor instead. func (*Transaction) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{37} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{37} } func (x *Transaction) GetNonce() uint64 { @@ -3786,7 +3904,7 @@ type SmartContractResult struct { func (x *SmartContractResult) Reset() { *x = SmartContractResult{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[38] + mi := &file_hyperOutportBlock_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3799,7 +3917,7 @@ func (x *SmartContractResult) String() string { func (*SmartContractResult) ProtoMessage() {} func (x *SmartContractResult) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[38] + mi := &file_hyperOutportBlock_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3812,7 +3930,7 @@ func (x *SmartContractResult) ProtoReflect() protoreflect.Message { // Deprecated: Use SmartContractResult.ProtoReflect.Descriptor instead. func (*SmartContractResult) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{38} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{38} } func (x *SmartContractResult) GetNonce() uint64 { @@ -3939,7 +4057,7 @@ type Log struct { func (x *Log) Reset() { *x = Log{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[39] + mi := &file_hyperOutportBlock_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3952,7 +4070,7 @@ func (x *Log) String() string { func (*Log) ProtoMessage() {} func (x *Log) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[39] + mi := &file_hyperOutportBlock_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3965,7 +4083,7 @@ func (x *Log) ProtoReflect() protoreflect.Message { // Deprecated: Use Log.ProtoReflect.Descriptor instead. func (*Log) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{39} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{39} } func (x *Log) GetAddress() []byte { @@ -3997,7 +4115,7 @@ type Event struct { func (x *Event) Reset() { *x = Event{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[40] + mi := &file_hyperOutportBlock_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4010,7 +4128,7 @@ func (x *Event) String() string { func (*Event) ProtoMessage() {} func (x *Event) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[40] + mi := &file_hyperOutportBlock_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4023,7 +4141,7 @@ func (x *Event) ProtoReflect() protoreflect.Message { // Deprecated: Use Event.ProtoReflect.Descriptor instead. func (*Event) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{40} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{40} } func (x *Event) GetAddress() []byte { @@ -4075,7 +4193,7 @@ type RewardTx struct { func (x *RewardTx) Reset() { *x = RewardTx{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[41] + mi := &file_hyperOutportBlock_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4088,7 +4206,7 @@ func (x *RewardTx) String() string { func (*RewardTx) ProtoMessage() {} func (x *RewardTx) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[41] + mi := &file_hyperOutportBlock_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4101,7 +4219,7 @@ func (x *RewardTx) ProtoReflect() protoreflect.Message { // Deprecated: Use RewardTx.ProtoReflect.Descriptor instead. func (*RewardTx) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{41} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{41} } func (x *RewardTx) GetRound() uint64 { @@ -4147,7 +4265,7 @@ type AlteredAccount struct { func (x *AlteredAccount) Reset() { *x = AlteredAccount{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[42] + mi := &file_hyperOutportBlock_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4160,7 +4278,7 @@ func (x *AlteredAccount) String() string { func (*AlteredAccount) ProtoMessage() {} func (x *AlteredAccount) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[42] + mi := &file_hyperOutportBlock_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4173,7 +4291,7 @@ func (x *AlteredAccount) ProtoReflect() protoreflect.Message { // Deprecated: Use AlteredAccount.ProtoReflect.Descriptor instead. func (*AlteredAccount) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{42} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{42} } func (x *AlteredAccount) GetAddress() string { @@ -4227,7 +4345,7 @@ type AccountTokenData struct { func (x *AccountTokenData) Reset() { *x = AccountTokenData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[43] + mi := &file_hyperOutportBlock_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4240,7 +4358,7 @@ func (x *AccountTokenData) String() string { func (*AccountTokenData) ProtoMessage() {} func (x *AccountTokenData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[43] + mi := &file_hyperOutportBlock_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4253,7 +4371,7 @@ func (x *AccountTokenData) ProtoReflect() protoreflect.Message { // Deprecated: Use AccountTokenData.ProtoReflect.Descriptor instead. func (*AccountTokenData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{43} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{43} } func (x *AccountTokenData) GetNonce() uint64 { @@ -4315,7 +4433,7 @@ type TokenMetaData struct { func (x *TokenMetaData) Reset() { *x = TokenMetaData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[44] + mi := &file_hyperOutportBlock_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4328,7 +4446,7 @@ func (x *TokenMetaData) String() string { func (*TokenMetaData) ProtoMessage() {} func (x *TokenMetaData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[44] + mi := &file_hyperOutportBlock_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4341,7 +4459,7 @@ func (x *TokenMetaData) ProtoReflect() protoreflect.Message { // Deprecated: Use TokenMetaData.ProtoReflect.Descriptor instead. func (*TokenMetaData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{44} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{44} } func (x *TokenMetaData) GetNonce() uint64 { @@ -4404,7 +4522,7 @@ type AdditionalAccountTokenData struct { func (x *AdditionalAccountTokenData) Reset() { *x = AdditionalAccountTokenData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[45] + mi := &file_hyperOutportBlock_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4417,7 +4535,7 @@ func (x *AdditionalAccountTokenData) String() string { func (*AdditionalAccountTokenData) ProtoMessage() {} func (x *AdditionalAccountTokenData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[45] + mi := &file_hyperOutportBlock_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4430,7 +4548,7 @@ func (x *AdditionalAccountTokenData) ProtoReflect() protoreflect.Message { // Deprecated: Use AdditionalAccountTokenData.ProtoReflect.Descriptor instead. func (*AdditionalAccountTokenData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{45} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{45} } func (x *AdditionalAccountTokenData) GetIsNFTCreate() bool { @@ -4458,7 +4576,7 @@ type AdditionalAccountData struct { func (x *AdditionalAccountData) Reset() { *x = AdditionalAccountData{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[46] + mi := &file_hyperOutportBlock_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4471,7 +4589,7 @@ func (x *AdditionalAccountData) String() string { func (*AdditionalAccountData) ProtoMessage() {} func (x *AdditionalAccountData) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[46] + mi := &file_hyperOutportBlock_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4484,7 +4602,7 @@ func (x *AdditionalAccountData) ProtoReflect() protoreflect.Message { // Deprecated: Use AdditionalAccountData.ProtoReflect.Descriptor instead. func (*AdditionalAccountData) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{46} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{46} } func (x *AdditionalAccountData) GetIsSender() bool { @@ -4557,7 +4675,7 @@ type Receipt struct { func (x *Receipt) Reset() { *x = Receipt{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[47] + mi := &file_hyperOutportBlock_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4570,7 +4688,7 @@ func (x *Receipt) String() string { func (*Receipt) ProtoMessage() {} func (x *Receipt) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[47] + mi := &file_hyperOutportBlock_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4583,7 +4701,7 @@ func (x *Receipt) ProtoReflect() protoreflect.Message { // Deprecated: Use Receipt.ProtoReflect.Descriptor instead. func (*Receipt) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{47} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{47} } func (x *Receipt) GetValue() []byte { @@ -4625,7 +4743,7 @@ type BigInt struct { func (x *BigInt) Reset() { *x = BigInt{} if protoimpl.UnsafeEnabled { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[48] + mi := &file_hyperOutportBlock_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4638,7 +4756,7 @@ func (x *BigInt) String() string { func (*BigInt) ProtoMessage() {} func (x *BigInt) ProtoReflect() protoreflect.Message { - mi := &file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[48] + mi := &file_hyperOutportBlock_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4651,7 +4769,7 @@ func (x *BigInt) ProtoReflect() protoreflect.Message { // Deprecated: Use BigInt.ProtoReflect.Descriptor instead. func (*BigInt) Descriptor() ([]byte, []int) { - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP(), []int{48} + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{48} } func (x *BigInt) GetBytes() []byte { @@ -4661,94 +4779,350 @@ func (x *BigInt) GetBytes() []byte { return nil } -var File_data_hyperOutportBlocks_hyperOutportBlock_proto protoreflect.FileDescriptor - -var file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDesc = []byte{ - 0x0a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x4f, - 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x48, 0x79, 0x70, - 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x43, - 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x12, 0x63, 0x0a, 0x1b, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x1b, 0x4e, 0x6f, 0x74, - 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x75, 0x74, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, - 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, - 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x61, 0x72, - 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x0c, 0x4f, 0x75, 0x74, - 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, - 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x6f, - 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x9c, 0x05, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, - 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x32, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0f, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0f, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, - 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, - 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, - 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, - 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x36, 0x0a, - 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x48, - 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x59, 0x0a, 0x14, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9a, 0x05, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, +type StateChanges struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StateChanges []*StateChange `protobuf:"bytes,1,rep,name=StateChanges,proto3" json:"StateChanges,omitempty"` +} + +func (x *StateChanges) Reset() { + *x = StateChanges{} + if protoimpl.UnsafeEnabled { + mi := &file_hyperOutportBlock_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StateChanges) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StateChanges) ProtoMessage() {} + +func (x *StateChanges) ProtoReflect() protoreflect.Message { + mi := &file_hyperOutportBlock_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StateChanges.ProtoReflect.Descriptor instead. +func (*StateChanges) Descriptor() ([]byte, []int) { + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{49} +} + +func (x *StateChanges) GetStateChanges() []*StateChange { + if x != nil { + return x.StateChanges + } + return nil +} + +type StateChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type ActionType `protobuf:"varint,1,opt,name=Type,proto3,enum=proto.ActionType" json:"Type,omitempty"` + Index int32 `protobuf:"varint,2,opt,name=Index,proto3" json:"Index,omitempty"` + TxHash []byte `protobuf:"bytes,3,opt,name=TxHash,proto3" json:"TxHash,omitempty"` + MainTrieKey []byte `protobuf:"bytes,4,opt,name=MainTrieKey,proto3" json:"MainTrieKey,omitempty"` + MainTrieVal []byte `protobuf:"bytes,5,opt,name=MainTrieVal,proto3" json:"MainTrieVal,omitempty"` + Operation Operation `protobuf:"varint,6,opt,name=Operation,proto3,enum=proto.Operation" json:"Operation,omitempty"` + DataTrieChanges []*DataTrieChange `protobuf:"bytes,7,rep,name=DataTrieChanges,proto3" json:"DataTrieChanges,omitempty"` +} + +func (x *StateChange) Reset() { + *x = StateChange{} + if protoimpl.UnsafeEnabled { + mi := &file_hyperOutportBlock_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StateChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StateChange) ProtoMessage() {} + +func (x *StateChange) ProtoReflect() protoreflect.Message { + mi := &file_hyperOutportBlock_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StateChange.ProtoReflect.Descriptor instead. +func (*StateChange) Descriptor() ([]byte, []int) { + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{50} +} + +func (x *StateChange) GetType() ActionType { + if x != nil { + return x.Type + } + return ActionType_Read +} + +func (x *StateChange) GetIndex() int32 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *StateChange) GetTxHash() []byte { + if x != nil { + return x.TxHash + } + return nil +} + +func (x *StateChange) GetMainTrieKey() []byte { + if x != nil { + return x.MainTrieKey + } + return nil +} + +func (x *StateChange) GetMainTrieVal() []byte { + if x != nil { + return x.MainTrieVal + } + return nil +} + +func (x *StateChange) GetOperation() Operation { + if x != nil { + return x.Operation + } + return Operation_GetCode +} + +func (x *StateChange) GetDataTrieChanges() []*DataTrieChange { + if x != nil { + return x.DataTrieChanges + } + return nil +} + +type DataTrieChange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type ActionType `protobuf:"varint,1,opt,name=Type,proto3,enum=proto.ActionType" json:"Type,omitempty"` + Key []byte `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` + Val []byte `protobuf:"bytes,3,opt,name=Val,proto3" json:"Val,omitempty"` +} + +func (x *DataTrieChange) Reset() { + *x = DataTrieChange{} + if protoimpl.UnsafeEnabled { + mi := &file_hyperOutportBlock_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataTrieChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataTrieChange) ProtoMessage() {} + +func (x *DataTrieChange) ProtoReflect() protoreflect.Message { + mi := &file_hyperOutportBlock_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataTrieChange.ProtoReflect.Descriptor instead. +func (*DataTrieChange) Descriptor() ([]byte, []int) { + return file_hyperOutportBlock_proto_rawDescGZIP(), []int{51} +} + +func (x *DataTrieChange) GetType() ActionType { + if x != nil { + return x.Type + } + return ActionType_Read +} + +func (x *DataTrieChange) GetKey() []byte { + if x != nil { + return x.Key + } + return nil +} + +func (x *DataTrieChange) GetVal() []byte { + if x != nil { + return x.Val + } + return nil +} + +var File_hyperOutportBlock_proto protoreflect.FileDescriptor + +var file_hyperOutportBlock_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x68, 0x79, 0x70, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x48, 0x79, 0x70, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x43, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, + 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x4f, + 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x63, 0x0a, 0x1b, 0x4e, + 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, + 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, + 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x1b, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x22, 0x8c, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x30, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x4e, 0x6f, + 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x3c, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x52, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, + 0xc1, 0x06, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x32, + 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6f, 0x6c, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, + 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, + 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, + 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x4e, + 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, + 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x0a, + 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, + 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, + 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x48, 0x69, + 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x4d, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x1a, 0x59, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, + 0x11, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x9a, 0x05, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, + 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x74, + 0x52, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x36, 0x0a, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, + 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, + 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, + 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, + 0x34, 0x0a, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, + 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x59, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xc8, 0x06, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, + 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6f, 0x6c, 0x56, 0x32, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, + 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x48, @@ -4766,1001 +5140,1021 @@ var file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDesc = []byte{ 0x63, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x59, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xa0, 0x05, 0x0a, 0x13, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, - 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x32, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x0f, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, - 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x4e, 0x6f, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, - 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x36, 0x0a, - 0x16, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x48, - 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, - 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x59, 0x0a, 0x14, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9, 0x02, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x32, 0x12, 0x4e, 0x0a, 0x0c, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x32, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x24, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x24, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, 0x43, 0x52, - 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x5e, 0x0a, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, - 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, - 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x1a, 0x50, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, - 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xdc, 0x06, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, - 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, - 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, - 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, - 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, - 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, - 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x31, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x10, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x50, 0x65, 0x65, 0x72, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x65, 0x74, - 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, - 0x68, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, - 0x12, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, - 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x48, 0x61, 0x73, 0x68, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x53, - 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, - 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, - 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x64, 0x22, 0xac, 0x07, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, - 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, - 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x2e, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2b, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, - 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, - 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x50, - 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, - 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x50, - 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, - 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, - 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x42, 0x0a, 0x10, 0x4d, - 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, - 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x10, 0x4d, - 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x48, 0x61, 0x73, 0x68, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x0a, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x0a, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, - 0x44, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, + 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x50, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x70, + 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x56, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x59, 0x0a, 0x14, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9, 0x02, 0x0a, 0x11, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x56, + 0x32, 0x12, 0x4e, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x56, + 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x52, 0x0a, 0x24, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x24, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5e, 0x0a, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x54, 0x78, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x50, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x06, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x76, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x50, 0x72, 0x65, 0x76, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, + 0x53, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x50, 0x72, 0x65, 0x76, + 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, + 0x53, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x64, + 0x53, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, + 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x31, + 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x64, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x28, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x4d, 0x69, 0x6e, + 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x10, 0x4d, 0x69, 0x6e, + 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, + 0x0b, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, + 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x78, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x48, 0x61, 0x73, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x48, 0x61, + 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, + 0x74, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x53, 0x6f, 0x66, 0x74, 0x77, + 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, - 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x15, 0x20, + 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x0d, - 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, 0x17, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, - 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x44, 0x65, 0x76, 0x46, - 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x78, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x54, 0x78, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x28, - 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x78, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, - 0x46, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x50, - 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x44, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x44, 0x65, 0x73, 0x74, 0x22, 0xb3, 0x04, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, - 0x25, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, - 0x79, 0x52, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x44, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x72, 0x61, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, - 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x14, 0x49, 0x6e, 0x74, 0x72, 0x61, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2c, 0x0a, - 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x18, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, - 0x32, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, - 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, - 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x22, 0xbb, 0x04, - 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x29, 0x0a, 0x06, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, - 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x44, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x72, 0x61, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x14, 0x49, 0x6e, 0x74, 0x72, 0x61, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x18, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, - 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, 0x32, 0x0a, - 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, - 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x65, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, - 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x09, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x4c, 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x15, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, - 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, - 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x78, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x54, 0x78, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, - 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x50, 0x72, 0x65, - 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x4e, - 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x4e, 0x75, 0x6d, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, + 0x46, 0x65, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x44, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0xac, 0x07, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2e, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x28, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, + 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, + 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x42, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x10, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x70, 0x74, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x0a, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x0a, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, - 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, - 0x34, 0x0a, 0x15, 0x4c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, - 0x65, 0x74, 0x61, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, - 0x4c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x0a, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x4e, 0x0a, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x14, - 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x52, 0x09, 0x45, 0x63, 0x6f, 0x6e, 0x6f, - 0x6d, 0x69, 0x63, 0x73, 0x22, 0x99, 0x03, 0x0a, 0x13, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x34, 0x0a, 0x15, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x15, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x34, 0x0a, 0x15, 0x4c, 0x61, 0x73, 0x74, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x50, - 0x0a, 0x17, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x17, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, - 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x53, + 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x41, 0x63, 0x63, + 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x41, 0x63, 0x63, 0x75, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, + 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x46, 0x65, + 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0e, 0x44, 0x65, 0x76, 0x46, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, + 0x18, 0x0a, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, + 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, + 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, + 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x22, 0x46, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x44, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x44, 0x65, 0x73, 0x74, 0x22, 0xb3, 0x04, 0x0a, + 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x42, + 0x6f, 0x64, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x44, 0x0a, 0x14, + 0x49, 0x6e, 0x74, 0x72, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x14, 0x49, 0x6e, + 0x74, 0x72, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, + 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x22, 0xfd, 0x02, 0x0a, 0x09, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x77, 0x6c, 0x79, 0x4d, 0x69, 0x6e, 0x74, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, - 0x65, 0x77, 0x6c, 0x79, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x65, 0x72, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x20, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, - 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x75, 0x73, 0x74, 0x61, 0x69, - 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x20, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x53, 0x75, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x30, - 0x0a, 0x13, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x50, 0x72, 0x65, - 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x50, 0x72, - 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x22, 0xad, 0x01, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, - 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, - 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x22, 0xf9, 0x07, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4c, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, - 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x64, 0x0a, 0x14, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x14, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, - 0x6c, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x70, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, - 0x6c, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x08, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, - 0x73, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x24, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, 0x61, - 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x24, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5e, 0x0a, 0x2a, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, - 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x2a, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x4e, 0x0a, 0x11, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, 0x0a, 0x19, 0x53, 0x6d, 0x61, - 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x3a, 0x0a, 0x18, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, + 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x18, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, + 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x64, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x32, + 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x65, 0x64, 0x22, 0xbb, 0x04, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x29, + 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x04, 0x42, 0x6f, 0x64, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x44, 0x0a, 0x14, 0x49, 0x6e, + 0x74, 0x72, 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x14, 0x49, 0x6e, 0x74, 0x72, + 0x61, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, + 0x0a, 0x18, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x18, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x75, 0x6d, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, + 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, + 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x14, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, + 0x22, 0x97, 0x04, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4c, 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, + 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x15, 0x53, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x76, 0x52, 0x61, + 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x50, 0x72, + 0x65, 0x76, 0x52, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0d, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, + 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x54, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x08, 0x50, 0x72, 0x65, 0x76, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, + 0x12, 0x32, 0x0a, 0x14, 0x4e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, + 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, + 0x4e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x41, + 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x46, 0x65, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x46, 0x65, 0x65, 0x73, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x46, 0x65, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x4c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x15, 0x4c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x4d, 0x65, 0x74, 0x61, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x0a, 0x45, + 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4e, 0x0a, 0x14, 0x4c, 0x61, 0x73, + 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x14, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x45, 0x63, 0x6f, + 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x52, 0x09, + 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x22, 0x99, 0x03, 0x0a, 0x13, 0x45, 0x70, + 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x68, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x52, + 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, + 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x34, 0x0a, 0x15, 0x46, 0x69, 0x72, 0x73, 0x74, + 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x34, 0x0a, + 0x15, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x65, 0x74, + 0x61, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x4c, 0x61, + 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x17, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, + 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, + 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x17, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x6f, 0x6f, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0xfd, 0x02, 0x0a, 0x09, 0x45, 0x63, 0x6f, 0x6e, 0x6f, 0x6d, + 0x69, 0x63, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x77, 0x6c, + 0x79, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x77, 0x6c, 0x79, 0x4d, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x12, + 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x20, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, + 0x75, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x20, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x75, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x13, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, + 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x12, 0x50, 0x72, 0x65, 0x76, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf9, 0x07, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4c, 0x0a, 0x0c, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x64, 0x0a, 0x14, 0x53, 0x6d, 0x61, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, 0x6d, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3d, 0x0a, + 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x40, 0x0a, 0x08, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x12, 0x46, + 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x54, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x24, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, + 0x43, 0x52, 0x53, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x24, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x53, 0x43, 0x52, 0x53, 0x48, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5e, + 0x0a, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x2a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x48, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a, 0x4e, + 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x78, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x57, + 0x0a, 0x19, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x43, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, + 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x53, 0x43, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x4d, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x4b, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x70, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, - 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x78, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x78, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x07, - 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x73, 0x55, 0x73, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x47, 0x61, 0x73, 0x55, 0x73, 0x65, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x46, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, - 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x61, - 0x69, 0x64, 0x46, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x69, 0x64, 0x46, 0x65, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x06, - 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, - 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x46, - 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xe2, - 0x01, 0x0a, 0x08, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x0b, 0x54, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x5d, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, + 0x47, 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x47, + 0x61, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x46, 0x65, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x03, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x50, 0x61, 0x69, 0x64, 0x46, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x69, 0x64, 0x46, 0x65, 0x65, + 0x22, 0x90, 0x01, 0x0a, 0x06, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x54, 0x78, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x07, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x52, 0x07, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x70, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x78, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, - 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x54, 0x78, 0x52, 0x09, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x54, 0x78, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x4c, - 0x6f, 0x67, 0x73, 0x22, 0xe4, 0x06, 0x0a, 0x09, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x54, - 0x78, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x63, - 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, 0x64, - 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x53, 0x6e, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, - 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x47, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x65, - 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x50, - 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, - 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, - 0x6f, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1c, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x78, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x06, 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x53, - 0x43, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x65, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x22, 0xe2, 0x01, 0x0a, 0x08, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x32, + 0x12, 0x32, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x64, 0x54, 0x78, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x65, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, - 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3f, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x03, 0x4c, 0x6f, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, - 0x6f, 0x67, 0x52, 0x03, 0x4c, 0x6f, 0x67, 0x22, 0x5d, 0x0a, 0x0a, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x54, 0x78, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, 0x75, 0x6e, - 0x64, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x47, 0x61, 0x73, 0x50, 0x65, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x78, 0x47, 0x61, - 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0e, 0x4d, 0x61, 0x78, 0x47, 0x61, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, - 0x4b, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x92, 0x01, 0x0a, - 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, - 0x68, 0x12, 0x4e, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x2a, 0x0a, - 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x61, - 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x58, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, - 0x30, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x6e, - 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x1d, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x4b, 0x65, 0x79, 0x73, - 0x22, 0x8c, 0x02, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, - 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, + 0x0a, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x52, + 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x54, 0x78, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x54, 0x78, 0x52, 0x09, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x78, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, + 0x6f, 0x67, 0x52, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0xe4, 0x06, 0x0a, 0x09, 0x57, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x64, 0x54, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, + 0x52, 0x63, 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x53, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, + 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, + 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, + 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, + 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, + 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, + 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x54, 0x78, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x22, + 0xa9, 0x01, 0x0a, 0x07, 0x53, 0x43, 0x52, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x13, 0x53, + 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x46, 0x65, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x46, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x46, 0x65, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x3f, 0x0a, 0x07, 0x4c, + 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, + 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x4c, 0x6f, 0x67, 0x22, 0x5d, 0x0a, 0x0a, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x06, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x78, 0x52, 0x06, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xa6, 0x01, 0x0a, 0x14, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x47, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x47, 0x61, 0x73, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x61, 0x73, 0x52, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x47, 0x61, 0x73, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x61, 0x73, 0x50, + 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x47, 0x61, 0x73, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, + 0x4d, 0x61, 0x78, 0x47, 0x61, 0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x4d, 0x61, 0x78, 0x47, 0x61, 0x73, 0x50, 0x65, 0x72, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x4b, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, - 0x12, 0x6c, 0x0a, 0x16, 0x53, 0x68, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x53, 0x68, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x59, 0x0a, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xf7, 0x01, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4e, - 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x59, - 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x0e, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x53, + 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4e, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x6e, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, + 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x73, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1c, + 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x58, 0x0a, 0x0a, + 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1d, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, + 0x04, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x8c, 0x02, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, - 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x48, 0x61, 0x73, 0x68, 0x22, 0x21, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x22, 0x38, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, - 0x12, 0x30, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, - 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x08, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, - 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x53, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1f, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0xbb, 0x03, 0x0a, 0x0b, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x53, - 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x53, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x47, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x47, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xf1, 0x03, 0x0a, 0x13, 0x53, 0x6d, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x6c, 0x0a, 0x16, 0x53, 0x68, 0x61, 0x72, 0x64, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x2e, + 0x53, 0x68, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, + 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x59, 0x0a, 0x1b, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x01, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x4e, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x1a, 0x59, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, + 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x22, 0x21, 0x0a, 0x05, 0x53, 0x68, + 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x22, 0x38, 0x0a, + 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x30, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0a, 0x4d, 0x69, 0x6e, + 0x69, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x69, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, + 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, + 0x44, 0x12, 0x1f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0xbb, + 0x03, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, + 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x63, + 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x52, 0x63, 0x76, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x63, 0x76, 0x55, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x53, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0c, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2c, + 0x0a, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xf1, 0x03, 0x0a, + 0x13, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, + 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, + 0x6c, 0x61, 0x79, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, + 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, + 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x22, 0x45, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x24, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x54, 0x6f, 0x70, + 0x69, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, + 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, + 0x66, 0x0a, 0x08, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x52, + 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x52, 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x22, 0xd1, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xff, 0x01, 0x0a, 0x10, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x30, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x49, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, + 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, - 0x63, 0x76, 0x41, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x52, 0x63, - 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, - 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x76, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, - 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, - 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x64, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, - 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x45, 0x0a, 0x03, 0x4c, - 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x06, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0x66, 0x0a, 0x08, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x54, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x63, 0x76, 0x41, - 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x52, 0x63, 0x76, 0x41, 0x64, - 0x64, 0x72, 0x22, 0xd1, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x2f, 0x0a, 0x06, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x12, 0x44, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xff, 0x01, 0x0a, 0x10, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x4e, - 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x4d, - 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, - 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x52, 0x6f, 0x79, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x52, 0x6f, 0x79, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x12, 0x0a, 0x04, 0x55, 0x52, 0x49, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, - 0x55, 0x52, 0x49, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x4e, 0x46, 0x54, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x4e, 0x46, 0x54, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x49, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x49, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x44, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, - 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x52, 0x6f, - 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x43, 0x6f, - 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x65, 0x0a, 0x07, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, - 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x6e, - 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x78, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x22, 0x1e, 0x0a, 0x06, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x2a, 0xa4, 0x01, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x65, 0x65, - 0x72, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, - 0x50, 0x65, 0x65, 0x72, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, 0x4a, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x65, 0x65, 0x72, 0x55, 0x6e, 0x4a, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x53, 0x6c, - 0x61, 0x73, 0x68, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x10, 0x07, 0x2a, 0x36, 0x0a, 0x06, 0x54, 0x78, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x43, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x54, 0x78, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x03, - 0x2a, 0x88, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x78, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x1e, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x10, 0x3c, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x10, 0x5a, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x10, 0x78, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x96, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xff, 0x01, 0x42, 0x51, 0x5a, 0x4f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x76, - 0x65, 0x72, 0x73, 0x78, 0x2f, 0x6d, 0x78, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2d, 0x77, 0x73, - 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x66, 0x69, 0x72, 0x65, 0x68, - 0x6f, 0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x68, 0x79, 0x70, 0x65, - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x6f, 0x79, 0x61, 0x6c, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x52, 0x6f, 0x79, 0x61, 0x6c, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x52, 0x49, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0c, 0x52, 0x04, 0x55, 0x52, 0x49, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x4e, 0x46, 0x54, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, + 0x4e, 0x46, 0x54, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, + 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, + 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73, 0x68, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x43, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, + 0x1a, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x52, 0x6f, 0x6f, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x43, + 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0c, 0x43, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x65, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x53, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, + 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x22, 0x1e, 0x0a, 0x06, 0x42, 0x69, 0x67, 0x49, 0x6e, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x46, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x97, + 0x02, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x54, + 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x54, 0x78, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x65, 0x4b, + 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x72, + 0x69, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x69, + 0x65, 0x56, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x4d, 0x61, 0x69, 0x6e, + 0x54, 0x72, 0x69, 0x65, 0x56, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x54, + 0x72, 0x69, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x72, 0x69, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x54, 0x72, 0x69, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x72, 0x69, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, + 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x03, 0x56, 0x61, 0x6c, 0x2a, 0xa4, 0x01, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x50, 0x65, 0x65, 0x72, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x02, + 0x12, 0x16, 0x0a, 0x12, 0x50, 0x65, 0x65, 0x72, 0x44, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x65, 0x65, 0x72, + 0x4a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x65, 0x65, 0x72, + 0x55, 0x6e, 0x4a, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x65, + 0x65, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x10, 0x07, 0x2a, 0x36, 0x0a, 0x06, + 0x54, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x43, 0x52, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x78, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, + 0x07, 0x54, 0x78, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x1e, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x65, + 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x3c, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x6d, 0x61, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x5a, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x78, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x70, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x96, 0x01, 0x12, 0x11, 0x0a, 0x0c, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xff, 0x01, 0x2a, + 0x21, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, + 0x04, 0x52, 0x65, 0x61, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x10, 0x01, 0x2a, 0x5c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0b, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x61, 0x76, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x02, 0x12, 0x0d, 0x0a, + 0x09, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x54, 0x72, 0x69, 0x65, 0x10, 0x04, + 0x42, 0x51, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x76, 0x65, 0x72, 0x73, 0x78, 0x2f, 0x6d, 0x78, 0x2d, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x2d, 0x77, 0x73, 0x2d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, + 0x66, 0x69, 0x72, 0x65, 0x68, 0x6f, 0x73, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescOnce sync.Once - file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescData = file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDesc + file_hyperOutportBlock_proto_rawDescOnce sync.Once + file_hyperOutportBlock_proto_rawDescData = file_hyperOutportBlock_proto_rawDesc ) -func file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescGZIP() []byte { - file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescOnce.Do(func() { - file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescData = protoimpl.X.CompressGZIP(file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescData) +func file_hyperOutportBlock_proto_rawDescGZIP() []byte { + file_hyperOutportBlock_proto_rawDescOnce.Do(func() { + file_hyperOutportBlock_proto_rawDescData = protoimpl.X.CompressGZIP(file_hyperOutportBlock_proto_rawDescData) }) - return file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDescData + return file_hyperOutportBlock_proto_rawDescData } -var file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes = make([]protoimpl.MessageInfo, 60) -var file_data_hyperOutportBlocks_hyperOutportBlock_proto_goTypes = []interface{}{ +var file_hyperOutportBlock_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_hyperOutportBlock_proto_msgTypes = make([]protoimpl.MessageInfo, 65) +var file_hyperOutportBlock_proto_goTypes = []interface{}{ (PeerAction)(0), // 0: proto.PeerAction (TxType)(0), // 1: proto.TxType (Type)(0), // 2: proto.Type - (*HyperOutportBlock)(nil), // 3: proto.HyperOutportBlock - (*NotarizedHeaderOutportData)(nil), // 4: proto.NotarizedHeaderOutportData - (*MetaOutportBlock)(nil), // 5: proto.MetaOutportBlock - (*ShardOutportBlock)(nil), // 6: proto.ShardOutportBlock - (*ShardOutportBlockV2)(nil), // 7: proto.ShardOutportBlockV2 - (*TransactionPoolV2)(nil), // 8: proto.TransactionPoolV2 - (*Header)(nil), // 9: proto.Header - (*MetaHeader)(nil), // 10: proto.MetaHeader - (*MiniBlockHeader)(nil), // 11: proto.MiniBlockHeader - (*PeerChange)(nil), // 12: proto.PeerChange - (*BlockData)(nil), // 13: proto.BlockData - (*MetaBlockData)(nil), // 14: proto.MetaBlockData - (*ShardData)(nil), // 15: proto.ShardData - (*EpochStart)(nil), // 16: proto.EpochStart - (*EpochStartShardData)(nil), // 17: proto.EpochStartShardData - (*Economics)(nil), // 18: proto.Economics - (*PeerData)(nil), // 19: proto.PeerData - (*TransactionPool)(nil), // 20: proto.TransactionPool - (*FeeInfo)(nil), // 21: proto.FeeInfo - (*TxInfo)(nil), // 22: proto.TxInfo - (*TxInfoV2)(nil), // 23: proto.TxInfoV2 - (*WrappedTx)(nil), // 24: proto.WrappedTx - (*SCRInfo)(nil), // 25: proto.SCRInfo - (*LogData)(nil), // 26: proto.LogData - (*RewardInfo)(nil), // 27: proto.RewardInfo - (*HeaderGasConsumption)(nil), // 28: proto.HeaderGasConsumption - (*ValidatorRatingInfo)(nil), // 29: proto.ValidatorRatingInfo - (*ValidatorsRating)(nil), // 30: proto.ValidatorsRating - (*RoundInfo)(nil), // 31: proto.RoundInfo - (*RoundsInfo)(nil), // 32: proto.RoundsInfo - (*PubKeys)(nil), // 33: proto.PubKeys - (*ValidatorsPubKeys)(nil), // 34: proto.ValidatorsPubKeys - (*Accounts)(nil), // 35: proto.Accounts - (*FinalizedBlock)(nil), // 36: proto.FinalizedBlock - (*Shard)(nil), // 37: proto.Shard - (*Body)(nil), // 38: proto.Body - (*MiniBlock)(nil), // 39: proto.MiniBlock - (*Transaction)(nil), // 40: proto.Transaction - (*SmartContractResult)(nil), // 41: proto.SmartContractResult - (*Log)(nil), // 42: proto.Log - (*Event)(nil), // 43: proto.Event - (*RewardTx)(nil), // 44: proto.RewardTx - (*AlteredAccount)(nil), // 45: proto.AlteredAccount - (*AccountTokenData)(nil), // 46: proto.AccountTokenData - (*TokenMetaData)(nil), // 47: proto.TokenMetaData - (*AdditionalAccountTokenData)(nil), // 48: proto.AdditionalAccountTokenData - (*AdditionalAccountData)(nil), // 49: proto.AdditionalAccountData - (*Receipt)(nil), // 50: proto.Receipt - (*BigInt)(nil), // 51: proto.BigInt - nil, // 52: proto.MetaOutportBlock.AlteredAccountsEntry - nil, // 53: proto.ShardOutportBlock.AlteredAccountsEntry - nil, // 54: proto.ShardOutportBlockV2.AlteredAccountsEntry - nil, // 55: proto.TransactionPoolV2.TransactionsEntry - nil, // 56: proto.TransactionPool.TransactionsEntry - nil, // 57: proto.TransactionPool.SmartContractResultsEntry - nil, // 58: proto.TransactionPool.RewardsEntry - nil, // 59: proto.TransactionPool.ReceiptsEntry - nil, // 60: proto.TransactionPool.InvalidTxsEntry - nil, // 61: proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry - nil, // 62: proto.Accounts.AlteredAccountsEntry -} -var file_data_hyperOutportBlocks_hyperOutportBlock_proto_depIdxs = []int32{ - 5, // 0: proto.HyperOutportBlock.MetaOutportBlock:type_name -> proto.MetaOutportBlock - 4, // 1: proto.HyperOutportBlock.NotarizedHeadersOutportData:type_name -> proto.NotarizedHeaderOutportData - 6, // 2: proto.NotarizedHeaderOutportData.OutportBlock:type_name -> proto.ShardOutportBlock - 14, // 3: proto.MetaOutportBlock.BlockData:type_name -> proto.MetaBlockData - 20, // 4: proto.MetaOutportBlock.TransactionPool:type_name -> proto.TransactionPool - 28, // 5: proto.MetaOutportBlock.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption - 52, // 6: proto.MetaOutportBlock.AlteredAccounts:type_name -> proto.MetaOutportBlock.AlteredAccountsEntry - 13, // 7: proto.ShardOutportBlock.BlockData:type_name -> proto.BlockData - 20, // 8: proto.ShardOutportBlock.TransactionPool:type_name -> proto.TransactionPool - 28, // 9: proto.ShardOutportBlock.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption - 53, // 10: proto.ShardOutportBlock.AlteredAccounts:type_name -> proto.ShardOutportBlock.AlteredAccountsEntry - 13, // 11: proto.ShardOutportBlockV2.BlockData:type_name -> proto.BlockData - 8, // 12: proto.ShardOutportBlockV2.TransactionPool:type_name -> proto.TransactionPoolV2 - 28, // 13: proto.ShardOutportBlockV2.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption - 54, // 14: proto.ShardOutportBlockV2.AlteredAccounts:type_name -> proto.ShardOutportBlockV2.AlteredAccountsEntry - 55, // 15: proto.TransactionPoolV2.Transactions:type_name -> proto.TransactionPoolV2.TransactionsEntry - 2, // 16: proto.Header.BlockBodyType:type_name -> proto.Type - 11, // 17: proto.Header.MiniBlockHeaders:type_name -> proto.MiniBlockHeader - 12, // 18: proto.Header.PeerChanges:type_name -> proto.PeerChange - 15, // 19: proto.MetaHeader.ShardInfo:type_name -> proto.ShardData - 19, // 20: proto.MetaHeader.PeerInfo:type_name -> proto.PeerData - 11, // 21: proto.MetaHeader.MiniBlockHeaders:type_name -> proto.MiniBlockHeader - 16, // 22: proto.MetaHeader.EpochStart:type_name -> proto.EpochStart - 2, // 23: proto.MiniBlockHeader.Type:type_name -> proto.Type - 9, // 24: proto.BlockData.Header:type_name -> proto.Header - 38, // 25: proto.BlockData.Body:type_name -> proto.Body - 39, // 26: proto.BlockData.IntraShardMiniBlocks:type_name -> proto.MiniBlock - 10, // 27: proto.MetaBlockData.Header:type_name -> proto.MetaHeader - 38, // 28: proto.MetaBlockData.Body:type_name -> proto.Body - 39, // 29: proto.MetaBlockData.IntraShardMiniBlocks:type_name -> proto.MiniBlock - 11, // 30: proto.ShardData.ShardMiniBlockHeaders:type_name -> proto.MiniBlockHeader - 17, // 31: proto.EpochStart.LastFinalizedHeaders:type_name -> proto.EpochStartShardData - 18, // 32: proto.EpochStart.Economics:type_name -> proto.Economics - 11, // 33: proto.EpochStartShardData.PendingMiniBlockHeaders:type_name -> proto.MiniBlockHeader - 0, // 34: proto.PeerData.Action:type_name -> proto.PeerAction - 56, // 35: proto.TransactionPool.Transactions:type_name -> proto.TransactionPool.TransactionsEntry - 57, // 36: proto.TransactionPool.SmartContractResults:type_name -> proto.TransactionPool.SmartContractResultsEntry - 58, // 37: proto.TransactionPool.Rewards:type_name -> proto.TransactionPool.RewardsEntry - 59, // 38: proto.TransactionPool.Receipts:type_name -> proto.TransactionPool.ReceiptsEntry - 60, // 39: proto.TransactionPool.InvalidTxs:type_name -> proto.TransactionPool.InvalidTxsEntry - 26, // 40: proto.TransactionPool.Logs:type_name -> proto.LogData - 40, // 41: proto.TxInfo.Transaction:type_name -> proto.Transaction - 21, // 42: proto.TxInfo.FeeInfo:type_name -> proto.FeeInfo - 24, // 43: proto.TxInfoV2.Transaction:type_name -> proto.WrappedTx - 21, // 44: proto.TxInfoV2.FeeInfo:type_name -> proto.FeeInfo - 50, // 45: proto.TxInfoV2.Receipt:type_name -> proto.Receipt - 24, // 46: proto.TxInfoV2.ResultTxs:type_name -> proto.WrappedTx - 42, // 47: proto.TxInfoV2.Logs:type_name -> proto.Log - 1, // 48: proto.WrappedTx.TxType:type_name -> proto.TxType - 41, // 49: proto.SCRInfo.SmartContractResult:type_name -> proto.SmartContractResult - 21, // 50: proto.SCRInfo.FeeInfo:type_name -> proto.FeeInfo - 42, // 51: proto.LogData.Log:type_name -> proto.Log - 44, // 52: proto.RewardInfo.Reward:type_name -> proto.RewardTx - 29, // 53: proto.ValidatorsRating.ValidatorsRatingInfo:type_name -> proto.ValidatorRatingInfo - 31, // 54: proto.RoundsInfo.RoundsInfo:type_name -> proto.RoundInfo - 61, // 55: proto.ValidatorsPubKeys.ShardValidatorsPubKeys:type_name -> proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry - 62, // 56: proto.Accounts.AlteredAccounts:type_name -> proto.Accounts.AlteredAccountsEntry - 39, // 57: proto.Body.MiniBlocks:type_name -> proto.MiniBlock - 2, // 58: proto.MiniBlock.Type:type_name -> proto.Type - 43, // 59: proto.Log.Events:type_name -> proto.Event - 46, // 60: proto.AlteredAccount.Tokens:type_name -> proto.AccountTokenData - 49, // 61: proto.AlteredAccount.AdditionalData:type_name -> proto.AdditionalAccountData - 47, // 62: proto.AccountTokenData.MetaData:type_name -> proto.TokenMetaData - 48, // 63: proto.AccountTokenData.AdditionalData:type_name -> proto.AdditionalAccountTokenData - 45, // 64: proto.MetaOutportBlock.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount - 45, // 65: proto.ShardOutportBlock.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount - 45, // 66: proto.ShardOutportBlockV2.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount - 23, // 67: proto.TransactionPoolV2.TransactionsEntry.value:type_name -> proto.TxInfoV2 - 22, // 68: proto.TransactionPool.TransactionsEntry.value:type_name -> proto.TxInfo - 25, // 69: proto.TransactionPool.SmartContractResultsEntry.value:type_name -> proto.SCRInfo - 27, // 70: proto.TransactionPool.RewardsEntry.value:type_name -> proto.RewardInfo - 50, // 71: proto.TransactionPool.ReceiptsEntry.value:type_name -> proto.Receipt - 22, // 72: proto.TransactionPool.InvalidTxsEntry.value:type_name -> proto.TxInfo - 33, // 73: proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry.value:type_name -> proto.PubKeys - 45, // 74: proto.Accounts.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount - 75, // [75:75] is the sub-list for method output_type - 75, // [75:75] is the sub-list for method input_type - 75, // [75:75] is the sub-list for extension type_name - 75, // [75:75] is the sub-list for extension extendee - 0, // [0:75] is the sub-list for field type_name + (ActionType)(0), // 3: proto.ActionType + (Operation)(0), // 4: proto.Operation + (*HyperOutportBlock)(nil), // 5: proto.HyperOutportBlock + (*NotarizedHeaderOutportData)(nil), // 6: proto.NotarizedHeaderOutportData + (*MetaOutportBlock)(nil), // 7: proto.MetaOutportBlock + (*ShardOutportBlock)(nil), // 8: proto.ShardOutportBlock + (*ShardOutportBlockV2)(nil), // 9: proto.ShardOutportBlockV2 + (*TransactionPoolV2)(nil), // 10: proto.TransactionPoolV2 + (*Header)(nil), // 11: proto.Header + (*MetaHeader)(nil), // 12: proto.MetaHeader + (*MiniBlockHeader)(nil), // 13: proto.MiniBlockHeader + (*PeerChange)(nil), // 14: proto.PeerChange + (*BlockData)(nil), // 15: proto.BlockData + (*MetaBlockData)(nil), // 16: proto.MetaBlockData + (*ShardData)(nil), // 17: proto.ShardData + (*EpochStart)(nil), // 18: proto.EpochStart + (*EpochStartShardData)(nil), // 19: proto.EpochStartShardData + (*Economics)(nil), // 20: proto.Economics + (*PeerData)(nil), // 21: proto.PeerData + (*TransactionPool)(nil), // 22: proto.TransactionPool + (*FeeInfo)(nil), // 23: proto.FeeInfo + (*TxInfo)(nil), // 24: proto.TxInfo + (*TxInfoV2)(nil), // 25: proto.TxInfoV2 + (*WrappedTx)(nil), // 26: proto.WrappedTx + (*SCRInfo)(nil), // 27: proto.SCRInfo + (*LogData)(nil), // 28: proto.LogData + (*RewardInfo)(nil), // 29: proto.RewardInfo + (*HeaderGasConsumption)(nil), // 30: proto.HeaderGasConsumption + (*ValidatorRatingInfo)(nil), // 31: proto.ValidatorRatingInfo + (*ValidatorsRating)(nil), // 32: proto.ValidatorsRating + (*RoundInfo)(nil), // 33: proto.RoundInfo + (*RoundsInfo)(nil), // 34: proto.RoundsInfo + (*PubKeys)(nil), // 35: proto.PubKeys + (*ValidatorsPubKeys)(nil), // 36: proto.ValidatorsPubKeys + (*Accounts)(nil), // 37: proto.Accounts + (*FinalizedBlock)(nil), // 38: proto.FinalizedBlock + (*Shard)(nil), // 39: proto.Shard + (*Body)(nil), // 40: proto.Body + (*MiniBlock)(nil), // 41: proto.MiniBlock + (*Transaction)(nil), // 42: proto.Transaction + (*SmartContractResult)(nil), // 43: proto.SmartContractResult + (*Log)(nil), // 44: proto.Log + (*Event)(nil), // 45: proto.Event + (*RewardTx)(nil), // 46: proto.RewardTx + (*AlteredAccount)(nil), // 47: proto.AlteredAccount + (*AccountTokenData)(nil), // 48: proto.AccountTokenData + (*TokenMetaData)(nil), // 49: proto.TokenMetaData + (*AdditionalAccountTokenData)(nil), // 50: proto.AdditionalAccountTokenData + (*AdditionalAccountData)(nil), // 51: proto.AdditionalAccountData + (*Receipt)(nil), // 52: proto.Receipt + (*BigInt)(nil), // 53: proto.BigInt + (*StateChanges)(nil), // 54: proto.StateChanges + (*StateChange)(nil), // 55: proto.StateChange + (*DataTrieChange)(nil), // 56: proto.DataTrieChange + nil, // 57: proto.MetaOutportBlock.AlteredAccountsEntry + nil, // 58: proto.MetaOutportBlock.StateChangesEntry + nil, // 59: proto.ShardOutportBlock.AlteredAccountsEntry + nil, // 60: proto.ShardOutportBlockV2.AlteredAccountsEntry + nil, // 61: proto.ShardOutportBlockV2.StateChangesEntry + nil, // 62: proto.TransactionPoolV2.TransactionsEntry + nil, // 63: proto.TransactionPool.TransactionsEntry + nil, // 64: proto.TransactionPool.SmartContractResultsEntry + nil, // 65: proto.TransactionPool.RewardsEntry + nil, // 66: proto.TransactionPool.ReceiptsEntry + nil, // 67: proto.TransactionPool.InvalidTxsEntry + nil, // 68: proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry + nil, // 69: proto.Accounts.AlteredAccountsEntry +} +var file_hyperOutportBlock_proto_depIdxs = []int32{ + 7, // 0: proto.HyperOutportBlock.MetaOutportBlock:type_name -> proto.MetaOutportBlock + 6, // 1: proto.HyperOutportBlock.NotarizedHeadersOutportData:type_name -> proto.NotarizedHeaderOutportData + 8, // 2: proto.NotarizedHeaderOutportData.OutportBlock:type_name -> proto.ShardOutportBlock + 16, // 3: proto.MetaOutportBlock.BlockData:type_name -> proto.MetaBlockData + 22, // 4: proto.MetaOutportBlock.TransactionPool:type_name -> proto.TransactionPool + 30, // 5: proto.MetaOutportBlock.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption + 57, // 6: proto.MetaOutportBlock.AlteredAccounts:type_name -> proto.MetaOutportBlock.AlteredAccountsEntry + 58, // 7: proto.MetaOutportBlock.StateChanges:type_name -> proto.MetaOutportBlock.StateChangesEntry + 15, // 8: proto.ShardOutportBlock.BlockData:type_name -> proto.BlockData + 22, // 9: proto.ShardOutportBlock.TransactionPool:type_name -> proto.TransactionPool + 30, // 10: proto.ShardOutportBlock.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption + 59, // 11: proto.ShardOutportBlock.AlteredAccounts:type_name -> proto.ShardOutportBlock.AlteredAccountsEntry + 15, // 12: proto.ShardOutportBlockV2.BlockData:type_name -> proto.BlockData + 10, // 13: proto.ShardOutportBlockV2.TransactionPool:type_name -> proto.TransactionPoolV2 + 30, // 14: proto.ShardOutportBlockV2.HeaderGasConsumption:type_name -> proto.HeaderGasConsumption + 60, // 15: proto.ShardOutportBlockV2.AlteredAccounts:type_name -> proto.ShardOutportBlockV2.AlteredAccountsEntry + 61, // 16: proto.ShardOutportBlockV2.StateChanges:type_name -> proto.ShardOutportBlockV2.StateChangesEntry + 62, // 17: proto.TransactionPoolV2.Transactions:type_name -> proto.TransactionPoolV2.TransactionsEntry + 2, // 18: proto.Header.BlockBodyType:type_name -> proto.Type + 13, // 19: proto.Header.MiniBlockHeaders:type_name -> proto.MiniBlockHeader + 14, // 20: proto.Header.PeerChanges:type_name -> proto.PeerChange + 17, // 21: proto.MetaHeader.ShardInfo:type_name -> proto.ShardData + 21, // 22: proto.MetaHeader.PeerInfo:type_name -> proto.PeerData + 13, // 23: proto.MetaHeader.MiniBlockHeaders:type_name -> proto.MiniBlockHeader + 18, // 24: proto.MetaHeader.EpochStart:type_name -> proto.EpochStart + 2, // 25: proto.MiniBlockHeader.Type:type_name -> proto.Type + 11, // 26: proto.BlockData.Header:type_name -> proto.Header + 40, // 27: proto.BlockData.Body:type_name -> proto.Body + 41, // 28: proto.BlockData.IntraShardMiniBlocks:type_name -> proto.MiniBlock + 12, // 29: proto.MetaBlockData.Header:type_name -> proto.MetaHeader + 40, // 30: proto.MetaBlockData.Body:type_name -> proto.Body + 41, // 31: proto.MetaBlockData.IntraShardMiniBlocks:type_name -> proto.MiniBlock + 13, // 32: proto.ShardData.ShardMiniBlockHeaders:type_name -> proto.MiniBlockHeader + 19, // 33: proto.EpochStart.LastFinalizedHeaders:type_name -> proto.EpochStartShardData + 20, // 34: proto.EpochStart.Economics:type_name -> proto.Economics + 13, // 35: proto.EpochStartShardData.PendingMiniBlockHeaders:type_name -> proto.MiniBlockHeader + 0, // 36: proto.PeerData.Action:type_name -> proto.PeerAction + 63, // 37: proto.TransactionPool.Transactions:type_name -> proto.TransactionPool.TransactionsEntry + 64, // 38: proto.TransactionPool.SmartContractResults:type_name -> proto.TransactionPool.SmartContractResultsEntry + 65, // 39: proto.TransactionPool.Rewards:type_name -> proto.TransactionPool.RewardsEntry + 66, // 40: proto.TransactionPool.Receipts:type_name -> proto.TransactionPool.ReceiptsEntry + 67, // 41: proto.TransactionPool.InvalidTxs:type_name -> proto.TransactionPool.InvalidTxsEntry + 28, // 42: proto.TransactionPool.Logs:type_name -> proto.LogData + 42, // 43: proto.TxInfo.Transaction:type_name -> proto.Transaction + 23, // 44: proto.TxInfo.FeeInfo:type_name -> proto.FeeInfo + 26, // 45: proto.TxInfoV2.Transaction:type_name -> proto.WrappedTx + 23, // 46: proto.TxInfoV2.FeeInfo:type_name -> proto.FeeInfo + 52, // 47: proto.TxInfoV2.Receipt:type_name -> proto.Receipt + 26, // 48: proto.TxInfoV2.ResultTxs:type_name -> proto.WrappedTx + 44, // 49: proto.TxInfoV2.Logs:type_name -> proto.Log + 1, // 50: proto.WrappedTx.TxType:type_name -> proto.TxType + 43, // 51: proto.SCRInfo.SmartContractResult:type_name -> proto.SmartContractResult + 23, // 52: proto.SCRInfo.FeeInfo:type_name -> proto.FeeInfo + 44, // 53: proto.LogData.Log:type_name -> proto.Log + 46, // 54: proto.RewardInfo.Reward:type_name -> proto.RewardTx + 31, // 55: proto.ValidatorsRating.ValidatorsRatingInfo:type_name -> proto.ValidatorRatingInfo + 33, // 56: proto.RoundsInfo.RoundsInfo:type_name -> proto.RoundInfo + 68, // 57: proto.ValidatorsPubKeys.ShardValidatorsPubKeys:type_name -> proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry + 69, // 58: proto.Accounts.AlteredAccounts:type_name -> proto.Accounts.AlteredAccountsEntry + 41, // 59: proto.Body.MiniBlocks:type_name -> proto.MiniBlock + 2, // 60: proto.MiniBlock.Type:type_name -> proto.Type + 45, // 61: proto.Log.Events:type_name -> proto.Event + 48, // 62: proto.AlteredAccount.Tokens:type_name -> proto.AccountTokenData + 51, // 63: proto.AlteredAccount.AdditionalData:type_name -> proto.AdditionalAccountData + 49, // 64: proto.AccountTokenData.MetaData:type_name -> proto.TokenMetaData + 50, // 65: proto.AccountTokenData.AdditionalData:type_name -> proto.AdditionalAccountTokenData + 55, // 66: proto.StateChanges.StateChanges:type_name -> proto.StateChange + 3, // 67: proto.StateChange.Type:type_name -> proto.ActionType + 4, // 68: proto.StateChange.Operation:type_name -> proto.Operation + 56, // 69: proto.StateChange.DataTrieChanges:type_name -> proto.DataTrieChange + 3, // 70: proto.DataTrieChange.Type:type_name -> proto.ActionType + 47, // 71: proto.MetaOutportBlock.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount + 54, // 72: proto.MetaOutportBlock.StateChangesEntry.value:type_name -> proto.StateChanges + 47, // 73: proto.ShardOutportBlock.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount + 47, // 74: proto.ShardOutportBlockV2.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount + 54, // 75: proto.ShardOutportBlockV2.StateChangesEntry.value:type_name -> proto.StateChanges + 25, // 76: proto.TransactionPoolV2.TransactionsEntry.value:type_name -> proto.TxInfoV2 + 24, // 77: proto.TransactionPool.TransactionsEntry.value:type_name -> proto.TxInfo + 27, // 78: proto.TransactionPool.SmartContractResultsEntry.value:type_name -> proto.SCRInfo + 29, // 79: proto.TransactionPool.RewardsEntry.value:type_name -> proto.RewardInfo + 52, // 80: proto.TransactionPool.ReceiptsEntry.value:type_name -> proto.Receipt + 24, // 81: proto.TransactionPool.InvalidTxsEntry.value:type_name -> proto.TxInfo + 35, // 82: proto.ValidatorsPubKeys.ShardValidatorsPubKeysEntry.value:type_name -> proto.PubKeys + 47, // 83: proto.Accounts.AlteredAccountsEntry.value:type_name -> proto.AlteredAccount + 84, // [84:84] is the sub-list for method output_type + 84, // [84:84] is the sub-list for method input_type + 84, // [84:84] is the sub-list for extension type_name + 84, // [84:84] is the sub-list for extension extendee + 0, // [0:84] is the sub-list for field type_name } func init() { file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() } func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { - if File_data_hyperOutportBlocks_hyperOutportBlock_proto != nil { + if File_hyperOutportBlock_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HyperOutportBlock); i { case 0: return &v.state @@ -5772,7 +6166,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotarizedHeaderOutportData); i { case 0: return &v.state @@ -5784,7 +6178,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetaOutportBlock); i { case 0: return &v.state @@ -5796,7 +6190,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardOutportBlock); i { case 0: return &v.state @@ -5808,7 +6202,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardOutportBlockV2); i { case 0: return &v.state @@ -5820,7 +6214,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransactionPoolV2); i { case 0: return &v.state @@ -5832,7 +6226,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Header); i { case 0: return &v.state @@ -5844,7 +6238,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetaHeader); i { case 0: return &v.state @@ -5856,7 +6250,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MiniBlockHeader); i { case 0: return &v.state @@ -5868,7 +6262,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeerChange); i { case 0: return &v.state @@ -5880,7 +6274,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlockData); i { case 0: return &v.state @@ -5892,7 +6286,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetaBlockData); i { case 0: return &v.state @@ -5904,7 +6298,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShardData); i { case 0: return &v.state @@ -5916,7 +6310,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EpochStart); i { case 0: return &v.state @@ -5928,7 +6322,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EpochStartShardData); i { case 0: return &v.state @@ -5940,7 +6334,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Economics); i { case 0: return &v.state @@ -5952,7 +6346,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PeerData); i { case 0: return &v.state @@ -5964,7 +6358,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransactionPool); i { case 0: return &v.state @@ -5976,7 +6370,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeeInfo); i { case 0: return &v.state @@ -5988,7 +6382,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxInfo); i { case 0: return &v.state @@ -6000,7 +6394,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TxInfoV2); i { case 0: return &v.state @@ -6012,7 +6406,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WrappedTx); i { case 0: return &v.state @@ -6024,7 +6418,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCRInfo); i { case 0: return &v.state @@ -6036,7 +6430,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogData); i { case 0: return &v.state @@ -6048,7 +6442,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardInfo); i { case 0: return &v.state @@ -6060,7 +6454,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HeaderGasConsumption); i { case 0: return &v.state @@ -6072,7 +6466,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorRatingInfo); i { case 0: return &v.state @@ -6084,7 +6478,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorsRating); i { case 0: return &v.state @@ -6096,7 +6490,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoundInfo); i { case 0: return &v.state @@ -6108,7 +6502,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoundsInfo); i { case 0: return &v.state @@ -6120,7 +6514,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PubKeys); i { case 0: return &v.state @@ -6132,7 +6526,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidatorsPubKeys); i { case 0: return &v.state @@ -6144,7 +6538,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Accounts); i { case 0: return &v.state @@ -6156,7 +6550,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FinalizedBlock); i { case 0: return &v.state @@ -6168,7 +6562,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Shard); i { case 0: return &v.state @@ -6180,7 +6574,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Body); i { case 0: return &v.state @@ -6192,7 +6586,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MiniBlock); i { case 0: return &v.state @@ -6204,7 +6598,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Transaction); i { case 0: return &v.state @@ -6216,7 +6610,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SmartContractResult); i { case 0: return &v.state @@ -6228,7 +6622,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Log); i { case 0: return &v.state @@ -6240,7 +6634,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Event); i { case 0: return &v.state @@ -6252,7 +6646,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RewardTx); i { case 0: return &v.state @@ -6264,7 +6658,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlteredAccount); i { case 0: return &v.state @@ -6276,7 +6670,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountTokenData); i { case 0: return &v.state @@ -6288,7 +6682,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenMetaData); i { case 0: return &v.state @@ -6300,7 +6694,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdditionalAccountTokenData); i { case 0: return &v.state @@ -6312,7 +6706,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AdditionalAccountData); i { case 0: return &v.state @@ -6324,7 +6718,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Receipt); i { case 0: return &v.state @@ -6336,7 +6730,7 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } - file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_hyperOutportBlock_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BigInt); i { case 0: return &v.state @@ -6348,24 +6742,60 @@ func file_data_hyperOutportBlocks_hyperOutportBlock_proto_init() { return nil } } + file_hyperOutportBlock_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StateChanges); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hyperOutportBlock_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StateChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hyperOutportBlock_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataTrieChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDesc, - NumEnums: 3, - NumMessages: 60, + RawDescriptor: file_hyperOutportBlock_proto_rawDesc, + NumEnums: 5, + NumMessages: 65, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_data_hyperOutportBlocks_hyperOutportBlock_proto_goTypes, - DependencyIndexes: file_data_hyperOutportBlocks_hyperOutportBlock_proto_depIdxs, - EnumInfos: file_data_hyperOutportBlocks_hyperOutportBlock_proto_enumTypes, - MessageInfos: file_data_hyperOutportBlocks_hyperOutportBlock_proto_msgTypes, + GoTypes: file_hyperOutportBlock_proto_goTypes, + DependencyIndexes: file_hyperOutportBlock_proto_depIdxs, + EnumInfos: file_hyperOutportBlock_proto_enumTypes, + MessageInfos: file_hyperOutportBlock_proto_msgTypes, }.Build() - File_data_hyperOutportBlocks_hyperOutportBlock_proto = out.File - file_data_hyperOutportBlocks_hyperOutportBlock_proto_rawDesc = nil - file_data_hyperOutportBlocks_hyperOutportBlock_proto_goTypes = nil - file_data_hyperOutportBlocks_hyperOutportBlock_proto_depIdxs = nil + File_hyperOutportBlock_proto = out.File + file_hyperOutportBlock_proto_rawDesc = nil + file_hyperOutportBlock_proto_goTypes = nil + file_hyperOutportBlock_proto_depIdxs = nil } diff --git a/data/hyperOutportBlocks/hyperOutportBlock.proto b/data/hyperOutportBlocks/hyperOutportBlock.proto index 2c86359..7ae9a95 100644 --- a/data/hyperOutportBlocks/hyperOutportBlock.proto +++ b/data/hyperOutportBlocks/hyperOutportBlock.proto @@ -28,6 +28,7 @@ message MetaOutportBlock { repeated uint64 SignersIndexes = 8; uint64 HighestFinalBlockNonce = 9; bytes HighestFinalBlockHash = 10; + map StateChanges = 11; } message ShardOutportBlock { @@ -54,6 +55,7 @@ message ShardOutportBlockV2 { repeated uint64 SignersIndexes = 8; uint64 HighestFinalBlockNonce = 9; bytes HighestFinalBlockHash = 10; + map StateChanges = 11; } message TransactionPoolV2 { @@ -511,3 +513,36 @@ message Receipt { message BigInt { bytes bytes = 1; } + +message StateChanges { + repeated StateChange StateChanges = 1; +} + +enum ActionType { + Read = 0; + Write = 1; +} + +enum Operation { + GetCode = 0; + SaveAccount = 1; + GetAccount = 2; + WriteCode = 3; + RemoveDataTrie = 4; +} + +message StateChange { + ActionType Type = 1; + int32 Index = 2; + bytes TxHash = 3; + bytes MainTrieKey = 4; + bytes MainTrieVal = 5; + Operation Operation = 6; + repeated DataTrieChange DataTrieChanges = 7; +} + +message DataTrieChange { + ActionType Type = 1; + bytes Key = 2; + bytes Val = 3; +} diff --git a/factory/dataProcessorFactory.go b/factory/dataProcessorFactory.go index e22e06b..743bd32 100644 --- a/factory/dataProcessorFactory.go +++ b/factory/dataProcessorFactory.go @@ -5,7 +5,9 @@ import ( "github.com/multiversx/mx-chain-core-go/core" "github.com/multiversx/mx-chain-core-go/data/block" - "github.com/multiversx/mx-chain-storage-go/storageUnit" + storageCommon "github.com/multiversx/mx-chain-storage-go/common" + "github.com/multiversx/mx-chain-storage-go/factory" + "github.com/multiversx/mx-chain-ws-connector-firehose-go/common" "github.com/multiversx/mx-chain-ws-connector-firehose-go/config" "github.com/multiversx/mx-chain-ws-connector-firehose-go/process" @@ -36,13 +38,13 @@ func CreateBlockContainer() (process.BlockContainerHandler, error) { // CreateStorer will create a new pruning storer instace func CreateStorer(cfg config.Config, dbMode common.DBMode) (process.PruningStorer, error) { - cacheConfig := storageUnit.CacheConfig{ - Type: storageUnit.CacheType(cfg.OutportBlocksStorage.Cache.Type), + cacheConfig := storageCommon.CacheConfig{ + Type: storageCommon.CacheType(cfg.OutportBlocksStorage.Cache.Type), SizeInBytes: cfg.OutportBlocksStorage.Cache.SizeInBytes, Capacity: cfg.OutportBlocksStorage.Cache.Capacity, } - cacher, err := storageUnit.NewCache(cacheConfig) + cacher, err := factory.NewCache(cacheConfig) if err != nil { return nil, err } diff --git a/go.mod b/go.mod index 50bb8d3..1d017a2 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,11 @@ module github.com/multiversx/mx-chain-ws-connector-firehose-go go 1.20 require ( - github.com/gogo/protobuf v1.3.2 + github.com/golang/protobuf v1.5.4 github.com/multiversx/mx-chain-communication-go v1.0.12 - github.com/multiversx/mx-chain-core-go v1.2.19 - github.com/multiversx/mx-chain-logger-go v1.0.14 - github.com/multiversx/mx-chain-storage-go v1.0.15 + github.com/multiversx/mx-chain-core-go v1.2.23-0.20240924120353-a1e60f8d53f0 + github.com/multiversx/mx-chain-logger-go v1.0.15 + github.com/multiversx/mx-chain-storage-go v1.0.17-0.20240909105906-39ad1daf2a4c github.com/stretchr/testify v1.8.4 github.com/urfave/cli v1.22.14 google.golang.org/grpc v1.63.2 @@ -15,10 +15,11 @@ require ( ) require ( + github.com/btcsuite/btcd/btcutil v1.1.3 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denisbrodbeck/machineid v1.0.1 // indirect - github.com/golang/protobuf v1.5.4 // indirect + github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -30,7 +31,6 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect - golang.org/x/crypto v0.22.0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/sys v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect diff --git a/go.sum b/go.sum index c731d30..f0f01c2 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,37 @@ github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= +github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= +github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= +github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= +github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= +github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= +github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= +github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= +github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denisbrodbeck/machineid v1.0.1 h1:geKr9qtkB876mXguW2X6TU4ZynleN6ezuMSRhl4D7AQ= github.com/denisbrodbeck/machineid v1.0.1/go.mod h1:dJUwb7PTidGDeYyUBmXZ2GphQBbjJCrnectwCyxcUSI= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= @@ -43,31 +68,39 @@ github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/multiversx/concurrent-map v0.1.4 h1:hdnbM8VE4b0KYJaGY5yJS2aNIW9TFFsUYwbO0993uPI= github.com/multiversx/concurrent-map v0.1.4/go.mod h1:8cWFRJDOrWHOTNSqgYCUvwT7c7eFQ4U2vKMOp4A/9+o= github.com/multiversx/mx-chain-communication-go v1.0.12 h1:67WOaf87gpwouydD1AAOHw5LMGZh7NfITrp/KqFY3Tw= github.com/multiversx/mx-chain-communication-go v1.0.12/go.mod h1:+oaUowpq+SqrEmAsMPGwhz44g7L81loWb6AiNQU9Ms4= -github.com/multiversx/mx-chain-core-go v1.2.19 h1:2BaVHkB0tro3cjs5ay2pmLup1loCV0e1p9jV5QW0xqc= -github.com/multiversx/mx-chain-core-go v1.2.19/go.mod h1:B5zU4MFyJezmEzCsAHE9YNULmGCm2zbPHvl9hazNxmE= +github.com/multiversx/mx-chain-core-go v1.2.23-0.20240924120353-a1e60f8d53f0 h1:5Bm6Hg5jO+OuwtRfmwQc8XGmw0z7tQJHIcrZ8IaBtQ4= +github.com/multiversx/mx-chain-core-go v1.2.23-0.20240924120353-a1e60f8d53f0/go.mod h1:B5zU4MFyJezmEzCsAHE9YNULmGCm2zbPHvl9hazNxmE= github.com/multiversx/mx-chain-crypto-go v1.2.9 h1:OEfF2kOQrtzUl273Z3DEcshjlTVUfPpJMd0R0SvTrlU= github.com/multiversx/mx-chain-crypto-go v1.2.9/go.mod h1:fkaWKp1rbQN9wPKya5jeoRyC+c/SyN/NfggreyeBw+8= -github.com/multiversx/mx-chain-logger-go v1.0.14 h1:PRMpAvXE7Nec2d//QNmbYfKVHMomOKmcN4UXurQWX9o= -github.com/multiversx/mx-chain-logger-go v1.0.14/go.mod h1:bDfHSdwqIimn7Gp8w+SH5KlDuGzJ//nlyEANAaTSc3o= -github.com/multiversx/mx-chain-storage-go v1.0.15 h1:PDyP1uouAVjR32dFgM+7iaQBdReD/tKBJj10JbxXvaE= -github.com/multiversx/mx-chain-storage-go v1.0.15/go.mod h1:GZUK3sqf5onsWS/0ZPWjDCBjAL22FigQPUh252PAVk0= +github.com/multiversx/mx-chain-logger-go v1.0.15 h1:HlNdK8etyJyL9NQ+6mIXyKPEBo+wRqOwi3n+m2QIHXc= +github.com/multiversx/mx-chain-logger-go v1.0.15/go.mod h1:t3PRKaWB1M+i6gUfD27KXgzLJJC+mAQiN+FLlL1yoGQ= +github.com/multiversx/mx-chain-storage-go v1.0.17-0.20240909105906-39ad1daf2a4c h1:1Wmh5iblKtE6S5NBdyPcHcKmiR3C1oF+MNRBVOrmAcc= +github.com/multiversx/mx-chain-storage-go v1.0.17-0.20240909105906-39ad1daf2a4c/go.mod h1:2VWMriwcI0s7kTnKHqJxFQnb0aMswc5KTbHp8MKw3Uk= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -83,29 +116,33 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/urfave/cli v1.22.14 h1:ebbhrRiGK2i4naQJr+1Xj92HXZCrK7MsyTS/ob3HnAk= github.com/urfave/cli v1.22.14/go.mod h1:X0eDS6pD6Exaclxm99NJ3FiCDRED7vIHpx2mDOHLvkA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -124,6 +161,8 @@ golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -137,6 +176,7 @@ golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -171,6 +211,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/process/outportBlockConverter.go b/process/outportBlockConverter.go index 5578060..21c4a17 100644 --- a/process/outportBlockConverter.go +++ b/process/outportBlockConverter.go @@ -11,6 +11,7 @@ import ( "github.com/multiversx/mx-chain-core-go/data/block" "github.com/multiversx/mx-chain-core-go/data/outport" "github.com/multiversx/mx-chain-core-go/data/receipt" + "github.com/multiversx/mx-chain-core-go/data/stateChange" "github.com/multiversx/mx-chain-core-go/marshal" "github.com/multiversx/mx-chain-ws-connector-firehose-go/data/hyperOutportBlocks" @@ -63,6 +64,7 @@ func (o *outportBlockConverter) HandleShardOutportBlockV2(outportBlock *outport. } handleHeaderGasConsumption(outportBlock.HeaderGasConsumption, shardOutportBlock) handleAlteredAccounts(outportBlock.AlteredAccounts, shardOutportBlock) + handleStateChanges(outportBlock.StateChanges, shardOutportBlock) shardOutportBlock.NotarizedHeadersHashes = outportBlock.NotarizedHeadersHashes shardOutportBlock.NumberOfShards = outportBlock.NumberOfShards @@ -384,6 +386,43 @@ func handleHeaderGasConsumption(consumption *outport.HeaderGasConsumption, shard } } +func handleStateChanges(stateChanges map[string]*stateChange.StateChanges, shardOutportBlock *hyperOutportBlocks.ShardOutportBlockV2) { + if stateChanges == nil { + return + } + + shardStateChangesMap := make(map[string]*hyperOutportBlocks.StateChanges, len(stateChanges)) + for key, scs := range stateChanges { + shardStateChanges := make([]*hyperOutportBlocks.StateChange, len(scs.StateChanges)) + + for i, sc := range scs.StateChanges { + shardDataTrieChanges := make([]*hyperOutportBlocks.DataTrieChange, len(sc.DataTrieChanges)) + + for j, dataTrieChange := range sc.DataTrieChanges { + shardDataTrieChanges[j] = &hyperOutportBlocks.DataTrieChange{ + Type: hyperOutportBlocks.ActionType(dataTrieChange.Type), + Key: dataTrieChange.Key, + Val: dataTrieChange.Val, + } + } + + shardStateChanges[i] = &hyperOutportBlocks.StateChange{ + Type: hyperOutportBlocks.ActionType(sc.Type), + Index: sc.Index, + TxHash: sc.TxHash, + MainTrieKey: sc.MainTrieKey, + MainTrieVal: sc.MainTrieVal, + Operation: hyperOutportBlocks.Operation(sc.Operation), + DataTrieChanges: shardDataTrieChanges, + } + } + + shardStateChangesMap[key] = &hyperOutportBlocks.StateChanges{StateChanges: shardStateChanges} + } + + shardOutportBlock.StateChanges = shardStateChangesMap +} + // HandleShardOutportBlock will convert an outport.OutportBlock to data.ShardOutportBlock. func (o *outportBlockConverter) HandleShardOutportBlock(outportBlock *outport.OutportBlock) (*hyperOutportBlocks.ShardOutportBlock, error) { headerType := outportBlock.BlockData.HeaderType diff --git a/process/outportBlockConverter_test.go b/process/outportBlockConverter_test.go index e8e709b..bc259bf 100644 --- a/process/outportBlockConverter_test.go +++ b/process/outportBlockConverter_test.go @@ -34,6 +34,7 @@ type fieldsGetterV1 interface { type fieldsGetterV2 interface { fieldsGetter GetTransactionPool() *data.TransactionPoolV2 + GetStateChanges() map[string]*data.StateChanges } type blockDataGetter interface { @@ -51,9 +52,11 @@ type blockDataGetter interface { } const ( - outportBlockHeaderV1JSONPath = "../testscommon/testdata/outportBlockHeaderV1.json" - outportBlockHeaderV2JSONPath = "../testscommon/testdata/outportBlockHeaderV2.json" - outportBlockMetaBlockJSONPath = "../testscommon/testdata/outportBlockMetaBlock.json" + outportBlockHeaderV1JSONPath = "../testscommon/testdata/outportBlockHeaderV1.json" + outportBlockHeaderV2JSONPath = "../testscommon/testdata/outportBlockHeaderV2.json" + outportBlockMetaBlockJSONPath = "../testscommon/testdata/outportBlockMetaBlock.json" + outportBlockMetaBlockWithStateChangesJSONPath = "../testscommon/testdata/stateChanges.json" + outportBlockShardBlockWithStateChangesJSONPath = "../testscommon/testdata/stateChanges_shard.json" ) func TestOutportBlockConverter(t *testing.T) { @@ -125,6 +128,73 @@ func TestOutportBlockConverter_HandleShardOutportBlockV2(t *testing.T) { checkBlockData(t, ob.BlockData, shardOutportBlock.BlockData) } +func TestStateChangesMetaBlock(t *testing.T) { + t.Parallel() + + jsonBytes, err := os.ReadFile(outportBlockMetaBlockWithStateChangesJSONPath) + require.NoError(t, err, "failed to read test data") + + ob := &outport.OutportBlock{} + err = json.Unmarshal(jsonBytes, ob) + require.NoError(t, err, "failed to unmarshal test block") + + converter, err := process.NewOutportBlockConverter(gogoProtoMarshaller, protoMarshaller) + require.Nil(t, err) + metaOutportBlock, err := converter.HandleMetaOutportBlock(ob) + require.NoError(t, err, "failed to marshal to standard outport") + + for hash, stateChanges := range ob.StateChanges { + for i, sc := range stateChanges.StateChanges { + require.Equal(t, data.ActionType(sc.Type), metaOutportBlock.StateChanges[hash].StateChanges[i].Type, "type is not the same") + require.Equal(t, sc.Index, metaOutportBlock.StateChanges[hash].StateChanges[i].Index, "index is not the same") + require.Equal(t, sc.TxHash, metaOutportBlock.StateChanges[hash].StateChanges[i].TxHash, "hash is not the same") + require.Equal(t, sc.MainTrieKey, metaOutportBlock.StateChanges[hash].StateChanges[i].MainTrieKey, "main trie key is not the same") + require.Equal(t, sc.MainTrieVal, metaOutportBlock.StateChanges[hash].StateChanges[i].MainTrieVal, "main trie val is not the same") + require.Equal(t, data.Operation(sc.Operation), metaOutportBlock.StateChanges[hash].StateChanges[i].Operation, "operation is not the same") + + for j, dtc := range sc.DataTrieChanges { + require.Equal(t, data.ActionType(dtc.Type), metaOutportBlock.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Type, "data trie change type is not the same") + require.Equal(t, dtc.Key, metaOutportBlock.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Key, "data trie change key is not the same") + require.Equal(t, dtc.Val, metaOutportBlock.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Val, "data trie val is not the same") + } + } + } +} + +func TestStateChangesShardBlock(t *testing.T) { + t.Parallel() + + jsonBytes, err := os.ReadFile(outportBlockShardBlockWithStateChangesJSONPath) + require.NoError(t, err, "failed to read test data") + + ob := &outport.OutportBlock{} + err = json.Unmarshal(jsonBytes, ob) + require.NoError(t, err, "failed to unmarshal test block") + + converter, err := process.NewOutportBlockConverter(gogoProtoMarshaller, protoMarshaller) + require.NoError(t, err) + + shardOutportBlockV2, err := converter.HandleShardOutportBlockV2(ob) + require.NoError(t, err, "failed to marshal to standard outport") + + for hash, stateChanges := range ob.StateChanges { + for i, sc := range stateChanges.StateChanges { + require.Equal(t, data.ActionType(sc.Type), shardOutportBlockV2.StateChanges[hash].StateChanges[i].Type, "type is not the same") + require.Equal(t, sc.Index, shardOutportBlockV2.StateChanges[hash].StateChanges[i].Index, "index is not the same") + require.Equal(t, sc.TxHash, shardOutportBlockV2.StateChanges[hash].StateChanges[i].TxHash, "hash is not the same") + require.Equal(t, sc.MainTrieKey, shardOutportBlockV2.StateChanges[hash].StateChanges[i].MainTrieKey, "main trie key is not the same") + require.Equal(t, sc.MainTrieVal, shardOutportBlockV2.StateChanges[hash].StateChanges[i].MainTrieVal, "main trie val is not the same") + require.Equal(t, data.Operation(sc.Operation), shardOutportBlockV2.StateChanges[hash].StateChanges[i].Operation, "operation is not the same") + + for j, dtc := range sc.DataTrieChanges { + require.Equal(t, data.ActionType(dtc.Type), shardOutportBlockV2.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Type, "data trie change type is not the same") + require.Equal(t, dtc.Key, shardOutportBlockV2.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Key, "data trie change key is not the same") + require.Equal(t, dtc.Val, shardOutportBlockV2.StateChanges[hash].StateChanges[i].DataTrieChanges[j].Val, "data trie val is not the same") + } + } + } +} + func TestHeaderConverter(t *testing.T) { t.Parallel() diff --git a/process/pruningStorer.go b/process/pruningStorer.go index 51fe246..fb9af65 100644 --- a/process/pruningStorer.go +++ b/process/pruningStorer.go @@ -9,8 +9,8 @@ import ( "sync" "github.com/multiversx/mx-chain-core-go/core/check" + "github.com/multiversx/mx-chain-storage-go/common" "github.com/multiversx/mx-chain-storage-go/leveldb" - "github.com/multiversx/mx-chain-storage-go/storageUnit" "github.com/multiversx/mx-chain-storage-go/types" "github.com/multiversx/mx-chain-ws-connector-firehose-go/config" @@ -111,11 +111,11 @@ func getIndexFromPath(path string) (uint64, error) { } func (ps *pruningStorer) createPersister(path string) (types.Persister, error) { - var dbType = storageUnit.DBType(ps.dbConf.Type) + var dbType = common.DBType(ps.dbConf.Type) switch dbType { - case storageUnit.LvlDB: + case common.LvlDB: return leveldb.NewDB(path, ps.dbConf.BatchDelaySeconds, ps.dbConf.MaxBatchSize, ps.dbConf.MaxOpenFiles) - case storageUnit.LvlDBSerial: + case common.LvlDBSerial: return leveldb.NewSerialDB(path, ps.dbConf.BatchDelaySeconds, ps.dbConf.MaxBatchSize, ps.dbConf.MaxOpenFiles) default: return nil, ErrNotSupportedDBType diff --git a/testscommon/testdata/stateChanges.json b/testscommon/testdata/stateChanges.json new file mode 100644 index 0000000..a687aa9 --- /dev/null +++ b/testscommon/testdata/stateChanges.json @@ -0,0 +1,292 @@ +{ + "shardID": 4294967295, + "blockData": { + "shardID": 4294967295, + "headerBytes": "CAEYHiCu0MW3BipPEiAYREYUy0aMcT1PKB5VFme7cboLZ7zPJCeXpyXlw8GOciIgjKOogIKxIEr8aPQUwGWwG6TWfjYEYbM5Ywv7StyubacqAQFiAgAAcgIAADowvZq1GpGrIzIRC9aUskUEGdfIxBhphB2yiTU5jME6eGrJ253zsG2DOL9f0qEXuLsQQjB8ZYtDmqREJouNIPCG7KKlCHYp2i9o8EdZNqdNvagV7dz/lomm5aj5porltRoelYJKAQFSIFS6tA9tdZKyRqNWupjw13/Qpbtg5bKfQbfW+jdoLWi7WiBZIyxvcVkjg3XEd3xRXXYkU3gKpYs3HcK5ZDQ5D7SQhWIw9c+u9YCRtfG+hT+iLrfJhF3u8QXgfzE4rnsWIIOtnNhpUQLu37fBTIg7NG0AyQ+KaiBZIyxvcVkjg3XEd3xRXXYkU3gKpYs3HcK5ZDQ5D7SQhXIgT79mjjyBuqvBU9XvDViKqdCIMImy6gmA2m3AILPtA0aKASAOV1HAJuVDsuirLrBgmdqh0eXfR3ePd4f6q0XN8S/jqJIBFBISCgEAEgEAGgEAIgEAKgEAMgEAmgENbG9jYWwtdGVzdG5ldKIBB2RlZmF1bHSqAQIAALIBAgAAugECAADCAQIAAA==", + "headerType": "MetaBlock", + "headerHash": "fx94JbIPrwcJZ/lDI1X1goBjzH2G1vZk+4gwchUysis=", + "body": {} + }, + "transactionPool": {}, + "headerGasConsumption": { + "gasProvided": 0, + "gasRefunded": 0, + "gasPenalized": 0, + "maxGasPerBlock": 15000000000 + }, + "notarizedHeadersHashes": [ + "18444614cb468c713d4f281e551667bb71ba0b67bccf242797a725e5c3c18e72" + ], + "numberOfShards": 1, + "signersIndexes": [ + 0 + ], + "highestFinalBlockNonce": 0, + "stateChanges": { + "78efbfbd33efbfbdefbfbd7779efbfbd5f06efbfbd6b0d48efbfbd31526f6d5f5c14efbfbdefbfbd1736efbfbdefbfbd3a17efbfbdefbfbd": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "Te1o4Y6nH0cG+Gb06byWKzpiZ+K+qeIxLNcVXo74CRg=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=", + "mainTrieVal": "CAESAgAAKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD//zICAAA=", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "Te1o4Y6nH0cG+Gb06byWKzpiZ+K+qeIxLNcVXo74CRg=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=", + "mainTrieVal": "CAESAgAAIiBEnjme85PKQzqBeI4/AVcW4QABjTshT3Lde1rPiv8LAiogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "b3duZXI=", + "val": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//9vd25lcgAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP//" + }, + { + "type": 1, + "key": "bm9kZXNDb25maWc=", + "val": "CAIQQG5vZGVzQ29uZmlnAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=" + }, + { + "type": 1, + "key": "ZXBvY2hfMA==", + "val": "h4Z4Mm6skAAAZXBvY2hfMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAP//" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "Te1o4Y6nH0cG+Gb06byWKzpiZ+K+qeIxLNcVXo74CRg=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=", + "mainTrieVal": "CAESAgAAIiBEnjme85PKQzqBeI4/AVcW4QABjTshT3Lde1rPiv8LAiogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8yAgAA", + "operation": 1 + } + ] + }, + "efbfbdefbfbd6defbfbd5e154f47efbfbdefbfbd26efbfbdefbfbdefbfbd4aefbfbdefbfbdefbfbdefbfbd2f1257efbfbdc3a7efbfbd2f3defbfbd6fefbfbdefbfbd": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "Y7ljDxEAMXRY1kukAmMpfUD8+5XwBQZzZR76a7+dQeQ=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//8=", + "mainTrieVal": "CAESAgAAKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAP//zICAAA=", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "Y7ljDxEAMXRY1kukAmMpfUD8+5XwBQZzZR76a7+dQeQ=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//8=", + "mainTrieVal": "CAESAgAAIiClaGPmK5Fm53XWvgXkjoFa5bAgbi1sGFG3Cui/2xrkhyogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "Z292ZXJuYW5jZUNvbmZpZw==", + "val": "CPQDEJADGKwCIDIqCQBFY5GCRPQAAGdvdmVybmFuY2VDb25maWcAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAP//w==" + }, + { + "type": 1, + "key": "b3duZXI=", + "val": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//9vd25lcgAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAA///" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "Y7ljDxEAMXRY1kukAmMpfUD8+5XwBQZzZR76a7+dQeQ=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//8=", + "mainTrieVal": "CAESAgAAIiClaGPmK5Fm53XWvgXkjoFa5bAgbi1sGFG3Cui/2xrkhyogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAD//8yAgAA", + "operation": 1 + } + ] + }, + "efbfbd171dd9bb3558efbfbdefbfbdefbfbdefbfbdefbfbdefbfbd64efbfbd3422efbfbdefbfbd5c0956646f5cefbfbdefbfbd786befbfbd507d": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "eJUz6oV3eYlfBtVrDUi0MVJvbV9cFI2bFzadxzoXoas=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESAgAAIiChZ17YOzt0WtGuS1dO99r+hkgistXFtresElAEQTki2yogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8yAgAA", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "eJUz6oV3eYlfBtVrDUi0MVJvbV9cFI2bFzadxzoXoas=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=", + "mainTrieVal": "CAESAgAAIiB6P4rwBAxSNPPwm16mTPytnEMGaRUingP2V7aYiYJSPyogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "bm9kZXNDb25maWc=", + "val": "CAIQQBgBbm9kZXNDb25maWcAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD//w==" + }, + { + "type": 1, + "key": "PkWuwK24wxzrdu38nMURjCG7Dhl2ildjq4LnHHxgNI5BHKlupYFEQgQr4arWPYQBasFGfB5SLwySkurgJgyFD3VzzPF989ecjctJihOl8XYCSpch3yGlEBjAV20OnCWM", + "val": "GAEo/////w8yIPtQ7y23bPgXnF4BUI6R4MXZ9LMCR7kdaj92RetZcawFOgoAh4Z4Mm6skAAAQP///////////wE+Ra7ArbjDHOt27fycxRGMIbsOGXaKV2OrguccfGA0jkEcqW6lgURCBCvhqtY9hAFqwUZ8HlIvDJKS6uAmDIUPdXPM8X3z15yNy0mKE6XxdgJKlyHfIaUQGMBXbQ6cJYwAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD//w==" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "eJUz6oV3eYlfBtVrDUi0MVJvbV9cFI2bFzadxzoXoas=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESCgCHhngybqyQAAAiIGj534G9IuUMRJKtm8F5QkHfCc5Wmr1ukEvQ7jSHIxnGKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAH//zICAAA=", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "+1DvLbds+BecXgFQjpHgxdn0swJHuR1qP3ZF61lxrAU=", + "val": "GiD7UO8tt2z4F5xeAVCOkeDF2fSzAke5HWo/dkXrWXGsBSIKAIeGeDJurJAAACoKAIeGeDJurJAAADIKAIeGeDJurJAAADpgPkWuwK24wxzrdu38nMURjCG7Dhl2ildjq4LnHHxgNI5BHKlupYFEQgQr4arWPYQBasFGfB5SLwySkurgJgyFD3VzzPF989ecjctJihOl8XYCSpch3yGlEBjAV20OnCWMQAH7UO8tt2z4F5xeAVCOkeDF2fSzAke5HWo/dkXrWXGsBQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAf//" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "eJUz6oV3eYlfBtVrDUi0MVJvbV9cFI2bFzadxzoXoas=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESCgCHhngybqyQAAAiIGj534G9IuUMRJKtm8F5QkHfCc5Wmr1ukEvQ7jSHIxnGKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAH//zICAAA=", + "operation": 1 + } + ] + }, + "efbfbd7e3defbfbd2b30db8a35efbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd5a05efbfbdd1b1efbfbdefbfbd375b4defbfbdefbfbdefbfbdefbfbdefbfbd0f": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "k7Rt0V4VT0fu9ia9soZK95yLuC8SV/bDp5MvPdtvpqk=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESAgAAKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAH//zICAAA=", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "k7Rt0V4VT0fu9ia9soZK95yLuC8SV/bDp5MvPdtvpqk=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESAgAAIiChZ17YOzt0WtGuS1dO99r+hkgistXFtresElAEQTki2yogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "b3duZXI=", + "val": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//9vd25lcgAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAf//" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "k7Rt0V4VT0fu9ia9soZK95yLuC8SV/bDp5MvPdtvpqk=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESAgAAIiChZ17YOzt0WtGuS1dO99r+hkgistXFtresElAEQTki2yogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8yAgAA", + "operation": 1 + } + ] + }, + "4defbfbd68e18ea71f4706efbfbd66efbfbde9bc962b3a6267e2bea9efbfbd312cefbfbd155eefbfbdefbfbd0918": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "oBcd2bs1WK6ShOm+7WSBNCKQt1wJVmRvXKiWeGuuUH0=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAC//8=", + "mainTrieVal": "CAESAgAAKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAL//zICAAA=", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "oBcd2bs1WK6ShOm+7WSBNCKQt1wJVmRvXKiWeGuuUH0=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAC//8=", + "mainTrieVal": "CAESAgAAIiBQVl2bM7iUq49LOs93RKu/zkVUJJnY1qbPMBKyiyngxCogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAC//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "ZXNkdENvbmZpZw==", + "val": "Cj5lcmQxZnBrY2dlbDRnY21oOHpxcWR0MDQzeWZjbjV0eXg4Mzcza2c2cTJxbWt4enU0ZHFhbWMwc3d0czY1YxIJAEVjkYJE9AAAGAogFGVzZHRDb25maWcAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAL//w==" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "oBcd2bs1WK6ShOm+7WSBNCKQt1wJVmRvXKiWeGuuUH0=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAC//8=", + "mainTrieVal": "CAESAgAAIiBQVl2bM7iUq49LOs93RKu/zkVUJJnY1qbPMBKyiyngxCogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAC//8yAgAA", + "operation": 1 + } + ] + }, + "63efbfbd630f1100317458efbfbd4befbfbd0263297d40efbfbdefbfbdefbfbdefbfbd050673651eefbfbd6befbfbdefbfbd41efbfbd": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "xn494Ssw24o1sfz+p+/93FoF6dGxmNs3W02O76DMxA8=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESCgCHhngybqyQAAAiIGj534G9IuUMRJKtm8F5QkHfCc5Wmr1ukEvQ7jSHIxnGKiAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAH//zICAAA=", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "xn494Ssw24o1sfz+p+/93FoF6dGxmNs3W02O76DMxA8=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8=", + "mainTrieVal": "CAESAgAAIiD/D4OVOwKfnrNbasicAHPvaEiqadERtlSQwtPDI3V5syogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "mPRbp945QG4IU4ql65Dr2TGKrqTZA+eyzMT24uaHHcEeR4JzQUFIJFFyUFVF7I8Sibawh7/p4TaHej5oOoCgibKyirW9wFOi3PjGNUc8JX+fnb2oSBQ1+FYggswD3xKE", + "val": "GAEo/////w8yIB8n2AXEq4iZ2j3e2xW48emhZTk6FUcDejvqn+RbX6ylOgoAh4Z4Mm6skAAAQP///////////wGY9Fun3jlAbghTiqXrkOvZMYqupNkD57LMxPbi5ocdwR5HgnNBQUgkUXJQVUXsjxKJtrCHv+nhNod6Pmg6gKCJsrKKtb3AU6Lc+MY1Rzwlf5+dvahIFDX4ViCCzAPfEoQAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD//w==" + }, + { + "type": 1, + "key": "bm9kZXNDb25maWc=", + "val": "CAIQQBgCbm9kZXNDb25maWcAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAD//w==" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "xn494Ssw24o1sfz+p+/93FoF6dGxmNs3W02O76DMxA8=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESCwABDwzwZN1ZIAAAIiDJyn0kI5vTKJOyTmnlVgkjGyj0zSubQzBV9aMg7dtrYSogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8yAgAA", + "operation": 1, + "dataTrieChanges": [ + { + "type": 1, + "key": "HyfYBcSriJnaPd7bFbjx6aFlOToVRwN6O+qf5FtfrKU=", + "val": "GiAfJ9gFxKuImdo93tsVuPHpoWU5OhVHA3o76p/kW1+spSIKAIeGeDJurJAAACoKAIeGeDJurJAAADIKAIeGeDJurJAAADpgmPRbp945QG4IU4ql65Dr2TGKrqTZA+eyzMT24uaHHcEeR4JzQUFIJFFyUFVF7I8Sibawh7/p4TaHej5oOoCgibKyirW9wFOi3PjGNUc8JX+fnb2oSBQ1+FYggswD3xKEQAEfJ9gFxKuImdo93tsVuPHpoWU5OhVHA3o76p/kW1+spQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAf//" + } + ] + }, + { + "type": 1, + "index": 0, + "txHash": "xn494Ssw24o1sfz+p+/93FoF6dGxmNs3W02O76DMxA8=", + "mainTrieKey": "AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8=", + "mainTrieVal": "CAESCwABDwzwZN1ZIAAAIiDJyn0kI5vTKJOyTmnlVgkjGyj0zSubQzBV9aMg7dtrYSogAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAB//8yAgAA", + "operation": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/testscommon/testdata/stateChanges_shard.json b/testscommon/testdata/stateChanges_shard.json new file mode 100644 index 0000000..6664411 --- /dev/null +++ b/testscommon/testdata/stateChanges_shard.json @@ -0,0 +1,136 @@ +{ + "blockData": { + "headerBytes": "CAoSIFyZe49SYNQyikM3PxFA20BF1rXZFnjRtyq7F05y8HS3GjA4L1BCFijJwcXZvgMDqLL+HWz55GrCB8dRaVCqxzkiHg0NyZ70lMKoBbM3QzxRrwMiMPDv1FJV1bpCoWNvmvfuaBn6Uxk1xl/GQ/UUBQA0171bjbRx00sWge7DqtiUQ//oGCoBATi//cq3BkAKWjCZYDQy3FJM6xSVlSeh6YWYFfcUMVq8cHal8Zf08o2+cSFtEJqQ+//lpEPKN0mhsIBiMCnL/jDGVbp0kTKPzVUcDc1bwK8FBvl0tv/fqMRN/EnXGEEXaYXkqPFVNAN6mKDEjGolCiDqEnxGKUGNtuBGKtMZXriABHy7foLXtN1OxZx0kTr8UyCNB3ogbGiMOF2EVjU+KugNSMMID8vkWz6jxKnj20GJCnggGyOCASC1ujA1Kf6Hz0JPzVq6YOwb7icHkXNHpYZ3eHq8tnNsdYgBjQeaASAOV1HAJuVDsuirLrBgmdqh0eXfR3ePd4f6q0XN8S/jqKIBDWxvY2FsLXRlc3RuZXSqAQdkZWZhdWx0sgEIAKF4iMEKoAC6AQIAAA==", + "headerType": "Header", + "headerHash": "OMnYUoGOSF0HxsjKg4QvHWzVFr9xyUF56B53yz+PN4k=", + "body": { + "miniBlocks": [ + { + "txHashes": [ + "dRvlFC3760XjzAvqT+TQUkGVhvg1fe1Em3+tOrHrXmg=", + "YA0iA/o3GfvXOcMbQkp4mD8MEGi4FWRbNyB64wQ0ozY=" + ], + "receiverShardID": 0, + "senderShardID": 0, + "type": 0 + } + ] + } + }, + "transactionPool": { + "transactions": { + "00c441f6f1594a2f5f0e82a45302791231bc5a1c873d39f70762ae5baacc4aa3": { + "transaction": { + "nonce": 7, + "value": 19920268725099600000, + "receiver": "rQ+qT+ixRzYL3HMwCNpeTvlZWvnSDJLkrobGKrLzCfc=", + "sender": "sfcCJjHdmMJn/6CSynfbn9VN+gGMqxEBxKp/u89fAuE=", + "gasPrice": 1000000000, + "gasLimit": 50000, + "chainID": "bG9jYWwtdGVzdG5ldA==", + "version": 1, + "signature": "cHfurbW81svbFXmlN1xaS02LG6ocP2lBrU4niQ7mudF6XnNUXC01mox3bdBqt9Lqnlc8pevfw9+t4mOeDrXOBw==" + }, + "feeInfo": { + "gasUsed": 50000, + "fee": 50000000000000, + "initialPaidFee": 50000000000000 + }, + "executionOrder": 613 + }, + "016c4265a5235f988bfbebc3d1b4b6212996da1d2dbb8e5744db037e67d16ed1": { + "transaction": { + "nonce": 11, + "value": 19920268725099600000, + "receiver": "9gi3xOmwBh/MbN4YTHIQChv2YKldnPgcZbT75QxLya8=", + "sender": "sfcCJjHdmMJn/6CSynfbn9VN+gGMqxEBxKp/u89fAuE=", + "gasPrice": 1000000000, + "gasLimit": 50000, + "chainID": "bG9jYWwtdGVzdG5ldA==", + "version": 1, + "signature": "9my5GCtuPIRBAtwf72QU8iO/bsk7oGSc7wexZBtHzzyBJt4JzIaT/w3nud/NkBP/My9mW0C6Ucpdf/z4s1kmAg==" + }, + "feeInfo": { + "gasUsed": 50000, + "fee": 50000000000000, + "initialPaidFee": 50000000000000 + }, + "executionOrder": 617 + } + } + }, + "headerGasConsumption": { + "gasProvided": 45450000, + "gasRefunded": 0, + "gasPenalized": 0, + "maxGasPerBlock": 1500000000 + }, + "alteredAccounts": { + "erd100e33hckr255jpk7uztlkjdmskhfsqm6zmtnumq0skt5uh8nzuks5urqyz": { + "address": "erd100e33hckr255jpk7uztlkjdmskhfsqm6zmtnumq0skt5uh8nzuks5urqyz", + "nonce": 0, + "balance": "19920268725099601593", + "additionalAccountData": { + "balanceChanged": true, + "developerRewards": "0" + } + }, + "erd100yg4lxpt5m4dspnmnkm0darf2t4wzwjmyv8uuwlg6jkfd50t9cs0xv6jw": { + "address": "erd100yg4lxpt5m4dspnmnkm0darf2t4wzwjmyv8uuwlg6jkfd50t9cs0xv6jw", + "nonce": 0, + "balance": "19920268725099601593", + "additionalAccountData": { + "balanceChanged": true, + "developerRewards": "0" + } + } + }, + "numberOfShards": 1, + "signersIndexes": [ + 0 + ], + "highestFinalBlockNonce": 10, + "highestFinalBlockHash": "OMnYUoGOSF0HxsjKg4QvHWzVFr9xyUF56B53yz+PN4k=", + "stateChanges": { + "04efbfbd2aefbfbd00760466efbfbdefbfbd495cefbfbdd1ab6fefbfbdefbfbd61efbfbd0b63efbfbd235813efbfbd272d742defbfbd": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "BOwqwgB2BGb2iklch9Grb6jrYdALY94jWBO6Jy10Ldw=", + "mainTrieKey": "B9hUGiZ0teVUNK0q2hqZVUIrOYFGzC15N6BUy+A6Xho=", + "mainTrieVal": "CBsSCgDx5MpLvFvG4n0qIAfYVBomdLXlVDStKtoamVVCKzmBRswteTegVMvgOl4aMgIAAA==", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "BOwqwgB2BGb2iklch9Grb6jrYdALY94jWBO6Jy10Ldw=", + "mainTrieKey": "VS6108hIUzlZppc2EOm0W/3aDR7ZBoA46p0LbBehqqw=", + "mainTrieVal": "EgoAARRzAt0F4p65KiBVLrXTyEhTOVmmlzYQ6bRb/doNHtkGgDjqnQtsF6GqrDICAAA=", + "operation": 1 + } + ] + }, + "04efbfbdefbfbd2befbfbdefbfbd38efbfbdefbfbdefbfbd04efbfbd58efbfbd14efbfbd3138d08f12565eefbfbd08efbfbdefbfbdefbfbd67efbfbdcb85": { + "stateChanges": [ + { + "type": 1, + "index": 0, + "txHash": "BMrcK++XOLCBwgTOWMoUnTE40I8SVl7qCILd3Wf0y4U=", + "mainTrieKey": "kewEag7tvPMhlk4yACzCwB9Q7FRmZe6YuXMQSzKPoto=", + "mainTrieVal": "CCoSCgDhsgp2qgfqtaYqIJHsBGoO7bzzIZZOMgAswsAfUOxUZmXumLlzEEsyj6LaMgIAAA==", + "operation": 1 + }, + { + "type": 1, + "index": 0, + "txHash": "BMrcK++XOLCBwgTOWMoUnTE40I8SVl7qCILd3Wf0y4U=", + "mainTrieKey": "G5WAnAyQVeYMAkLwDyJQggP/rOv1mg0UXcDHIiMGuUU=", + "mainTrieVal": "EgoAARRzAt0F4p65KiAblYCcDJBV5gwCQvAPIlCCA/+s6/WaDRRdwMciIwa5RTICAAA=", + "operation": 1 + } + ] + } + } +} \ No newline at end of file