add next_validators_hash to abci++

This commit is contained in:
William Banfield
2022-04-06 22:08:15 -04:00
parent 8824867501
commit 143fc09ad7
6 changed files with 441 additions and 261 deletions
+384 -224
View File
@@ -1351,9 +1351,10 @@ type RequestPrepareProposal struct {
LocalLastCommit ExtendedCommitInfo `protobuf:"bytes,5,opt,name=local_last_commit,json=localLastCommit,proto3" json:"local_last_commit"`
ByzantineValidators []Evidence `protobuf:"bytes,6,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"`
// address of the public key of the node receiving this PrepareProposal request.
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
NextValidatorsHash []byte `protobuf:"bytes,8,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"`
// the modified transactions cannot exceed this size.
MaxTxBytes int64 `protobuf:"varint,8,opt,name=max_tx_bytes,json=maxTxBytes,proto3" json:"max_tx_bytes,omitempty"`
MaxTxBytes int64 `protobuf:"varint,9,opt,name=max_tx_bytes,json=maxTxBytes,proto3" json:"max_tx_bytes,omitempty"`
}
func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} }
@@ -1438,6 +1439,13 @@ func (m *RequestPrepareProposal) GetProposerAddress() []byte {
return nil
}
func (m *RequestPrepareProposal) GetNextValidatorsHash() []byte {
if m != nil {
return m.NextValidatorsHash
}
return nil
}
func (m *RequestPrepareProposal) GetMaxTxBytes() int64 {
if m != nil {
return m.MaxTxBytes
@@ -1453,7 +1461,8 @@ type RequestProcessProposal struct {
ProposedLastCommit CommitInfo `protobuf:"bytes,5,opt,name=proposed_last_commit,json=proposedLastCommit,proto3" json:"proposed_last_commit"`
ByzantineValidators []Evidence `protobuf:"bytes,6,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"`
// address of the public key of the original proposer of the block.
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
NextValidatorsHash []byte `protobuf:"bytes,8,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"`
}
func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} }
@@ -1538,6 +1547,13 @@ func (m *RequestProcessProposal) GetProposerAddress() []byte {
return nil
}
func (m *RequestProcessProposal) GetNextValidatorsHash() []byte {
if m != nil {
return m.NextValidatorsHash
}
return nil
}
// Extends a vote with application-side injection
type RequestExtendVote struct {
Vote *types1.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"`
@@ -1636,7 +1652,8 @@ type RequestFinalizeBlock struct {
DecidedLastCommit CommitInfo `protobuf:"bytes,5,opt,name=decided_last_commit,json=decidedLastCommit,proto3" json:"decided_last_commit"`
ByzantineValidators []Evidence `protobuf:"bytes,6,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"`
// address of the public key of the original proposer of the block.
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
ProposerAddress []byte `protobuf:"bytes,7,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"`
NextValidatorsHash []byte `protobuf:"bytes,8,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"`
}
func (m *RequestFinalizeBlock) Reset() { *m = RequestFinalizeBlock{} }
@@ -1721,6 +1738,13 @@ func (m *RequestFinalizeBlock) GetProposerAddress() []byte {
return nil
}
func (m *RequestFinalizeBlock) GetNextValidatorsHash() []byte {
if m != nil {
return m.NextValidatorsHash
}
return nil
}
type Response struct {
// Types that are valid to be assigned to Value:
// *Response_Exception
@@ -4212,225 +4236,226 @@ func init() {
func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) }
var fileDescriptor_252557cfdd89a31a = []byte{
// 3484 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0x4b, 0x6f, 0x1b, 0x57,
0x96, 0xe6, 0xfb, 0x71, 0xf8, 0x2a, 0x5d, 0x29, 0x0e, 0xcd, 0xd8, 0x92, 0x53, 0x46, 0x1e, 0x76,
0x12, 0x79, 0x62, 0xc3, 0x89, 0x3d, 0x49, 0x26, 0x90, 0x28, 0x2a, 0x94, 0x2d, 0x4b, 0x4a, 0x89,
0x72, 0x90, 0x99, 0x8c, 0x2b, 0x25, 0xd6, 0x15, 0x59, 0x31, 0xc9, 0xaa, 0x54, 0x15, 0x15, 0x2a,
0xab, 0xc1, 0x00, 0x01, 0x06, 0xc1, 0x00, 0x93, 0xdd, 0xcc, 0x26, 0xbb, 0x69, 0xa0, 0x7f, 0x42,
0xaf, 0x7a, 0xd5, 0x8b, 0x2c, 0x7a, 0x91, 0x5d, 0x37, 0x7a, 0x91, 0x0e, 0x92, 0x5e, 0xf5, 0x1f,
0xe8, 0x55, 0xa7, 0x1b, 0xf7, 0x51, 0x4f, 0xb2, 0xf8, 0x88, 0x9d, 0x07, 0xd0, 0xbb, 0xba, 0x87,
0xe7, 0x9c, 0xaa, 0x7b, 0xef, 0xb9, 0xe7, 0xf1, 0x9d, 0x4b, 0x78, 0xca, 0xc6, 0x03, 0x15, 0x9b,
0x7d, 0x6d, 0x60, 0x5f, 0x53, 0x8e, 0xdb, 0xda, 0x35, 0xfb, 0xcc, 0xc0, 0xd6, 0xba, 0x61, 0xea,
0xb6, 0x8e, 0x2a, 0xde, 0x8f, 0xeb, 0xe4, 0xc7, 0xda, 0x45, 0x1f, 0x77, 0xdb, 0x3c, 0x33, 0x6c,
0xfd, 0x9a, 0x61, 0xea, 0xfa, 0x09, 0xe3, 0xaf, 0x5d, 0xf0, 0xfd, 0x4c, 0xf5, 0xf8, 0xb5, 0x05,
0x7e, 0xe5, 0xc2, 0x0f, 0xf1, 0x99, 0xf3, 0xeb, 0xc5, 0x31, 0x59, 0x43, 0x31, 0x95, 0xbe, 0xf3,
0xf3, 0x5a, 0x47, 0xd7, 0x3b, 0x3d, 0x7c, 0x8d, 0x8e, 0x8e, 0x87, 0x27, 0xd7, 0x6c, 0xad, 0x8f,
0x2d, 0x5b, 0xe9, 0x1b, 0x9c, 0x61, 0xa5, 0xa3, 0x77, 0x74, 0xfa, 0x78, 0x8d, 0x3c, 0x31, 0xaa,
0xf8, 0x37, 0x80, 0xac, 0x84, 0x3f, 0x1c, 0x62, 0xcb, 0x46, 0xd7, 0x21, 0x85, 0xdb, 0x5d, 0xbd,
0x1a, 0xbf, 0x14, 0x7f, 0xbe, 0x70, 0xfd, 0xc2, 0x7a, 0x68, 0x72, 0xeb, 0x9c, 0xaf, 0xd1, 0xee,
0xea, 0xcd, 0x98, 0x44, 0x79, 0xd1, 0x4d, 0x48, 0x9f, 0xf4, 0x86, 0x56, 0xb7, 0x9a, 0xa0, 0x42,
0x17, 0xa3, 0x84, 0xb6, 0x09, 0x53, 0x33, 0x26, 0x31, 0x6e, 0xf2, 0x2a, 0x6d, 0x70, 0xa2, 0x57,
0x93, 0xd3, 0x5f, 0xb5, 0x33, 0x38, 0xa1, 0xaf, 0x22, 0xbc, 0x68, 0x13, 0x40, 0x1b, 0x68, 0xb6,
0xdc, 0xee, 0x2a, 0xda, 0xa0, 0x9a, 0xa2, 0x92, 0x4f, 0x47, 0x4b, 0x6a, 0x76, 0x9d, 0x30, 0x36,
0x63, 0x52, 0x5e, 0x73, 0x06, 0xe4, 0x73, 0x3f, 0x1c, 0x62, 0xf3, 0xac, 0x9a, 0x9e, 0xfe, 0xb9,
0x6f, 0x13, 0x26, 0xf2, 0xb9, 0x94, 0x1b, 0xed, 0x40, 0xe1, 0x18, 0x77, 0xb4, 0x81, 0x7c, 0xdc,
0xd3, 0xdb, 0x0f, 0xab, 0x19, 0x2a, 0x2c, 0x46, 0x09, 0x6f, 0x12, 0xd6, 0x4d, 0xc2, 0xb9, 0x99,
0xa8, 0xc6, 0x9b, 0x31, 0x09, 0x8e, 0x5d, 0x0a, 0x7a, 0x1d, 0x72, 0xed, 0x2e, 0x6e, 0x3f, 0x94,
0xed, 0x51, 0x35, 0x4b, 0xf5, 0xac, 0x45, 0xe9, 0xa9, 0x13, 0xbe, 0xd6, 0xa8, 0x19, 0x93, 0xb2,
0x6d, 0xf6, 0x88, 0xb6, 0x01, 0x54, 0xdc, 0xd3, 0x4e, 0xb1, 0x49, 0xe4, 0x73, 0xd3, 0xd7, 0x60,
0x8b, 0x71, 0xb6, 0x46, 0xfc, 0x33, 0xf2, 0xaa, 0x43, 0x40, 0x75, 0xc8, 0xe3, 0x81, 0xca, 0xa7,
0x93, 0xa7, 0x6a, 0x2e, 0x45, 0xee, 0xf7, 0x40, 0xf5, 0x4f, 0x26, 0x87, 0xf9, 0x18, 0xdd, 0x82,
0x4c, 0x5b, 0xef, 0xf7, 0x35, 0xbb, 0x0a, 0x54, 0xc3, 0x6a, 0xe4, 0x44, 0x28, 0x57, 0x33, 0x26,
0x71, 0x7e, 0xb4, 0x07, 0xe5, 0x9e, 0x66, 0xd9, 0xb2, 0x35, 0x50, 0x0c, 0xab, 0xab, 0xdb, 0x56,
0xb5, 0x40, 0x35, 0x3c, 0x13, 0xa5, 0x61, 0x57, 0xb3, 0xec, 0x43, 0x87, 0xb9, 0x19, 0x93, 0x4a,
0x3d, 0x3f, 0x81, 0xe8, 0xd3, 0x4f, 0x4e, 0xb0, 0xe9, 0x2a, 0xac, 0x16, 0xa7, 0xeb, 0xdb, 0x27,
0xdc, 0x8e, 0x3c, 0xd1, 0xa7, 0xfb, 0x09, 0xe8, 0xdf, 0x60, 0xb9, 0xa7, 0x2b, 0xaa, 0xab, 0x4e,
0x6e, 0x77, 0x87, 0x83, 0x87, 0xd5, 0x12, 0x55, 0x7a, 0x25, 0xf2, 0x23, 0x75, 0x45, 0x75, 0x54,
0xd4, 0x89, 0x40, 0x33, 0x26, 0x2d, 0xf5, 0xc2, 0x44, 0xf4, 0x00, 0x56, 0x14, 0xc3, 0xe8, 0x9d,
0x85, 0xb5, 0x97, 0xa9, 0xf6, 0xab, 0x51, 0xda, 0x37, 0x88, 0x4c, 0x58, 0x3d, 0x52, 0xc6, 0xa8,
0xa8, 0x05, 0x82, 0x61, 0x62, 0x43, 0x31, 0xb1, 0x6c, 0x98, 0xba, 0xa1, 0x5b, 0x4a, 0xaf, 0x5a,
0xa1, 0xba, 0x9f, 0x8b, 0xd2, 0x7d, 0xc0, 0xf8, 0x0f, 0x38, 0x7b, 0x33, 0x26, 0x55, 0x8c, 0x20,
0x89, 0x69, 0xd5, 0xdb, 0xd8, 0xb2, 0x3c, 0xad, 0xc2, 0x2c, 0xad, 0x94, 0x3f, 0xa8, 0x35, 0x40,
0x42, 0x0d, 0x28, 0xe0, 0x11, 0x11, 0x97, 0x4f, 0x75, 0x1b, 0x57, 0x97, 0xa6, 0x1f, 0xac, 0x06,
0x65, 0xbd, 0xaf, 0xdb, 0x98, 0x1c, 0x2a, 0xec, 0x8e, 0x90, 0x02, 0x4f, 0x9c, 0x62, 0x53, 0x3b,
0x39, 0xa3, 0x6a, 0x64, 0xfa, 0x8b, 0xa5, 0xe9, 0x83, 0x2a, 0xa2, 0x0a, 0x5f, 0x88, 0x52, 0x78,
0x9f, 0x0a, 0x11, 0x15, 0x0d, 0x47, 0xa4, 0x19, 0x93, 0x96, 0x4f, 0xc7, 0xc9, 0xc4, 0xc4, 0x4e,
0xb4, 0x81, 0xd2, 0xd3, 0x3e, 0xc6, 0xfc, 0xd8, 0x2c, 0x4f, 0x37, 0xb1, 0x6d, 0xce, 0x4d, 0xcf,
0x0a, 0x31, 0xb1, 0x13, 0x3f, 0x61, 0x33, 0x0b, 0xe9, 0x53, 0xa5, 0x37, 0xc4, 0xe2, 0x73, 0x50,
0xf0, 0x39, 0x56, 0x54, 0x85, 0x6c, 0x1f, 0x5b, 0x96, 0xd2, 0xc1, 0xd4, 0x0f, 0xe7, 0x25, 0x67,
0x28, 0x96, 0xa1, 0xe8, 0x77, 0xa6, 0xe2, 0x67, 0x71, 0x57, 0x92, 0xf8, 0x49, 0x22, 0x79, 0x8a,
0x4d, 0x3a, 0x6d, 0x2e, 0xc9, 0x87, 0xe8, 0x32, 0x94, 0xe8, 0x27, 0xcb, 0xce, 0xef, 0xc4, 0x59,
0xa7, 0xa4, 0x22, 0x25, 0xde, 0xe7, 0x4c, 0x6b, 0x50, 0x30, 0xae, 0x1b, 0x2e, 0x4b, 0x92, 0xb2,
0x80, 0x71, 0xdd, 0x70, 0x18, 0x9e, 0x86, 0x22, 0x99, 0x9f, 0xcb, 0x91, 0xa2, 0x2f, 0x29, 0x10,
0x1a, 0x67, 0x11, 0x7f, 0x9b, 0x00, 0x21, 0xec, 0x80, 0xd1, 0x2d, 0x48, 0x91, 0x58, 0xc4, 0xc3,
0x4a, 0x6d, 0x9d, 0x05, 0xaa, 0x75, 0x27, 0x50, 0xad, 0xb7, 0x9c, 0x40, 0xb5, 0x99, 0xfb, 0xe2,
0xab, 0xb5, 0xd8, 0x67, 0x7f, 0x5c, 0x8b, 0x4b, 0x54, 0x02, 0x9d, 0x27, 0xbe, 0x52, 0xd1, 0x06,
0xb2, 0xa6, 0xd2, 0x4f, 0xce, 0x13, 0x47, 0xa8, 0x68, 0x83, 0x1d, 0x15, 0xed, 0x82, 0xd0, 0xd6,
0x07, 0x16, 0x1e, 0x58, 0x43, 0x4b, 0x66, 0x81, 0x90, 0x07, 0x93, 0x80, 0x3b, 0x64, 0xe1, 0xb5,
0xee, 0x70, 0x1e, 0x50, 0x46, 0xa9, 0xd2, 0x0e, 0x12, 0x88, 0x5b, 0x3d, 0x55, 0x7a, 0x9a, 0xaa,
0xd8, 0xba, 0x69, 0x55, 0x53, 0x97, 0x92, 0x13, 0xfd, 0xe1, 0x7d, 0x87, 0xe5, 0xc8, 0x50, 0x15,
0x1b, 0x6f, 0xa6, 0xc8, 0xe7, 0x4a, 0x3e, 0x49, 0xf4, 0x2c, 0x54, 0x14, 0xc3, 0x90, 0x2d, 0x5b,
0xb1, 0xb1, 0x7c, 0x7c, 0x66, 0x63, 0x8b, 0x06, 0x9a, 0xa2, 0x54, 0x52, 0x0c, 0xe3, 0x90, 0x50,
0x37, 0x09, 0x11, 0x3d, 0x03, 0x65, 0x12, 0x93, 0x34, 0xa5, 0x27, 0x77, 0xb1, 0xd6, 0xe9, 0xda,
0x34, 0xa4, 0x24, 0xa5, 0x12, 0xa7, 0x36, 0x29, 0x51, 0x54, 0xdd, 0x1d, 0xa7, 0xf1, 0x08, 0x21,
0x48, 0xa9, 0x8a, 0xad, 0xd0, 0x95, 0x2c, 0x4a, 0xf4, 0x99, 0xd0, 0x0c, 0xc5, 0xee, 0xf2, 0xf5,
0xa1, 0xcf, 0xe8, 0x1c, 0x64, 0xb8, 0xda, 0x24, 0x55, 0xcb, 0x47, 0x68, 0x05, 0xd2, 0x86, 0xa9,
0x9f, 0x62, 0xba, 0x75, 0x39, 0x89, 0x0d, 0xc4, 0xff, 0x48, 0xc0, 0xd2, 0x58, 0xe4, 0x22, 0x7a,
0xbb, 0x8a, 0xd5, 0x75, 0xde, 0x45, 0x9e, 0xd1, 0x2b, 0x44, 0xaf, 0xa2, 0x62, 0x93, 0x47, 0xfb,
0xea, 0xf8, 0x52, 0x37, 0xe9, 0xef, 0x7c, 0x69, 0x38, 0x37, 0xba, 0x0b, 0x42, 0x4f, 0xb1, 0x6c,
0x99, 0x79, 0x7f, 0xd9, 0x17, 0xf9, 0x9f, 0x1a, 0x5b, 0x64, 0x16, 0x2b, 0x88, 0x41, 0x73, 0x25,
0x65, 0x22, 0xea, 0x51, 0x91, 0x04, 0x2b, 0xc7, 0x67, 0x1f, 0x2b, 0x03, 0x5b, 0x1b, 0x60, 0x79,
0x6c, 0xd7, 0xce, 0x8f, 0x29, 0x6c, 0x9c, 0x6a, 0x2a, 0x1e, 0xb4, 0x9d, 0xed, 0x5a, 0x76, 0x85,
0xdd, 0xed, 0xb4, 0x44, 0x09, 0xca, 0xc1, 0x98, 0x8b, 0xca, 0x90, 0xb0, 0x47, 0x7c, 0xf2, 0x09,
0x7b, 0x84, 0xfe, 0x09, 0x52, 0x64, 0x82, 0x74, 0xe2, 0xe5, 0x09, 0x09, 0x0b, 0x97, 0x6b, 0x9d,
0x19, 0x58, 0xa2, 0x9c, 0xa2, 0xe8, 0x1e, 0x05, 0x37, 0x0e, 0x87, 0xb5, 0x8a, 0x57, 0xa0, 0x12,
0x0a, 0xb2, 0xbe, 0xbd, 0x8b, 0xfb, 0xf7, 0x4e, 0xac, 0x40, 0x29, 0x10, 0x4d, 0xc5, 0x73, 0xb0,
0x32, 0x29, 0x38, 0x8a, 0x5d, 0x97, 0x1e, 0x08, 0x72, 0xe8, 0x26, 0xe4, 0xdc, 0xe8, 0xc8, 0x8e,
0xe2, 0xf8, 0x5a, 0x39, 0xcc, 0x92, 0xcb, 0x4a, 0xce, 0x20, 0x31, 0x69, 0x6a, 0x0b, 0x09, 0xfa,
0xe1, 0x59, 0xc5, 0x30, 0x9a, 0x8a, 0xd5, 0x15, 0xdf, 0x87, 0x6a, 0x54, 0xe4, 0x0b, 0x4d, 0x23,
0xe5, 0x9a, 0xe0, 0x39, 0xc8, 0x9c, 0xe8, 0x66, 0x5f, 0xb1, 0xa9, 0xb2, 0x92, 0xc4, 0x47, 0xc4,
0x34, 0x59, 0x14, 0x4c, 0x52, 0x32, 0x1b, 0x88, 0x32, 0x9c, 0x8f, 0x8c, 0x7e, 0x44, 0x44, 0x1b,
0xa8, 0x98, 0xad, 0x67, 0x49, 0x62, 0x03, 0x4f, 0x11, 0xfb, 0x58, 0x36, 0x20, 0xaf, 0xb5, 0xe8,
0x5c, 0xa9, 0xfe, 0xbc, 0xc4, 0x47, 0xe2, 0x7f, 0x25, 0xe1, 0xdc, 0xe4, 0x18, 0x38, 0xf1, 0x00,
0x78, 0xb3, 0x4a, 0x04, 0x0e, 0x96, 0xe3, 0xe2, 0x92, 0x0b, 0xbb, 0x38, 0x01, 0x92, 0xf6, 0x88,
0x19, 0x6f, 0x51, 0x22, 0x8f, 0xe8, 0x08, 0x96, 0x7a, 0x7a, 0x5b, 0xe9, 0xc9, 0xbe, 0x23, 0xc3,
0xd3, 0xd5, 0xcb, 0xe3, 0xc6, 0x4d, 0x63, 0x20, 0x56, 0xc7, 0x4e, 0x4d, 0x85, 0xea, 0xd8, 0x75,
0x8f, 0x4e, 0xe4, 0xb1, 0xc9, 0x7c, 0xff, 0x63, 0x83, 0xae, 0xd0, 0x9c, 0xc0, 0xd0, 0x2d, 0x6c,
0xca, 0x8a, 0xaa, 0x9a, 0xd8, 0xb2, 0x68, 0x4e, 0x5b, 0xa4, 0x81, 0x9e, 0xd2, 0x37, 0x18, 0x19,
0x5d, 0x82, 0x62, 0x5f, 0x19, 0xc9, 0xf6, 0x88, 0xbb, 0xc5, 0x1c, 0x5d, 0x3f, 0xe8, 0x2b, 0xa3,
0xd6, 0x88, 0xfa, 0x44, 0xf1, 0x4f, 0x09, 0xdf, 0x56, 0x04, 0xb3, 0x84, 0x9f, 0x6a, 0x2b, 0x0e,
0x61, 0x85, 0xcf, 0x43, 0x9d, 0xb0, 0x1b, 0x73, 0xf8, 0x2e, 0xe4, 0x88, 0xff, 0x6c, 0x36, 0x42,
0x7c, 0xd3, 0x75, 0xf6, 0x5e, 0x36, 0x85, 0xae, 0x42, 0x8a, 0xe6, 0x5f, 0xcc, 0x2f, 0x9c, 0x1b,
0x77, 0xeb, 0x84, 0x4b, 0xa2, 0x3c, 0x62, 0x13, 0x6a, 0xd1, 0xd9, 0xd3, 0x42, 0x9a, 0xbe, 0x4e,
0xb8, 0xae, 0x2a, 0x90, 0x2c, 0xfd, 0x64, 0xfb, 0xfd, 0x36, 0x2c, 0xab, 0xb8, 0xad, 0xa9, 0xdf,
0x77, 0xbb, 0x97, 0xb8, 0xf4, 0xcf, 0x67, 0xb7, 0x7f, 0x57, 0x80, 0x9c, 0x84, 0x2d, 0x83, 0xe4,
0x3b, 0x68, 0x13, 0xf2, 0x78, 0xd4, 0xc6, 0x86, 0xed, 0xa4, 0x88, 0x93, 0x53, 0x6d, 0xc6, 0xdd,
0x70, 0x38, 0x49, 0xe1, 0xe8, 0x8a, 0xa1, 0x1b, 0x1c, 0x23, 0x88, 0x2e, 0xf7, 0xb9, 0xb8, 0x1f,
0x24, 0x78, 0xc5, 0x01, 0x09, 0x92, 0x91, 0x75, 0x22, 0x93, 0x0a, 0xa1, 0x04, 0x37, 0x38, 0x4a,
0x90, 0x9a, 0xf1, 0xb2, 0x00, 0x4c, 0x50, 0x0f, 0xc0, 0x04, 0xe9, 0x19, 0xd3, 0x8c, 0xc0, 0x09,
0x5e, 0x71, 0x70, 0x82, 0xcc, 0x8c, 0x2f, 0x0e, 0x01, 0x05, 0x77, 0x82, 0x40, 0x41, 0x36, 0xc2,
0x6d, 0x3b, 0xd2, 0x53, 0x91, 0x82, 0x37, 0x7c, 0x48, 0x41, 0x2e, 0xb2, 0x44, 0x67, 0x8a, 0x26,
0x40, 0x05, 0x6f, 0x05, 0xa0, 0x82, 0xfc, 0x8c, 0x75, 0x98, 0x82, 0x15, 0x6c, 0xf9, 0xb1, 0x02,
0x88, 0x84, 0x1c, 0xf8, 0xbe, 0x47, 0x81, 0x05, 0xb7, 0x5d, 0xb0, 0xa0, 0x10, 0x89, 0x7a, 0xf0,
0xb9, 0x84, 0xd1, 0x82, 0xfd, 0x31, 0xb4, 0x80, 0x55, 0xf7, 0xcf, 0x46, 0xaa, 0x98, 0x01, 0x17,
0xec, 0x8f, 0xc1, 0x05, 0xa5, 0x19, 0x0a, 0x67, 0xe0, 0x05, 0xef, 0x4d, 0xc6, 0x0b, 0xa2, 0x2b,
0x7a, 0xfe, 0x99, 0xf3, 0x01, 0x06, 0x72, 0x04, 0x60, 0x50, 0x89, 0x2c, 0x6e, 0x99, 0xfa, 0xb9,
0x11, 0x83, 0xa3, 0x09, 0x88, 0x01, 0xab, 0xed, 0x9f, 0x8f, 0x54, 0x3e, 0x07, 0x64, 0x70, 0x34,
0x01, 0x32, 0x58, 0x9a, 0xa9, 0x76, 0x26, 0x66, 0xb0, 0x1d, 0xc4, 0x0c, 0xd0, 0x8c, 0x33, 0x16,
0x09, 0x1a, 0x1c, 0x47, 0x81, 0x06, 0xac, 0xb0, 0x7f, 0x31, 0x52, 0xe3, 0x02, 0xa8, 0xc1, 0xfe,
0x18, 0x6a, 0xb0, 0x32, 0xc3, 0xd2, 0xe6, 0x85, 0x0d, 0xae, 0x90, 0x38, 0x1e, 0x72, 0xd5, 0x24,
0xf9, 0xc5, 0xa6, 0xa9, 0x9b, 0x1c, 0x00, 0x60, 0x03, 0xf1, 0x79, 0x52, 0x46, 0x7a, 0x6e, 0x79,
0x0a, 0xc4, 0x40, 0x8b, 0x0c, 0x9f, 0x2b, 0x16, 0x7f, 0x15, 0xf7, 0x64, 0x69, 0xf5, 0xe5, 0x2f,
0x41, 0xf3, 0xbc, 0x04, 0xf5, 0x01, 0x0f, 0x89, 0x20, 0xf0, 0xb0, 0x06, 0x05, 0x52, 0x3c, 0x84,
0x30, 0x05, 0xc5, 0x70, 0x31, 0x85, 0xab, 0xb0, 0x44, 0x23, 0x2d, 0x83, 0x27, 0x78, 0x80, 0x4f,
0xd1, 0x00, 0x5f, 0x21, 0x3f, 0xb0, 0x55, 0x60, 0x91, 0xfe, 0x25, 0x58, 0xf6, 0xf1, 0xba, 0x45,
0x09, 0x2b, 0xb0, 0x05, 0x97, 0x7b, 0x83, 0x57, 0x27, 0xbf, 0x89, 0x7b, 0x2b, 0xe4, 0x81, 0x11,
0x93, 0x70, 0x83, 0xf8, 0x63, 0xc2, 0x0d, 0x12, 0xdf, 0x1b, 0x37, 0xf0, 0x17, 0x59, 0xc9, 0x60,
0x91, 0xf5, 0x97, 0xb8, 0xb7, 0x27, 0x2e, 0x0a, 0xd0, 0xd6, 0x55, 0xcc, 0xcb, 0x1e, 0xfa, 0x4c,
0x72, 0x99, 0x9e, 0xde, 0xe1, 0xc5, 0x0d, 0x79, 0x24, 0x5c, 0x6e, 0xec, 0xcc, 0xf3, 0xd0, 0xe8,
0x56, 0x4c, 0x69, 0xba, 0xc2, 0xbc, 0x62, 0x12, 0x20, 0xf9, 0x10, 0xb3, 0x48, 0x57, 0x94, 0xc8,
0x23, 0xe1, 0xa3, 0x46, 0xc6, 0xb3, 0x0a, 0x36, 0x40, 0xb7, 0x20, 0x4f, 0x7b, 0x19, 0xb2, 0x6e,
0x58, 0x3c, 0x20, 0x05, 0x72, 0x22, 0xd6, 0xb2, 0x58, 0x3f, 0x20, 0x3c, 0xfb, 0x86, 0x25, 0xe5,
0x0c, 0xfe, 0xe4, 0xcb, 0xdd, 0xf2, 0x81, 0xdc, 0xed, 0x02, 0xe4, 0xc9, 0xd7, 0x5b, 0x86, 0xd2,
0xc6, 0x34, 0xb2, 0xe4, 0x25, 0x8f, 0x20, 0x3e, 0x00, 0x34, 0x1e, 0x27, 0x51, 0x13, 0x32, 0xf8,
0x14, 0x0f, 0x6c, 0xb2, 0x6d, 0xc9, 0x70, 0x8a, 0xc9, 0x53, 0x28, 0x3c, 0xb0, 0x37, 0xab, 0x64,
0x91, 0xff, 0xfc, 0xd5, 0x9a, 0xc0, 0xb8, 0x5f, 0xd4, 0xfb, 0x9a, 0x8d, 0xfb, 0x86, 0x7d, 0x26,
0x71, 0x79, 0xf1, 0x0f, 0x09, 0x52, 0x7d, 0x07, 0xe2, 0xe7, 0xc4, 0xb5, 0x75, 0x4c, 0x3e, 0xe1,
0x43, 0x5d, 0xe6, 0x5b, 0xef, 0x8b, 0x00, 0x1d, 0xc5, 0x92, 0x3f, 0x52, 0x06, 0x36, 0x56, 0xf9,
0xa2, 0xe7, 0x3b, 0x8a, 0xf5, 0x0e, 0x25, 0x90, 0x5d, 0x27, 0x3f, 0x0f, 0x2d, 0xac, 0x72, 0xfc,
0x27, 0xdb, 0x51, 0xac, 0x23, 0x0b, 0xab, 0xbe, 0x59, 0x66, 0x1f, 0x6d, 0x96, 0xc1, 0x35, 0xce,
0x85, 0xd6, 0xd8, 0x57, 0x17, 0xe7, 0xfd, 0x75, 0x31, 0xaa, 0x41, 0xce, 0x30, 0x35, 0xdd, 0xd4,
0xec, 0x33, 0xba, 0x31, 0x49, 0xc9, 0x1d, 0xa3, 0xcb, 0x50, 0xea, 0xe3, 0xbe, 0xa1, 0xeb, 0x3d,
0x99, 0x39, 0x9b, 0x02, 0x15, 0x2d, 0x72, 0x62, 0x83, 0xfa, 0x9c, 0x4f, 0x12, 0xde, 0xe9, 0xf3,
0xf0, 0x8f, 0xc7, 0xbb, 0xbc, 0xab, 0x13, 0x96, 0xd7, 0x47, 0x21, 0x93, 0x08, 0xad, 0xaf, 0x3b,
0xfe, 0xb1, 0x16, 0x58, 0xfc, 0x6f, 0x8a, 0x88, 0x06, 0x73, 0x23, 0x74, 0x08, 0x4b, 0xee, 0xe1,
0x97, 0x87, 0xd4, 0x29, 0x38, 0xe6, 0x3c, 0xaf, 0xf7, 0x10, 0x4e, 0x83, 0x64, 0x0b, 0xbd, 0x0b,
0x4f, 0x86, 0x3c, 0x9b, 0xab, 0x3a, 0x31, 0xaf, 0x83, 0x7b, 0x22, 0xe8, 0xe0, 0x1c, 0xd5, 0xde,
0x62, 0x25, 0x1f, 0xf1, 0xcc, 0xed, 0x40, 0x39, 0x98, 0xe6, 0x4d, 0xdc, 0xfe, 0xcb, 0x50, 0x32,
0xb1, 0xad, 0x68, 0x03, 0x39, 0x00, 0x63, 0x16, 0x19, 0x91, 0x83, 0xa3, 0x07, 0xf0, 0xc4, 0xc4,
0x74, 0x0f, 0xbd, 0x0a, 0x79, 0x2f, 0x53, 0x8c, 0x47, 0xd4, 0x59, 0x2e, 0xd2, 0xe5, 0xf1, 0x8a,
0xbf, 0x8e, 0x7b, 0x2a, 0x83, 0xd8, 0x59, 0x03, 0x32, 0x26, 0xb6, 0x86, 0x3d, 0x86, 0x66, 0x95,
0xaf, 0xbf, 0x34, 0x5f, 0xa2, 0x48, 0xa8, 0xc3, 0x9e, 0x2d, 0x71, 0x61, 0xf1, 0x01, 0x64, 0x18,
0x05, 0x15, 0x20, 0x7b, 0xb4, 0x77, 0x77, 0x6f, 0xff, 0x9d, 0x3d, 0x21, 0x86, 0x00, 0x32, 0x1b,
0xf5, 0x7a, 0xe3, 0xa0, 0x25, 0xc4, 0x51, 0x1e, 0xd2, 0x1b, 0x9b, 0xfb, 0x52, 0x4b, 0x48, 0x10,
0xb2, 0xd4, 0xb8, 0xd3, 0xa8, 0xb7, 0x84, 0x24, 0x5a, 0x82, 0x12, 0x7b, 0x96, 0xb7, 0xf7, 0xa5,
0x7b, 0x1b, 0x2d, 0x21, 0xe5, 0x23, 0x1d, 0x36, 0xf6, 0xb6, 0x1a, 0x92, 0x90, 0x16, 0x5f, 0x86,
0xf3, 0x91, 0xa9, 0xa5, 0x07, 0x8c, 0xc5, 0x7d, 0xc0, 0x98, 0xf8, 0x7f, 0x09, 0x52, 0xce, 0x47,
0xe5, 0x8b, 0xe8, 0x4e, 0x68, 0xe2, 0xd7, 0x17, 0x48, 0x36, 0x43, 0xb3, 0x47, 0xcf, 0x40, 0xd9,
0xc4, 0x27, 0xd8, 0x6e, 0x77, 0x59, 0xfe, 0xca, 0x02, 0x66, 0x49, 0x2a, 0x71, 0x2a, 0x15, 0xb2,
0x18, 0xdb, 0x07, 0xb8, 0x6d, 0xcb, 0xcc, 0x17, 0x31, 0xa3, 0xcb, 0x13, 0x36, 0x42, 0x3d, 0x64,
0x44, 0xf1, 0xfd, 0x85, 0xd6, 0x32, 0x0f, 0x69, 0xa9, 0xd1, 0x92, 0xde, 0x15, 0x92, 0x08, 0x41,
0x99, 0x3e, 0xca, 0x87, 0x7b, 0x1b, 0x07, 0x87, 0xcd, 0x7d, 0xb2, 0x96, 0xcb, 0x50, 0x71, 0xd6,
0xd2, 0x21, 0xa6, 0xc5, 0xef, 0x92, 0xf0, 0x64, 0x44, 0xb6, 0x8b, 0x3a, 0x80, 0xfa, 0xba, 0xaa,
0x9d, 0x68, 0x58, 0x95, 0xed, 0x11, 0x05, 0xfc, 0x87, 0x16, 0x5f, 0xa3, 0xdb, 0xf3, 0xe6, 0xcc,
0xeb, 0xf7, 0xb8, 0x8a, 0xd6, 0xe8, 0x90, 0x2a, 0x90, 0x84, 0x7e, 0x88, 0x82, 0x6e, 0x01, 0xd8,
0x23, 0xd9, 0xc4, 0x6d, 0xdd, 0x54, 0x9d, 0x0c, 0x63, 0xdc, 0x9a, 0x5b, 0x23, 0x89, 0x72, 0x48,
0x79, 0x9b, 0x3f, 0x4d, 0xcb, 0x29, 0xd0, 0xeb, 0x5c, 0x29, 0x59, 0x3e, 0x07, 0x38, 0xbf, 0x38,
0x01, 0x5b, 0xc4, 0x6d, 0xa2, 0x98, 0x6e, 0x22, 0x55, 0x4c, 0xf9, 0xd1, 0xbd, 0x49, 0xde, 0x2b,
0x3d, 0x9f, 0xf7, 0x5a, 0xcc, 0x6f, 0x65, 0x1e, 0xcd, 0x6f, 0x89, 0x6f, 0x80, 0x10, 0x5e, 0xe2,
0xa0, 0xb5, 0x94, 0x01, 0x8e, 0xf6, 0xee, 0xed, 0x6f, 0xed, 0x6c, 0xef, 0x34, 0xb6, 0x84, 0x38,
0x2a, 0x42, 0xce, 0x1d, 0x25, 0xc4, 0xff, 0x0f, 0x18, 0x40, 0xb0, 0x08, 0xd9, 0x87, 0x4c, 0x60,
0xd3, 0x5f, 0x9d, 0xb7, 0xa2, 0x59, 0x77, 0x1e, 0xf8, 0x96, 0x73, 0x35, 0x53, 0x70, 0xf6, 0xd0,
0x76, 0x25, 0x1f, 0xc7, 0x76, 0xa5, 0x7e, 0x88, 0xed, 0x4a, 0x3f, 0xe2, 0x76, 0xdd, 0x84, 0x72,
0x70, 0x71, 0xa2, 0x8f, 0xb6, 0xe7, 0x1b, 0x13, 0xe2, 0x7b, 0x5e, 0x9e, 0xe8, 0x83, 0x34, 0xb7,
0xa1, 0x1c, 0x2a, 0xeb, 0xe2, 0xe3, 0xb8, 0x83, 0x07, 0x49, 0xba, 0x25, 0x9b, 0x54, 0x3a, 0xf5,
0x0f, 0xc5, 0x5f, 0xc4, 0xe1, 0xa9, 0x29, 0x85, 0x1f, 0x7a, 0x3b, 0x64, 0x08, 0xb7, 0x17, 0x29,
0x1b, 0xd7, 0x19, 0x2d, 0x68, 0x0a, 0xe2, 0x0d, 0x28, 0xfa, 0xe9, 0xf3, 0xad, 0xc2, 0xff, 0x24,
0xbd, 0xe0, 0x15, 0x44, 0x53, 0x1f, 0x5b, 0xc6, 0x1c, 0x32, 0xc4, 0xc4, 0x82, 0x86, 0x38, 0x31,
0xeb, 0x49, 0xfe, 0x70, 0x59, 0x4f, 0xea, 0x11, 0xb3, 0x1e, 0xff, 0x89, 0x4c, 0x07, 0x4f, 0xe4,
0x58, 0x82, 0x92, 0x99, 0x90, 0xa0, 0xbc, 0x0b, 0xe0, 0x6b, 0x5b, 0xae, 0x40, 0xda, 0xd4, 0x87,
0x03, 0x95, 0x9a, 0x49, 0x5a, 0x62, 0x03, 0x74, 0x13, 0xd2, 0xc4, 0xdc, 0xa2, 0x3d, 0x3b, 0x31,
0x17, 0x1f, 0xc2, 0xcc, 0xb8, 0x45, 0x0d, 0xd0, 0x78, 0xe7, 0x27, 0xe2, 0x15, 0x6f, 0x04, 0x5f,
0xf1, 0x74, 0x64, 0x0f, 0x69, 0xf2, 0xab, 0x3e, 0x86, 0x34, 0x35, 0x0f, 0x92, 0xa8, 0xd1, 0x0e,
0x28, 0xaf, 0xfc, 0xc9, 0x33, 0xfa, 0x77, 0x00, 0xc5, 0xb6, 0x4d, 0xed, 0x78, 0xe8, 0xbd, 0x60,
0x6d, 0xb2, 0x79, 0x6d, 0x38, 0x7c, 0x9b, 0x17, 0xb8, 0x9d, 0xad, 0x78, 0xa2, 0x3e, 0x5b, 0xf3,
0x29, 0x14, 0xf7, 0xa0, 0x1c, 0x94, 0x75, 0x6a, 0x55, 0xf6, 0x0d, 0xc1, 0x5a, 0x95, 0x41, 0x0f,
0xbc, 0x56, 0x75, 0x2b, 0xdd, 0x24, 0xeb, 0x74, 0xd3, 0x81, 0xf8, 0x5d, 0x1c, 0x8a, 0x7e, 0xeb,
0xfc, 0x47, 0x2b, 0xf7, 0xc4, 0x4f, 0xe2, 0x90, 0x73, 0x27, 0x1f, 0xd1, 0x69, 0xf6, 0xd6, 0x2e,
0xe1, 0xef, 0xab, 0xb2, 0xd6, 0x75, 0xd2, 0x6d, 0x88, 0xbf, 0xe6, 0x66, 0x86, 0x51, 0xe8, 0xbc,
0x7f, 0xa5, 0x9d, 0x0b, 0x01, 0x3c, 0x11, 0xfe, 0x5f, 0xfe, 0x1d, 0x24, 0x53, 0x41, 0xff, 0x0c,
0x19, 0xa5, 0xed, 0xf6, 0x24, 0xca, 0x13, 0x40, 0x6a, 0x87, 0x75, 0xbd, 0x35, 0xda, 0xa0, 0x9c,
0x12, 0x97, 0xe0, 0x5f, 0x95, 0x70, 0x1b, 0xea, 0x6f, 0x12, 0xbd, 0x8c, 0x67, 0x7a, 0xa4, 0x27,
0xb9, 0xe1, 0xd6, 0x16, 0x09, 0xf3, 0x84, 0x4f, 0x6a, 0xdc, 0xdb, 0xbf, 0xdf, 0xd8, 0x12, 0x92,
0xe2, 0x6b, 0x90, 0x77, 0x5d, 0x0f, 0xaa, 0x42, 0xd6, 0xe9, 0xaf, 0xc4, 0xb9, 0x03, 0xe0, 0xed,
0xcc, 0x15, 0x48, 0x1b, 0xfa, 0x47, 0xbc, 0x9d, 0x9c, 0x94, 0xd8, 0x40, 0x54, 0xa1, 0x12, 0xf2,
0x5b, 0xe8, 0x35, 0xc8, 0x1a, 0xc3, 0x63, 0xd9, 0x31, 0xda, 0xd0, 0x5d, 0x47, 0x07, 0x32, 0x19,
0x1e, 0xf7, 0xb4, 0xf6, 0x5d, 0x7c, 0xe6, 0x2c, 0x93, 0x31, 0x3c, 0xbe, 0xcb, 0x6c, 0x9b, 0xbd,
0x25, 0xe1, 0x7f, 0xcb, 0x7f, 0xc6, 0x21, 0xe7, 0x9c, 0x55, 0xf4, 0x2f, 0x90, 0x77, 0x7d, 0xa2,
0x7b, 0xc3, 0x26, 0xd2, 0x99, 0x72, 0xfd, 0x9e, 0x08, 0xba, 0x0a, 0x4b, 0x96, 0xd6, 0x19, 0x38,
0x1d, 0x2f, 0x86, 0x51, 0x26, 0xe8, 0xa1, 0xa9, 0xb0, 0x1f, 0x76, 0x1d, 0x60, 0xed, 0x4e, 0x2a,
0x97, 0x14, 0x52, 0x77, 0x52, 0xb9, 0x94, 0x90, 0x26, 0x61, 0x51, 0x08, 0x3b, 0x8e, 0x1f, 0xf3,
0x63, 0x48, 0x99, 0x10, 0x8a, 0xef, 0xcc, 0x36, 0x43, 0xe1, 0xfb, 0xaf, 0x71, 0xc8, 0x39, 0x3d,
0x35, 0xf4, 0xb2, 0xcf, 0x85, 0x95, 0x27, 0x59, 0x2c, 0x67, 0xf4, 0x6e, 0x71, 0x04, 0xa7, 0x94,
0x58, 0x7c, 0x4a, 0x51, 0x57, 0x71, 0x9c, 0xb6, 0x65, 0x6a, 0xe1, 0xb6, 0xe5, 0x8b, 0x80, 0x6c,
0xdd, 0x56, 0x7a, 0xf2, 0xa9, 0x6e, 0x6b, 0x83, 0x8e, 0xcc, 0x2c, 0x84, 0x79, 0x1b, 0x81, 0xfe,
0x72, 0x9f, 0xfe, 0x70, 0xe0, 0x1a, 0x8b, 0x5b, 0xc6, 0x2e, 0x7a, 0x29, 0xe3, 0x1c, 0x64, 0x78,
0xa5, 0xc6, 0x6e, 0x65, 0xf0, 0x91, 0xdb, 0x9f, 0x4d, 0xf9, 0xfa, 0xb3, 0x35, 0xc8, 0xf5, 0xb1,
0xad, 0x50, 0xd7, 0xc9, 0xa2, 0xa5, 0x3b, 0xbe, 0x7a, 0x1b, 0x0a, 0xbe, 0xfb, 0x31, 0xc4, 0x9b,
0xee, 0x35, 0xde, 0x11, 0x62, 0xb5, 0xec, 0xa7, 0x9f, 0x5f, 0x4a, 0xee, 0xe1, 0x8f, 0xc8, 0x41,
0x93, 0x1a, 0xf5, 0x66, 0xa3, 0x7e, 0x57, 0x88, 0xd7, 0x0a, 0x9f, 0x7e, 0x7e, 0x29, 0x2b, 0x61,
0xda, 0xc7, 0xba, 0xda, 0x84, 0xa2, 0x7f, 0x57, 0x82, 0x87, 0x1a, 0x41, 0x79, 0xeb, 0xe8, 0x60,
0x77, 0xa7, 0xbe, 0xd1, 0x6a, 0xc8, 0xf7, 0xf7, 0x5b, 0x0d, 0x21, 0x8e, 0x9e, 0x84, 0xe5, 0xdd,
0x9d, 0xb7, 0x9a, 0x2d, 0xb9, 0xbe, 0xbb, 0xd3, 0xd8, 0x6b, 0xc9, 0x1b, 0xad, 0xd6, 0x46, 0xfd,
0xae, 0x90, 0xb8, 0xfe, 0xcb, 0x02, 0x54, 0x36, 0x36, 0xeb, 0x3b, 0xa4, 0x50, 0xd5, 0xda, 0x0a,
0x75, 0x11, 0x75, 0x48, 0x51, 0x44, 0x7c, 0xea, 0x5d, 0xe7, 0xda, 0xf4, 0x2e, 0x27, 0xda, 0x86,
0x34, 0x05, 0xcb, 0xd1, 0xf4, 0xcb, 0xcf, 0xb5, 0x19, 0x6d, 0x4f, 0xf2, 0x31, 0xf4, 0x14, 0x4d,
0xbd, 0x0d, 0x5d, 0x9b, 0xde, 0x05, 0x45, 0xbb, 0x90, 0x75, 0xb0, 0xcc, 0x59, 0xf7, 0x8a, 0x6b,
0x33, 0xdb, 0x89, 0x64, 0x6a, 0x0c, 0x73, 0x9e, 0x7e, 0x51, 0xba, 0x36, 0xa3, 0x3f, 0x8a, 0x76,
0x20, 0xc3, 0xe1, 0x9e, 0x19, 0x77, 0x84, 0x6b, 0xb3, 0xda, 0x82, 0x48, 0x82, 0xbc, 0x87, 0xe6,
0xcf, 0xbe, 0xfe, 0x5d, 0x9b, 0xa3, 0xf5, 0x8b, 0x1e, 0x40, 0x29, 0x08, 0x21, 0xcd, 0x77, 0x0f,
0xb9, 0x36, 0x67, 0x03, 0x92, 0xe8, 0x0f, 0xe2, 0x49, 0xf3, 0xdd, 0x4b, 0xae, 0xcd, 0xd9, 0x8f,
0x44, 0x1f, 0xc0, 0xd2, 0x38, 0xde, 0x33, 0xff, 0x35, 0xe5, 0xda, 0x02, 0x1d, 0x4a, 0xd4, 0x07,
0x34, 0x01, 0x27, 0x5a, 0xe0, 0xd6, 0x72, 0x6d, 0x91, 0x86, 0x25, 0x52, 0xa1, 0x12, 0xc6, 0x5e,
0xe6, 0xbd, 0xc5, 0x5c, 0x9b, 0xbb, 0x79, 0xc9, 0xde, 0x12, 0x2c, 0xf0, 0xe7, 0xbd, 0xd5, 0x5c,
0x9b, 0xbb, 0x97, 0x89, 0x8e, 0x00, 0x7c, 0x05, 0xea, 0x1c, 0xb7, 0x9c, 0x6b, 0xf3, 0x74, 0x35,
0x91, 0x01, 0xcb, 0x93, 0x0a, 0xd3, 0x45, 0x2e, 0x3d, 0xd7, 0x16, 0x6a, 0x76, 0x12, 0x7b, 0x0e,
0x96, 0x98, 0xf3, 0x5d, 0x82, 0xae, 0xcd, 0xd9, 0xf5, 0xdc, 0x6c, 0x7c, 0xf1, 0xcd, 0x6a, 0xfc,
0xcb, 0x6f, 0x56, 0xe3, 0x5f, 0x7f, 0xb3, 0x1a, 0xff, 0xec, 0xdb, 0xd5, 0xd8, 0x97, 0xdf, 0xae,
0xc6, 0x7e, 0xff, 0xed, 0x6a, 0xec, 0x5f, 0x5f, 0xe8, 0x68, 0x76, 0x77, 0x78, 0xbc, 0xde, 0xd6,
0xfb, 0xd7, 0xfc, 0xff, 0x87, 0x99, 0xf4, 0x1f, 0x9d, 0xe3, 0x0c, 0x8d, 0xa6, 0x37, 0xfe, 0x1e,
0x00, 0x00, 0xff, 0xff, 0x7a, 0x10, 0xf7, 0xa6, 0xc3, 0x33, 0x00, 0x00,
// 3499 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0x4b, 0x73, 0x1c, 0xd5,
0x15, 0x9e, 0xb7, 0x66, 0xce, 0x3c, 0x75, 0x25, 0xcc, 0x78, 0xb0, 0x25, 0xd3, 0x2e, 0x1e, 0x36,
0x20, 0x83, 0x5d, 0x06, 0x3b, 0x40, 0x28, 0x69, 0x34, 0x62, 0x64, 0xcb, 0x92, 0x68, 0x8d, 0x4c,
0x91, 0x10, 0x37, 0xad, 0xe9, 0xab, 0x99, 0xc6, 0x33, 0xdd, 0x4d, 0x77, 0x8f, 0x18, 0xb1, 0x4a,
0xa5, 0x8a, 0x0d, 0x95, 0xaa, 0x50, 0x59, 0x24, 0xd9, 0xb0, 0x4b, 0xaa, 0xf2, 0x13, 0x52, 0x59,
0x64, 0x95, 0x05, 0x8b, 0x2c, 0xd8, 0x25, 0x95, 0x05, 0x49, 0xc1, 0x2e, 0x7f, 0x20, 0xab, 0x90,
0xd4, 0x7d, 0xf4, 0x73, 0xa6, 0xe7, 0x81, 0x0d, 0x14, 0x95, 0x5d, 0xdf, 0x33, 0xe7, 0x9c, 0xee,
0x7b, 0xef, 0xb9, 0xe7, 0xf1, 0x9d, 0x3b, 0xf0, 0x98, 0x8d, 0x35, 0x05, 0x9b, 0x7d, 0x55, 0xb3,
0xaf, 0xc8, 0x47, 0x6d, 0xf5, 0x8a, 0x7d, 0x6a, 0x60, 0x6b, 0xcd, 0x30, 0x75, 0x5b, 0x47, 0x65,
0xef, 0xc7, 0x35, 0xf2, 0x63, 0xed, 0xbc, 0x8f, 0xbb, 0x6d, 0x9e, 0x1a, 0xb6, 0x7e, 0xc5, 0x30,
0x75, 0xfd, 0x98, 0xf1, 0xd7, 0xce, 0xf9, 0x7e, 0xa6, 0x7a, 0xfc, 0xda, 0x02, 0xbf, 0x72, 0xe1,
0xfb, 0xf8, 0xd4, 0xf9, 0xf5, 0xfc, 0x88, 0xac, 0x21, 0x9b, 0x72, 0xdf, 0xf9, 0x79, 0xb5, 0xa3,
0xeb, 0x9d, 0x1e, 0xbe, 0x42, 0x47, 0x47, 0x83, 0xe3, 0x2b, 0xb6, 0xda, 0xc7, 0x96, 0x2d, 0xf7,
0x0d, 0xce, 0xb0, 0xdc, 0xd1, 0x3b, 0x3a, 0x7d, 0xbc, 0x42, 0x9e, 0x18, 0x55, 0xf8, 0x2f, 0xc0,
0x82, 0x88, 0xdf, 0x1b, 0x60, 0xcb, 0x46, 0x57, 0x21, 0x85, 0xdb, 0x5d, 0xbd, 0x1a, 0xbf, 0x10,
0x7f, 0x3a, 0x7f, 0xf5, 0xdc, 0x5a, 0x68, 0x72, 0x6b, 0x9c, 0xaf, 0xd1, 0xee, 0xea, 0xcd, 0x98,
0x48, 0x79, 0xd1, 0x75, 0x48, 0x1f, 0xf7, 0x06, 0x56, 0xb7, 0x9a, 0xa0, 0x42, 0xe7, 0xa3, 0x84,
0xb6, 0x08, 0x53, 0x33, 0x26, 0x32, 0x6e, 0xf2, 0x2a, 0x55, 0x3b, 0xd6, 0xab, 0xc9, 0xc9, 0xaf,
0xda, 0xd6, 0x8e, 0xe9, 0xab, 0x08, 0x2f, 0xda, 0x00, 0x50, 0x35, 0xd5, 0x96, 0xda, 0x5d, 0x59,
0xd5, 0xaa, 0x29, 0x2a, 0xf9, 0x78, 0xb4, 0xa4, 0x6a, 0xd7, 0x09, 0x63, 0x33, 0x26, 0xe6, 0x54,
0x67, 0x40, 0x3e, 0xf7, 0xbd, 0x01, 0x36, 0x4f, 0xab, 0xe9, 0xc9, 0x9f, 0xfb, 0x06, 0x61, 0x22,
0x9f, 0x4b, 0xb9, 0xd1, 0x36, 0xe4, 0x8f, 0x70, 0x47, 0xd5, 0xa4, 0xa3, 0x9e, 0xde, 0xbe, 0x5f,
0xcd, 0x50, 0x61, 0x21, 0x4a, 0x78, 0x83, 0xb0, 0x6e, 0x10, 0xce, 0x8d, 0x44, 0x35, 0xde, 0x8c,
0x89, 0x70, 0xe4, 0x52, 0xd0, 0x2b, 0x90, 0x6d, 0x77, 0x71, 0xfb, 0xbe, 0x64, 0x0f, 0xab, 0x0b,
0x54, 0xcf, 0x6a, 0x94, 0x9e, 0x3a, 0xe1, 0x6b, 0x0d, 0x9b, 0x31, 0x71, 0xa1, 0xcd, 0x1e, 0xd1,
0x16, 0x80, 0x82, 0x7b, 0xea, 0x09, 0x36, 0x89, 0x7c, 0x76, 0xf2, 0x1a, 0x6c, 0x32, 0xce, 0xd6,
0x90, 0x7f, 0x46, 0x4e, 0x71, 0x08, 0xa8, 0x0e, 0x39, 0xac, 0x29, 0x7c, 0x3a, 0x39, 0xaa, 0xe6,
0x42, 0xe4, 0x7e, 0x6b, 0x8a, 0x7f, 0x32, 0x59, 0xcc, 0xc7, 0xe8, 0x06, 0x64, 0xda, 0x7a, 0xbf,
0xaf, 0xda, 0x55, 0xa0, 0x1a, 0x56, 0x22, 0x27, 0x42, 0xb9, 0x9a, 0x31, 0x91, 0xf3, 0xa3, 0x5d,
0x28, 0xf5, 0x54, 0xcb, 0x96, 0x2c, 0x4d, 0x36, 0xac, 0xae, 0x6e, 0x5b, 0xd5, 0x3c, 0xd5, 0xf0,
0x44, 0x94, 0x86, 0x1d, 0xd5, 0xb2, 0x0f, 0x1c, 0xe6, 0x66, 0x4c, 0x2c, 0xf6, 0xfc, 0x04, 0xa2,
0x4f, 0x3f, 0x3e, 0xc6, 0xa6, 0xab, 0xb0, 0x5a, 0x98, 0xac, 0x6f, 0x8f, 0x70, 0x3b, 0xf2, 0x44,
0x9f, 0xee, 0x27, 0xa0, 0x1f, 0xc3, 0x52, 0x4f, 0x97, 0x15, 0x57, 0x9d, 0xd4, 0xee, 0x0e, 0xb4,
0xfb, 0xd5, 0x22, 0x55, 0x7a, 0x29, 0xf2, 0x23, 0x75, 0x59, 0x71, 0x54, 0xd4, 0x89, 0x40, 0x33,
0x26, 0x2e, 0xf6, 0xc2, 0x44, 0x74, 0x0f, 0x96, 0x65, 0xc3, 0xe8, 0x9d, 0x86, 0xb5, 0x97, 0xa8,
0xf6, 0xcb, 0x51, 0xda, 0xd7, 0x89, 0x4c, 0x58, 0x3d, 0x92, 0x47, 0xa8, 0xa8, 0x05, 0x15, 0xc3,
0xc4, 0x86, 0x6c, 0x62, 0xc9, 0x30, 0x75, 0x43, 0xb7, 0xe4, 0x5e, 0xb5, 0x4c, 0x75, 0x3f, 0x15,
0xa5, 0x7b, 0x9f, 0xf1, 0xef, 0x73, 0xf6, 0x66, 0x4c, 0x2c, 0x1b, 0x41, 0x12, 0xd3, 0xaa, 0xb7,
0xb1, 0x65, 0x79, 0x5a, 0x2b, 0xd3, 0xb4, 0x52, 0xfe, 0xa0, 0xd6, 0x00, 0x09, 0x35, 0x20, 0x8f,
0x87, 0x44, 0x5c, 0x3a, 0xd1, 0x6d, 0x5c, 0x5d, 0x9c, 0x7c, 0xb0, 0x1a, 0x94, 0xf5, 0xae, 0x6e,
0x63, 0x72, 0xa8, 0xb0, 0x3b, 0x42, 0x32, 0x3c, 0x72, 0x82, 0x4d, 0xf5, 0xf8, 0x94, 0xaa, 0x91,
0xe8, 0x2f, 0x96, 0xaa, 0x6b, 0x55, 0x44, 0x15, 0x3e, 0x13, 0xa5, 0xf0, 0x2e, 0x15, 0x22, 0x2a,
0x1a, 0x8e, 0x48, 0x33, 0x26, 0x2e, 0x9d, 0x8c, 0x92, 0x89, 0x89, 0x1d, 0xab, 0x9a, 0xdc, 0x53,
0x3f, 0xc0, 0xfc, 0xd8, 0x2c, 0x4d, 0x36, 0xb1, 0x2d, 0xce, 0x4d, 0xcf, 0x0a, 0x31, 0xb1, 0x63,
0x3f, 0x61, 0x63, 0x01, 0xd2, 0x27, 0x72, 0x6f, 0x80, 0x85, 0xa7, 0x20, 0xef, 0x73, 0xac, 0xa8,
0x0a, 0x0b, 0x7d, 0x6c, 0x59, 0x72, 0x07, 0x53, 0x3f, 0x9c, 0x13, 0x9d, 0xa1, 0x50, 0x82, 0x82,
0xdf, 0x99, 0x0a, 0x1f, 0xc7, 0x5d, 0x49, 0xe2, 0x27, 0x89, 0xe4, 0x09, 0x36, 0xe9, 0xb4, 0xb9,
0x24, 0x1f, 0xa2, 0x8b, 0x50, 0xa4, 0x9f, 0x2c, 0x39, 0xbf, 0x13, 0x67, 0x9d, 0x12, 0x0b, 0x94,
0x78, 0x97, 0x33, 0xad, 0x42, 0xde, 0xb8, 0x6a, 0xb8, 0x2c, 0x49, 0xca, 0x02, 0xc6, 0x55, 0xc3,
0x61, 0x78, 0x1c, 0x0a, 0x64, 0x7e, 0x2e, 0x47, 0x8a, 0xbe, 0x24, 0x4f, 0x68, 0x9c, 0x45, 0xf8,
0x4b, 0x02, 0x2a, 0x61, 0x07, 0x8c, 0x6e, 0x40, 0x8a, 0xc4, 0x22, 0x1e, 0x56, 0x6a, 0x6b, 0x2c,
0x50, 0xad, 0x39, 0x81, 0x6a, 0xad, 0xe5, 0x04, 0xaa, 0x8d, 0xec, 0xa7, 0x9f, 0xaf, 0xc6, 0x3e,
0xfe, 0xc7, 0x6a, 0x5c, 0xa4, 0x12, 0xe8, 0x2c, 0xf1, 0x95, 0xb2, 0xaa, 0x49, 0xaa, 0x42, 0x3f,
0x39, 0x47, 0x1c, 0xa1, 0xac, 0x6a, 0xdb, 0x0a, 0xda, 0x81, 0x4a, 0x5b, 0xd7, 0x2c, 0xac, 0x59,
0x03, 0x4b, 0x62, 0x81, 0x90, 0x07, 0x93, 0x80, 0x3b, 0x64, 0xe1, 0xb5, 0xee, 0x70, 0xee, 0x53,
0x46, 0xb1, 0xdc, 0x0e, 0x12, 0x88, 0x5b, 0x3d, 0x91, 0x7b, 0xaa, 0x22, 0xdb, 0xba, 0x69, 0x55,
0x53, 0x17, 0x92, 0x63, 0xfd, 0xe1, 0x5d, 0x87, 0xe5, 0xd0, 0x50, 0x64, 0x1b, 0x6f, 0xa4, 0xc8,
0xe7, 0x8a, 0x3e, 0x49, 0xf4, 0x24, 0x94, 0x65, 0xc3, 0x90, 0x2c, 0x5b, 0xb6, 0xb1, 0x74, 0x74,
0x6a, 0x63, 0x8b, 0x06, 0x9a, 0x82, 0x58, 0x94, 0x0d, 0xe3, 0x80, 0x50, 0x37, 0x08, 0x11, 0x3d,
0x01, 0x25, 0x12, 0x93, 0x54, 0xb9, 0x27, 0x75, 0xb1, 0xda, 0xe9, 0xda, 0x34, 0xa4, 0x24, 0xc5,
0x22, 0xa7, 0x36, 0x29, 0x51, 0x50, 0xdc, 0x1d, 0xa7, 0xf1, 0x08, 0x21, 0x48, 0x29, 0xb2, 0x2d,
0xd3, 0x95, 0x2c, 0x88, 0xf4, 0x99, 0xd0, 0x0c, 0xd9, 0xee, 0xf2, 0xf5, 0xa1, 0xcf, 0xe8, 0x0c,
0x64, 0xb8, 0xda, 0x24, 0x55, 0xcb, 0x47, 0x68, 0x19, 0xd2, 0x86, 0xa9, 0x9f, 0x60, 0xba, 0x75,
0x59, 0x91, 0x0d, 0x84, 0x9f, 0x26, 0x60, 0x71, 0x24, 0x72, 0x11, 0xbd, 0x5d, 0xd9, 0xea, 0x3a,
0xef, 0x22, 0xcf, 0xe8, 0x45, 0xa2, 0x57, 0x56, 0xb0, 0xc9, 0xa3, 0x7d, 0x75, 0x74, 0xa9, 0x9b,
0xf4, 0x77, 0xbe, 0x34, 0x9c, 0x1b, 0xdd, 0x86, 0x4a, 0x4f, 0xb6, 0x6c, 0x89, 0x79, 0x7f, 0xc9,
0x17, 0xf9, 0x1f, 0x1b, 0x59, 0x64, 0x16, 0x2b, 0x88, 0x41, 0x73, 0x25, 0x25, 0x22, 0xea, 0x51,
0x91, 0x08, 0xcb, 0x47, 0xa7, 0x1f, 0xc8, 0x9a, 0xad, 0x6a, 0x58, 0x1a, 0xd9, 0xb5, 0xb3, 0x23,
0x0a, 0x1b, 0x27, 0xaa, 0x82, 0xb5, 0xb6, 0xb3, 0x5d, 0x4b, 0xae, 0xb0, 0xbb, 0x9d, 0x96, 0x20,
0x42, 0x29, 0x18, 0x73, 0x51, 0x09, 0x12, 0xf6, 0x90, 0x4f, 0x3e, 0x61, 0x0f, 0xd1, 0xf3, 0x90,
0x22, 0x13, 0xa4, 0x13, 0x2f, 0x8d, 0x49, 0x58, 0xb8, 0x5c, 0xeb, 0xd4, 0xc0, 0x22, 0xe5, 0x14,
0x04, 0xf7, 0x28, 0xb8, 0x71, 0x38, 0xac, 0x55, 0xb8, 0x04, 0xe5, 0x50, 0x90, 0xf5, 0xed, 0x5d,
0xdc, 0xbf, 0x77, 0x42, 0x19, 0x8a, 0x81, 0x68, 0x2a, 0x9c, 0x81, 0xe5, 0x71, 0xc1, 0x51, 0xe8,
0xba, 0xf4, 0x40, 0x90, 0x43, 0xd7, 0x21, 0xeb, 0x46, 0x47, 0x76, 0x14, 0x47, 0xd7, 0xca, 0x61,
0x16, 0x5d, 0x56, 0x72, 0x06, 0x89, 0x49, 0x53, 0x5b, 0x48, 0xd0, 0x0f, 0x5f, 0x90, 0x0d, 0xa3,
0x29, 0x5b, 0x5d, 0xe1, 0x1d, 0xa8, 0x46, 0x45, 0xbe, 0xd0, 0x34, 0x52, 0xae, 0x09, 0x9e, 0x81,
0xcc, 0xb1, 0x6e, 0xf6, 0x65, 0x9b, 0x2a, 0x2b, 0x8a, 0x7c, 0x44, 0x4c, 0x93, 0x45, 0xc1, 0x24,
0x25, 0xb3, 0x81, 0x20, 0xc1, 0xd9, 0xc8, 0xe8, 0x47, 0x44, 0x54, 0x4d, 0xc1, 0x6c, 0x3d, 0x8b,
0x22, 0x1b, 0x78, 0x8a, 0xd8, 0xc7, 0xb2, 0x01, 0x79, 0xad, 0x45, 0xe7, 0x4a, 0xf5, 0xe7, 0x44,
0x3e, 0x12, 0xfe, 0x98, 0x84, 0x33, 0xe3, 0x63, 0xe0, 0xd8, 0x03, 0xe0, 0xcd, 0x2a, 0x11, 0x38,
0x58, 0x8e, 0x8b, 0x4b, 0xce, 0xed, 0xe2, 0x2a, 0x90, 0xb4, 0x87, 0xcc, 0x78, 0x0b, 0x22, 0x79,
0x44, 0x87, 0xb0, 0xd8, 0xd3, 0xdb, 0x72, 0x4f, 0xf2, 0x1d, 0x19, 0x9e, 0xae, 0x5e, 0x1c, 0x35,
0x6e, 0x1a, 0x03, 0xb1, 0x32, 0x72, 0x6a, 0xca, 0x54, 0xc7, 0x8e, 0x7b, 0x74, 0x22, 0x8f, 0x4d,
0xe6, 0xeb, 0x1f, 0x1b, 0x74, 0x89, 0xe6, 0x04, 0x86, 0x6e, 0x61, 0x53, 0x92, 0x15, 0xc5, 0xc4,
0x96, 0x45, 0x73, 0xda, 0x02, 0x0d, 0xf4, 0x94, 0xbe, 0xce, 0xc8, 0xe8, 0x79, 0x58, 0xd6, 0xf0,
0xd0, 0xf6, 0xbd, 0x99, 0x99, 0x54, 0x96, 0xb2, 0x23, 0xf2, 0x9b, 0xa7, 0x98, 0x58, 0x17, 0xba,
0x00, 0x85, 0xbe, 0x3c, 0x94, 0xec, 0x21, 0x77, 0xa4, 0x39, 0xba, 0xe2, 0xd0, 0x97, 0x87, 0xad,
0x21, 0xf5, 0xa2, 0xc2, 0xaf, 0xfc, 0x9b, 0x17, 0xcc, 0x2b, 0xbe, 0xab, 0xcd, 0x3b, 0x80, 0x65,
0x3e, 0x73, 0x65, 0xcc, 0xfe, 0xcd, 0xe0, 0xed, 0x90, 0x23, 0xfe, 0x3d, 0xde, 0x3a, 0xe1, 0x35,
0x37, 0xa0, 0x78, 0x19, 0x1b, 0xba, 0x0c, 0x29, 0x9a, 0xe3, 0x31, 0xdf, 0x73, 0x66, 0x34, 0x74,
0x10, 0x2e, 0x91, 0xf2, 0x08, 0x4d, 0xa8, 0x45, 0x67, 0x68, 0x73, 0x69, 0xfa, 0x65, 0xd2, 0x75,
0x87, 0x81, 0x84, 0xec, 0x3b, 0xb3, 0x90, 0x37, 0x60, 0x49, 0xc1, 0x6d, 0x55, 0xf9, 0xba, 0x06,
0xb2, 0xc8, 0xa5, 0xbf, 0xcf, 0xf6, 0xf1, 0xd7, 0x3c, 0x64, 0x45, 0x6c, 0x19, 0x24, 0x0b, 0x43,
0x1b, 0x90, 0xc3, 0xc3, 0x36, 0x36, 0x6c, 0x27, 0x71, 0x1d, 0x5f, 0x00, 0x30, 0xee, 0x86, 0xc3,
0x49, 0xca, 0x59, 0x57, 0x0c, 0x5d, 0xe3, 0xc8, 0x45, 0x34, 0x08, 0xc1, 0xc5, 0xfd, 0xd0, 0xc5,
0x8b, 0x0e, 0x74, 0x91, 0x8c, 0xac, 0x5e, 0x99, 0x54, 0x08, 0xbb, 0xb8, 0xc6, 0xb1, 0x8b, 0xd4,
0x94, 0x97, 0x05, 0xc0, 0x8b, 0x7a, 0x00, 0xbc, 0x48, 0x4f, 0x99, 0x66, 0x04, 0x7a, 0xf1, 0xa2,
0x83, 0x5e, 0x64, 0xa6, 0x7c, 0x71, 0x08, 0xbe, 0xb8, 0x15, 0x84, 0x2f, 0x16, 0x22, 0x82, 0x89,
0x23, 0x3d, 0x11, 0xbf, 0x78, 0xd5, 0x87, 0x5f, 0x64, 0x23, 0x81, 0x03, 0xa6, 0x68, 0x0c, 0x80,
0xf1, 0x7a, 0x00, 0xc0, 0xc8, 0x4d, 0x59, 0x87, 0x09, 0x08, 0xc6, 0xa6, 0x1f, 0xc1, 0x80, 0x48,
0x20, 0x84, 0xef, 0x7b, 0x14, 0x84, 0x71, 0xd3, 0x85, 0x30, 0xf2, 0x91, 0x58, 0x0c, 0x9f, 0x4b,
0x18, 0xc3, 0xd8, 0x1b, 0xc1, 0x30, 0x18, 0xe6, 0xf0, 0x64, 0xa4, 0x8a, 0x29, 0x20, 0xc6, 0xde,
0x08, 0x88, 0x51, 0x9c, 0xa2, 0x70, 0x0a, 0x8a, 0xf1, 0xf6, 0x78, 0x14, 0x23, 0x1a, 0x67, 0xe0,
0x9f, 0x39, 0x1b, 0x8c, 0x21, 0x45, 0xc0, 0x18, 0xe5, 0xc8, 0x92, 0x9b, 0xa9, 0x9f, 0x19, 0xc7,
0x38, 0x1c, 0x83, 0x63, 0x30, 0xc4, 0xe1, 0xe9, 0x48, 0xe5, 0x33, 0x00, 0x19, 0x87, 0x63, 0x80,
0x8c, 0xc5, 0xa9, 0x6a, 0xa7, 0x22, 0x19, 0x5b, 0x41, 0x24, 0x03, 0x4d, 0x39, 0x63, 0x91, 0x50,
0xc6, 0x51, 0x14, 0x94, 0xc1, 0xe0, 0x86, 0x67, 0x23, 0x35, 0xce, 0x81, 0x65, 0xec, 0x8d, 0x60,
0x19, 0xcb, 0x53, 0x2c, 0x6d, 0x56, 0x30, 0xe3, 0x12, 0x89, 0xfc, 0x21, 0x57, 0x4d, 0x52, 0x72,
0x6c, 0x9a, 0xba, 0xc9, 0x61, 0x09, 0x36, 0x10, 0x9e, 0x26, 0xc5, 0xad, 0xe7, 0x96, 0x27, 0x00,
0x1f, 0xb4, 0xf4, 0xf1, 0xb9, 0x62, 0xe1, 0x0f, 0x71, 0x4f, 0x96, 0xd6, 0x84, 0xfe, 0xc2, 0x38,
0xc7, 0x0b, 0x63, 0x1f, 0x1c, 0x92, 0x08, 0xc2, 0x21, 0xab, 0x90, 0x27, 0x25, 0x4d, 0x08, 0xe9,
0x90, 0x0d, 0x17, 0xe9, 0xb8, 0x0c, 0x8b, 0x34, 0x36, 0x33, 0xd0, 0x84, 0xa7, 0x04, 0x29, 0x9a,
0x12, 0x94, 0xc9, 0x0f, 0x6c, 0x15, 0x58, 0x6e, 0xf0, 0x1c, 0x2c, 0xf9, 0x78, 0xdd, 0x52, 0x89,
0x95, 0xfd, 0x15, 0x97, 0x7b, 0x9d, 0xd7, 0x4c, 0x7f, 0x8e, 0x7b, 0x2b, 0xe4, 0x41, 0x24, 0xe3,
0xd0, 0x8c, 0xf8, 0x43, 0x42, 0x33, 0x12, 0x5f, 0x1b, 0xcd, 0xf0, 0x97, 0x7e, 0xc9, 0x60, 0xe9,
0xf7, 0xef, 0xb8, 0xb7, 0x27, 0x2e, 0x36, 0xd1, 0xd6, 0x15, 0xcc, 0x8b, 0x31, 0xfa, 0x4c, 0xb2,
0x9f, 0x9e, 0xde, 0xe1, 0x25, 0x17, 0x79, 0x24, 0x5c, 0x6e, 0xec, 0xcc, 0xf1, 0xd0, 0xe8, 0xd6,
0x71, 0x69, 0xba, 0xc2, 0xbc, 0x8e, 0xab, 0x40, 0xf2, 0x3e, 0x66, 0x91, 0xae, 0x20, 0x92, 0x47,
0xc2, 0x47, 0x8d, 0x8c, 0xe7, 0x21, 0x6c, 0x80, 0x6e, 0x40, 0x8e, 0x76, 0x58, 0x24, 0xdd, 0xb0,
0x78, 0x40, 0x0a, 0x64, 0x51, 0xac, 0x91, 0xb2, 0xb6, 0x4f, 0x78, 0xf6, 0x0c, 0x4b, 0xcc, 0x1a,
0xfc, 0xc9, 0x97, 0xed, 0xe5, 0x02, 0xd9, 0xde, 0x39, 0xc8, 0x91, 0xaf, 0xb7, 0x0c, 0xb9, 0x8d,
0x69, 0x64, 0xc9, 0x89, 0x1e, 0x41, 0xb8, 0x07, 0x68, 0x34, 0x4e, 0xa2, 0x26, 0x64, 0xf0, 0x09,
0xd6, 0x6c, 0xb2, 0x6d, 0xc9, 0x70, 0x52, 0xca, 0x93, 0x2e, 0xac, 0xd9, 0x1b, 0x55, 0xb2, 0xc8,
0xff, 0xfa, 0x7c, 0xb5, 0xc2, 0xb8, 0x9f, 0xd5, 0xfb, 0xaa, 0x8d, 0xfb, 0x86, 0x7d, 0x2a, 0x72,
0x79, 0xe1, 0xef, 0x09, 0x28, 0x87, 0xe2, 0xe7, 0xd8, 0xb5, 0x75, 0x4c, 0x3e, 0xe1, 0xc3, 0x82,
0x66, 0x5b, 0xef, 0xf3, 0x00, 0x1d, 0xd9, 0x92, 0xde, 0x97, 0x35, 0x1b, 0x2b, 0x7c, 0xd1, 0x73,
0x1d, 0xd9, 0x7a, 0x93, 0x12, 0xc8, 0xae, 0x93, 0x9f, 0x07, 0x16, 0x56, 0x38, 0x2a, 0xb5, 0xd0,
0x91, 0xad, 0x43, 0x0b, 0x2b, 0xbe, 0x59, 0x2e, 0x3c, 0xd8, 0x2c, 0x83, 0x6b, 0x9c, 0x0d, 0xad,
0xb1, 0xaf, 0x5a, 0xcf, 0xf9, 0xab, 0x75, 0x54, 0x83, 0xac, 0x61, 0xaa, 0xba, 0xa9, 0xda, 0xa7,
0x74, 0x63, 0x92, 0xa2, 0x3b, 0x46, 0x17, 0xa1, 0xd8, 0xc7, 0x7d, 0x43, 0xd7, 0x7b, 0x12, 0x73,
0x36, 0x79, 0x2a, 0x5a, 0xe0, 0xc4, 0x06, 0xf5, 0x39, 0x1f, 0x26, 0xbc, 0xd3, 0xe7, 0xa1, 0x32,
0x0f, 0x77, 0x79, 0x57, 0xc6, 0x2c, 0xaf, 0x8f, 0x42, 0x26, 0x11, 0x5a, 0x5f, 0x77, 0xfc, 0x6d,
0x2d, 0xb0, 0xf0, 0x73, 0x8a, 0xd3, 0x06, 0x73, 0x23, 0x74, 0x00, 0x8b, 0xee, 0xe1, 0x97, 0x06,
0xd4, 0x29, 0x38, 0xe6, 0x3c, 0xab, 0xf7, 0xa8, 0x9c, 0x04, 0xc9, 0x16, 0x7a, 0x0b, 0x1e, 0x0d,
0x79, 0x36, 0x57, 0x75, 0x62, 0x56, 0x07, 0xf7, 0x48, 0xd0, 0xc1, 0x39, 0xaa, 0xbd, 0xc5, 0x4a,
0x3e, 0xe0, 0x99, 0xdb, 0x86, 0x52, 0x30, 0xcd, 0x1b, 0xbb, 0xfd, 0x17, 0xa1, 0x68, 0x62, 0x5b,
0x56, 0x35, 0x29, 0x00, 0xae, 0x16, 0x18, 0x91, 0x43, 0xb6, 0xfb, 0xf0, 0xc8, 0xd8, 0x74, 0x0f,
0xbd, 0x04, 0x39, 0x2f, 0x53, 0x8c, 0x47, 0x54, 0x66, 0x2e, 0xfe, 0xe6, 0xf1, 0x0a, 0x7f, 0x8a,
0x7b, 0x2a, 0x83, 0x88, 0x5e, 0x03, 0x32, 0x26, 0xb6, 0x06, 0x3d, 0x86, 0xb1, 0x95, 0xae, 0x3e,
0x37, 0x5b, 0xa2, 0x48, 0xa8, 0x83, 0x9e, 0x2d, 0x72, 0x61, 0xe1, 0x1e, 0x64, 0x18, 0x05, 0xe5,
0x61, 0xe1, 0x70, 0xf7, 0xf6, 0xee, 0xde, 0x9b, 0xbb, 0x95, 0x18, 0x02, 0xc8, 0xac, 0xd7, 0xeb,
0x8d, 0xfd, 0x56, 0x25, 0x8e, 0x72, 0x90, 0x5e, 0xdf, 0xd8, 0x13, 0x5b, 0x95, 0x04, 0x21, 0x8b,
0x8d, 0x5b, 0x8d, 0x7a, 0xab, 0x92, 0x44, 0x8b, 0x50, 0x64, 0xcf, 0xd2, 0xd6, 0x9e, 0x78, 0x67,
0xbd, 0x55, 0x49, 0xf9, 0x48, 0x07, 0x8d, 0xdd, 0xcd, 0x86, 0x58, 0x49, 0x0b, 0x2f, 0xc0, 0xd9,
0xc8, 0xd4, 0xd2, 0x83, 0xeb, 0xe2, 0x3e, 0xb8, 0x4e, 0xf8, 0x4d, 0x02, 0x6a, 0xd1, 0xf9, 0x22,
0xba, 0x15, 0x9a, 0xf8, 0xd5, 0x39, 0x92, 0xcd, 0xd0, 0xec, 0xd1, 0x13, 0x50, 0x32, 0xf1, 0x31,
0xb6, 0xdb, 0x5d, 0x96, 0xbf, 0xb2, 0x80, 0x59, 0x14, 0x8b, 0x9c, 0x4a, 0x85, 0x2c, 0xc6, 0xf6,
0x2e, 0x6e, 0xdb, 0x12, 0xf3, 0x45, 0xcc, 0xe8, 0x72, 0x84, 0x8d, 0x50, 0x0f, 0x18, 0x51, 0x78,
0x67, 0xae, 0xb5, 0xcc, 0x41, 0x5a, 0x6c, 0xb4, 0xc4, 0xb7, 0x2a, 0x49, 0x84, 0xa0, 0x44, 0x1f,
0xa5, 0x83, 0xdd, 0xf5, 0xfd, 0x83, 0xe6, 0x1e, 0x59, 0xcb, 0x25, 0x28, 0x3b, 0x6b, 0xe9, 0x10,
0xd3, 0xc2, 0x57, 0x49, 0x78, 0x34, 0x22, 0xdb, 0x45, 0x1d, 0x40, 0x7d, 0x5d, 0x51, 0x8f, 0x55,
0xac, 0x48, 0xf6, 0x90, 0xb6, 0x21, 0x06, 0x16, 0x5f, 0xa3, 0x9b, 0xb3, 0xe6, 0xcc, 0x6b, 0x77,
0xb8, 0x8a, 0xd6, 0xf0, 0x80, 0x2a, 0x10, 0x2b, 0xfd, 0x10, 0x05, 0xdd, 0x00, 0xb0, 0x87, 0x92,
0x89, 0xdb, 0xba, 0xa9, 0x38, 0x19, 0xc6, 0xa8, 0x35, 0xb7, 0x86, 0x22, 0xe5, 0x10, 0x73, 0x36,
0x7f, 0x9a, 0x94, 0x53, 0xa0, 0x57, 0xb8, 0x52, 0xb2, 0x7c, 0x0e, 0x9c, 0x7f, 0x7e, 0x0c, 0xe2,
0x89, 0xdb, 0x44, 0x31, 0xdd, 0x44, 0xaa, 0x98, 0xf2, 0xa3, 0x3b, 0xe3, 0xbc, 0x57, 0x7a, 0x36,
0xef, 0x35, 0x9f, 0xdf, 0xca, 0x3c, 0x98, 0xdf, 0x12, 0x5e, 0x85, 0x4a, 0x78, 0x89, 0x83, 0xd6,
0x52, 0x02, 0x38, 0xdc, 0xbd, 0xb3, 0xb7, 0xb9, 0xbd, 0xb5, 0xdd, 0xd8, 0xac, 0xc4, 0x51, 0x01,
0xb2, 0xee, 0x28, 0x21, 0xfc, 0x36, 0x60, 0x00, 0xc1, 0x22, 0x64, 0x0f, 0x32, 0x81, 0x4d, 0x7f,
0x69, 0xd6, 0x8a, 0x66, 0xcd, 0x79, 0xe0, 0x5b, 0xce, 0xd5, 0x4c, 0x40, 0xff, 0x43, 0xdb, 0x95,
0x7c, 0x18, 0xdb, 0x95, 0xfa, 0x26, 0xb6, 0x2b, 0xfd, 0x80, 0xdb, 0x75, 0x1d, 0x4a, 0xc1, 0xc5,
0x89, 0x3e, 0xda, 0x9e, 0x6f, 0x4c, 0x08, 0x6f, 0x7b, 0x79, 0xa2, 0x0f, 0x04, 0xdd, 0x82, 0x52,
0xa8, 0xac, 0x8b, 0x8f, 0xe2, 0x0e, 0x1e, 0x88, 0xe9, 0x96, 0x6c, 0x62, 0xf1, 0xc4, 0x3f, 0x14,
0x7e, 0x17, 0x87, 0xc7, 0x26, 0x14, 0x7e, 0xe8, 0x8d, 0x90, 0x21, 0xdc, 0x9c, 0xa7, 0x6c, 0x5c,
0x63, 0xb4, 0xa0, 0x29, 0x08, 0xd7, 0xa0, 0xe0, 0xa7, 0xcf, 0xb6, 0x0a, 0xbf, 0x48, 0x7a, 0xc1,
0x2b, 0x88, 0xbf, 0x3e, 0xb4, 0x8c, 0x39, 0x64, 0x88, 0x89, 0x39, 0x0d, 0x71, 0x6c, 0xd6, 0x93,
0xfc, 0xe6, 0xb2, 0x9e, 0xd4, 0x03, 0x66, 0x3d, 0xfe, 0x13, 0x99, 0x0e, 0x9e, 0xc8, 0x91, 0x04,
0x25, 0x33, 0x26, 0x41, 0x79, 0x0b, 0xc0, 0xd7, 0x4c, 0x5d, 0x86, 0xb4, 0xa9, 0x0f, 0x34, 0x85,
0x9a, 0x49, 0x5a, 0x64, 0x03, 0x74, 0x1d, 0xd2, 0xc4, 0xdc, 0xa2, 0x3d, 0x3b, 0x31, 0x17, 0x1f,
0x26, 0xcd, 0xb8, 0x05, 0x15, 0xd0, 0x68, 0x3f, 0x2a, 0xe2, 0x15, 0xaf, 0x06, 0x5f, 0xf1, 0x78,
0x64, 0x67, 0x6b, 0xfc, 0xab, 0x3e, 0x80, 0x34, 0x35, 0x0f, 0x92, 0xa8, 0xd1, 0xbe, 0x2c, 0xaf,
0xfc, 0xc9, 0x33, 0xfa, 0x09, 0x80, 0x6c, 0xdb, 0xa6, 0x7a, 0x34, 0xf0, 0x5e, 0xb0, 0x3a, 0xde,
0xbc, 0xd6, 0x1d, 0xbe, 0x8d, 0x73, 0xdc, 0xce, 0x96, 0x3d, 0x51, 0x9f, 0xad, 0xf9, 0x14, 0x0a,
0xbb, 0x50, 0x0a, 0xca, 0x3a, 0xb5, 0x2a, 0xfb, 0x86, 0x60, 0xad, 0xca, 0xa0, 0x07, 0x5e, 0xab,
0xba, 0x95, 0x6e, 0x92, 0xf5, 0xdf, 0xe9, 0x40, 0xf8, 0x2a, 0x0e, 0x05, 0xbf, 0x75, 0xfe, 0xbf,
0x95, 0x7b, 0xc2, 0x87, 0x71, 0xc8, 0xba, 0x93, 0x8f, 0xe8, 0x7f, 0x7b, 0x6b, 0x97, 0xf0, 0x77,
0x7b, 0x59, 0x43, 0x3d, 0xe9, 0xb6, 0xe9, 0x5f, 0x76, 0x33, 0xc3, 0x28, 0x74, 0xde, 0xbf, 0xd2,
0xce, 0x35, 0x05, 0x9e, 0x08, 0xff, 0x9a, 0x7f, 0x07, 0xc9, 0x54, 0xd0, 0x0f, 0x20, 0x23, 0xb7,
0xdd, 0x9e, 0x44, 0x69, 0x0c, 0x48, 0xed, 0xb0, 0xae, 0xb5, 0x86, 0xeb, 0x94, 0x53, 0xe4, 0x12,
0xfc, 0xab, 0x12, 0x6e, 0x9b, 0xff, 0x35, 0xa2, 0x97, 0xf1, 0x4c, 0x8e, 0xf4, 0x24, 0x37, 0xdc,
0xdc, 0x24, 0x61, 0x9e, 0xf0, 0x89, 0x8d, 0x3b, 0x7b, 0x77, 0x1b, 0x9b, 0x95, 0xa4, 0xf0, 0x32,
0xe4, 0x5c, 0xd7, 0x83, 0xaa, 0xb0, 0xe0, 0x74, 0x64, 0xe2, 0xdc, 0x01, 0xf0, 0x4e, 0xcc, 0x32,
0xa4, 0x0d, 0xfd, 0x7d, 0xde, 0xe4, 0x4e, 0x8a, 0x6c, 0x20, 0x28, 0x50, 0x0e, 0xf9, 0x2d, 0xf4,
0x32, 0x2c, 0x18, 0x83, 0x23, 0xc9, 0x31, 0xda, 0xd0, 0x0d, 0x4c, 0x07, 0x32, 0x19, 0x1c, 0xf5,
0xd4, 0xf6, 0x6d, 0x7c, 0xea, 0x2c, 0x93, 0x31, 0x38, 0xba, 0xcd, 0x6c, 0x9b, 0xbd, 0x25, 0xe1,
0x7f, 0xcb, 0xcf, 0xe2, 0x90, 0x75, 0xce, 0x2a, 0xfa, 0x21, 0xe4, 0x5c, 0x9f, 0xe8, 0xde, 0xfb,
0x89, 0x74, 0xa6, 0x5c, 0xbf, 0x27, 0x82, 0x2e, 0xc3, 0xa2, 0xa5, 0x76, 0x34, 0xa7, 0x47, 0xc6,
0x30, 0xca, 0x04, 0x3d, 0x34, 0x65, 0xf6, 0xc3, 0x8e, 0x03, 0xac, 0xdd, 0x4a, 0x65, 0x93, 0x95,
0xd4, 0xad, 0x54, 0x36, 0x55, 0x49, 0x93, 0xb0, 0x58, 0x09, 0x3b, 0x8e, 0x6f, 0xf3, 0x63, 0x48,
0x99, 0x10, 0x8a, 0xef, 0xcc, 0x36, 0x43, 0xe1, 0xfb, 0x3f, 0x71, 0xc8, 0x3a, 0x5d, 0x38, 0xf4,
0x82, 0xcf, 0x85, 0x95, 0xc6, 0x59, 0x2c, 0x67, 0xf4, 0xee, 0x96, 0x04, 0xa7, 0x94, 0x98, 0x7f,
0x4a, 0x51, 0x17, 0x84, 0x9c, 0x46, 0x67, 0x6a, 0xee, 0x46, 0xe7, 0xb3, 0x80, 0x6c, 0xdd, 0x96,
0x7b, 0xd2, 0x89, 0x6e, 0xab, 0x5a, 0x47, 0x62, 0x16, 0xc2, 0xbc, 0x4d, 0x85, 0xfe, 0x72, 0x97,
0xfe, 0xb0, 0xef, 0x1a, 0x8b, 0x5b, 0xc6, 0xce, 0x7b, 0x55, 0xe4, 0x0c, 0x64, 0x78, 0xa5, 0xc6,
0xee, 0x8a, 0xf0, 0x91, 0xdb, 0xd1, 0x4d, 0xf9, 0x3a, 0xba, 0x35, 0xc8, 0xf6, 0xb1, 0x2d, 0x53,
0xd7, 0xc9, 0xa2, 0xa5, 0x3b, 0xbe, 0x7c, 0x13, 0xf2, 0xbe, 0x5b, 0x3b, 0xc4, 0x9b, 0xee, 0x36,
0xde, 0xac, 0xc4, 0x6a, 0x0b, 0x1f, 0x7d, 0x72, 0x21, 0xb9, 0x8b, 0xdf, 0x27, 0x07, 0x4d, 0x6c,
0xd4, 0x9b, 0x8d, 0xfa, 0xed, 0x4a, 0xbc, 0x96, 0xff, 0xe8, 0x93, 0x0b, 0x0b, 0x22, 0xa6, 0x7d,
0xac, 0xcb, 0x4d, 0x28, 0xf8, 0x77, 0x25, 0x78, 0xa8, 0x11, 0x94, 0x36, 0x0f, 0xf7, 0x77, 0xb6,
0xeb, 0xeb, 0xad, 0x86, 0x74, 0x77, 0xaf, 0xd5, 0xa8, 0xc4, 0xd1, 0xa3, 0xb0, 0xb4, 0xb3, 0xfd,
0x7a, 0xb3, 0x25, 0xd5, 0x77, 0xb6, 0x1b, 0xbb, 0x2d, 0x69, 0xbd, 0xd5, 0x5a, 0xaf, 0xdf, 0xae,
0x24, 0xae, 0xfe, 0x3e, 0x0f, 0xe5, 0xf5, 0x8d, 0xfa, 0x36, 0x29, 0x54, 0xd5, 0xb6, 0x4c, 0x5d,
0x44, 0x1d, 0x52, 0x14, 0x11, 0x9f, 0x78, 0x03, 0xbb, 0x36, 0xb9, 0xcb, 0x89, 0xb6, 0x20, 0x4d,
0xc1, 0x72, 0x34, 0xf9, 0x4a, 0x76, 0x6d, 0x4a, 0xdb, 0x93, 0x7c, 0x0c, 0x3d, 0x45, 0x13, 0xef,
0x68, 0xd7, 0x26, 0x77, 0x41, 0xd1, 0x0e, 0x2c, 0x38, 0x58, 0xe6, 0xb4, 0xdb, 0xce, 0xb5, 0xa9,
0xed, 0x44, 0x32, 0x35, 0x86, 0x39, 0x4f, 0xbe, 0xbe, 0x5d, 0x9b, 0xd2, 0x1f, 0x45, 0xdb, 0x90,
0xe1, 0x70, 0xcf, 0x94, 0x9b, 0xcb, 0xb5, 0x69, 0x6d, 0x41, 0x24, 0x42, 0xce, 0x43, 0xf3, 0xa7,
0x5f, 0x4a, 0xaf, 0xcd, 0xd0, 0xfa, 0x45, 0xf7, 0xa0, 0x18, 0x84, 0x90, 0x66, 0xbb, 0x1d, 0x5d,
0x9b, 0xb1, 0x01, 0x49, 0xf4, 0x07, 0xf1, 0xa4, 0xd9, 0x6e, 0x4b, 0xd7, 0x66, 0xec, 0x47, 0xa2,
0x77, 0x61, 0x71, 0x14, 0xef, 0x99, 0xfd, 0xf2, 0x74, 0x6d, 0x8e, 0x0e, 0x25, 0xea, 0x03, 0x1a,
0x83, 0x13, 0xcd, 0x71, 0x97, 0xba, 0x36, 0x4f, 0xc3, 0x12, 0x29, 0x50, 0x0e, 0x63, 0x2f, 0xb3,
0xde, 0xad, 0xae, 0xcd, 0xdc, 0xbc, 0x64, 0x6f, 0x09, 0x16, 0xf8, 0xb3, 0xde, 0xb5, 0xae, 0xcd,
0xdc, 0xcb, 0x44, 0x87, 0x00, 0xbe, 0x02, 0x75, 0x86, 0xbb, 0xd7, 0xb5, 0x59, 0xba, 0x9a, 0xc8,
0x80, 0xa5, 0x71, 0x85, 0xe9, 0x3c, 0x57, 0xb1, 0x6b, 0x73, 0x35, 0x3b, 0x89, 0x3d, 0x07, 0x4b,
0xcc, 0xd9, 0xae, 0x66, 0xd7, 0x66, 0xec, 0x7a, 0x6e, 0x34, 0x3e, 0xfd, 0x62, 0x25, 0xfe, 0xd9,
0x17, 0x2b, 0xf1, 0x7f, 0x7e, 0xb1, 0x12, 0xff, 0xf8, 0xcb, 0x95, 0xd8, 0x67, 0x5f, 0xae, 0xc4,
0xfe, 0xf6, 0xe5, 0x4a, 0xec, 0x47, 0xcf, 0x74, 0x54, 0xbb, 0x3b, 0x38, 0x5a, 0x6b, 0xeb, 0xfd,
0x2b, 0xfe, 0x7f, 0xe9, 0x8c, 0xfb, 0xe7, 0xd0, 0x51, 0x86, 0x46, 0xd3, 0x6b, 0xff, 0x0b, 0x00,
0x00, 0xff, 0xff, 0x6d, 0x28, 0x77, 0xbc, 0x59, 0x34, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -6068,7 +6093,14 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error)
if m.MaxTxBytes != 0 {
i = encodeVarintTypes(dAtA, i, uint64(m.MaxTxBytes))
i--
dAtA[i] = 0x40
dAtA[i] = 0x48
}
if len(m.NextValidatorsHash) > 0 {
i -= len(m.NextValidatorsHash)
copy(dAtA[i:], m.NextValidatorsHash)
i = encodeVarintTypes(dAtA, i, uint64(len(m.NextValidatorsHash)))
i--
dAtA[i] = 0x42
}
if len(m.ProposerAddress) > 0 {
i -= len(m.ProposerAddress)
@@ -6153,6 +6185,13 @@ func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error)
_ = i
var l int
_ = l
if len(m.NextValidatorsHash) > 0 {
i -= len(m.NextValidatorsHash)
copy(dAtA[i:], m.NextValidatorsHash)
i = encodeVarintTypes(dAtA, i, uint64(len(m.NextValidatorsHash)))
i--
dAtA[i] = 0x42
}
if len(m.ProposerAddress) > 0 {
i -= len(m.ProposerAddress)
copy(dAtA[i:], m.ProposerAddress)
@@ -6306,6 +6345,13 @@ func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if len(m.NextValidatorsHash) > 0 {
i -= len(m.NextValidatorsHash)
copy(dAtA[i:], m.NextValidatorsHash)
i = encodeVarintTypes(dAtA, i, uint64(len(m.NextValidatorsHash)))
i--
dAtA[i] = 0x42
}
if len(m.ProposerAddress) > 0 {
i -= len(m.ProposerAddress)
copy(dAtA[i:], m.ProposerAddress)
@@ -9024,6 +9070,10 @@ func (m *RequestPrepareProposal) Size() (n int) {
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
l = len(m.NextValidatorsHash)
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
if m.MaxTxBytes != 0 {
n += 1 + sovTypes(uint64(m.MaxTxBytes))
}
@@ -9063,6 +9113,10 @@ func (m *RequestProcessProposal) Size() (n int) {
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
l = len(m.NextValidatorsHash)
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
return n
}
@@ -9125,6 +9179,10 @@ func (m *RequestFinalizeBlock) Size() (n int) {
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
l = len(m.NextValidatorsHash)
if l > 0 {
n += 1 + l + sovTypes(uint64(l))
}
return n
}
@@ -12663,6 +12721,40 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error {
}
iNdEx = postIndex
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthTypes
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthTypes
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...)
if m.NextValidatorsHash == nil {
m.NextValidatorsHash = []byte{}
}
iNdEx = postIndex
case 9:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field MaxTxBytes", wireType)
}
@@ -12950,6 +13042,40 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error {
m.ProposerAddress = []byte{}
}
iNdEx = postIndex
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthTypes
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthTypes
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...)
if m.NextValidatorsHash == nil {
m.NextValidatorsHash = []byte{}
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTypes(dAtA[iNdEx:])
@@ -13391,6 +13517,40 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error {
m.ProposerAddress = []byte{}
}
iNdEx = postIndex
case 8:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTypes
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
byteLen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthTypes
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthTypes
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...)
if m.NextValidatorsHash == nil {
m.NextValidatorsHash = []byte{}
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTypes(dAtA[iNdEx:])
+3
View File
@@ -128,6 +128,7 @@ func (blockExec *BlockExecutor) CreateProposalBlock(
LocalLastCommit: extendedCommitInfo(localLastCommit, votes),
ByzantineValidators: block.Evidence.ToABCI(),
ProposerAddress: block.ProposerAddress,
NextValidatorsHash: block.NextValidatorsHash,
MaxTxBytes: maxDataBytes,
},
)
@@ -177,6 +178,7 @@ func (blockExec *BlockExecutor) ProcessProposal(
ProposedLastCommit: buildLastCommitInfo(block, blockExec.store, state.InitialHeight),
ByzantineValidators: block.Evidence.ToABCI(),
ProposerAddress: block.ProposerAddress,
NextValidatorsHash: block.NextValidatorsHash,
}
resp, err := blockExec.appClient.ProcessProposal(ctx, req)
@@ -239,6 +241,7 @@ func (blockExec *BlockExecutor) ApplyBlock(
DecidedLastCommit: buildLastCommitInfo(block, blockExec.store, state.InitialHeight),
ByzantineValidators: block.Evidence.ToABCI(),
ProposerAddress: block.ProposerAddress,
NextValidatorsHash: block.NextValidatorsHash,
},
)
endTime := time.Now().UnixNano()
+24 -31
View File
@@ -3,8 +3,6 @@ package tendermint.abci;
option go_package = "github.com/tendermint/tendermint/abci/types";
// For more information on gogo.proto, see:
// https://github.com/gogo/protobuf/blob/master/extensions.md
import "tendermint/crypto/proof.proto";
import "tendermint/types/types.proto";
import "tendermint/crypto/keys.proto";
@@ -12,9 +10,14 @@ import "tendermint/types/params.proto";
import "google/protobuf/timestamp.proto";
import "gogoproto/gogo.proto";
// This file is copied from http://github.com/tendermint/abci
// NOTE: When using custom types, mind the warnings.
// https://github.com/gogo/protobuf/blob/master/custom_types.md#warnings-and-issues
// This file is a temporary workaround to enable development during the ABCI++
// project. This file should be deleted and any references to it removed when
// the ongoing work on ABCI++ is completed.
//
// For the duration of ABCI++, this file should be able to build the `abci/types/types.pb.go`
// file. Any changes that update that file must come as a result of a change in
// this .proto file.
// For more information, see https://github.com/tendermint/tendermint/issues/8066
//----------------------------------------
// Request types
@@ -133,7 +136,8 @@ message RequestPrepareProposal {
ExtendedCommitInfo local_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the node receiving this PrepareProposal request.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
// the modified transactions cannot exceed this size.
int64 max_tx_bytes = 8;
}
@@ -146,21 +150,18 @@ message RequestProcessProposal {
CommitInfo proposed_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the original proposer of the block.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
}
// Extends a vote with application-side injection
message RequestExtendVote {
bytes hash = 1;
int64 height = 2;
types.Vote vote = 1;
}
// Verify the vote extension
message RequestVerifyVoteExtension {
bytes hash = 1;
bytes validator_address = 2;
int64 height = 3;
bytes vote_extension = 4;
types.Vote vote = 1;
}
message RequestFinalizeBlock {
@@ -171,7 +172,8 @@ message RequestFinalizeBlock {
CommitInfo decided_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the original proposer of the block.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
}
//----------------------------------------
@@ -355,7 +357,7 @@ message ResponseProcessProposal {
}
message ResponseExtendVote {
bytes vote_extension = 1;
tendermint.types.VoteExtension vote_extension = 1;
}
message ResponseVerifyVoteExtension {
@@ -372,7 +374,7 @@ message ResponseFinalizeBlock {
repeated Event events = 1
[(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"];
repeated ExecTxResult tx_results = 2;
repeated ValidatorUpdate validator_updates = 3;
repeated ValidatorUpdate validator_updates = 3 [(gogoproto.nullable) = false];
tendermint.types.ConsensusParams consensus_param_updates = 4;
bytes app_hash = 5;
int64 retain_height = 6;
@@ -425,10 +427,10 @@ message ExecTxResult {
//
// One usage is indexing transaction results.
message TxResult {
int64 height = 1;
uint32 index = 2;
bytes tx = 3;
ResponseDeliverTx result = 4 [(gogoproto.nullable) = false];
int64 height = 1;
uint32 index = 2;
bytes tx = 3;
ExecTxResult result = 4 [(gogoproto.nullable) = false];
}
message TxRecord {
@@ -464,25 +466,16 @@ message ValidatorUpdate {
message VoteInfo {
Validator validator = 1 [(gogoproto.nullable) = false];
bool signed_last_block = 2;
reserved 3; // Placeholder for tendermint_signed_extension in v0.37
reserved 4; // Placeholder for app_signed_extension in v0.37
}
// ExtendedVoteInfo
message ExtendedVoteInfo {
Validator validator = 1 [(gogoproto.nullable) = false];
bool signed_last_block = 2;
bytes vote_extension = 3;
}
// CanonicalVoteExtension
// TODO: move this to core Tendermint data structures
message CanonicalVoteExtension {
bytes extension = 1;
int64 height = 2;
int32 round = 3;
string chain_id = 4;
bytes address = 5;
}
enum EvidenceType {
UNKNOWN = 0;
DUPLICATE_VOTE = 1;
@@ -134,9 +134,10 @@ message RequestPrepareProposal {
ExtendedCommitInfo local_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the node receiving this PrepareProposal request.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
// the modified transactions cannot exceed this size.
int64 max_tx_bytes = 8;
int64 max_tx_bytes = 9;
}
message RequestProcessProposal {
@@ -147,7 +148,8 @@ message RequestProcessProposal {
CommitInfo proposed_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the original proposer of the block.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
}
// Extends a vote with application-side injection
@@ -168,7 +170,8 @@ message RequestFinalizeBlock {
CommitInfo decided_last_commit = 5 [(gogoproto.nullable) = false];
repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false];
// address of the public key of the original proposer of the block.
bytes proposer_address = 7;
bytes proposer_address = 7;
bytes next_validators_hash = 8;
}
//----------------------------------------
+1 -1
View File
@@ -1,6 +1,6 @@
syntax = "proto3";
package tendermint.privval;
option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval";
option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval";
import "tendermint/privval/types.proto";
+22 -1
View File
@@ -9,7 +9,14 @@ import "tendermint/crypto/proof.proto";
import "tendermint/version/types.proto";
import "tendermint/types/validator.proto";
// BlockIdFlag indicates which BlcokID the signature is for
// This file is a temporary workaround to enable development during the ABCI++
// project. This file should be deleted and any references to it removed when
// the ongoing work on ABCI++ is completed.
//
// This file supports building of the `tendermint.abci` proto package.
// For more information, see https://github.com/tendermint/tendermint/issues/8066
// BlockIdFlag indicates which BlockID the signature is for
enum BlockIDFlag {
option (gogoproto.goproto_enum_stringer) = true;
option (gogoproto.goproto_enum_prefix) = false;
@@ -113,6 +120,19 @@ message Vote {
bytes validator_address = 6;
int32 validator_index = 7;
bytes signature = 8;
VoteExtension vote_extension = 9;
}
// VoteExtension is app-defined additional information to the validator votes.
message VoteExtension {
bytes app_data_to_sign = 1;
bytes app_data_self_authenticating = 2;
}
// VoteExtensionToSign is a subset of VoteExtension that is signed by the validators private key.
// VoteExtensionToSign is extracted from an existing VoteExtension.
message VoteExtensionToSign {
bytes app_data_to_sign = 1;
}
// Commit contains the evidence that a block was committed by a set of
@@ -132,6 +152,7 @@ message CommitSig {
google.protobuf.Timestamp timestamp = 3
[(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
bytes signature = 4;
VoteExtensionToSign vote_extension = 5;
}
message Proposal {