From 2a338e032c582386f1c8c32a5b2803752f8b53fc Mon Sep 17 00:00:00 2001 From: Alex | Interchain Labs Date: Wed, 19 Feb 2025 12:58:14 -0500 Subject: [PATCH] chore: update proto builder (#23721) --- .../app/runtime/v1alpha1/module.pulsar.go | 346 +++- api/cosmos/app/v1alpha1/query.pulsar.go | 34 +- api/cosmos/app/v1alpha1/query_grpc.pb.go | 35 +- api/cosmos/auth/v1beta1/query_grpc.pb.go | 59 +- api/cosmos/auth/v1beta1/tx_grpc.pb.go | 32 +- api/cosmos/authz/v1beta1/authz.pulsar.go | 26 +- api/cosmos/authz/v1beta1/query_grpc.pb.go | 38 +- api/cosmos/authz/v1beta1/tx.pulsar.go | 28 +- api/cosmos/authz/v1beta1/tx_grpc.pb.go | 38 +- api/cosmos/autocli/v1/query_grpc.pb.go | 34 +- api/cosmos/bank/v1beta1/bank.pulsar.go | 6 +- api/cosmos/bank/v1beta1/query_grpc.pb.go | 68 +- api/cosmos/bank/v1beta1/tx_grpc.pb.go | 41 +- api/cosmos/base/abci/v1beta1/abci.pulsar.go | 32 +- api/cosmos/base/node/v1beta1/query_grpc.pb.go | 35 +- .../reflection/v1beta1/reflection_grpc.pb.go | 35 +- .../reflection/v2alpha1/reflection_grpc.pb.go | 47 +- .../base/tendermint/v1beta1/query_grpc.pb.go | 50 +- api/cosmos/base/v1beta1/coin.pulsar.go | 28 +- api/cosmos/circuit/v1/query_grpc.pb.go | 38 +- api/cosmos/circuit/v1/tx_grpc.pb.go | 38 +- api/cosmos/consensus/v1/query_grpc.pb.go | 32 +- api/cosmos/consensus/v1/tx_grpc.pb.go | 32 +- api/cosmos/crisis/v1beta1/tx_grpc.pb.go | 35 +- api/cosmos/crypto/hd/v1/hd.pulsar.go | 26 +- api/cosmos/crypto/keyring/v1/record.pulsar.go | 30 +- api/cosmos/crypto/secp256r1/keys.pulsar.go | 30 +- .../v1beta1/distribution.pulsar.go | 56 +- .../distribution/v1beta1/genesis.pulsar.go | 36 +- .../distribution/v1beta1/query_grpc.pb.go | 59 +- api/cosmos/distribution/v1beta1/tx.pulsar.go | 32 +- api/cosmos/distribution/v1beta1/tx_grpc.pb.go | 50 +- .../evidence/v1beta1/evidence.pulsar.go | 30 +- api/cosmos/evidence/v1beta1/query_grpc.pb.go | 35 +- api/cosmos/evidence/v1beta1/tx.pulsar.go | 30 +- api/cosmos/evidence/v1beta1/tx_grpc.pb.go | 32 +- api/cosmos/feegrant/v1beta1/query_grpc.pb.go | 38 +- api/cosmos/feegrant/v1beta1/tx_grpc.pb.go | 38 +- api/cosmos/gov/v1/query_grpc.pb.go | 56 +- api/cosmos/gov/v1/tx_grpc.pb.go | 50 +- api/cosmos/gov/v1beta1/gov.pulsar.go | 26 +- api/cosmos/gov/v1beta1/query_grpc.pb.go | 53 +- api/cosmos/gov/v1beta1/tx_grpc.pb.go | 41 +- api/cosmos/group/v1/query_grpc.pb.go | 71 +- api/cosmos/group/v1/tx_grpc.pb.go | 71 +- api/cosmos/mint/v1beta1/query_grpc.pb.go | 38 +- api/cosmos/mint/v1beta1/tx_grpc.pb.go | 32 +- api/cosmos/nft/v1beta1/query_grpc.pb.go | 50 +- api/cosmos/nft/v1beta1/tx_grpc.pb.go | 32 +- api/cosmos/params/v1beta1/params.pulsar.go | 30 +- api/cosmos/params/v1beta1/query_grpc.pb.go | 35 +- .../reflection/v1/reflection_grpc.pb.go | 34 +- api/cosmos/slashing/v1beta1/query_grpc.pb.go | 38 +- .../slashing/v1beta1/slashing.pulsar.go | 32 +- api/cosmos/slashing/v1beta1/tx.pulsar.go | 30 +- api/cosmos/slashing/v1beta1/tx_grpc.pb.go | 35 +- api/cosmos/staking/v1beta1/query_grpc.pb.go | 71 +- api/cosmos/staking/v1beta1/tx.pulsar.go | 4 +- api/cosmos/staking/v1beta1/tx_grpc.pb.go | 50 +- .../store/streaming/abci/grpc_grpc.pb.go | 35 +- api/cosmos/tx/v1beta1/service_grpc.pb.go | 56 +- api/cosmos/upgrade/v1beta1/query.pulsar.go | 10 +- api/cosmos/upgrade/v1beta1/query_grpc.pb.go | 44 +- api/cosmos/upgrade/v1beta1/tx_grpc.pb.go | 35 +- api/cosmos/upgrade/v1beta1/upgrade.pulsar.go | 56 +- api/cosmos/vesting/v1beta1/tx_grpc.pb.go | 38 +- api/go.mod | 16 +- api/go.sum | 46 +- api/tendermint/abci/types_grpc.pb.go | 73 +- api/tendermint/types/params.pulsar.go | 22 +- baseapp/testutil/messages.pb.go | 3 + client/grpc/cmtservice/query.pb.go | 1 + client/grpc/node/query.pb.go | 1 + client/grpc/reflection/reflection.pb.go | 1 + contrib/devtools/Dockerfile | 6 +- .../cosmos/app/runtime/v1alpha1/module.proto | 10 + proto/cosmos/app/v1alpha1/config.proto | 2 + proto/cosmos/app/v1alpha1/module.proto | 2 + proto/cosmos/app/v1alpha1/query.proto | 8 +- .../grpc/reflection/v2alpha1/reflection.pb.go | 1 + store/streaming/abci/grpc.pb.go | 1 + .../tx/internal/gogo/testpb/test.pb.go | 1 + testutil/testdata/query.pb.go | 1 + testutil/testdata/testpb/query_grpc.pb.go | 40 +- testutil/testdata/testpb/tx_grpc.pb.go | 34 +- testutil/testdata/tx.pb.go | 1 + types/tx/service.pb.go | 1 + x/auth/types/query.pb.go | 1 + x/auth/types/tx.pb.go | 1 + x/auth/vesting/types/tx.pb.go | 1 + x/authz/query.pb.go | 1 + x/authz/tx.pb.go | 1 + x/bank/types/query.pb.go | 1 + x/bank/types/tx.pb.go | 1 + x/circuit/types/query.pb.go | 1 + x/circuit/types/tx.pb.go | 1 + x/consensus/types/query.pb.go | 1 + x/consensus/types/tx.pb.go | 1 + x/crisis/types/tx.pb.go | 1 + x/distribution/types/query.pb.go | 1 + x/distribution/types/tx.pb.go | 1 + x/evidence/types/query.pb.go | 1 + x/evidence/types/tx.pb.go | 1 + x/feegrant/query.pb.go | 1 + x/feegrant/tx.pb.go | 1 + x/gov/types/v1/query.pb.go | 1 + x/gov/types/v1/tx.pb.go | 1 + x/gov/types/v1beta1/query.pb.go | 1 + x/gov/types/v1beta1/tx.pb.go | 1 + x/group/query.pb.go | 1 + x/group/tx.pb.go | 1 + x/mint/types/query.pb.go | 1 + x/mint/types/tx.pb.go | 1 + x/nft/query.pb.go | 1 + x/nft/tx.pb.go | 1 + x/params/types/proposal/query.pb.go | 1 + x/slashing/types/query.pb.go | 1 + x/slashing/types/tx.pb.go | 1 + x/staking/types/query.pb.go | 1 + x/staking/types/staking.pb.go | 1484 +++++++++-------- x/staking/types/tx.pb.go | 1 + x/upgrade/types/query.pb.go | 1 + x/upgrade/types/tx.pb.go | 1 + 123 files changed, 3012 insertions(+), 1640 deletions(-) diff --git a/api/cosmos/app/runtime/v1alpha1/module.pulsar.go b/api/cosmos/app/runtime/v1alpha1/module.pulsar.go index d29da340c1..c1da19eccf 100644 --- a/api/cosmos/app/runtime/v1alpha1/module.pulsar.go +++ b/api/cosmos/app/runtime/v1alpha1/module.pulsar.go @@ -248,6 +248,52 @@ func (x *_Module_6_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_Module_11_list)(nil) + +type _Module_11_list struct { + list *[]string +} + +func (x *_Module_11_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Module_11_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Module_11_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Module_11_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Module_11_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Module at list field SkipStoreKeys as it is not of Message kind")) +} + +func (x *_Module_11_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Module_11_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Module_11_list) IsValid() bool { + return x.list != nil +} + var _ protoreflect.List = (*_Module_7_list)(nil) type _Module_7_list struct { @@ -386,6 +432,52 @@ func (x *_Module_9_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_Module_10_list)(nil) + +type _Module_10_list struct { + list *[]string +} + +func (x *_Module_10_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Module_10_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_Module_10_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_Module_10_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_Module_10_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message Module at list field PreBlockers as it is not of Message kind")) +} + +func (x *_Module_10_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_Module_10_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_Module_10_list) IsValid() bool { + return x.list != nil +} + var ( md_Module protoreflect.MessageDescriptor fd_Module_app_name protoreflect.FieldDescriptor @@ -394,9 +486,11 @@ var ( fd_Module_init_genesis protoreflect.FieldDescriptor fd_Module_export_genesis protoreflect.FieldDescriptor fd_Module_override_store_keys protoreflect.FieldDescriptor + fd_Module_skip_store_keys protoreflect.FieldDescriptor fd_Module_order_migrations protoreflect.FieldDescriptor fd_Module_precommiters protoreflect.FieldDescriptor fd_Module_prepare_check_staters protoreflect.FieldDescriptor + fd_Module_pre_blockers protoreflect.FieldDescriptor ) func init() { @@ -408,9 +502,11 @@ func init() { fd_Module_init_genesis = md_Module.Fields().ByName("init_genesis") fd_Module_export_genesis = md_Module.Fields().ByName("export_genesis") fd_Module_override_store_keys = md_Module.Fields().ByName("override_store_keys") + fd_Module_skip_store_keys = md_Module.Fields().ByName("skip_store_keys") fd_Module_order_migrations = md_Module.Fields().ByName("order_migrations") fd_Module_precommiters = md_Module.Fields().ByName("precommiters") fd_Module_prepare_check_staters = md_Module.Fields().ByName("prepare_check_staters") + fd_Module_pre_blockers = md_Module.Fields().ByName("pre_blockers") } var _ protoreflect.Message = (*fastReflection_Module)(nil) @@ -514,6 +610,12 @@ func (x *fastReflection_Module) Range(f func(protoreflect.FieldDescriptor, proto return } } + if len(x.SkipStoreKeys) != 0 { + value := protoreflect.ValueOfList(&_Module_11_list{list: &x.SkipStoreKeys}) + if !f(fd_Module_skip_store_keys, value) { + return + } + } if len(x.OrderMigrations) != 0 { value := protoreflect.ValueOfList(&_Module_7_list{list: &x.OrderMigrations}) if !f(fd_Module_order_migrations, value) { @@ -532,6 +634,12 @@ func (x *fastReflection_Module) Range(f func(protoreflect.FieldDescriptor, proto return } } + if len(x.PreBlockers) != 0 { + value := protoreflect.ValueOfList(&_Module_10_list{list: &x.PreBlockers}) + if !f(fd_Module_pre_blockers, value) { + return + } + } } // Has reports whether a field is populated. @@ -559,12 +667,16 @@ func (x *fastReflection_Module) Has(fd protoreflect.FieldDescriptor) bool { return len(x.ExportGenesis) != 0 case "cosmos.app.runtime.v1alpha1.Module.override_store_keys": return len(x.OverrideStoreKeys) != 0 + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + return len(x.SkipStoreKeys) != 0 case "cosmos.app.runtime.v1alpha1.Module.order_migrations": return len(x.OrderMigrations) != 0 case "cosmos.app.runtime.v1alpha1.Module.precommiters": return len(x.Precommiters) != 0 case "cosmos.app.runtime.v1alpha1.Module.prepare_check_staters": return len(x.PrepareCheckStaters) != 0 + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + return len(x.PreBlockers) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.runtime.v1alpha1.Module")) @@ -593,12 +705,16 @@ func (x *fastReflection_Module) Clear(fd protoreflect.FieldDescriptor) { x.ExportGenesis = nil case "cosmos.app.runtime.v1alpha1.Module.override_store_keys": x.OverrideStoreKeys = nil + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + x.SkipStoreKeys = nil case "cosmos.app.runtime.v1alpha1.Module.order_migrations": x.OrderMigrations = nil case "cosmos.app.runtime.v1alpha1.Module.precommiters": x.Precommiters = nil case "cosmos.app.runtime.v1alpha1.Module.prepare_check_staters": x.PrepareCheckStaters = nil + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + x.PreBlockers = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.runtime.v1alpha1.Module")) @@ -648,6 +764,12 @@ func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) pro } listValue := &_Module_6_list{list: &x.OverrideStoreKeys} return protoreflect.ValueOfList(listValue) + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + if len(x.SkipStoreKeys) == 0 { + return protoreflect.ValueOfList(&_Module_11_list{}) + } + listValue := &_Module_11_list{list: &x.SkipStoreKeys} + return protoreflect.ValueOfList(listValue) case "cosmos.app.runtime.v1alpha1.Module.order_migrations": if len(x.OrderMigrations) == 0 { return protoreflect.ValueOfList(&_Module_7_list{}) @@ -666,6 +788,12 @@ func (x *fastReflection_Module) Get(descriptor protoreflect.FieldDescriptor) pro } listValue := &_Module_9_list{list: &x.PrepareCheckStaters} return protoreflect.ValueOfList(listValue) + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + if len(x.PreBlockers) == 0 { + return protoreflect.ValueOfList(&_Module_10_list{}) + } + listValue := &_Module_10_list{list: &x.PreBlockers} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.runtime.v1alpha1.Module")) @@ -708,6 +836,10 @@ func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value proto lv := value.List() clv := lv.(*_Module_6_list) x.OverrideStoreKeys = *clv.list + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + lv := value.List() + clv := lv.(*_Module_11_list) + x.SkipStoreKeys = *clv.list case "cosmos.app.runtime.v1alpha1.Module.order_migrations": lv := value.List() clv := lv.(*_Module_7_list) @@ -720,6 +852,10 @@ func (x *fastReflection_Module) Set(fd protoreflect.FieldDescriptor, value proto lv := value.List() clv := lv.(*_Module_9_list) x.PrepareCheckStaters = *clv.list + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + lv := value.List() + clv := lv.(*_Module_10_list) + x.PreBlockers = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.runtime.v1alpha1.Module")) @@ -770,6 +906,12 @@ func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protore } value := &_Module_6_list{list: &x.OverrideStoreKeys} return protoreflect.ValueOfList(value) + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + if x.SkipStoreKeys == nil { + x.SkipStoreKeys = []string{} + } + value := &_Module_11_list{list: &x.SkipStoreKeys} + return protoreflect.ValueOfList(value) case "cosmos.app.runtime.v1alpha1.Module.order_migrations": if x.OrderMigrations == nil { x.OrderMigrations = []string{} @@ -788,6 +930,12 @@ func (x *fastReflection_Module) Mutable(fd protoreflect.FieldDescriptor) protore } value := &_Module_9_list{list: &x.PrepareCheckStaters} return protoreflect.ValueOfList(value) + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + if x.PreBlockers == nil { + x.PreBlockers = []string{} + } + value := &_Module_10_list{list: &x.PreBlockers} + return protoreflect.ValueOfList(value) case "cosmos.app.runtime.v1alpha1.Module.app_name": panic(fmt.Errorf("field app_name of message cosmos.app.runtime.v1alpha1.Module is not mutable")) default: @@ -820,6 +968,9 @@ func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protor case "cosmos.app.runtime.v1alpha1.Module.override_store_keys": list := []*StoreKeyConfig{} return protoreflect.ValueOfList(&_Module_6_list{list: &list}) + case "cosmos.app.runtime.v1alpha1.Module.skip_store_keys": + list := []string{} + return protoreflect.ValueOfList(&_Module_11_list{list: &list}) case "cosmos.app.runtime.v1alpha1.Module.order_migrations": list := []string{} return protoreflect.ValueOfList(&_Module_7_list{list: &list}) @@ -829,6 +980,9 @@ func (x *fastReflection_Module) NewField(fd protoreflect.FieldDescriptor) protor case "cosmos.app.runtime.v1alpha1.Module.prepare_check_staters": list := []string{} return protoreflect.ValueOfList(&_Module_9_list{list: &list}) + case "cosmos.app.runtime.v1alpha1.Module.pre_blockers": + list := []string{} + return protoreflect.ValueOfList(&_Module_10_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.app.runtime.v1alpha1.Module")) @@ -932,6 +1086,12 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { n += 1 + l + runtime.Sov(uint64(l)) } } + if len(x.SkipStoreKeys) > 0 { + for _, s := range x.SkipStoreKeys { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } if len(x.OrderMigrations) > 0 { for _, s := range x.OrderMigrations { l = len(s) @@ -950,6 +1110,12 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { n += 1 + l + runtime.Sov(uint64(l)) } } + if len(x.PreBlockers) > 0 { + for _, s := range x.PreBlockers { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -979,6 +1145,24 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.SkipStoreKeys) > 0 { + for iNdEx := len(x.SkipStoreKeys) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.SkipStoreKeys[iNdEx]) + copy(dAtA[i:], x.SkipStoreKeys[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SkipStoreKeys[iNdEx]))) + i-- + dAtA[i] = 0x5a + } + } + if len(x.PreBlockers) > 0 { + for iNdEx := len(x.PreBlockers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.PreBlockers[iNdEx]) + copy(dAtA[i:], x.PreBlockers[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PreBlockers[iNdEx]))) + i-- + dAtA[i] = 0x52 + } + } if len(x.PrepareCheckStaters) > 0 { for iNdEx := len(x.PrepareCheckStaters) - 1; iNdEx >= 0; iNdEx-- { i -= len(x.PrepareCheckStaters[iNdEx]) @@ -1308,6 +1492,38 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SkipStoreKeys", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.SkipStoreKeys = append(x.SkipStoreKeys, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex case 7: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OrderMigrations", wireType) @@ -1404,6 +1620,38 @@ func (x *fastReflection_Module) ProtoMethods() *protoiface.Methods { } x.PrepareCheckStaters = append(x.PrepareCheckStaters, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 10: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PreBlockers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.PreBlockers = append(x.PreBlockers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1963,6 +2211,10 @@ type Module struct { // override_store_keys is an optional list of overrides for the module store keys // to be used in keeper construction. OverrideStoreKeys []*StoreKeyConfig `protobuf:"bytes,6,rep,name=override_store_keys,json=overrideStoreKeys,proto3" json:"override_store_keys,omitempty"` + // skip_store_keys is an optional list of store keys to skip when constructing the + // module's keeper. This is useful when a module does not have a store key. + // NOTE: the provided environment variable will have a fake store service. + SkipStoreKeys []string `protobuf:"bytes,11,rep,name=skip_store_keys,json=skipStoreKeys,proto3" json:"skip_store_keys,omitempty"` // order_migrations defines the order in which module migrations are performed. // If this is left empty, it uses the default migration order. // https://pkg.go.dev/github.com/cosmos/cosmos-sdk@v0.47.0-alpha2/types/module#DefaultMigrationsOrder @@ -1975,6 +2227,10 @@ type Module struct { // to call in the order in which they should be called. If this is left empty // no preparecheckstate function will be registered. PrepareCheckStaters []string `protobuf:"bytes,9,rep,name=prepare_check_staters,json=prepareCheckStaters,proto3" json:"prepare_check_staters,omitempty"` + // pre_blockers specifies the module names of pre blockers + // to call in the order in which they should be called. If this is left empty + // no pre blocker will be registered. + PreBlockers []string `protobuf:"bytes,10,rep,name=pre_blockers,json=preBlockers,proto3" json:"pre_blockers,omitempty"` } func (x *Module) Reset() { @@ -2039,6 +2295,13 @@ func (x *Module) GetOverrideStoreKeys() []*StoreKeyConfig { return nil } +func (x *Module) GetSkipStoreKeys() []string { + if x != nil { + return x.SkipStoreKeys + } + return nil +} + func (x *Module) GetOrderMigrations() []string { if x != nil { return x.OrderMigrations @@ -2060,6 +2323,13 @@ func (x *Module) GetPrepareCheckStaters() []string { return nil } +func (x *Module) GetPreBlockers() []string { + if x != nil { + return x.PreBlockers + } + return nil +} + // StoreKeyConfig may be supplied to override the default module store key, which // is the module name. type StoreKeyConfig struct { @@ -2116,7 +2386,7 @@ var file_cosmos_app_runtime_v1alpha1_module_proto_rawDesc = []byte{ 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x03, 0x0a, 0x06, 0x4d, 0x6f, + 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x04, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, @@ -2134,41 +2404,45 @@ var file_cosmos_app_runtime_v1alpha1_module_proto_rawDesc = []byte{ 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, - 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, - 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x72, 0x73, 0x3a, 0x43, 0xba, 0xc0, 0x96, 0xda, 0x01, 0x3d, 0x0a, 0x24, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x15, 0x0a, 0x13, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x22, 0x53, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6b, - 0x76, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x6b, 0x76, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x42, 0xfb, 0x01, - 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x42, 0x0b, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x3c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, - 0x03, 0x43, 0x41, 0x52, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, - 0x70, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, - 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1e, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x70, 0x61, + 0x72, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x72, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x3a, 0x43, + 0xba, 0xc0, 0x96, 0xda, 0x01, 0x3d, 0x0a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x13, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x22, 0x53, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x76, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x76, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x42, 0xfb, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x4d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x52, 0xaa, + 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1b, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x3a, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/app/v1alpha1/query.pulsar.go b/api/cosmos/app/v1alpha1/query.pulsar.go index 7de26bd84a..12bb5b93a7 100644 --- a/api/cosmos/app/v1alpha1/query.pulsar.go +++ b/api/cosmos/app/v1alpha1/query.pulsar.go @@ -843,7 +843,7 @@ func (*QueryConfigRequest) Descriptor() ([]byte, []int) { return file_cosmos_app_v1alpha1_query_proto_rawDescGZIP(), []int{0} } -// QueryConfigRequest is the Query/Config response type. +// QueryConfigResponse is the Query/Config response type. type QueryConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -894,27 +894,27 @@ var file_cosmos_app_v1alpha1_query_proto_rawDesc = []byte{ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x66, 0x0a, 0x05, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x69, 0x0a, 0x05, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x60, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x42, 0xc5, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, - 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, - 0x70, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x70, - 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x22, 0x03, 0x88, 0x02, 0x01, 0x42, 0xc5, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x13, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x70, + 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/app/v1alpha1/query_grpc.pb.go b/api/cosmos/app/v1alpha1/query_grpc.pb.go index c8d56e6cbe..3be51029fd 100644 --- a/api/cosmos/app/v1alpha1/query_grpc.pb.go +++ b/api/cosmos/app/v1alpha1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/app/v1alpha1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Config_FullMethodName = "/cosmos.app.v1alpha1.Query/Config" @@ -25,7 +25,10 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query is the app module query service. type QueryClient interface { + // Deprecated: Do not use. // Config returns the current app config. Config(ctx context.Context, in *QueryConfigRequest, opts ...grpc.CallOption) (*QueryConfigResponse, error) } @@ -38,9 +41,11 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { return &queryClient{cc} } +// Deprecated: Do not use. func (c *queryClient) Config(ctx context.Context, in *QueryConfigRequest, opts ...grpc.CallOption) (*QueryConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryConfigResponse) - err := c.cc.Invoke(ctx, Query_Config_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Config_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -49,21 +54,28 @@ func (c *queryClient) Config(ctx context.Context, in *QueryConfigRequest, opts . // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query is the app module query service. type QueryServer interface { + // Deprecated: Do not use. // Config returns the current app config. Config(context.Context, *QueryConfigRequest) (*QueryConfigResponse, error) mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Config(context.Context, *QueryConfigRequest) (*QueryConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Config not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -73,6 +85,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/auth/v1beta1/query_grpc.pb.go b/api/cosmos/auth/v1beta1/query_grpc.pb.go index baa828a34e..c2faec752a 100644 --- a/api/cosmos/auth/v1beta1/query_grpc.pb.go +++ b/api/cosmos/auth/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/auth/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Accounts_FullMethodName = "/cosmos.auth.v1beta1.Query/Accounts" @@ -34,6 +34,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Accounts returns all the existing accounts. // @@ -83,8 +85,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Accounts(ctx context.Context, in *QueryAccountsRequest, opts ...grpc.CallOption) (*QueryAccountsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAccountsResponse) - err := c.cc.Invoke(ctx, Query_Accounts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Accounts_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -92,8 +95,9 @@ func (c *queryClient) Accounts(ctx context.Context, in *QueryAccountsRequest, op } func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAccountResponse) - err := c.cc.Invoke(ctx, Query_Account_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Account_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -101,8 +105,9 @@ func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts } func (c *queryClient) AccountAddressByID(ctx context.Context, in *QueryAccountAddressByIDRequest, opts ...grpc.CallOption) (*QueryAccountAddressByIDResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAccountAddressByIDResponse) - err := c.cc.Invoke(ctx, Query_AccountAddressByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AccountAddressByID_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -110,8 +115,9 @@ func (c *queryClient) AccountAddressByID(ctx context.Context, in *QueryAccountAd } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -119,8 +125,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) ModuleAccounts(ctx context.Context, in *QueryModuleAccountsRequest, opts ...grpc.CallOption) (*QueryModuleAccountsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryModuleAccountsResponse) - err := c.cc.Invoke(ctx, Query_ModuleAccounts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ModuleAccounts_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -128,8 +135,9 @@ func (c *queryClient) ModuleAccounts(ctx context.Context, in *QueryModuleAccount } func (c *queryClient) ModuleAccountByName(ctx context.Context, in *QueryModuleAccountByNameRequest, opts ...grpc.CallOption) (*QueryModuleAccountByNameResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryModuleAccountByNameResponse) - err := c.cc.Invoke(ctx, Query_ModuleAccountByName_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ModuleAccountByName_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -137,8 +145,9 @@ func (c *queryClient) ModuleAccountByName(ctx context.Context, in *QueryModuleAc } func (c *queryClient) Bech32Prefix(ctx context.Context, in *Bech32PrefixRequest, opts ...grpc.CallOption) (*Bech32PrefixResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Bech32PrefixResponse) - err := c.cc.Invoke(ctx, Query_Bech32Prefix_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Bech32Prefix_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -146,8 +155,9 @@ func (c *queryClient) Bech32Prefix(ctx context.Context, in *Bech32PrefixRequest, } func (c *queryClient) AddressBytesToString(ctx context.Context, in *AddressBytesToStringRequest, opts ...grpc.CallOption) (*AddressBytesToStringResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AddressBytesToStringResponse) - err := c.cc.Invoke(ctx, Query_AddressBytesToString_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AddressBytesToString_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -155,8 +165,9 @@ func (c *queryClient) AddressBytesToString(ctx context.Context, in *AddressBytes } func (c *queryClient) AddressStringToBytes(ctx context.Context, in *AddressStringToBytesRequest, opts ...grpc.CallOption) (*AddressStringToBytesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AddressStringToBytesResponse) - err := c.cc.Invoke(ctx, Query_AddressStringToBytes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AddressStringToBytes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -164,8 +175,9 @@ func (c *queryClient) AddressStringToBytes(ctx context.Context, in *AddressStrin } func (c *queryClient) AccountInfo(ctx context.Context, in *QueryAccountInfoRequest, opts ...grpc.CallOption) (*QueryAccountInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAccountInfoResponse) - err := c.cc.Invoke(ctx, Query_AccountInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AccountInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -174,7 +186,9 @@ func (c *queryClient) AccountInfo(ctx context.Context, in *QueryAccountInfoReque // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Accounts returns all the existing accounts. // @@ -216,9 +230,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Accounts(context.Context, *QueryAccountsRequest) (*QueryAccountsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Accounts not implemented") @@ -251,6 +268,7 @@ func (UnimplementedQueryServer) AccountInfo(context.Context, *QueryAccountInfoRe return nil, status.Errorf(codes.Unimplemented, "method AccountInfo not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -260,6 +278,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/auth/v1beta1/tx_grpc.pb.go b/api/cosmos/auth/v1beta1/tx_grpc.pb.go index f6330fcec4..78bed0f21d 100644 --- a/api/cosmos/auth/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/auth/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/auth/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_UpdateParams_FullMethodName = "/cosmos.auth.v1beta1.Msg/UpdateParams" @@ -25,6 +25,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the x/auth Msg service. type MsgClient interface { // UpdateParams defines a (governance) operation for updating the x/auth module // parameters. The authority defaults to the x/gov module account. @@ -42,8 +44,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -52,7 +55,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the x/auth Msg service. type MsgServer interface { // UpdateParams defines a (governance) operation for updating the x/auth module // parameters. The authority defaults to the x/gov module account. @@ -62,14 +67,18 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -79,6 +88,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/authz/v1beta1/authz.pulsar.go b/api/cosmos/authz/v1beta1/authz.pulsar.go index 90983b2ebe..e4e17e9fa9 100644 --- a/api/cosmos/authz/v1beta1/authz.pulsar.go +++ b/api/cosmos/authz/v1beta1/authz.pulsar.go @@ -2327,19 +2327,19 @@ var file_cosmos_authz_v1beta1_authz_proto_rawDesc = []byte{ 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x42, 0xd0, 0x01, - 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, - 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, - 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, - 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, - 0x41, 0x58, 0xaa, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, - 0x7a, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xe2, 0x02, 0x20, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x75, - 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xc8, 0xe1, 0x1e, 0x00, + 0xc8, 0xe1, 0x1e, 0x00, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, + 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x14, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, + 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/authz/v1beta1/query_grpc.pb.go b/api/cosmos/authz/v1beta1/query_grpc.pb.go index a5dd69802e..7381775ebf 100644 --- a/api/cosmos/authz/v1beta1/query_grpc.pb.go +++ b/api/cosmos/authz/v1beta1/query_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/authz/v1beta1/query.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Grants_FullMethodName = "/cosmos.authz.v1beta1.Query/Grants" @@ -29,6 +29,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Returns list of `Authorization`, granted to the grantee by the granter. Grants(ctx context.Context, in *QueryGrantsRequest, opts ...grpc.CallOption) (*QueryGrantsResponse, error) @@ -51,8 +53,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Grants(ctx context.Context, in *QueryGrantsRequest, opts ...grpc.CallOption) (*QueryGrantsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGrantsResponse) - err := c.cc.Invoke(ctx, Query_Grants_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Grants_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -60,8 +63,9 @@ func (c *queryClient) Grants(ctx context.Context, in *QueryGrantsRequest, opts . } func (c *queryClient) GranterGrants(ctx context.Context, in *QueryGranterGrantsRequest, opts ...grpc.CallOption) (*QueryGranterGrantsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGranterGrantsResponse) - err := c.cc.Invoke(ctx, Query_GranterGrants_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GranterGrants_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -69,8 +73,9 @@ func (c *queryClient) GranterGrants(ctx context.Context, in *QueryGranterGrantsR } func (c *queryClient) GranteeGrants(ctx context.Context, in *QueryGranteeGrantsRequest, opts ...grpc.CallOption) (*QueryGranteeGrantsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGranteeGrantsResponse) - err := c.cc.Invoke(ctx, Query_GranteeGrants_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GranteeGrants_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -79,7 +84,9 @@ func (c *queryClient) GranteeGrants(ctx context.Context, in *QueryGranteeGrantsR // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Returns list of `Authorization`, granted to the grantee by the granter. Grants(context.Context, *QueryGrantsRequest) (*QueryGrantsResponse, error) @@ -94,9 +101,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Grants(context.Context, *QueryGrantsRequest) (*QueryGrantsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Grants not implemented") @@ -108,6 +118,7 @@ func (UnimplementedQueryServer) GranteeGrants(context.Context, *QueryGranteeGran return nil, status.Errorf(codes.Unimplemented, "method GranteeGrants not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -117,6 +128,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/authz/v1beta1/tx.pulsar.go b/api/cosmos/authz/v1beta1/tx.pulsar.go index 9b2af65e42..7b57aeaf07 100644 --- a/api/cosmos/authz/v1beta1/tx.pulsar.go +++ b/api/cosmos/authz/v1beta1/tx.pulsar.go @@ -3211,20 +3211,20 @@ var file_cosmos_authz_v1beta1_tx_proto_rawDesc = []byte{ 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcd, 0x01, 0x0a, 0x18, - 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, 0x14, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, - 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x20, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xc8, 0xe1, 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xcd, 0x01, 0xc8, 0xe1, + 0x1e, 0x00, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, + 0x58, 0xaa, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, + 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, + 0x02, 0x20, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, + 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/authz/v1beta1/tx_grpc.pb.go b/api/cosmos/authz/v1beta1/tx_grpc.pb.go index 2dcbc3ed90..a369004af7 100644 --- a/api/cosmos/authz/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/authz/v1beta1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/authz/v1beta1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Grant_FullMethodName = "/cosmos.authz.v1beta1.Msg/Grant" @@ -29,6 +29,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the authz Msg service. type MsgClient interface { // Grant grants the provided authorization to the grantee on the granter's // account with the provided expiration time. If there is already a grant @@ -53,8 +55,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Grant(ctx context.Context, in *MsgGrant, opts ...grpc.CallOption) (*MsgGrantResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgGrantResponse) - err := c.cc.Invoke(ctx, Msg_Grant_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Grant_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -62,8 +65,9 @@ func (c *msgClient) Grant(ctx context.Context, in *MsgGrant, opts ...grpc.CallOp } func (c *msgClient) Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOption) (*MsgExecResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgExecResponse) - err := c.cc.Invoke(ctx, Msg_Exec_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Exec_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -71,8 +75,9 @@ func (c *msgClient) Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOpti } func (c *msgClient) Revoke(ctx context.Context, in *MsgRevoke, opts ...grpc.CallOption) (*MsgRevokeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRevokeResponse) - err := c.cc.Invoke(ctx, Msg_Revoke_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Revoke_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,7 +86,9 @@ func (c *msgClient) Revoke(ctx context.Context, in *MsgRevoke, opts ...grpc.Call // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the authz Msg service. type MsgServer interface { // Grant grants the provided authorization to the grantee on the granter's // account with the provided expiration time. If there is already a grant @@ -98,9 +105,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Grant(context.Context, *MsgGrant) (*MsgGrantResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Grant not implemented") @@ -112,6 +122,7 @@ func (UnimplementedMsgServer) Revoke(context.Context, *MsgRevoke) (*MsgRevokeRes return nil, status.Errorf(codes.Unimplemented, "method Revoke not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -121,6 +132,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/autocli/v1/query_grpc.pb.go b/api/cosmos/autocli/v1/query_grpc.pb.go index 4f827bd10f..04545e8d36 100644 --- a/api/cosmos/autocli/v1/query_grpc.pb.go +++ b/api/cosmos/autocli/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/autocli/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_AppOptions_FullMethodName = "/cosmos.autocli.v1.Query/AppOptions" @@ -25,6 +25,9 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// RemoteInfoService provides clients with the information they need +// to build dynamically CLI clients for remote chains. type QueryClient interface { // AppOptions returns the autocli options for all of the modules in an app. AppOptions(ctx context.Context, in *AppOptionsRequest, opts ...grpc.CallOption) (*AppOptionsResponse, error) @@ -39,8 +42,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) AppOptions(ctx context.Context, in *AppOptionsRequest, opts ...grpc.CallOption) (*AppOptionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AppOptionsResponse) - err := c.cc.Invoke(ctx, Query_AppOptions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AppOptions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -49,21 +53,28 @@ func (c *queryClient) AppOptions(ctx context.Context, in *AppOptionsRequest, opt // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// RemoteInfoService provides clients with the information they need +// to build dynamically CLI clients for remote chains. type QueryServer interface { // AppOptions returns the autocli options for all of the modules in an app. AppOptions(context.Context, *AppOptionsRequest) (*AppOptionsResponse, error) mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) AppOptions(context.Context, *AppOptionsRequest) (*AppOptionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AppOptions not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -73,6 +84,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/bank/v1beta1/bank.pulsar.go b/api/cosmos/bank/v1beta1/bank.pulsar.go index 8e3a549026..0960da6ebc 100644 --- a/api/cosmos/bank/v1beta1/bank.pulsar.go +++ b/api/cosmos/bank/v1beta1/bank.pulsar.go @@ -4654,9 +4654,9 @@ var file_cosmos_bank_v1beta1_bank_proto_rawDesc = []byte{ 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x9a, 0xe7, 0xb0, 0x2a, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x3a, - 0x29, 0x18, 0x01, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1b, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x22, 0x57, 0x0a, 0x09, 0x44, 0x65, + 0x29, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1b, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x6e, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x18, 0x01, 0x22, 0x57, 0x0a, 0x09, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, diff --git a/api/cosmos/bank/v1beta1/query_grpc.pb.go b/api/cosmos/bank/v1beta1/query_grpc.pb.go index d22562e99f..b2cfdef488 100644 --- a/api/cosmos/bank/v1beta1/query_grpc.pb.go +++ b/api/cosmos/bank/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/bank/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Balance_FullMethodName = "/cosmos.bank.v1beta1.Query/Balance" @@ -37,6 +37,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Balance queries the balance of a single coin for a single account. Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) @@ -112,8 +114,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalanceResponse) - err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -121,8 +124,9 @@ func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts } func (c *queryClient) AllBalances(ctx context.Context, in *QueryAllBalancesRequest, opts ...grpc.CallOption) (*QueryAllBalancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllBalancesResponse) - err := c.cc.Invoke(ctx, Query_AllBalances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllBalances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -130,8 +134,9 @@ func (c *queryClient) AllBalances(ctx context.Context, in *QueryAllBalancesReque } func (c *queryClient) SpendableBalances(ctx context.Context, in *QuerySpendableBalancesRequest, opts ...grpc.CallOption) (*QuerySpendableBalancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySpendableBalancesResponse) - err := c.cc.Invoke(ctx, Query_SpendableBalances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SpendableBalances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -139,8 +144,9 @@ func (c *queryClient) SpendableBalances(ctx context.Context, in *QuerySpendableB } func (c *queryClient) SpendableBalanceByDenom(ctx context.Context, in *QuerySpendableBalanceByDenomRequest, opts ...grpc.CallOption) (*QuerySpendableBalanceByDenomResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySpendableBalanceByDenomResponse) - err := c.cc.Invoke(ctx, Query_SpendableBalanceByDenom_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SpendableBalanceByDenom_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -148,8 +154,9 @@ func (c *queryClient) SpendableBalanceByDenom(ctx context.Context, in *QuerySpen } func (c *queryClient) TotalSupply(ctx context.Context, in *QueryTotalSupplyRequest, opts ...grpc.CallOption) (*QueryTotalSupplyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryTotalSupplyResponse) - err := c.cc.Invoke(ctx, Query_TotalSupply_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_TotalSupply_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -157,8 +164,9 @@ func (c *queryClient) TotalSupply(ctx context.Context, in *QueryTotalSupplyReque } func (c *queryClient) SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySupplyOfResponse) - err := c.cc.Invoke(ctx, Query_SupplyOf_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SupplyOf_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -166,8 +174,9 @@ func (c *queryClient) SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, op } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -175,8 +184,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) DenomMetadata(ctx context.Context, in *QueryDenomMetadataRequest, opts ...grpc.CallOption) (*QueryDenomMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDenomMetadataResponse) - err := c.cc.Invoke(ctx, Query_DenomMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DenomMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -184,8 +194,9 @@ func (c *queryClient) DenomMetadata(ctx context.Context, in *QueryDenomMetadataR } func (c *queryClient) DenomMetadataByQueryString(ctx context.Context, in *QueryDenomMetadataByQueryStringRequest, opts ...grpc.CallOption) (*QueryDenomMetadataByQueryStringResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDenomMetadataByQueryStringResponse) - err := c.cc.Invoke(ctx, Query_DenomMetadataByQueryString_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DenomMetadataByQueryString_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -193,8 +204,9 @@ func (c *queryClient) DenomMetadataByQueryString(ctx context.Context, in *QueryD } func (c *queryClient) DenomsMetadata(ctx context.Context, in *QueryDenomsMetadataRequest, opts ...grpc.CallOption) (*QueryDenomsMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDenomsMetadataResponse) - err := c.cc.Invoke(ctx, Query_DenomsMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DenomsMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -202,8 +214,9 @@ func (c *queryClient) DenomsMetadata(ctx context.Context, in *QueryDenomsMetadat } func (c *queryClient) DenomOwners(ctx context.Context, in *QueryDenomOwnersRequest, opts ...grpc.CallOption) (*QueryDenomOwnersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDenomOwnersResponse) - err := c.cc.Invoke(ctx, Query_DenomOwners_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DenomOwners_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -211,8 +224,9 @@ func (c *queryClient) DenomOwners(ctx context.Context, in *QueryDenomOwnersReque } func (c *queryClient) DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwnersByQueryRequest, opts ...grpc.CallOption) (*QueryDenomOwnersByQueryResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDenomOwnersByQueryResponse) - err := c.cc.Invoke(ctx, Query_DenomOwnersByQuery_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DenomOwnersByQuery_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -220,8 +234,9 @@ func (c *queryClient) DenomOwnersByQuery(ctx context.Context, in *QueryDenomOwne } func (c *queryClient) SendEnabled(ctx context.Context, in *QuerySendEnabledRequest, opts ...grpc.CallOption) (*QuerySendEnabledResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySendEnabledResponse) - err := c.cc.Invoke(ctx, Query_SendEnabled_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SendEnabled_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -230,7 +245,9 @@ func (c *queryClient) SendEnabled(ctx context.Context, in *QuerySendEnabledReque // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Balance queries the balance of a single coin for a single account. Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) @@ -298,9 +315,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Balance not implemented") @@ -342,6 +362,7 @@ func (UnimplementedQueryServer) SendEnabled(context.Context, *QuerySendEnabledRe return nil, status.Errorf(codes.Unimplemented, "method SendEnabled not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -351,6 +372,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/bank/v1beta1/tx_grpc.pb.go b/api/cosmos/bank/v1beta1/tx_grpc.pb.go index 7cdb833695..d2696f0477 100644 --- a/api/cosmos/bank/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/bank/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/bank/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Send_FullMethodName = "/cosmos.bank.v1beta1.Msg/Send" @@ -28,6 +28,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the bank Msg service. type MsgClient interface { // Send defines a method for sending coins from one account to another account. Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) @@ -56,8 +58,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSendResponse) - err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -65,8 +68,9 @@ func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOpti } func (c *msgClient) MultiSend(ctx context.Context, in *MsgMultiSend, opts ...grpc.CallOption) (*MsgMultiSendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgMultiSendResponse) - err := c.cc.Invoke(ctx, Msg_MultiSend_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_MultiSend_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -74,8 +78,9 @@ func (c *msgClient) MultiSend(ctx context.Context, in *MsgMultiSend, opts ...grp } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -83,8 +88,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts } func (c *msgClient) SetSendEnabled(ctx context.Context, in *MsgSetSendEnabled, opts ...grpc.CallOption) (*MsgSetSendEnabledResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSetSendEnabledResponse) - err := c.cc.Invoke(ctx, Msg_SetSendEnabled_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SetSendEnabled_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -93,7 +99,9 @@ func (c *msgClient) SetSendEnabled(ctx context.Context, in *MsgSetSendEnabled, o // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the bank Msg service. type MsgServer interface { // Send defines a method for sending coins from one account to another account. Send(context.Context, *MsgSend) (*MsgSendResponse, error) @@ -114,9 +122,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Send(context.Context, *MsgSend) (*MsgSendResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") @@ -131,6 +142,7 @@ func (UnimplementedMsgServer) SetSendEnabled(context.Context, *MsgSetSendEnabled return nil, status.Errorf(codes.Unimplemented, "method SetSendEnabled not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -140,6 +152,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/base/abci/v1beta1/abci.pulsar.go b/api/cosmos/base/abci/v1beta1/abci.pulsar.go index 9b5ea1a430..b9cf4e338e 100644 --- a/api/cosmos/base/abci/v1beta1/abci.pulsar.go +++ b/api/cosmos/base/abci/v1beta1/abci.pulsar.go @@ -8095,7 +8095,7 @@ var file_cosmos_base_abci_v1beta1_abci_proto_rawDesc = []byte{ 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x3a, 0x06, 0x18, 0x01, 0x80, 0xdc, 0x20, 0x01, 0x22, 0x87, 0x01, 0x0a, 0x09, + 0x61, 0x74, 0x61, 0x3a, 0x06, 0x80, 0xdc, 0x20, 0x01, 0x18, 0x01, 0x22, 0x87, 0x01, 0x0a, 0x09, 0x54, 0x78, 0x4d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, @@ -8132,21 +8132,21 @@ var file_cosmos_base_abci_v1beta1_abci_proto_rawDesc = []byte{ 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x3a, 0x04, 0x80, 0xdc, 0x20, 0x01, 0x42, - 0xe7, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x09, 0x41, 0x62, 0x63, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x61, 0x62, 0x63, 0x69, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x62, 0x63, 0x69, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x41, 0xaa, 0x02, 0x18, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, - 0x61, 0x73, 0x65, 0x5c, 0x41, 0x62, 0x63, 0x69, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xe2, 0x02, 0x24, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x41, - 0x62, 0x63, 0x69, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x41, 0x62, 0x63, 0x69, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xd8, 0xe1, 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0xe7, 0x01, 0xd8, 0xe1, 0x1e, 0x00, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x41, 0x62, 0x63, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x35, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x61, 0x62, 0x63, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x62, 0x63, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x41, 0xaa, 0x02, + 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x62, 0x63, + 0x69, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x41, 0x62, 0x63, 0x69, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, + 0x73, 0x65, 0x5c, 0x41, 0x62, 0x63, 0x69, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x41, 0x62, 0x63, 0x69, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/base/node/v1beta1/query_grpc.pb.go b/api/cosmos/base/node/v1beta1/query_grpc.pb.go index cc79672ab9..4247658d3c 100644 --- a/api/cosmos/base/node/v1beta1/query_grpc.pb.go +++ b/api/cosmos/base/node/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/base/node/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Service_Config_FullMethodName = "/cosmos.base.node.v1beta1.Service/Config" @@ -26,6 +26,8 @@ const ( // ServiceClient is the client API for Service service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Service defines the gRPC querier service for node related queries. type ServiceClient interface { // Config queries for the operator configuration. Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) @@ -42,8 +44,9 @@ func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient { } func (c *serviceClient) Config(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (*ConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConfigResponse) - err := c.cc.Invoke(ctx, Service_Config_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_Config_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,8 +54,9 @@ func (c *serviceClient) Config(ctx context.Context, in *ConfigRequest, opts ...g } func (c *serviceClient) Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(StatusResponse) - err := c.cc.Invoke(ctx, Service_Status_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_Status_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -61,7 +65,9 @@ func (c *serviceClient) Status(ctx context.Context, in *StatusRequest, opts ...g // ServiceServer is the server API for Service service. // All implementations must embed UnimplementedServiceServer -// for forward compatibility +// for forward compatibility. +// +// Service defines the gRPC querier service for node related queries. type ServiceServer interface { // Config queries for the operator configuration. Config(context.Context, *ConfigRequest) (*ConfigResponse, error) @@ -70,9 +76,12 @@ type ServiceServer interface { mustEmbedUnimplementedServiceServer() } -// UnimplementedServiceServer must be embedded to have forward compatible implementations. -type UnimplementedServiceServer struct { -} +// UnimplementedServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedServiceServer struct{} func (UnimplementedServiceServer) Config(context.Context, *ConfigRequest) (*ConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Config not implemented") @@ -81,6 +90,7 @@ func (UnimplementedServiceServer) Status(context.Context, *StatusRequest) (*Stat return nil, status.Errorf(codes.Unimplemented, "method Status not implemented") } func (UnimplementedServiceServer) mustEmbedUnimplementedServiceServer() {} +func (UnimplementedServiceServer) testEmbeddedByValue() {} // UnsafeServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ServiceServer will @@ -90,6 +100,13 @@ type UnsafeServiceServer interface { } func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) { + // If the following call pancis, it indicates UnimplementedServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Service_ServiceDesc, srv) } diff --git a/api/cosmos/base/reflection/v1beta1/reflection_grpc.pb.go b/api/cosmos/base/reflection/v1beta1/reflection_grpc.pb.go index 76040a8a05..044618d70c 100644 --- a/api/cosmos/base/reflection/v1beta1/reflection_grpc.pb.go +++ b/api/cosmos/base/reflection/v1beta1/reflection_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/base/reflection/v1beta1/reflection.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ReflectionService_ListAllInterfaces_FullMethodName = "/cosmos.base.reflection.v1beta1.ReflectionService/ListAllInterfaces" @@ -26,6 +26,8 @@ const ( // ReflectionServiceClient is the client API for ReflectionService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ReflectionService defines a service for interface reflection. type ReflectionServiceClient interface { // ListAllInterfaces lists all the interfaces registered in the interface // registry. @@ -44,8 +46,9 @@ func NewReflectionServiceClient(cc grpc.ClientConnInterface) ReflectionServiceCl } func (c *reflectionServiceClient) ListAllInterfaces(ctx context.Context, in *ListAllInterfacesRequest, opts ...grpc.CallOption) (*ListAllInterfacesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListAllInterfacesResponse) - err := c.cc.Invoke(ctx, ReflectionService_ListAllInterfaces_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_ListAllInterfaces_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -53,8 +56,9 @@ func (c *reflectionServiceClient) ListAllInterfaces(ctx context.Context, in *Lis } func (c *reflectionServiceClient) ListImplementations(ctx context.Context, in *ListImplementationsRequest, opts ...grpc.CallOption) (*ListImplementationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListImplementationsResponse) - err := c.cc.Invoke(ctx, ReflectionService_ListImplementations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_ListImplementations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,7 +67,9 @@ func (c *reflectionServiceClient) ListImplementations(ctx context.Context, in *L // ReflectionServiceServer is the server API for ReflectionService service. // All implementations must embed UnimplementedReflectionServiceServer -// for forward compatibility +// for forward compatibility. +// +// ReflectionService defines a service for interface reflection. type ReflectionServiceServer interface { // ListAllInterfaces lists all the interfaces registered in the interface // registry. @@ -74,9 +80,12 @@ type ReflectionServiceServer interface { mustEmbedUnimplementedReflectionServiceServer() } -// UnimplementedReflectionServiceServer must be embedded to have forward compatible implementations. -type UnimplementedReflectionServiceServer struct { -} +// UnimplementedReflectionServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedReflectionServiceServer struct{} func (UnimplementedReflectionServiceServer) ListAllInterfaces(context.Context, *ListAllInterfacesRequest) (*ListAllInterfacesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAllInterfaces not implemented") @@ -85,6 +94,7 @@ func (UnimplementedReflectionServiceServer) ListImplementations(context.Context, return nil, status.Errorf(codes.Unimplemented, "method ListImplementations not implemented") } func (UnimplementedReflectionServiceServer) mustEmbedUnimplementedReflectionServiceServer() {} +func (UnimplementedReflectionServiceServer) testEmbeddedByValue() {} // UnsafeReflectionServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ReflectionServiceServer will @@ -94,6 +104,13 @@ type UnsafeReflectionServiceServer interface { } func RegisterReflectionServiceServer(s grpc.ServiceRegistrar, srv ReflectionServiceServer) { + // If the following call pancis, it indicates UnimplementedReflectionServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ReflectionService_ServiceDesc, srv) } diff --git a/api/cosmos/base/reflection/v2alpha1/reflection_grpc.pb.go b/api/cosmos/base/reflection/v2alpha1/reflection_grpc.pb.go index 2977cc2771..a9e1b0e450 100644 --- a/api/cosmos/base/reflection/v2alpha1/reflection_grpc.pb.go +++ b/api/cosmos/base/reflection/v2alpha1/reflection_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/base/reflection/v2alpha1/reflection.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ReflectionService_GetAuthnDescriptor_FullMethodName = "/cosmos.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor" @@ -32,6 +32,8 @@ const ( // ReflectionServiceClient is the client API for ReflectionService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ReflectionService defines a service for application reflection. type ReflectionServiceClient interface { // GetAuthnDescriptor returns information on how to authenticate transactions in the application // NOTE: this RPC is still experimental and might be subject to breaking changes or removal in @@ -58,8 +60,9 @@ func NewReflectionServiceClient(cc grpc.ClientConnInterface) ReflectionServiceCl } func (c *reflectionServiceClient) GetAuthnDescriptor(ctx context.Context, in *GetAuthnDescriptorRequest, opts ...grpc.CallOption) (*GetAuthnDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetAuthnDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetAuthnDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetAuthnDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -67,8 +70,9 @@ func (c *reflectionServiceClient) GetAuthnDescriptor(ctx context.Context, in *Ge } func (c *reflectionServiceClient) GetChainDescriptor(ctx context.Context, in *GetChainDescriptorRequest, opts ...grpc.CallOption) (*GetChainDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetChainDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetChainDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetChainDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -76,8 +80,9 @@ func (c *reflectionServiceClient) GetChainDescriptor(ctx context.Context, in *Ge } func (c *reflectionServiceClient) GetCodecDescriptor(ctx context.Context, in *GetCodecDescriptorRequest, opts ...grpc.CallOption) (*GetCodecDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetCodecDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetCodecDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetCodecDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -85,8 +90,9 @@ func (c *reflectionServiceClient) GetCodecDescriptor(ctx context.Context, in *Ge } func (c *reflectionServiceClient) GetConfigurationDescriptor(ctx context.Context, in *GetConfigurationDescriptorRequest, opts ...grpc.CallOption) (*GetConfigurationDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetConfigurationDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetConfigurationDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetConfigurationDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -94,8 +100,9 @@ func (c *reflectionServiceClient) GetConfigurationDescriptor(ctx context.Context } func (c *reflectionServiceClient) GetQueryServicesDescriptor(ctx context.Context, in *GetQueryServicesDescriptorRequest, opts ...grpc.CallOption) (*GetQueryServicesDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetQueryServicesDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetQueryServicesDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetQueryServicesDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +110,9 @@ func (c *reflectionServiceClient) GetQueryServicesDescriptor(ctx context.Context } func (c *reflectionServiceClient) GetTxDescriptor(ctx context.Context, in *GetTxDescriptorRequest, opts ...grpc.CallOption) (*GetTxDescriptorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTxDescriptorResponse) - err := c.cc.Invoke(ctx, ReflectionService_GetTxDescriptor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_GetTxDescriptor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -113,7 +121,9 @@ func (c *reflectionServiceClient) GetTxDescriptor(ctx context.Context, in *GetTx // ReflectionServiceServer is the server API for ReflectionService service. // All implementations must embed UnimplementedReflectionServiceServer -// for forward compatibility +// for forward compatibility. +// +// ReflectionService defines a service for application reflection. type ReflectionServiceServer interface { // GetAuthnDescriptor returns information on how to authenticate transactions in the application // NOTE: this RPC is still experimental and might be subject to breaking changes or removal in @@ -132,9 +142,12 @@ type ReflectionServiceServer interface { mustEmbedUnimplementedReflectionServiceServer() } -// UnimplementedReflectionServiceServer must be embedded to have forward compatible implementations. -type UnimplementedReflectionServiceServer struct { -} +// UnimplementedReflectionServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedReflectionServiceServer struct{} func (UnimplementedReflectionServiceServer) GetAuthnDescriptor(context.Context, *GetAuthnDescriptorRequest) (*GetAuthnDescriptorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAuthnDescriptor not implemented") @@ -155,6 +168,7 @@ func (UnimplementedReflectionServiceServer) GetTxDescriptor(context.Context, *Ge return nil, status.Errorf(codes.Unimplemented, "method GetTxDescriptor not implemented") } func (UnimplementedReflectionServiceServer) mustEmbedUnimplementedReflectionServiceServer() {} +func (UnimplementedReflectionServiceServer) testEmbeddedByValue() {} // UnsafeReflectionServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ReflectionServiceServer will @@ -164,6 +178,13 @@ type UnsafeReflectionServiceServer interface { } func RegisterReflectionServiceServer(s grpc.ServiceRegistrar, srv ReflectionServiceServer) { + // If the following call pancis, it indicates UnimplementedReflectionServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ReflectionService_ServiceDesc, srv) } diff --git a/api/cosmos/base/tendermint/v1beta1/query_grpc.pb.go b/api/cosmos/base/tendermint/v1beta1/query_grpc.pb.go index 37c7b1d648..956816d275 100644 --- a/api/cosmos/base/tendermint/v1beta1/query_grpc.pb.go +++ b/api/cosmos/base/tendermint/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/base/tendermint/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Service_GetNodeInfo_FullMethodName = "/cosmos.base.tendermint.v1beta1.Service/GetNodeInfo" @@ -31,6 +31,8 @@ const ( // ServiceClient is the client API for Service service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Service defines the gRPC querier service for tendermint queries. type ServiceClient interface { // GetNodeInfo queries the current node info. GetNodeInfo(ctx context.Context, in *GetNodeInfoRequest, opts ...grpc.CallOption) (*GetNodeInfoResponse, error) @@ -61,8 +63,9 @@ func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient { } func (c *serviceClient) GetNodeInfo(ctx context.Context, in *GetNodeInfoRequest, opts ...grpc.CallOption) (*GetNodeInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetNodeInfoResponse) - err := c.cc.Invoke(ctx, Service_GetNodeInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetNodeInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -70,8 +73,9 @@ func (c *serviceClient) GetNodeInfo(ctx context.Context, in *GetNodeInfoRequest, } func (c *serviceClient) GetSyncing(ctx context.Context, in *GetSyncingRequest, opts ...grpc.CallOption) (*GetSyncingResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetSyncingResponse) - err := c.cc.Invoke(ctx, Service_GetSyncing_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetSyncing_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -79,8 +83,9 @@ func (c *serviceClient) GetSyncing(ctx context.Context, in *GetSyncingRequest, o } func (c *serviceClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*GetLatestBlockResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetLatestBlockResponse) - err := c.cc.Invoke(ctx, Service_GetLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetLatestBlock_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -88,8 +93,9 @@ func (c *serviceClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRe } func (c *serviceClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*GetBlockByHeightResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetBlockByHeightResponse) - err := c.cc.Invoke(ctx, Service_GetBlockByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetBlockByHeight_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -97,8 +103,9 @@ func (c *serviceClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeig } func (c *serviceClient) GetLatestValidatorSet(ctx context.Context, in *GetLatestValidatorSetRequest, opts ...grpc.CallOption) (*GetLatestValidatorSetResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetLatestValidatorSetResponse) - err := c.cc.Invoke(ctx, Service_GetLatestValidatorSet_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetLatestValidatorSet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -106,8 +113,9 @@ func (c *serviceClient) GetLatestValidatorSet(ctx context.Context, in *GetLatest } func (c *serviceClient) GetValidatorSetByHeight(ctx context.Context, in *GetValidatorSetByHeightRequest, opts ...grpc.CallOption) (*GetValidatorSetByHeightResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetValidatorSetByHeightResponse) - err := c.cc.Invoke(ctx, Service_GetValidatorSetByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetValidatorSetByHeight_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -115,8 +123,9 @@ func (c *serviceClient) GetValidatorSetByHeight(ctx context.Context, in *GetVali } func (c *serviceClient) ABCIQuery(ctx context.Context, in *ABCIQueryRequest, opts ...grpc.CallOption) (*ABCIQueryResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ABCIQueryResponse) - err := c.cc.Invoke(ctx, Service_ABCIQuery_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_ABCIQuery_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -125,7 +134,9 @@ func (c *serviceClient) ABCIQuery(ctx context.Context, in *ABCIQueryRequest, opt // ServiceServer is the server API for Service service. // All implementations must embed UnimplementedServiceServer -// for forward compatibility +// for forward compatibility. +// +// Service defines the gRPC querier service for tendermint queries. type ServiceServer interface { // GetNodeInfo queries the current node info. GetNodeInfo(context.Context, *GetNodeInfoRequest) (*GetNodeInfoResponse, error) @@ -148,9 +159,12 @@ type ServiceServer interface { mustEmbedUnimplementedServiceServer() } -// UnimplementedServiceServer must be embedded to have forward compatible implementations. -type UnimplementedServiceServer struct { -} +// UnimplementedServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedServiceServer struct{} func (UnimplementedServiceServer) GetNodeInfo(context.Context, *GetNodeInfoRequest) (*GetNodeInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNodeInfo not implemented") @@ -174,6 +188,7 @@ func (UnimplementedServiceServer) ABCIQuery(context.Context, *ABCIQueryRequest) return nil, status.Errorf(codes.Unimplemented, "method ABCIQuery not implemented") } func (UnimplementedServiceServer) mustEmbedUnimplementedServiceServer() {} +func (UnimplementedServiceServer) testEmbeddedByValue() {} // UnsafeServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ServiceServer will @@ -183,6 +198,13 @@ type UnsafeServiceServer interface { } func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) { + // If the following call pancis, it indicates UnimplementedServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Service_ServiceDesc, srv) } diff --git a/api/cosmos/base/v1beta1/coin.pulsar.go b/api/cosmos/base/v1beta1/coin.pulsar.go index 16bd41151f..3ca203c301 100644 --- a/api/cosmos/base/v1beta1/coin.pulsar.go +++ b/api/cosmos/base/v1beta1/coin.pulsar.go @@ -2038,20 +2038,20 @@ var file_cosmos_base_v1beta1_coin_proto_rawDesc = []byte{ 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, - 0x52, 0x03, 0x64, 0x65, 0x63, 0x42, 0xcc, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x43, 0x42, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x42, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, - 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xd8, 0xe1, 0x1e, 0x00, - 0x80, 0xe2, 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x03, 0x64, 0x65, 0x63, 0x42, 0xcc, 0x01, 0xd8, 0xe1, 0x1e, 0x00, 0x80, 0xe2, 0x1e, 0x00, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x62, 0x61, 0x73, + 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x58, 0xaa, 0x02, + 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, + 0x73, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/circuit/v1/query_grpc.pb.go b/api/cosmos/circuit/v1/query_grpc.pb.go index 6218b68d8b..84fc70dcba 100644 --- a/api/cosmos/circuit/v1/query_grpc.pb.go +++ b/api/cosmos/circuit/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/circuit/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Account_FullMethodName = "/cosmos.circuit.v1.Query/Account" @@ -27,6 +27,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the circuit gRPC querier service. type QueryClient interface { // Account returns account permissions. Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*AccountResponse, error) @@ -45,8 +47,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*AccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AccountResponse) - err := c.cc.Invoke(ctx, Query_Account_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Account_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,8 +57,9 @@ func (c *queryClient) Account(ctx context.Context, in *QueryAccountRequest, opts } func (c *queryClient) Accounts(ctx context.Context, in *QueryAccountsRequest, opts ...grpc.CallOption) (*AccountsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AccountsResponse) - err := c.cc.Invoke(ctx, Query_Accounts_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Accounts_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,8 +67,9 @@ func (c *queryClient) Accounts(ctx context.Context, in *QueryAccountsRequest, op } func (c *queryClient) DisabledList(ctx context.Context, in *QueryDisabledListRequest, opts ...grpc.CallOption) (*DisabledListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DisabledListResponse) - err := c.cc.Invoke(ctx, Query_DisabledList_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DisabledList_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -73,7 +78,9 @@ func (c *queryClient) DisabledList(ctx context.Context, in *QueryDisabledListReq // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the circuit gRPC querier service. type QueryServer interface { // Account returns account permissions. Account(context.Context, *QueryAccountRequest) (*AccountResponse, error) @@ -84,9 +91,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Account(context.Context, *QueryAccountRequest) (*AccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Account not implemented") @@ -98,6 +108,7 @@ func (UnimplementedQueryServer) DisabledList(context.Context, *QueryDisabledList return nil, status.Errorf(codes.Unimplemented, "method DisabledList not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -107,6 +118,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/circuit/v1/tx_grpc.pb.go b/api/cosmos/circuit/v1/tx_grpc.pb.go index 0103451c02..86958a2178 100644 --- a/api/cosmos/circuit/v1/tx_grpc.pb.go +++ b/api/cosmos/circuit/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/circuit/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_AuthorizeCircuitBreaker_FullMethodName = "/cosmos.circuit.v1.Msg/AuthorizeCircuitBreaker" @@ -27,6 +27,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the circuit Msg service. type MsgClient interface { // AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another // account's circuit breaker permissions. @@ -47,8 +49,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) AuthorizeCircuitBreaker(ctx context.Context, in *MsgAuthorizeCircuitBreaker, opts ...grpc.CallOption) (*MsgAuthorizeCircuitBreakerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAuthorizeCircuitBreakerResponse) - err := c.cc.Invoke(ctx, Msg_AuthorizeCircuitBreaker_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_AuthorizeCircuitBreaker_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -56,8 +59,9 @@ func (c *msgClient) AuthorizeCircuitBreaker(ctx context.Context, in *MsgAuthoriz } func (c *msgClient) TripCircuitBreaker(ctx context.Context, in *MsgTripCircuitBreaker, opts ...grpc.CallOption) (*MsgTripCircuitBreakerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgTripCircuitBreakerResponse) - err := c.cc.Invoke(ctx, Msg_TripCircuitBreaker_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_TripCircuitBreaker_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -65,8 +69,9 @@ func (c *msgClient) TripCircuitBreaker(ctx context.Context, in *MsgTripCircuitBr } func (c *msgClient) ResetCircuitBreaker(ctx context.Context, in *MsgResetCircuitBreaker, opts ...grpc.CallOption) (*MsgResetCircuitBreakerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgResetCircuitBreakerResponse) - err := c.cc.Invoke(ctx, Msg_ResetCircuitBreaker_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_ResetCircuitBreaker_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -75,7 +80,9 @@ func (c *msgClient) ResetCircuitBreaker(ctx context.Context, in *MsgResetCircuit // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the circuit Msg service. type MsgServer interface { // AuthorizeCircuitBreaker allows a super-admin to grant (or revoke) another // account's circuit breaker permissions. @@ -88,9 +95,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) AuthorizeCircuitBreaker(context.Context, *MsgAuthorizeCircuitBreaker) (*MsgAuthorizeCircuitBreakerResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AuthorizeCircuitBreaker not implemented") @@ -102,6 +112,7 @@ func (UnimplementedMsgServer) ResetCircuitBreaker(context.Context, *MsgResetCirc return nil, status.Errorf(codes.Unimplemented, "method ResetCircuitBreaker not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -111,6 +122,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/consensus/v1/query_grpc.pb.go b/api/cosmos/consensus/v1/query_grpc.pb.go index 03694d673f..8f1498104b 100644 --- a/api/cosmos/consensus/v1/query_grpc.pb.go +++ b/api/cosmos/consensus/v1/query_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/consensus/v1/query.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Params_FullMethodName = "/cosmos.consensus.v1.Query/Params" @@ -27,6 +27,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Params queries the parameters of x/consensus module. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) @@ -41,8 +43,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,21 +54,27 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Params queries the parameters of x/consensus module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -75,6 +84,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/consensus/v1/tx_grpc.pb.go b/api/cosmos/consensus/v1/tx_grpc.pb.go index 5a16e66ef5..01bf686d5f 100644 --- a/api/cosmos/consensus/v1/tx_grpc.pb.go +++ b/api/cosmos/consensus/v1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/consensus/v1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_UpdateParams_FullMethodName = "/cosmos.consensus.v1.Msg/UpdateParams" @@ -27,6 +27,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the consensus Msg service. type MsgClient interface { // UpdateParams defines a governance operation for updating the x/consensus module parameters. // The authority is defined in the keeper. @@ -44,8 +46,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,7 +57,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the consensus Msg service. type MsgServer interface { // UpdateParams defines a governance operation for updating the x/consensus module parameters. // The authority is defined in the keeper. @@ -64,14 +69,18 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -81,6 +90,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/crisis/v1beta1/tx_grpc.pb.go b/api/cosmos/crisis/v1beta1/tx_grpc.pb.go index 069a41944d..15483e4bb7 100644 --- a/api/cosmos/crisis/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/crisis/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/crisis/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_VerifyInvariant_FullMethodName = "/cosmos.crisis.v1beta1.Msg/VerifyInvariant" @@ -26,6 +26,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the bank Msg service. type MsgClient interface { // VerifyInvariant defines a method to verify a particular invariant. VerifyInvariant(ctx context.Context, in *MsgVerifyInvariant, opts ...grpc.CallOption) (*MsgVerifyInvariantResponse, error) @@ -45,8 +47,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) VerifyInvariant(ctx context.Context, in *MsgVerifyInvariant, opts ...grpc.CallOption) (*MsgVerifyInvariantResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVerifyInvariantResponse) - err := c.cc.Invoke(ctx, Msg_VerifyInvariant_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_VerifyInvariant_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,8 +57,9 @@ func (c *msgClient) VerifyInvariant(ctx context.Context, in *MsgVerifyInvariant, } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -64,7 +68,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the bank Msg service. type MsgServer interface { // VerifyInvariant defines a method to verify a particular invariant. VerifyInvariant(context.Context, *MsgVerifyInvariant) (*MsgVerifyInvariantResponse, error) @@ -76,9 +82,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) VerifyInvariant(context.Context, *MsgVerifyInvariant) (*MsgVerifyInvariantResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifyInvariant not implemented") @@ -87,6 +96,7 @@ func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (* return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -96,6 +106,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/crypto/hd/v1/hd.pulsar.go b/api/cosmos/crypto/hd/v1/hd.pulsar.go index 2ddd2b875d..fdeef2e144 100644 --- a/api/cosmos/crypto/hd/v1/hd.pulsar.go +++ b/api/cosmos/crypto/hd/v1/hd.pulsar.go @@ -726,19 +726,19 @@ var file_cosmos_crypto_hd_v1_hd_proto_rawDesc = []byte{ 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x23, 0x98, 0xa0, 0x1f, 0x00, 0x8a, 0xe7, 0xb0, 0x2a, 0x1a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x68, 0x64, 0x2f, 0x42, 0x49, 0x50, 0x34, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, - 0xc0, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x68, 0x64, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x48, 0x64, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, - 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x68, 0x64, 0x2f, 0x76, 0x31, 0x3b, 0x68, 0x64, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x48, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x48, 0x64, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x48, 0x64, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x5c, 0x48, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x3a, 0x3a, 0x48, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0xc8, 0xe1, - 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0xc0, 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x68, 0x64, 0x2e, 0x76, 0x31, 0x42, + 0x07, 0x48, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x68, 0x64, 0x2f, 0x76, 0x31, + 0x3b, 0x68, 0x64, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x48, 0xaa, 0x02, 0x13, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x48, 0x64, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, + 0x6f, 0x5c, 0x48, 0x64, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x48, 0x64, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x3a, 0x3a, 0x48, 0x64, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/crypto/keyring/v1/record.pulsar.go b/api/cosmos/crypto/keyring/v1/record.pulsar.go index 8c04e58545..2be7a9adfd 100644 --- a/api/cosmos/crypto/keyring/v1/record.pulsar.go +++ b/api/cosmos/crypto/keyring/v1/record.pulsar.go @@ -2833,21 +2833,21 @@ var file_cosmos_crypto_keyring_v1_record_proto_rawDesc = []byte{ 0x42, 0x49, 0x50, 0x34, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x07, 0x0a, 0x05, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x1a, 0x09, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x42, 0xeb, 0x01, - 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0b, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x33, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x6b, 0x65, - 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x6b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x4b, 0xaa, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, - 0x24, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x4b, - 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x3a, 0x3a, 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0xc8, 0xe1, 0x1e, 0x00, 0x98, 0xe3, 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0xc8, 0xe1, 0x1e, 0x00, 0x98, 0xe3, 0x1e, 0x00, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x6b, 0x65, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x33, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x6b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, + 0x3b, 0x6b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x4b, + 0xaa, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, + 0x2e, 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x18, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x72, + 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x24, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x3a, 0x3a, + 0x4b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/crypto/secp256r1/keys.pulsar.go b/api/cosmos/crypto/secp256r1/keys.pulsar.go index 02f122b0a8..b57f4307fa 100644 --- a/api/cosmos/crypto/secp256r1/keys.pulsar.go +++ b/api/cosmos/crypto/secp256r1/keys.pulsar.go @@ -960,21 +960,21 @@ var file_cosmos_crypto_secp256r1_keys_proto_rawDesc = []byte{ 0x65, 0x63, 0x64, 0x73, 0x61, 0x50, 0x4b, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2e, 0x0a, 0x07, 0x50, 0x72, 0x69, 0x76, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x0b, 0xda, 0xde, 0x1f, 0x07, 0x65, 0x63, 0x64, - 0x73, 0x61, 0x53, 0x4b, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0xdc, 0x01, 0x0a, - 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x6f, 0x2e, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0x42, 0x09, 0x4b, 0x65, - 0x79, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, - 0x36, 0x72, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x53, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, - 0x36, 0x72, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x5c, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0xe2, 0x02, 0x23, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x53, 0x65, - 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x72, - 0x79, 0x70, 0x74, 0x6f, 0x3a, 0x3a, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0xc8, - 0xe1, 0x1e, 0x00, 0xd8, 0xe1, 0x1e, 0x00, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x73, 0x61, 0x53, 0x4b, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0xdc, 0x01, 0xc8, + 0xe1, 0x1e, 0x00, 0xd8, 0xe1, 0x1e, 0x00, 0xc8, 0xe3, 0x1e, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x73, + 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0x42, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2f, 0x73, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0xa2, + 0x02, 0x03, 0x43, 0x43, 0x53, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0xca, + 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, + 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5c, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, + 0x36, 0x72, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, + 0x3a, 0x3a, 0x53, 0x65, 0x63, 0x70, 0x32, 0x35, 0x36, 0x72, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/distribution/v1beta1/distribution.pulsar.go b/api/cosmos/distribution/v1beta1/distribution.pulsar.go index 9248ffdf2e..cac130aaf3 100644 --- a/api/cosmos/distribution/v1beta1/distribution.pulsar.go +++ b/api/cosmos/distribution/v1beta1/distribution.pulsar.go @@ -7222,17 +7222,17 @@ var file_cosmos_distribution_v1beta1_distribution_proto_rawDesc = []byte{ 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x61, 0x78, 0x12, 0x6a, 0x0a, 0x14, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0x18, 0x01, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, - 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x18, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x6c, 0x0a, 0x15, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0x18, 0x01, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x18, 0x01, 0x52, 0x13, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, @@ -7324,9 +7324,9 @@ var file_cosmos_distribution_v1beta1_distribution_proto_rawDesc = []byte{ 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x9a, 0xe7, 0xb0, 0x2a, 0x0c, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x3a, 0x28, 0x18, 0x01, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0xca, - 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xd4, 0x01, + 0x75, 0x6e, 0x74, 0x3a, 0x28, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0xca, 0xb4, 0x2d, + 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x22, 0xd4, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, @@ -7368,23 +7368,23 @@ var file_cosmos_distribution_v1beta1_distribution_proto_rawDesc = []byte{ 0x09, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x3a, 0x22, 0x88, 0xa0, 0x1f, 0x00, 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x88, - 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x42, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, - 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x02, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, + 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, + 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/distribution/v1beta1/genesis.pulsar.go b/api/cosmos/distribution/v1beta1/genesis.pulsar.go index 39c24aa18c..0bcc34615b 100644 --- a/api/cosmos/distribution/v1beta1/genesis.pulsar.go +++ b/api/cosmos/distribution/v1beta1/genesis.pulsar.go @@ -5994,24 +5994,24 @@ var file_cosmos_distribution_v1beta1_genesis_proto_rawDesc = []byte{ 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0x83, 0x02, 0x0a, - 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, - 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0x83, 0x02, 0xa8, + 0xe2, 0x1e, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/distribution/v1beta1/query_grpc.pb.go b/api/cosmos/distribution/v1beta1/query_grpc.pb.go index 2634afa08d..7b4d9569be 100644 --- a/api/cosmos/distribution/v1beta1/query_grpc.pb.go +++ b/api/cosmos/distribution/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/distribution/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Params_FullMethodName = "/cosmos.distribution.v1beta1.Query/Params" @@ -34,6 +34,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service for distribution module. type QueryClient interface { // Params queries params of the distribution module. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) @@ -67,8 +69,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -76,8 +79,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) ValidatorDistributionInfo(ctx context.Context, in *QueryValidatorDistributionInfoRequest, opts ...grpc.CallOption) (*QueryValidatorDistributionInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorDistributionInfoResponse) - err := c.cc.Invoke(ctx, Query_ValidatorDistributionInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorDistributionInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -85,8 +89,9 @@ func (c *queryClient) ValidatorDistributionInfo(ctx context.Context, in *QueryVa } func (c *queryClient) ValidatorOutstandingRewards(ctx context.Context, in *QueryValidatorOutstandingRewardsRequest, opts ...grpc.CallOption) (*QueryValidatorOutstandingRewardsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorOutstandingRewardsResponse) - err := c.cc.Invoke(ctx, Query_ValidatorOutstandingRewards_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorOutstandingRewards_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -94,8 +99,9 @@ func (c *queryClient) ValidatorOutstandingRewards(ctx context.Context, in *Query } func (c *queryClient) ValidatorCommission(ctx context.Context, in *QueryValidatorCommissionRequest, opts ...grpc.CallOption) (*QueryValidatorCommissionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorCommissionResponse) - err := c.cc.Invoke(ctx, Query_ValidatorCommission_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorCommission_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +109,9 @@ func (c *queryClient) ValidatorCommission(ctx context.Context, in *QueryValidato } func (c *queryClient) ValidatorSlashes(ctx context.Context, in *QueryValidatorSlashesRequest, opts ...grpc.CallOption) (*QueryValidatorSlashesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorSlashesResponse) - err := c.cc.Invoke(ctx, Query_ValidatorSlashes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorSlashes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -112,8 +119,9 @@ func (c *queryClient) ValidatorSlashes(ctx context.Context, in *QueryValidatorSl } func (c *queryClient) DelegationRewards(ctx context.Context, in *QueryDelegationRewardsRequest, opts ...grpc.CallOption) (*QueryDelegationRewardsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegationRewardsResponse) - err := c.cc.Invoke(ctx, Query_DelegationRewards_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegationRewards_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -121,8 +129,9 @@ func (c *queryClient) DelegationRewards(ctx context.Context, in *QueryDelegation } func (c *queryClient) DelegationTotalRewards(ctx context.Context, in *QueryDelegationTotalRewardsRequest, opts ...grpc.CallOption) (*QueryDelegationTotalRewardsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegationTotalRewardsResponse) - err := c.cc.Invoke(ctx, Query_DelegationTotalRewards_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegationTotalRewards_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -130,8 +139,9 @@ func (c *queryClient) DelegationTotalRewards(ctx context.Context, in *QueryDeleg } func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorValidatorsResponse) - err := c.cc.Invoke(ctx, Query_DelegatorValidators_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorValidators_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -139,8 +149,9 @@ func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegato } func (c *queryClient) DelegatorWithdrawAddress(ctx context.Context, in *QueryDelegatorWithdrawAddressRequest, opts ...grpc.CallOption) (*QueryDelegatorWithdrawAddressResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorWithdrawAddressResponse) - err := c.cc.Invoke(ctx, Query_DelegatorWithdrawAddress_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorWithdrawAddress_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -148,8 +159,9 @@ func (c *queryClient) DelegatorWithdrawAddress(ctx context.Context, in *QueryDel } func (c *queryClient) CommunityPool(ctx context.Context, in *QueryCommunityPoolRequest, opts ...grpc.CallOption) (*QueryCommunityPoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryCommunityPoolResponse) - err := c.cc.Invoke(ctx, Query_CommunityPool_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_CommunityPool_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,7 +170,9 @@ func (c *queryClient) CommunityPool(ctx context.Context, in *QueryCommunityPoolR // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service for distribution module. type QueryServer interface { // Params queries params of the distribution module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) @@ -184,9 +198,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") @@ -219,6 +236,7 @@ func (UnimplementedQueryServer) CommunityPool(context.Context, *QueryCommunityPo return nil, status.Errorf(codes.Unimplemented, "method CommunityPool not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -228,6 +246,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/distribution/v1beta1/tx.pulsar.go b/api/cosmos/distribution/v1beta1/tx.pulsar.go index a6a38d365a..f22406a986 100644 --- a/api/cosmos/distribution/v1beta1/tx.pulsar.go +++ b/api/cosmos/distribution/v1beta1/tx.pulsar.go @@ -7267,22 +7267,22 @@ var file_cosmos_distribution_v1beta1_tx_proto_rawDesc = []byte{ 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xfe, - 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, + 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/distribution/v1beta1/tx_grpc.pb.go b/api/cosmos/distribution/v1beta1/tx_grpc.pb.go index a11aa3e53d..b531c57a0c 100644 --- a/api/cosmos/distribution/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/distribution/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/distribution/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_SetWithdrawAddress_FullMethodName = "/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress" @@ -31,6 +31,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the distribution Msg service. type MsgClient interface { // SetWithdrawAddress defines a method to change the withdraw address // for a delegator (or validator self-delegation). @@ -72,8 +74,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) SetWithdrawAddress(ctx context.Context, in *MsgSetWithdrawAddress, opts ...grpc.CallOption) (*MsgSetWithdrawAddressResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSetWithdrawAddressResponse) - err := c.cc.Invoke(ctx, Msg_SetWithdrawAddress_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SetWithdrawAddress_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,8 +84,9 @@ func (c *msgClient) SetWithdrawAddress(ctx context.Context, in *MsgSetWithdrawAd } func (c *msgClient) WithdrawDelegatorReward(ctx context.Context, in *MsgWithdrawDelegatorReward, opts ...grpc.CallOption) (*MsgWithdrawDelegatorRewardResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgWithdrawDelegatorRewardResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawDelegatorReward_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_WithdrawDelegatorReward_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -90,8 +94,9 @@ func (c *msgClient) WithdrawDelegatorReward(ctx context.Context, in *MsgWithdraw } func (c *msgClient) WithdrawValidatorCommission(ctx context.Context, in *MsgWithdrawValidatorCommission, opts ...grpc.CallOption) (*MsgWithdrawValidatorCommissionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgWithdrawValidatorCommissionResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawValidatorCommission_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_WithdrawValidatorCommission_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -99,8 +104,9 @@ func (c *msgClient) WithdrawValidatorCommission(ctx context.Context, in *MsgWith } func (c *msgClient) FundCommunityPool(ctx context.Context, in *MsgFundCommunityPool, opts ...grpc.CallOption) (*MsgFundCommunityPoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgFundCommunityPoolResponse) - err := c.cc.Invoke(ctx, Msg_FundCommunityPool_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_FundCommunityPool_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,8 +114,9 @@ func (c *msgClient) FundCommunityPool(ctx context.Context, in *MsgFundCommunityP } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -117,8 +124,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts } func (c *msgClient) CommunityPoolSpend(ctx context.Context, in *MsgCommunityPoolSpend, opts ...grpc.CallOption) (*MsgCommunityPoolSpendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCommunityPoolSpendResponse) - err := c.cc.Invoke(ctx, Msg_CommunityPoolSpend_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CommunityPoolSpend_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -126,8 +134,9 @@ func (c *msgClient) CommunityPoolSpend(ctx context.Context, in *MsgCommunityPool } func (c *msgClient) DepositValidatorRewardsPool(ctx context.Context, in *MsgDepositValidatorRewardsPool, opts ...grpc.CallOption) (*MsgDepositValidatorRewardsPoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDepositValidatorRewardsPoolResponse) - err := c.cc.Invoke(ctx, Msg_DepositValidatorRewardsPool_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_DepositValidatorRewardsPool_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -136,7 +145,9 @@ func (c *msgClient) DepositValidatorRewardsPool(ctx context.Context, in *MsgDepo // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the distribution Msg service. type MsgServer interface { // SetWithdrawAddress defines a method to change the withdraw address // for a delegator (or validator self-delegation). @@ -170,9 +181,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) SetWithdrawAddress(context.Context, *MsgSetWithdrawAddress) (*MsgSetWithdrawAddressResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetWithdrawAddress not implemented") @@ -196,6 +210,7 @@ func (UnimplementedMsgServer) DepositValidatorRewardsPool(context.Context, *MsgD return nil, status.Errorf(codes.Unimplemented, "method DepositValidatorRewardsPool not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -205,6 +220,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/evidence/v1beta1/evidence.pulsar.go b/api/cosmos/evidence/v1beta1/evidence.pulsar.go index 4f526190ba..cd5519367d 100644 --- a/api/cosmos/evidence/v1beta1/evidence.pulsar.go +++ b/api/cosmos/evidence/v1beta1/evidence.pulsar.go @@ -717,21 +717,21 @@ var file_cosmos_evidence_v1beta1_evidence_proto_rawDesc = []byte{ 0x6e, 0x73, 0x75, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x24, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x8a, 0xe7, 0xb0, 0x2a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x45, 0x71, 0x75, 0x69, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0xe8, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x0d, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x65, 0x76, 0x69, - 0x64, 0x65, 0x6e, 0x63, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, - 0x45, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x45, 0x76, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, - 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6e, 0x42, 0xe8, 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x3b, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x45, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, + 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/evidence/v1beta1/query_grpc.pb.go b/api/cosmos/evidence/v1beta1/query_grpc.pb.go index 1cdc532263..2fa484ef59 100644 --- a/api/cosmos/evidence/v1beta1/query_grpc.pb.go +++ b/api/cosmos/evidence/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/evidence/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Evidence_FullMethodName = "/cosmos.evidence.v1beta1.Query/Evidence" @@ -26,6 +26,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Evidence queries evidence based on evidence hash. Evidence(ctx context.Context, in *QueryEvidenceRequest, opts ...grpc.CallOption) (*QueryEvidenceResponse, error) @@ -42,8 +44,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Evidence(ctx context.Context, in *QueryEvidenceRequest, opts ...grpc.CallOption) (*QueryEvidenceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryEvidenceResponse) - err := c.cc.Invoke(ctx, Query_Evidence_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Evidence_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,8 +54,9 @@ func (c *queryClient) Evidence(ctx context.Context, in *QueryEvidenceRequest, op } func (c *queryClient) AllEvidence(ctx context.Context, in *QueryAllEvidenceRequest, opts ...grpc.CallOption) (*QueryAllEvidenceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllEvidenceResponse) - err := c.cc.Invoke(ctx, Query_AllEvidence_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllEvidence_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -61,7 +65,9 @@ func (c *queryClient) AllEvidence(ctx context.Context, in *QueryAllEvidenceReque // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Evidence queries evidence based on evidence hash. Evidence(context.Context, *QueryEvidenceRequest) (*QueryEvidenceResponse, error) @@ -70,9 +76,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Evidence(context.Context, *QueryEvidenceRequest) (*QueryEvidenceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Evidence not implemented") @@ -81,6 +90,7 @@ func (UnimplementedQueryServer) AllEvidence(context.Context, *QueryAllEvidenceRe return nil, status.Errorf(codes.Unimplemented, "method AllEvidence not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -90,6 +100,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/evidence/v1beta1/tx.pulsar.go b/api/cosmos/evidence/v1beta1/tx.pulsar.go index b015b57726..e86b10e99f 100644 --- a/api/cosmos/evidence/v1beta1/tx.pulsar.go +++ b/api/cosmos/evidence/v1beta1/tx.pulsar.go @@ -1074,21 +1074,21 @@ var file_cosmos_evidence_v1beta1_tx_proto_rawDesc = []byte{ 0x73, 0x2e, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 0x42, 0xe2, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x45, 0x58, 0xaa, 0x02, - 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0xb0, 0x2a, 0x01, 0x42, 0xe2, 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x65, 0x76, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x65, 0x76, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, + 0x45, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x45, 0x76, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x45, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/evidence/v1beta1/tx_grpc.pb.go b/api/cosmos/evidence/v1beta1/tx_grpc.pb.go index c933521070..e26d58ffb1 100644 --- a/api/cosmos/evidence/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/evidence/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/evidence/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_SubmitEvidence_FullMethodName = "/cosmos.evidence.v1beta1.Msg/SubmitEvidence" @@ -25,6 +25,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the evidence Msg service. type MsgClient interface { // SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or // counterfactual signing. @@ -40,8 +42,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) SubmitEvidence(ctx context.Context, in *MsgSubmitEvidence, opts ...grpc.CallOption) (*MsgSubmitEvidenceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSubmitEvidenceResponse) - err := c.cc.Invoke(ctx, Msg_SubmitEvidence_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SubmitEvidence_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -50,7 +53,9 @@ func (c *msgClient) SubmitEvidence(ctx context.Context, in *MsgSubmitEvidence, o // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the evidence Msg service. type MsgServer interface { // SubmitEvidence submits an arbitrary Evidence of misbehavior such as equivocation or // counterfactual signing. @@ -58,14 +63,18 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) SubmitEvidence(context.Context, *MsgSubmitEvidence) (*MsgSubmitEvidenceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SubmitEvidence not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -75,6 +84,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/feegrant/v1beta1/query_grpc.pb.go b/api/cosmos/feegrant/v1beta1/query_grpc.pb.go index 52eb181462..e95e3fd634 100644 --- a/api/cosmos/feegrant/v1beta1/query_grpc.pb.go +++ b/api/cosmos/feegrant/v1beta1/query_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/feegrant/v1beta1/query.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Allowance_FullMethodName = "/cosmos.feegrant.v1beta1.Query/Allowance" @@ -29,6 +29,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Allowance returns granted allwance to the grantee by the granter. Allowance(ctx context.Context, in *QueryAllowanceRequest, opts ...grpc.CallOption) (*QueryAllowanceResponse, error) @@ -49,8 +51,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Allowance(ctx context.Context, in *QueryAllowanceRequest, opts ...grpc.CallOption) (*QueryAllowanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowanceResponse) - err := c.cc.Invoke(ctx, Query_Allowance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Allowance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -58,8 +61,9 @@ func (c *queryClient) Allowance(ctx context.Context, in *QueryAllowanceRequest, } func (c *queryClient) Allowances(ctx context.Context, in *QueryAllowancesRequest, opts ...grpc.CallOption) (*QueryAllowancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowancesResponse) - err := c.cc.Invoke(ctx, Query_Allowances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Allowances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -67,8 +71,9 @@ func (c *queryClient) Allowances(ctx context.Context, in *QueryAllowancesRequest } func (c *queryClient) AllowancesByGranter(ctx context.Context, in *QueryAllowancesByGranterRequest, opts ...grpc.CallOption) (*QueryAllowancesByGranterResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowancesByGranterResponse) - err := c.cc.Invoke(ctx, Query_AllowancesByGranter_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllowancesByGranter_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -77,7 +82,9 @@ func (c *queryClient) AllowancesByGranter(ctx context.Context, in *QueryAllowanc // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Allowance returns granted allwance to the grantee by the granter. Allowance(context.Context, *QueryAllowanceRequest) (*QueryAllowanceResponse, error) @@ -90,9 +97,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Allowance(context.Context, *QueryAllowanceRequest) (*QueryAllowanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Allowance not implemented") @@ -104,6 +114,7 @@ func (UnimplementedQueryServer) AllowancesByGranter(context.Context, *QueryAllow return nil, status.Errorf(codes.Unimplemented, "method AllowancesByGranter not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -113,6 +124,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/feegrant/v1beta1/tx_grpc.pb.go b/api/cosmos/feegrant/v1beta1/tx_grpc.pb.go index 76637c5e07..d6e4b093b0 100644 --- a/api/cosmos/feegrant/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/feegrant/v1beta1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/feegrant/v1beta1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_GrantAllowance_FullMethodName = "/cosmos.feegrant.v1beta1.Msg/GrantAllowance" @@ -29,6 +29,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the feegrant msg service. type MsgClient interface { // GrantAllowance grants fee allowance to the grantee on the granter's // account with the provided expiration time. @@ -51,8 +53,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) GrantAllowance(ctx context.Context, in *MsgGrantAllowance, opts ...grpc.CallOption) (*MsgGrantAllowanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgGrantAllowanceResponse) - err := c.cc.Invoke(ctx, Msg_GrantAllowance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_GrantAllowance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -60,8 +63,9 @@ func (c *msgClient) GrantAllowance(ctx context.Context, in *MsgGrantAllowance, o } func (c *msgClient) RevokeAllowance(ctx context.Context, in *MsgRevokeAllowance, opts ...grpc.CallOption) (*MsgRevokeAllowanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRevokeAllowanceResponse) - err := c.cc.Invoke(ctx, Msg_RevokeAllowance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RevokeAllowance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -69,8 +73,9 @@ func (c *msgClient) RevokeAllowance(ctx context.Context, in *MsgRevokeAllowance, } func (c *msgClient) PruneAllowances(ctx context.Context, in *MsgPruneAllowances, opts ...grpc.CallOption) (*MsgPruneAllowancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgPruneAllowancesResponse) - err := c.cc.Invoke(ctx, Msg_PruneAllowances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_PruneAllowances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -79,7 +84,9 @@ func (c *msgClient) PruneAllowances(ctx context.Context, in *MsgPruneAllowances, // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the feegrant msg service. type MsgServer interface { // GrantAllowance grants fee allowance to the grantee on the granter's // account with the provided expiration time. @@ -94,9 +101,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) GrantAllowance(context.Context, *MsgGrantAllowance) (*MsgGrantAllowanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GrantAllowance not implemented") @@ -108,6 +118,7 @@ func (UnimplementedMsgServer) PruneAllowances(context.Context, *MsgPruneAllowanc return nil, status.Errorf(codes.Unimplemented, "method PruneAllowances not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -117,6 +128,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/gov/v1/query_grpc.pb.go b/api/cosmos/gov/v1/query_grpc.pb.go index 9ca690fcf0..678fb04378 100644 --- a/api/cosmos/gov/v1/query_grpc.pb.go +++ b/api/cosmos/gov/v1/query_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/gov/v1/query.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Constitution_FullMethodName = "/cosmos.gov.v1.Query/Constitution" @@ -35,6 +35,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service for gov module type QueryClient interface { // Constitution queries the chain's constitution. Constitution(ctx context.Context, in *QueryConstitutionRequest, opts ...grpc.CallOption) (*QueryConstitutionResponse, error) @@ -65,8 +67,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Constitution(ctx context.Context, in *QueryConstitutionRequest, opts ...grpc.CallOption) (*QueryConstitutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryConstitutionResponse) - err := c.cc.Invoke(ctx, Query_Constitution_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Constitution_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -74,8 +77,9 @@ func (c *queryClient) Constitution(ctx context.Context, in *QueryConstitutionReq } func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, opts ...grpc.CallOption) (*QueryProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalResponse) - err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -83,8 +87,9 @@ func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, op } func (c *queryClient) Proposals(ctx context.Context, in *QueryProposalsRequest, opts ...grpc.CallOption) (*QueryProposalsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalsResponse) - err := c.cc.Invoke(ctx, Query_Proposals_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Proposals_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -92,8 +97,9 @@ func (c *queryClient) Proposals(ctx context.Context, in *QueryProposalsRequest, } func (c *queryClient) Vote(ctx context.Context, in *QueryVoteRequest, opts ...grpc.CallOption) (*QueryVoteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVoteResponse) - err := c.cc.Invoke(ctx, Query_Vote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Vote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -101,8 +107,9 @@ func (c *queryClient) Vote(ctx context.Context, in *QueryVoteRequest, opts ...gr } func (c *queryClient) Votes(ctx context.Context, in *QueryVotesRequest, opts ...grpc.CallOption) (*QueryVotesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVotesResponse) - err := c.cc.Invoke(ctx, Query_Votes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Votes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -110,8 +117,9 @@ func (c *queryClient) Votes(ctx context.Context, in *QueryVotesRequest, opts ... } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -119,8 +127,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) Deposit(ctx context.Context, in *QueryDepositRequest, opts ...grpc.CallOption) (*QueryDepositResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDepositResponse) - err := c.cc.Invoke(ctx, Query_Deposit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Deposit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -128,8 +137,9 @@ func (c *queryClient) Deposit(ctx context.Context, in *QueryDepositRequest, opts } func (c *queryClient) Deposits(ctx context.Context, in *QueryDepositsRequest, opts ...grpc.CallOption) (*QueryDepositsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDepositsResponse) - err := c.cc.Invoke(ctx, Query_Deposits_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Deposits_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -137,8 +147,9 @@ func (c *queryClient) Deposits(ctx context.Context, in *QueryDepositsRequest, op } func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultRequest, opts ...grpc.CallOption) (*QueryTallyResultResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryTallyResultResponse) - err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -147,7 +158,9 @@ func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultReque // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service for gov module type QueryServer interface { // Constitution queries the chain's constitution. Constitution(context.Context, *QueryConstitutionRequest) (*QueryConstitutionResponse, error) @@ -170,9 +183,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Constitution(context.Context, *QueryConstitutionRequest) (*QueryConstitutionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Constitution not implemented") @@ -202,6 +218,7 @@ func (UnimplementedQueryServer) TallyResult(context.Context, *QueryTallyResultRe return nil, status.Errorf(codes.Unimplemented, "method TallyResult not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -211,6 +228,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/gov/v1/tx_grpc.pb.go b/api/cosmos/gov/v1/tx_grpc.pb.go index 4f77b03d61..49e2388df6 100644 --- a/api/cosmos/gov/v1/tx_grpc.pb.go +++ b/api/cosmos/gov/v1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/gov/v1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_SubmitProposal_FullMethodName = "/cosmos.gov.v1.Msg/SubmitProposal" @@ -33,6 +33,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the gov Msg service. type MsgClient interface { // SubmitProposal defines a method to create new proposal given the messages. SubmitProposal(ctx context.Context, in *MsgSubmitProposal, opts ...grpc.CallOption) (*MsgSubmitProposalResponse, error) @@ -65,8 +67,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, opts ...grpc.CallOption) (*MsgSubmitProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSubmitProposalResponse) - err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -74,8 +77,9 @@ func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, o } func (c *msgClient) ExecLegacyContent(ctx context.Context, in *MsgExecLegacyContent, opts ...grpc.CallOption) (*MsgExecLegacyContentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgExecLegacyContentResponse) - err := c.cc.Invoke(ctx, Msg_ExecLegacyContent_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_ExecLegacyContent_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -83,8 +87,9 @@ func (c *msgClient) ExecLegacyContent(ctx context.Context, in *MsgExecLegacyCont } func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOption) (*MsgVoteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVoteResponse) - err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -92,8 +97,9 @@ func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOpti } func (c *msgClient) VoteWeighted(ctx context.Context, in *MsgVoteWeighted, opts ...grpc.CallOption) (*MsgVoteWeightedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVoteWeightedResponse) - err := c.cc.Invoke(ctx, Msg_VoteWeighted_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_VoteWeighted_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -101,8 +107,9 @@ func (c *msgClient) VoteWeighted(ctx context.Context, in *MsgVoteWeighted, opts } func (c *msgClient) Deposit(ctx context.Context, in *MsgDeposit, opts ...grpc.CallOption) (*MsgDepositResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDepositResponse) - err := c.cc.Invoke(ctx, Msg_Deposit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Deposit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -110,8 +117,9 @@ func (c *msgClient) Deposit(ctx context.Context, in *MsgDeposit, opts ...grpc.Ca } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -119,8 +127,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts } func (c *msgClient) CancelProposal(ctx context.Context, in *MsgCancelProposal, opts ...grpc.CallOption) (*MsgCancelProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelProposalResponse) - err := c.cc.Invoke(ctx, Msg_CancelProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CancelProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -129,7 +138,9 @@ func (c *msgClient) CancelProposal(ctx context.Context, in *MsgCancelProposal, o // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the gov Msg service. type MsgServer interface { // SubmitProposal defines a method to create new proposal given the messages. SubmitProposal(context.Context, *MsgSubmitProposal) (*MsgSubmitProposalResponse, error) @@ -154,9 +165,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) SubmitProposal(context.Context, *MsgSubmitProposal) (*MsgSubmitProposalResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SubmitProposal not implemented") @@ -180,6 +194,7 @@ func (UnimplementedMsgServer) CancelProposal(context.Context, *MsgCancelProposal return nil, status.Errorf(codes.Unimplemented, "method CancelProposal not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -189,6 +204,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/gov/v1beta1/gov.pulsar.go b/api/cosmos/gov/v1beta1/gov.pulsar.go index c4bec7b440..1a67e70a32 100644 --- a/api/cosmos/gov/v1beta1/gov.pulsar.go +++ b/api/cosmos/gov/v1beta1/gov.pulsar.go @@ -6362,19 +6362,19 @@ var file_cosmos_gov_v1beta1_gov_proto_rawDesc = []byte{ 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x1a, 0x10, 0x8a, 0x9d, 0x20, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xc0, 0x01, 0x0a, 0x16, - 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x47, 0x6f, 0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x6f, 0x76, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x12, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xe2, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x6f, - 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xc8, 0xe1, 0x1e, 0x00, 0x62, 0x06, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xc0, 0x01, 0xc8, 0xe1, + 0x1e, 0x00, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, + 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x47, 0x6f, 0x76, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x6f, 0x76, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x12, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/gov/v1beta1/query_grpc.pb.go b/api/cosmos/gov/v1beta1/query_grpc.pb.go index 7d6753ce06..a9536beda7 100644 --- a/api/cosmos/gov/v1beta1/query_grpc.pb.go +++ b/api/cosmos/gov/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/gov/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Proposal_FullMethodName = "/cosmos.gov.v1beta1.Query/Proposal" @@ -32,6 +32,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service for gov module type QueryClient interface { // Proposal queries proposal details based on ProposalID. Proposal(ctx context.Context, in *QueryProposalRequest, opts ...grpc.CallOption) (*QueryProposalResponse, error) @@ -60,8 +62,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, opts ...grpc.CallOption) (*QueryProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalResponse) - err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -69,8 +72,9 @@ func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, op } func (c *queryClient) Proposals(ctx context.Context, in *QueryProposalsRequest, opts ...grpc.CallOption) (*QueryProposalsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalsResponse) - err := c.cc.Invoke(ctx, Query_Proposals_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Proposals_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -78,8 +82,9 @@ func (c *queryClient) Proposals(ctx context.Context, in *QueryProposalsRequest, } func (c *queryClient) Vote(ctx context.Context, in *QueryVoteRequest, opts ...grpc.CallOption) (*QueryVoteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVoteResponse) - err := c.cc.Invoke(ctx, Query_Vote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Vote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -87,8 +92,9 @@ func (c *queryClient) Vote(ctx context.Context, in *QueryVoteRequest, opts ...gr } func (c *queryClient) Votes(ctx context.Context, in *QueryVotesRequest, opts ...grpc.CallOption) (*QueryVotesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVotesResponse) - err := c.cc.Invoke(ctx, Query_Votes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Votes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -96,8 +102,9 @@ func (c *queryClient) Votes(ctx context.Context, in *QueryVotesRequest, opts ... } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -105,8 +112,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) Deposit(ctx context.Context, in *QueryDepositRequest, opts ...grpc.CallOption) (*QueryDepositResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDepositResponse) - err := c.cc.Invoke(ctx, Query_Deposit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Deposit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -114,8 +122,9 @@ func (c *queryClient) Deposit(ctx context.Context, in *QueryDepositRequest, opts } func (c *queryClient) Deposits(ctx context.Context, in *QueryDepositsRequest, opts ...grpc.CallOption) (*QueryDepositsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDepositsResponse) - err := c.cc.Invoke(ctx, Query_Deposits_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Deposits_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -123,8 +132,9 @@ func (c *queryClient) Deposits(ctx context.Context, in *QueryDepositsRequest, op } func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultRequest, opts ...grpc.CallOption) (*QueryTallyResultResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryTallyResultResponse) - err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -133,7 +143,9 @@ func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultReque // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service for gov module type QueryServer interface { // Proposal queries proposal details based on ProposalID. Proposal(context.Context, *QueryProposalRequest) (*QueryProposalResponse, error) @@ -154,9 +166,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Proposal(context.Context, *QueryProposalRequest) (*QueryProposalResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Proposal not implemented") @@ -183,6 +198,7 @@ func (UnimplementedQueryServer) TallyResult(context.Context, *QueryTallyResultRe return nil, status.Errorf(codes.Unimplemented, "method TallyResult not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -192,6 +208,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/gov/v1beta1/tx_grpc.pb.go b/api/cosmos/gov/v1beta1/tx_grpc.pb.go index 6d389258ca..55e1d137b0 100644 --- a/api/cosmos/gov/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/gov/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/gov/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_SubmitProposal_FullMethodName = "/cosmos.gov.v1beta1.Msg/SubmitProposal" @@ -28,6 +28,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the gov Msg service. type MsgClient interface { // SubmitProposal defines a method to create new proposal given a content. SubmitProposal(ctx context.Context, in *MsgSubmitProposal, opts ...grpc.CallOption) (*MsgSubmitProposalResponse, error) @@ -50,8 +52,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, opts ...grpc.CallOption) (*MsgSubmitProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSubmitProposalResponse) - err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -59,8 +62,9 @@ func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, o } func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOption) (*MsgVoteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVoteResponse) - err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -68,8 +72,9 @@ func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOpti } func (c *msgClient) VoteWeighted(ctx context.Context, in *MsgVoteWeighted, opts ...grpc.CallOption) (*MsgVoteWeightedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVoteWeightedResponse) - err := c.cc.Invoke(ctx, Msg_VoteWeighted_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_VoteWeighted_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -77,8 +82,9 @@ func (c *msgClient) VoteWeighted(ctx context.Context, in *MsgVoteWeighted, opts } func (c *msgClient) Deposit(ctx context.Context, in *MsgDeposit, opts ...grpc.CallOption) (*MsgDepositResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDepositResponse) - err := c.cc.Invoke(ctx, Msg_Deposit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Deposit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -87,7 +93,9 @@ func (c *msgClient) Deposit(ctx context.Context, in *MsgDeposit, opts ...grpc.Ca // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the gov Msg service. type MsgServer interface { // SubmitProposal defines a method to create new proposal given a content. SubmitProposal(context.Context, *MsgSubmitProposal) (*MsgSubmitProposalResponse, error) @@ -102,9 +110,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) SubmitProposal(context.Context, *MsgSubmitProposal) (*MsgSubmitProposalResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SubmitProposal not implemented") @@ -119,6 +130,7 @@ func (UnimplementedMsgServer) Deposit(context.Context, *MsgDeposit) (*MsgDeposit return nil, status.Errorf(codes.Unimplemented, "method Deposit not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -128,6 +140,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/group/v1/query_grpc.pb.go b/api/cosmos/group/v1/query_grpc.pb.go index fe6a3540d7..ebd6554217 100644 --- a/api/cosmos/group/v1/query_grpc.pb.go +++ b/api/cosmos/group/v1/query_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/group/v1/query.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_GroupInfo_FullMethodName = "/cosmos.group.v1.Query/GroupInfo" @@ -40,6 +40,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query is the cosmos.group.v1 Query service. type QueryClient interface { // GroupInfo queries group info based on group id. GroupInfo(ctx context.Context, in *QueryGroupInfoRequest, opts ...grpc.CallOption) (*QueryGroupInfoResponse, error) @@ -86,8 +88,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) GroupInfo(ctx context.Context, in *QueryGroupInfoRequest, opts ...grpc.CallOption) (*QueryGroupInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupInfoResponse) - err := c.cc.Invoke(ctx, Query_GroupInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -95,8 +98,9 @@ func (c *queryClient) GroupInfo(ctx context.Context, in *QueryGroupInfoRequest, } func (c *queryClient) GroupPolicyInfo(ctx context.Context, in *QueryGroupPolicyInfoRequest, opts ...grpc.CallOption) (*QueryGroupPolicyInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupPolicyInfoResponse) - err := c.cc.Invoke(ctx, Query_GroupPolicyInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupPolicyInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -104,8 +108,9 @@ func (c *queryClient) GroupPolicyInfo(ctx context.Context, in *QueryGroupPolicyI } func (c *queryClient) GroupMembers(ctx context.Context, in *QueryGroupMembersRequest, opts ...grpc.CallOption) (*QueryGroupMembersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupMembersResponse) - err := c.cc.Invoke(ctx, Query_GroupMembers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupMembers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -113,8 +118,9 @@ func (c *queryClient) GroupMembers(ctx context.Context, in *QueryGroupMembersReq } func (c *queryClient) GroupsByAdmin(ctx context.Context, in *QueryGroupsByAdminRequest, opts ...grpc.CallOption) (*QueryGroupsByAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupsByAdminResponse) - err := c.cc.Invoke(ctx, Query_GroupsByAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupsByAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -122,8 +128,9 @@ func (c *queryClient) GroupsByAdmin(ctx context.Context, in *QueryGroupsByAdminR } func (c *queryClient) GroupPoliciesByGroup(ctx context.Context, in *QueryGroupPoliciesByGroupRequest, opts ...grpc.CallOption) (*QueryGroupPoliciesByGroupResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupPoliciesByGroupResponse) - err := c.cc.Invoke(ctx, Query_GroupPoliciesByGroup_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupPoliciesByGroup_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -131,8 +138,9 @@ func (c *queryClient) GroupPoliciesByGroup(ctx context.Context, in *QueryGroupPo } func (c *queryClient) GroupPoliciesByAdmin(ctx context.Context, in *QueryGroupPoliciesByAdminRequest, opts ...grpc.CallOption) (*QueryGroupPoliciesByAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupPoliciesByAdminResponse) - err := c.cc.Invoke(ctx, Query_GroupPoliciesByAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupPoliciesByAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -140,8 +148,9 @@ func (c *queryClient) GroupPoliciesByAdmin(ctx context.Context, in *QueryGroupPo } func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, opts ...grpc.CallOption) (*QueryProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalResponse) - err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Proposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -149,8 +158,9 @@ func (c *queryClient) Proposal(ctx context.Context, in *QueryProposalRequest, op } func (c *queryClient) ProposalsByGroupPolicy(ctx context.Context, in *QueryProposalsByGroupPolicyRequest, opts ...grpc.CallOption) (*QueryProposalsByGroupPolicyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProposalsByGroupPolicyResponse) - err := c.cc.Invoke(ctx, Query_ProposalsByGroupPolicy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProposalsByGroupPolicy_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,8 +168,9 @@ func (c *queryClient) ProposalsByGroupPolicy(ctx context.Context, in *QueryPropo } func (c *queryClient) VoteByProposalVoter(ctx context.Context, in *QueryVoteByProposalVoterRequest, opts ...grpc.CallOption) (*QueryVoteByProposalVoterResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVoteByProposalVoterResponse) - err := c.cc.Invoke(ctx, Query_VoteByProposalVoter_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_VoteByProposalVoter_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -167,8 +178,9 @@ func (c *queryClient) VoteByProposalVoter(ctx context.Context, in *QueryVoteByPr } func (c *queryClient) VotesByProposal(ctx context.Context, in *QueryVotesByProposalRequest, opts ...grpc.CallOption) (*QueryVotesByProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVotesByProposalResponse) - err := c.cc.Invoke(ctx, Query_VotesByProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_VotesByProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -176,8 +188,9 @@ func (c *queryClient) VotesByProposal(ctx context.Context, in *QueryVotesByPropo } func (c *queryClient) VotesByVoter(ctx context.Context, in *QueryVotesByVoterRequest, opts ...grpc.CallOption) (*QueryVotesByVoterResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryVotesByVoterResponse) - err := c.cc.Invoke(ctx, Query_VotesByVoter_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_VotesByVoter_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -185,8 +198,9 @@ func (c *queryClient) VotesByVoter(ctx context.Context, in *QueryVotesByVoterReq } func (c *queryClient) GroupsByMember(ctx context.Context, in *QueryGroupsByMemberRequest, opts ...grpc.CallOption) (*QueryGroupsByMemberResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupsByMemberResponse) - err := c.cc.Invoke(ctx, Query_GroupsByMember_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_GroupsByMember_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -194,8 +208,9 @@ func (c *queryClient) GroupsByMember(ctx context.Context, in *QueryGroupsByMembe } func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultRequest, opts ...grpc.CallOption) (*QueryTallyResultResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryTallyResultResponse) - err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_TallyResult_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -203,8 +218,9 @@ func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultReque } func (c *queryClient) Groups(ctx context.Context, in *QueryGroupsRequest, opts ...grpc.CallOption) (*QueryGroupsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryGroupsResponse) - err := c.cc.Invoke(ctx, Query_Groups_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Groups_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -213,7 +229,9 @@ func (c *queryClient) Groups(ctx context.Context, in *QueryGroupsRequest, opts . // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query is the cosmos.group.v1 Query service. type QueryServer interface { // GroupInfo queries group info based on group id. GroupInfo(context.Context, *QueryGroupInfoRequest) (*QueryGroupInfoResponse, error) @@ -252,9 +270,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) GroupInfo(context.Context, *QueryGroupInfoRequest) (*QueryGroupInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GroupInfo not implemented") @@ -299,6 +320,7 @@ func (UnimplementedQueryServer) Groups(context.Context, *QueryGroupsRequest) (*Q return nil, status.Errorf(codes.Unimplemented, "method Groups not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -308,6 +330,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/group/v1/tx_grpc.pb.go b/api/cosmos/group/v1/tx_grpc.pb.go index 08904c762b..e0c6a2dc1f 100644 --- a/api/cosmos/group/v1/tx_grpc.pb.go +++ b/api/cosmos/group/v1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/group/v1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateGroup_FullMethodName = "/cosmos.group.v1.Msg/CreateGroup" @@ -40,6 +40,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the cosmos.group.v1 Msg service. type MsgClient interface { // CreateGroup creates a new group with an admin account address, a list of members and some optional metadata. CreateGroup(ctx context.Context, in *MsgCreateGroup, opts ...grpc.CallOption) (*MsgCreateGroupResponse, error) @@ -80,8 +82,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateGroup(ctx context.Context, in *MsgCreateGroup, opts ...grpc.CallOption) (*MsgCreateGroupResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateGroupResponse) - err := c.cc.Invoke(ctx, Msg_CreateGroup_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateGroup_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -89,8 +92,9 @@ func (c *msgClient) CreateGroup(ctx context.Context, in *MsgCreateGroup, opts .. } func (c *msgClient) UpdateGroupMembers(ctx context.Context, in *MsgUpdateGroupMembers, opts ...grpc.CallOption) (*MsgUpdateGroupMembersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupMembersResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupMembers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupMembers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -98,8 +102,9 @@ func (c *msgClient) UpdateGroupMembers(ctx context.Context, in *MsgUpdateGroupMe } func (c *msgClient) UpdateGroupAdmin(ctx context.Context, in *MsgUpdateGroupAdmin, opts ...grpc.CallOption) (*MsgUpdateGroupAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupAdminResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -107,8 +112,9 @@ func (c *msgClient) UpdateGroupAdmin(ctx context.Context, in *MsgUpdateGroupAdmi } func (c *msgClient) UpdateGroupMetadata(ctx context.Context, in *MsgUpdateGroupMetadata, opts ...grpc.CallOption) (*MsgUpdateGroupMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -116,8 +122,9 @@ func (c *msgClient) UpdateGroupMetadata(ctx context.Context, in *MsgUpdateGroupM } func (c *msgClient) CreateGroupPolicy(ctx context.Context, in *MsgCreateGroupPolicy, opts ...grpc.CallOption) (*MsgCreateGroupPolicyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateGroupPolicyResponse) - err := c.cc.Invoke(ctx, Msg_CreateGroupPolicy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateGroupPolicy_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -125,8 +132,9 @@ func (c *msgClient) CreateGroupPolicy(ctx context.Context, in *MsgCreateGroupPol } func (c *msgClient) CreateGroupWithPolicy(ctx context.Context, in *MsgCreateGroupWithPolicy, opts ...grpc.CallOption) (*MsgCreateGroupWithPolicyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateGroupWithPolicyResponse) - err := c.cc.Invoke(ctx, Msg_CreateGroupWithPolicy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateGroupWithPolicy_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -134,8 +142,9 @@ func (c *msgClient) CreateGroupWithPolicy(ctx context.Context, in *MsgCreateGrou } func (c *msgClient) UpdateGroupPolicyAdmin(ctx context.Context, in *MsgUpdateGroupPolicyAdmin, opts ...grpc.CallOption) (*MsgUpdateGroupPolicyAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupPolicyAdminResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -143,8 +152,9 @@ func (c *msgClient) UpdateGroupPolicyAdmin(ctx context.Context, in *MsgUpdateGro } func (c *msgClient) UpdateGroupPolicyDecisionPolicy(ctx context.Context, in *MsgUpdateGroupPolicyDecisionPolicy, opts ...grpc.CallOption) (*MsgUpdateGroupPolicyDecisionPolicyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupPolicyDecisionPolicyResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyDecisionPolicy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyDecisionPolicy_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -152,8 +162,9 @@ func (c *msgClient) UpdateGroupPolicyDecisionPolicy(ctx context.Context, in *Msg } func (c *msgClient) UpdateGroupPolicyMetadata(ctx context.Context, in *MsgUpdateGroupPolicyMetadata, opts ...grpc.CallOption) (*MsgUpdateGroupPolicyMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateGroupPolicyMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateGroupPolicyMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -161,8 +172,9 @@ func (c *msgClient) UpdateGroupPolicyMetadata(ctx context.Context, in *MsgUpdate } func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, opts ...grpc.CallOption) (*MsgSubmitProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSubmitProposalResponse) - err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SubmitProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -170,8 +182,9 @@ func (c *msgClient) SubmitProposal(ctx context.Context, in *MsgSubmitProposal, o } func (c *msgClient) WithdrawProposal(ctx context.Context, in *MsgWithdrawProposal, opts ...grpc.CallOption) (*MsgWithdrawProposalResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgWithdrawProposalResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_WithdrawProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -179,8 +192,9 @@ func (c *msgClient) WithdrawProposal(ctx context.Context, in *MsgWithdrawProposa } func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOption) (*MsgVoteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgVoteResponse) - err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Vote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -188,8 +202,9 @@ func (c *msgClient) Vote(ctx context.Context, in *MsgVote, opts ...grpc.CallOpti } func (c *msgClient) Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOption) (*MsgExecResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgExecResponse) - err := c.cc.Invoke(ctx, Msg_Exec_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Exec_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -197,8 +212,9 @@ func (c *msgClient) Exec(ctx context.Context, in *MsgExec, opts ...grpc.CallOpti } func (c *msgClient) LeaveGroup(ctx context.Context, in *MsgLeaveGroup, opts ...grpc.CallOption) (*MsgLeaveGroupResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgLeaveGroupResponse) - err := c.cc.Invoke(ctx, Msg_LeaveGroup_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_LeaveGroup_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -207,7 +223,9 @@ func (c *msgClient) LeaveGroup(ctx context.Context, in *MsgLeaveGroup, opts ...g // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the cosmos.group.v1 Msg service. type MsgServer interface { // CreateGroup creates a new group with an admin account address, a list of members and some optional metadata. CreateGroup(context.Context, *MsgCreateGroup) (*MsgCreateGroupResponse, error) @@ -240,9 +258,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateGroup(context.Context, *MsgCreateGroup) (*MsgCreateGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented") @@ -287,6 +308,7 @@ func (UnimplementedMsgServer) LeaveGroup(context.Context, *MsgLeaveGroup) (*MsgL return nil, status.Errorf(codes.Unimplemented, "method LeaveGroup not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -296,6 +318,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/mint/v1beta1/query_grpc.pb.go b/api/cosmos/mint/v1beta1/query_grpc.pb.go index 65fef7a8cd..106ea5dff9 100644 --- a/api/cosmos/mint/v1beta1/query_grpc.pb.go +++ b/api/cosmos/mint/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/mint/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Params_FullMethodName = "/cosmos.mint.v1beta1.Query/Params" @@ -27,6 +27,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query provides defines the gRPC querier service. type QueryClient interface { // Params returns the total set of minting parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) @@ -45,8 +47,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,8 +57,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) Inflation(ctx context.Context, in *QueryInflationRequest, opts ...grpc.CallOption) (*QueryInflationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryInflationResponse) - err := c.cc.Invoke(ctx, Query_Inflation_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Inflation_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,8 +67,9 @@ func (c *queryClient) Inflation(ctx context.Context, in *QueryInflationRequest, } func (c *queryClient) AnnualProvisions(ctx context.Context, in *QueryAnnualProvisionsRequest, opts ...grpc.CallOption) (*QueryAnnualProvisionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAnnualProvisionsResponse) - err := c.cc.Invoke(ctx, Query_AnnualProvisions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AnnualProvisions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -73,7 +78,9 @@ func (c *queryClient) AnnualProvisions(ctx context.Context, in *QueryAnnualProvi // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query provides defines the gRPC querier service. type QueryServer interface { // Params returns the total set of minting parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) @@ -84,9 +91,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") @@ -98,6 +108,7 @@ func (UnimplementedQueryServer) AnnualProvisions(context.Context, *QueryAnnualPr return nil, status.Errorf(codes.Unimplemented, "method AnnualProvisions not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -107,6 +118,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/mint/v1beta1/tx_grpc.pb.go b/api/cosmos/mint/v1beta1/tx_grpc.pb.go index 62a94bc6e0..15ee78e315 100644 --- a/api/cosmos/mint/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/mint/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/mint/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_UpdateParams_FullMethodName = "/cosmos.mint.v1beta1.Msg/UpdateParams" @@ -25,6 +25,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the x/mint Msg service. type MsgClient interface { // UpdateParams defines a governance operation for updating the x/mint module // parameters. The authority is defaults to the x/gov module account. @@ -42,8 +44,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -52,7 +55,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the x/mint Msg service. type MsgServer interface { // UpdateParams defines a governance operation for updating the x/mint module // parameters. The authority is defaults to the x/gov module account. @@ -62,14 +67,18 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -79,6 +88,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/nft/v1beta1/query_grpc.pb.go b/api/cosmos/nft/v1beta1/query_grpc.pb.go index 216b998cf1..304fa9446e 100644 --- a/api/cosmos/nft/v1beta1/query_grpc.pb.go +++ b/api/cosmos/nft/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/nft/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Balance_FullMethodName = "/cosmos.nft.v1beta1.Query/Balance" @@ -31,6 +31,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721 Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) @@ -58,8 +60,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalanceResponse) - err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -67,8 +70,9 @@ func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts } func (c *queryClient) Owner(ctx context.Context, in *QueryOwnerRequest, opts ...grpc.CallOption) (*QueryOwnerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryOwnerResponse) - err := c.cc.Invoke(ctx, Query_Owner_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Owner_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -76,8 +80,9 @@ func (c *queryClient) Owner(ctx context.Context, in *QueryOwnerRequest, opts ... } func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts ...grpc.CallOption) (*QuerySupplyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySupplyResponse) - err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -85,8 +90,9 @@ func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts . } func (c *queryClient) NFTs(ctx context.Context, in *QueryNFTsRequest, opts ...grpc.CallOption) (*QueryNFTsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryNFTsResponse) - err := c.cc.Invoke(ctx, Query_NFTs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_NFTs_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -94,8 +100,9 @@ func (c *queryClient) NFTs(ctx context.Context, in *QueryNFTsRequest, opts ...gr } func (c *queryClient) NFT(ctx context.Context, in *QueryNFTRequest, opts ...grpc.CallOption) (*QueryNFTResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryNFTResponse) - err := c.cc.Invoke(ctx, Query_NFT_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_NFT_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +110,9 @@ func (c *queryClient) NFT(ctx context.Context, in *QueryNFTRequest, opts ...grpc } func (c *queryClient) Class(ctx context.Context, in *QueryClassRequest, opts ...grpc.CallOption) (*QueryClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassResponse) - err := c.cc.Invoke(ctx, Query_Class_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Class_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -112,8 +120,9 @@ func (c *queryClient) Class(ctx context.Context, in *QueryClassRequest, opts ... } func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts ...grpc.CallOption) (*QueryClassesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassesResponse) - err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -122,7 +131,9 @@ func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721 Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) @@ -142,9 +153,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Balance not implemented") @@ -168,6 +182,7 @@ func (UnimplementedQueryServer) Classes(context.Context, *QueryClassesRequest) ( return nil, status.Errorf(codes.Unimplemented, "method Classes not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -177,6 +192,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/nft/v1beta1/tx_grpc.pb.go b/api/cosmos/nft/v1beta1/tx_grpc.pb.go index 379ae24b37..f706ced244 100644 --- a/api/cosmos/nft/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/nft/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/nft/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Send_FullMethodName = "/cosmos.nft.v1beta1.Msg/Send" @@ -25,6 +25,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the nft Msg service. type MsgClient interface { // Send defines a method to send a nft from one account to another account. Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) @@ -39,8 +41,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSendResponse) - err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -49,21 +52,27 @@ func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOpti // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the nft Msg service. type MsgServer interface { // Send defines a method to send a nft from one account to another account. Send(context.Context, *MsgSend) (*MsgSendResponse, error) mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Send(context.Context, *MsgSend) (*MsgSendResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -73,6 +82,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/params/v1beta1/params.pulsar.go b/api/cosmos/params/v1beta1/params.pulsar.go index c3ce9ddd1e..d91dee991f 100644 --- a/api/cosmos/params/v1beta1/params.pulsar.go +++ b/api/cosmos/params/v1beta1/params.pulsar.go @@ -1333,21 +1333,21 @@ var file_cosmos_params_v1beta1_params_proto_rawDesc = []byte{ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xd8, 0x01, 0x0a, 0x19, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, - 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x50, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x15, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xe2, 0x02, 0x21, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x3a, 0x3a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0xd8, 0x01, 0xa8, 0xe2, 0x1e, + 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xa2, 0x02, 0x03, 0x43, 0x50, 0x58, 0xaa, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x21, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/params/v1beta1/query_grpc.pb.go b/api/cosmos/params/v1beta1/query_grpc.pb.go index 5825a3b6cb..802465ff20 100644 --- a/api/cosmos/params/v1beta1/query_grpc.pb.go +++ b/api/cosmos/params/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/params/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Params_FullMethodName = "/cosmos.params.v1beta1.Query/Params" @@ -26,6 +26,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Params queries a specific parameter of a module, given its subspace and // key. @@ -45,8 +47,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,8 +57,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) Subspaces(ctx context.Context, in *QuerySubspacesRequest, opts ...grpc.CallOption) (*QuerySubspacesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySubspacesResponse) - err := c.cc.Invoke(ctx, Query_Subspaces_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Subspaces_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -64,7 +68,9 @@ func (c *queryClient) Subspaces(ctx context.Context, in *QuerySubspacesRequest, // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Params queries a specific parameter of a module, given its subspace and // key. @@ -76,9 +82,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") @@ -87,6 +96,7 @@ func (UnimplementedQueryServer) Subspaces(context.Context, *QuerySubspacesReques return nil, status.Errorf(codes.Unimplemented, "method Subspaces not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -96,6 +106,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/reflection/v1/reflection_grpc.pb.go b/api/cosmos/reflection/v1/reflection_grpc.pb.go index eddbc82a0e..a559d048d3 100644 --- a/api/cosmos/reflection/v1/reflection_grpc.pb.go +++ b/api/cosmos/reflection/v1/reflection_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/reflection/v1/reflection.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ReflectionService_FileDescriptors_FullMethodName = "/cosmos.reflection.v1.ReflectionService/FileDescriptors" @@ -25,6 +25,9 @@ const ( // ReflectionServiceClient is the client API for ReflectionService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Package cosmos.reflection.v1 provides support for inspecting protobuf +// file descriptors. type ReflectionServiceClient interface { // FileDescriptors queries all the file descriptors in the app in order // to enable easier generation of dynamic clients. @@ -40,8 +43,9 @@ func NewReflectionServiceClient(cc grpc.ClientConnInterface) ReflectionServiceCl } func (c *reflectionServiceClient) FileDescriptors(ctx context.Context, in *FileDescriptorsRequest, opts ...grpc.CallOption) (*FileDescriptorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(FileDescriptorsResponse) - err := c.cc.Invoke(ctx, ReflectionService_FileDescriptors_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ReflectionService_FileDescriptors_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -50,7 +54,10 @@ func (c *reflectionServiceClient) FileDescriptors(ctx context.Context, in *FileD // ReflectionServiceServer is the server API for ReflectionService service. // All implementations must embed UnimplementedReflectionServiceServer -// for forward compatibility +// for forward compatibility. +// +// Package cosmos.reflection.v1 provides support for inspecting protobuf +// file descriptors. type ReflectionServiceServer interface { // FileDescriptors queries all the file descriptors in the app in order // to enable easier generation of dynamic clients. @@ -58,14 +65,18 @@ type ReflectionServiceServer interface { mustEmbedUnimplementedReflectionServiceServer() } -// UnimplementedReflectionServiceServer must be embedded to have forward compatible implementations. -type UnimplementedReflectionServiceServer struct { -} +// UnimplementedReflectionServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedReflectionServiceServer struct{} func (UnimplementedReflectionServiceServer) FileDescriptors(context.Context, *FileDescriptorsRequest) (*FileDescriptorsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FileDescriptors not implemented") } func (UnimplementedReflectionServiceServer) mustEmbedUnimplementedReflectionServiceServer() {} +func (UnimplementedReflectionServiceServer) testEmbeddedByValue() {} // UnsafeReflectionServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ReflectionServiceServer will @@ -75,6 +86,13 @@ type UnsafeReflectionServiceServer interface { } func RegisterReflectionServiceServer(s grpc.ServiceRegistrar, srv ReflectionServiceServer) { + // If the following call pancis, it indicates UnimplementedReflectionServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ReflectionService_ServiceDesc, srv) } diff --git a/api/cosmos/slashing/v1beta1/query_grpc.pb.go b/api/cosmos/slashing/v1beta1/query_grpc.pb.go index 48ef4179e4..f56abf9ee8 100644 --- a/api/cosmos/slashing/v1beta1/query_grpc.pb.go +++ b/api/cosmos/slashing/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/slashing/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Params_FullMethodName = "/cosmos.slashing.v1beta1.Query/Params" @@ -27,6 +27,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query provides defines the gRPC querier service type QueryClient interface { // Params queries the parameters of slashing module Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) @@ -45,8 +47,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -54,8 +57,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) SigningInfo(ctx context.Context, in *QuerySigningInfoRequest, opts ...grpc.CallOption) (*QuerySigningInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySigningInfoResponse) - err := c.cc.Invoke(ctx, Query_SigningInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SigningInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,8 +67,9 @@ func (c *queryClient) SigningInfo(ctx context.Context, in *QuerySigningInfoReque } func (c *queryClient) SigningInfos(ctx context.Context, in *QuerySigningInfosRequest, opts ...grpc.CallOption) (*QuerySigningInfosResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySigningInfosResponse) - err := c.cc.Invoke(ctx, Query_SigningInfos_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SigningInfos_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -73,7 +78,9 @@ func (c *queryClient) SigningInfos(ctx context.Context, in *QuerySigningInfosReq // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query provides defines the gRPC querier service type QueryServer interface { // Params queries the parameters of slashing module Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) @@ -84,9 +91,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") @@ -98,6 +108,7 @@ func (UnimplementedQueryServer) SigningInfos(context.Context, *QuerySigningInfos return nil, status.Errorf(codes.Unimplemented, "method SigningInfos not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -107,6 +118,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/slashing/v1beta1/slashing.pulsar.go b/api/cosmos/slashing/v1beta1/slashing.pulsar.go index 9174c7d158..3b46c7a715 100644 --- a/api/cosmos/slashing/v1beta1/slashing.pulsar.go +++ b/api/cosmos/slashing/v1beta1/slashing.pulsar.go @@ -1631,22 +1631,22 @@ var file_cosmos_slashing_v1beta1_slashing_proto_rawDesc = []byte{ 0x52, 0x15, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x21, 0x8a, 0xe7, 0xb0, 0x2a, 0x1c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xe8, 0x01, 0x0a, 0x1b, 0x63, - 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x53, 0x6c, 0x61, 0x73, - 0x68, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, - 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, - 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xe8, 0x01, 0xa8, 0xe2, 0x1e, + 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, + 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, + 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/slashing/v1beta1/tx.pulsar.go b/api/cosmos/slashing/v1beta1/tx.pulsar.go index 1f5d40b805..c289bddeff 100644 --- a/api/cosmos/slashing/v1beta1/tx.pulsar.go +++ b/api/cosmos/slashing/v1beta1/tx.pulsar.go @@ -1857,21 +1857,21 @@ var file_cosmos_slashing_v1beta1_tx_proto_rawDesc = []byte{ 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, - 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xe2, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, - 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, - 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x17, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, - 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xe2, 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, + 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x6c, + 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x17, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x19, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, + 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/api/cosmos/slashing/v1beta1/tx_grpc.pb.go b/api/cosmos/slashing/v1beta1/tx_grpc.pb.go index dbe16e7046..93cc674021 100644 --- a/api/cosmos/slashing/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/slashing/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/slashing/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Unjail_FullMethodName = "/cosmos.slashing.v1beta1.Msg/Unjail" @@ -26,6 +26,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the slashing Msg service. type MsgClient interface { // Unjail defines a method for unjailing a jailed validator, thus returning // them into the bonded validator set, so they can begin receiving provisions @@ -47,8 +49,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Unjail(ctx context.Context, in *MsgUnjail, opts ...grpc.CallOption) (*MsgUnjailResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUnjailResponse) - err := c.cc.Invoke(ctx, Msg_Unjail_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Unjail_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -56,8 +59,9 @@ func (c *msgClient) Unjail(ctx context.Context, in *MsgUnjail, opts ...grpc.Call } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -66,7 +70,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the slashing Msg service. type MsgServer interface { // Unjail defines a method for unjailing a jailed validator, thus returning // them into the bonded validator set, so they can begin receiving provisions @@ -80,9 +86,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Unjail(context.Context, *MsgUnjail) (*MsgUnjailResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Unjail not implemented") @@ -91,6 +100,7 @@ func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (* return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -100,6 +110,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/staking/v1beta1/query_grpc.pb.go b/api/cosmos/staking/v1beta1/query_grpc.pb.go index a015a80c6e..3ae9b2f5cf 100644 --- a/api/cosmos/staking/v1beta1/query_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/staking/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Validators_FullMethodName = "/cosmos.staking.v1beta1.Query/Validators" @@ -38,6 +38,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // Validators queries all validators that match the given status. // @@ -103,8 +105,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorsResponse) - err := c.cc.Invoke(ctx, Query_Validators_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Validators_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -112,8 +115,9 @@ func (c *queryClient) Validators(ctx context.Context, in *QueryValidatorsRequest } func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorResponse) - err := c.cc.Invoke(ctx, Query_Validator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Validator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -121,8 +125,9 @@ func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, } func (c *queryClient) ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorDelegationsResponse) - err := c.cc.Invoke(ctx, Query_ValidatorDelegations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorDelegations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -130,8 +135,9 @@ func (c *queryClient) ValidatorDelegations(ctx context.Context, in *QueryValidat } func (c *queryClient) ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryValidatorUnbondingDelegationsResponse) - err := c.cc.Invoke(ctx, Query_ValidatorUnbondingDelegations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ValidatorUnbondingDelegations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -139,8 +145,9 @@ func (c *queryClient) ValidatorUnbondingDelegations(ctx context.Context, in *Que } func (c *queryClient) Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegationResponse) - err := c.cc.Invoke(ctx, Query_Delegation_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Delegation_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -148,8 +155,9 @@ func (c *queryClient) Delegation(ctx context.Context, in *QueryDelegationRequest } func (c *queryClient) UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryUnbondingDelegationResponse) - err := c.cc.Invoke(ctx, Query_UnbondingDelegation_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_UnbondingDelegation_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -157,8 +165,9 @@ func (c *queryClient) UnbondingDelegation(ctx context.Context, in *QueryUnbondin } func (c *queryClient) DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorDelegationsResponse) - err := c.cc.Invoke(ctx, Query_DelegatorDelegations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorDelegations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -166,8 +175,9 @@ func (c *queryClient) DelegatorDelegations(ctx context.Context, in *QueryDelegat } func (c *queryClient) DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorUnbondingDelegationsResponse) - err := c.cc.Invoke(ctx, Query_DelegatorUnbondingDelegations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorUnbondingDelegations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -175,8 +185,9 @@ func (c *queryClient) DelegatorUnbondingDelegations(ctx context.Context, in *Que } func (c *queryClient) Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryRedelegationsResponse) - err := c.cc.Invoke(ctx, Query_Redelegations_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Redelegations_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -184,8 +195,9 @@ func (c *queryClient) Redelegations(ctx context.Context, in *QueryRedelegationsR } func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorValidatorsResponse) - err := c.cc.Invoke(ctx, Query_DelegatorValidators_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorValidators_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -193,8 +205,9 @@ func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegato } func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryDelegatorValidatorResponse) - err := c.cc.Invoke(ctx, Query_DelegatorValidator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_DelegatorValidator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -202,8 +215,9 @@ func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegator } func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryHistoricalInfoResponse) - err := c.cc.Invoke(ctx, Query_HistoricalInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_HistoricalInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -211,8 +225,9 @@ func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInf } func (c *queryClient) Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryPoolResponse) - err := c.cc.Invoke(ctx, Query_Pool_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Pool_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -220,8 +235,9 @@ func (c *queryClient) Pool(ctx context.Context, in *QueryPoolRequest, opts ...gr } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -230,7 +246,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // Validators queries all validators that match the given status. // @@ -288,9 +306,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Validators not implemented") @@ -335,6 +356,7 @@ func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*Q return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -344,6 +366,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 36214b35c3..37cae89fde 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -7813,8 +7813,8 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1a, 0x18, 0x01, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, + 0x28, 0x09, 0x42, 0x1a, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, diff --git a/api/cosmos/staking/v1beta1/tx_grpc.pb.go b/api/cosmos/staking/v1beta1/tx_grpc.pb.go index 84a8c06e89..a177942078 100644 --- a/api/cosmos/staking/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/staking/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/CreateValidator" @@ -31,6 +31,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the staking Msg service. type MsgClient interface { // CreateValidator defines a method for creating a new validator. CreateValidator(ctx context.Context, in *MsgCreateValidator, opts ...grpc.CallOption) (*MsgCreateValidatorResponse, error) @@ -65,8 +67,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateValidator(ctx context.Context, in *MsgCreateValidator, opts ...grpc.CallOption) (*MsgCreateValidatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateValidatorResponse) - err := c.cc.Invoke(ctx, Msg_CreateValidator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateValidator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -74,8 +77,9 @@ func (c *msgClient) CreateValidator(ctx context.Context, in *MsgCreateValidator, } func (c *msgClient) EditValidator(ctx context.Context, in *MsgEditValidator, opts ...grpc.CallOption) (*MsgEditValidatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgEditValidatorResponse) - err := c.cc.Invoke(ctx, Msg_EditValidator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_EditValidator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -83,8 +87,9 @@ func (c *msgClient) EditValidator(ctx context.Context, in *MsgEditValidator, opt } func (c *msgClient) Delegate(ctx context.Context, in *MsgDelegate, opts ...grpc.CallOption) (*MsgDelegateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDelegateResponse) - err := c.cc.Invoke(ctx, Msg_Delegate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Delegate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -92,8 +97,9 @@ func (c *msgClient) Delegate(ctx context.Context, in *MsgDelegate, opts ...grpc. } func (c *msgClient) BeginRedelegate(ctx context.Context, in *MsgBeginRedelegate, opts ...grpc.CallOption) (*MsgBeginRedelegateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgBeginRedelegateResponse) - err := c.cc.Invoke(ctx, Msg_BeginRedelegate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_BeginRedelegate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -101,8 +107,9 @@ func (c *msgClient) BeginRedelegate(ctx context.Context, in *MsgBeginRedelegate, } func (c *msgClient) Undelegate(ctx context.Context, in *MsgUndelegate, opts ...grpc.CallOption) (*MsgUndelegateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUndelegateResponse) - err := c.cc.Invoke(ctx, Msg_Undelegate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Undelegate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -110,8 +117,9 @@ func (c *msgClient) Undelegate(ctx context.Context, in *MsgUndelegate, opts ...g } func (c *msgClient) CancelUnbondingDelegation(ctx context.Context, in *MsgCancelUnbondingDelegation, opts ...grpc.CallOption) (*MsgCancelUnbondingDelegationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelUnbondingDelegationResponse) - err := c.cc.Invoke(ctx, Msg_CancelUnbondingDelegation_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CancelUnbondingDelegation_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -119,8 +127,9 @@ func (c *msgClient) CancelUnbondingDelegation(ctx context.Context, in *MsgCancel } func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateParamsResponse) - err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -129,7 +138,9 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the staking Msg service. type MsgServer interface { // CreateValidator defines a method for creating a new validator. CreateValidator(context.Context, *MsgCreateValidator) (*MsgCreateValidatorResponse, error) @@ -156,9 +167,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateValidator(context.Context, *MsgCreateValidator) (*MsgCreateValidatorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateValidator not implemented") @@ -182,6 +196,7 @@ func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (* return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -191,6 +206,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/store/streaming/abci/grpc_grpc.pb.go b/api/cosmos/store/streaming/abci/grpc_grpc.pb.go index 684b5f911e..b75d773bde 100644 --- a/api/cosmos/store/streaming/abci/grpc_grpc.pb.go +++ b/api/cosmos/store/streaming/abci/grpc_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/store/streaming/abci/grpc.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ABCIListenerService_ListenFinalizeBlock_FullMethodName = "/cosmos.store.streaming.abci.ABCIListenerService/ListenFinalizeBlock" @@ -26,6 +26,8 @@ const ( // ABCIListenerServiceClient is the client API for ABCIListenerService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// ABCIListenerService is the service for the BaseApp ABCIListener interface type ABCIListenerServiceClient interface { // ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock ListenFinalizeBlock(ctx context.Context, in *ListenFinalizeBlockRequest, opts ...grpc.CallOption) (*ListenFinalizeBlockResponse, error) @@ -42,8 +44,9 @@ func NewABCIListenerServiceClient(cc grpc.ClientConnInterface) ABCIListenerServi } func (c *aBCIListenerServiceClient) ListenFinalizeBlock(ctx context.Context, in *ListenFinalizeBlockRequest, opts ...grpc.CallOption) (*ListenFinalizeBlockResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListenFinalizeBlockResponse) - err := c.cc.Invoke(ctx, ABCIListenerService_ListenFinalizeBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCIListenerService_ListenFinalizeBlock_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,8 +54,9 @@ func (c *aBCIListenerServiceClient) ListenFinalizeBlock(ctx context.Context, in } func (c *aBCIListenerServiceClient) ListenCommit(ctx context.Context, in *ListenCommitRequest, opts ...grpc.CallOption) (*ListenCommitResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListenCommitResponse) - err := c.cc.Invoke(ctx, ABCIListenerService_ListenCommit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCIListenerService_ListenCommit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -61,7 +65,9 @@ func (c *aBCIListenerServiceClient) ListenCommit(ctx context.Context, in *Listen // ABCIListenerServiceServer is the server API for ABCIListenerService service. // All implementations must embed UnimplementedABCIListenerServiceServer -// for forward compatibility +// for forward compatibility. +// +// ABCIListenerService is the service for the BaseApp ABCIListener interface type ABCIListenerServiceServer interface { // ListenFinalizeBlock is the corresponding endpoint for ABCIListener.ListenEndBlock ListenFinalizeBlock(context.Context, *ListenFinalizeBlockRequest) (*ListenFinalizeBlockResponse, error) @@ -70,9 +76,12 @@ type ABCIListenerServiceServer interface { mustEmbedUnimplementedABCIListenerServiceServer() } -// UnimplementedABCIListenerServiceServer must be embedded to have forward compatible implementations. -type UnimplementedABCIListenerServiceServer struct { -} +// UnimplementedABCIListenerServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedABCIListenerServiceServer struct{} func (UnimplementedABCIListenerServiceServer) ListenFinalizeBlock(context.Context, *ListenFinalizeBlockRequest) (*ListenFinalizeBlockResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListenFinalizeBlock not implemented") @@ -81,6 +90,7 @@ func (UnimplementedABCIListenerServiceServer) ListenCommit(context.Context, *Lis return nil, status.Errorf(codes.Unimplemented, "method ListenCommit not implemented") } func (UnimplementedABCIListenerServiceServer) mustEmbedUnimplementedABCIListenerServiceServer() {} +func (UnimplementedABCIListenerServiceServer) testEmbeddedByValue() {} // UnsafeABCIListenerServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ABCIListenerServiceServer will @@ -90,6 +100,13 @@ type UnsafeABCIListenerServiceServer interface { } func RegisterABCIListenerServiceServer(s grpc.ServiceRegistrar, srv ABCIListenerServiceServer) { + // If the following call pancis, it indicates UnimplementedABCIListenerServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ABCIListenerService_ServiceDesc, srv) } diff --git a/api/cosmos/tx/v1beta1/service_grpc.pb.go b/api/cosmos/tx/v1beta1/service_grpc.pb.go index 9b7cc0b033..475e363ea1 100644 --- a/api/cosmos/tx/v1beta1/service_grpc.pb.go +++ b/api/cosmos/tx/v1beta1/service_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/tx/v1beta1/service.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Service_Simulate_FullMethodName = "/cosmos.tx.v1beta1.Service/Simulate" @@ -33,6 +33,8 @@ const ( // ServiceClient is the client API for Service service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Service defines a gRPC service for interacting with transactions. type ServiceClient interface { // Simulate simulates executing a transaction for estimating gas usage. Simulate(ctx context.Context, in *SimulateRequest, opts ...grpc.CallOption) (*SimulateResponse, error) @@ -73,8 +75,9 @@ func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient { } func (c *serviceClient) Simulate(ctx context.Context, in *SimulateRequest, opts ...grpc.CallOption) (*SimulateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SimulateResponse) - err := c.cc.Invoke(ctx, Service_Simulate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_Simulate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -82,8 +85,9 @@ func (c *serviceClient) Simulate(ctx context.Context, in *SimulateRequest, opts } func (c *serviceClient) GetTx(ctx context.Context, in *GetTxRequest, opts ...grpc.CallOption) (*GetTxResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTxResponse) - err := c.cc.Invoke(ctx, Service_GetTx_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetTx_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -91,8 +95,9 @@ func (c *serviceClient) GetTx(ctx context.Context, in *GetTxRequest, opts ...grp } func (c *serviceClient) BroadcastTx(ctx context.Context, in *BroadcastTxRequest, opts ...grpc.CallOption) (*BroadcastTxResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BroadcastTxResponse) - err := c.cc.Invoke(ctx, Service_BroadcastTx_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_BroadcastTx_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -100,8 +105,9 @@ func (c *serviceClient) BroadcastTx(ctx context.Context, in *BroadcastTxRequest, } func (c *serviceClient) GetTxsEvent(ctx context.Context, in *GetTxsEventRequest, opts ...grpc.CallOption) (*GetTxsEventResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetTxsEventResponse) - err := c.cc.Invoke(ctx, Service_GetTxsEvent_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetTxsEvent_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -109,8 +115,9 @@ func (c *serviceClient) GetTxsEvent(ctx context.Context, in *GetTxsEventRequest, } func (c *serviceClient) GetBlockWithTxs(ctx context.Context, in *GetBlockWithTxsRequest, opts ...grpc.CallOption) (*GetBlockWithTxsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetBlockWithTxsResponse) - err := c.cc.Invoke(ctx, Service_GetBlockWithTxs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_GetBlockWithTxs_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -118,8 +125,9 @@ func (c *serviceClient) GetBlockWithTxs(ctx context.Context, in *GetBlockWithTxs } func (c *serviceClient) TxDecode(ctx context.Context, in *TxDecodeRequest, opts ...grpc.CallOption) (*TxDecodeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TxDecodeResponse) - err := c.cc.Invoke(ctx, Service_TxDecode_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_TxDecode_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -127,8 +135,9 @@ func (c *serviceClient) TxDecode(ctx context.Context, in *TxDecodeRequest, opts } func (c *serviceClient) TxEncode(ctx context.Context, in *TxEncodeRequest, opts ...grpc.CallOption) (*TxEncodeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TxEncodeResponse) - err := c.cc.Invoke(ctx, Service_TxEncode_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_TxEncode_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -136,8 +145,9 @@ func (c *serviceClient) TxEncode(ctx context.Context, in *TxEncodeRequest, opts } func (c *serviceClient) TxEncodeAmino(ctx context.Context, in *TxEncodeAminoRequest, opts ...grpc.CallOption) (*TxEncodeAminoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TxEncodeAminoResponse) - err := c.cc.Invoke(ctx, Service_TxEncodeAmino_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_TxEncodeAmino_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -145,8 +155,9 @@ func (c *serviceClient) TxEncodeAmino(ctx context.Context, in *TxEncodeAminoRequ } func (c *serviceClient) TxDecodeAmino(ctx context.Context, in *TxDecodeAminoRequest, opts ...grpc.CallOption) (*TxDecodeAminoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TxDecodeAminoResponse) - err := c.cc.Invoke(ctx, Service_TxDecodeAmino_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Service_TxDecodeAmino_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -155,7 +166,9 @@ func (c *serviceClient) TxDecodeAmino(ctx context.Context, in *TxDecodeAminoRequ // ServiceServer is the server API for Service service. // All implementations must embed UnimplementedServiceServer -// for forward compatibility +// for forward compatibility. +// +// Service defines a gRPC service for interacting with transactions. type ServiceServer interface { // Simulate simulates executing a transaction for estimating gas usage. Simulate(context.Context, *SimulateRequest) (*SimulateResponse, error) @@ -188,9 +201,12 @@ type ServiceServer interface { mustEmbedUnimplementedServiceServer() } -// UnimplementedServiceServer must be embedded to have forward compatible implementations. -type UnimplementedServiceServer struct { -} +// UnimplementedServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedServiceServer struct{} func (UnimplementedServiceServer) Simulate(context.Context, *SimulateRequest) (*SimulateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Simulate not implemented") @@ -220,6 +236,7 @@ func (UnimplementedServiceServer) TxDecodeAmino(context.Context, *TxDecodeAminoR return nil, status.Errorf(codes.Unimplemented, "method TxDecodeAmino not implemented") } func (UnimplementedServiceServer) mustEmbedUnimplementedServiceServer() {} +func (UnimplementedServiceServer) testEmbeddedByValue() {} // UnsafeServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ServiceServer will @@ -229,6 +246,13 @@ type UnsafeServiceServer interface { } func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) { + // If the following call pancis, it indicates UnimplementedServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Service_ServiceDesc, srv) } diff --git a/api/cosmos/upgrade/v1beta1/query.pulsar.go b/api/cosmos/upgrade/v1beta1/query.pulsar.go index ec2d4738f7..ad7e8d8fd2 100644 --- a/api/cosmos/upgrade/v1beta1/query.pulsar.go +++ b/api/cosmos/upgrade/v1beta1/query.pulsar.go @@ -4610,11 +4610,11 @@ var file_cosmos_upgrade_v1beta1_query_proto_rawDesc = []byte{ 0x2e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, - 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x2f, 0x7b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2f, 0x7b, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x88, 0x02, 0x01, 0x12, 0xaa, 0x01, 0x0a, 0x0e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, diff --git a/api/cosmos/upgrade/v1beta1/query_grpc.pb.go b/api/cosmos/upgrade/v1beta1/query_grpc.pb.go index d298ca4439..805efc34ab 100644 --- a/api/cosmos/upgrade/v1beta1/query_grpc.pb.go +++ b/api/cosmos/upgrade/v1beta1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/upgrade/v1beta1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_CurrentPlan_FullMethodName = "/cosmos.upgrade.v1beta1.Query/CurrentPlan" @@ -29,6 +29,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC upgrade querier service. type QueryClient interface { // CurrentPlan queries the current upgrade plan. CurrentPlan(ctx context.Context, in *QueryCurrentPlanRequest, opts ...grpc.CallOption) (*QueryCurrentPlanResponse, error) @@ -61,8 +63,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) CurrentPlan(ctx context.Context, in *QueryCurrentPlanRequest, opts ...grpc.CallOption) (*QueryCurrentPlanResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryCurrentPlanResponse) - err := c.cc.Invoke(ctx, Query_CurrentPlan_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_CurrentPlan_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -70,8 +73,9 @@ func (c *queryClient) CurrentPlan(ctx context.Context, in *QueryCurrentPlanReque } func (c *queryClient) AppliedPlan(ctx context.Context, in *QueryAppliedPlanRequest, opts ...grpc.CallOption) (*QueryAppliedPlanResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAppliedPlanResponse) - err := c.cc.Invoke(ctx, Query_AppliedPlan_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AppliedPlan_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -80,8 +84,9 @@ func (c *queryClient) AppliedPlan(ctx context.Context, in *QueryAppliedPlanReque // Deprecated: Do not use. func (c *queryClient) UpgradedConsensusState(ctx context.Context, in *QueryUpgradedConsensusStateRequest, opts ...grpc.CallOption) (*QueryUpgradedConsensusStateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryUpgradedConsensusStateResponse) - err := c.cc.Invoke(ctx, Query_UpgradedConsensusState_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_UpgradedConsensusState_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -89,8 +94,9 @@ func (c *queryClient) UpgradedConsensusState(ctx context.Context, in *QueryUpgra } func (c *queryClient) ModuleVersions(ctx context.Context, in *QueryModuleVersionsRequest, opts ...grpc.CallOption) (*QueryModuleVersionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryModuleVersionsResponse) - err := c.cc.Invoke(ctx, Query_ModuleVersions_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ModuleVersions_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -98,8 +104,9 @@ func (c *queryClient) ModuleVersions(ctx context.Context, in *QueryModuleVersion } func (c *queryClient) Authority(ctx context.Context, in *QueryAuthorityRequest, opts ...grpc.CallOption) (*QueryAuthorityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAuthorityResponse) - err := c.cc.Invoke(ctx, Query_Authority_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Authority_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,7 +115,9 @@ func (c *queryClient) Authority(ctx context.Context, in *QueryAuthorityRequest, // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC upgrade querier service. type QueryServer interface { // CurrentPlan queries the current upgrade plan. CurrentPlan(context.Context, *QueryCurrentPlanRequest) (*QueryCurrentPlanResponse, error) @@ -133,9 +142,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) CurrentPlan(context.Context, *QueryCurrentPlanRequest) (*QueryCurrentPlanResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CurrentPlan not implemented") @@ -153,6 +165,7 @@ func (UnimplementedQueryServer) Authority(context.Context, *QueryAuthorityReques return nil, status.Errorf(codes.Unimplemented, "method Authority not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -162,6 +175,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/cosmos/upgrade/v1beta1/tx_grpc.pb.go b/api/cosmos/upgrade/v1beta1/tx_grpc.pb.go index aa9a2d2c4f..6721ca8f39 100644 --- a/api/cosmos/upgrade/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/upgrade/v1beta1/tx_grpc.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/upgrade/v1beta1/tx.proto @@ -17,8 +17,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_SoftwareUpgrade_FullMethodName = "/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade" @@ -28,6 +28,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the upgrade Msg service. type MsgClient interface { // SoftwareUpgrade is a governance operation for initiating a software upgrade. // @@ -49,8 +51,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) SoftwareUpgrade(ctx context.Context, in *MsgSoftwareUpgrade, opts ...grpc.CallOption) (*MsgSoftwareUpgradeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSoftwareUpgradeResponse) - err := c.cc.Invoke(ctx, Msg_SoftwareUpgrade_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SoftwareUpgrade_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -58,8 +61,9 @@ func (c *msgClient) SoftwareUpgrade(ctx context.Context, in *MsgSoftwareUpgrade, } func (c *msgClient) CancelUpgrade(ctx context.Context, in *MsgCancelUpgrade, opts ...grpc.CallOption) (*MsgCancelUpgradeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelUpgradeResponse) - err := c.cc.Invoke(ctx, Msg_CancelUpgrade_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CancelUpgrade_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -68,7 +72,9 @@ func (c *msgClient) CancelUpgrade(ctx context.Context, in *MsgCancelUpgrade, opt // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the upgrade Msg service. type MsgServer interface { // SoftwareUpgrade is a governance operation for initiating a software upgrade. // @@ -82,9 +88,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) SoftwareUpgrade(context.Context, *MsgSoftwareUpgrade) (*MsgSoftwareUpgradeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SoftwareUpgrade not implemented") @@ -93,6 +102,7 @@ func (UnimplementedMsgServer) CancelUpgrade(context.Context, *MsgCancelUpgrade) return nil, status.Errorf(codes.Unimplemented, "method CancelUpgrade not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -102,6 +112,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/cosmos/upgrade/v1beta1/upgrade.pulsar.go b/api/cosmos/upgrade/v1beta1/upgrade.pulsar.go index 8bf1271591..6bf12971b0 100644 --- a/api/cosmos/upgrade/v1beta1/upgrade.pulsar.go +++ b/api/cosmos/upgrade/v1beta1/upgrade.pulsar.go @@ -2503,8 +2503,8 @@ var file_cosmos_upgrade_v1beta1_upgrade_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x18, 0x01, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, - 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x18, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x15, 0x75, 0x70, 0x67, 0x72, @@ -2523,41 +2523,41 @@ var file_cosmos_upgrade_v1beta1_upgrade_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x04, 0x70, 0x6c, 0x61, - 0x6e, 0x3a, 0x4b, 0x18, 0x01, 0xe8, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x8a, 0xe7, 0xb0, 0x2a, 0x22, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0xaa, + 0x6e, 0x3a, 0x4b, 0xe8, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x8a, 0xe7, 0xb0, 0x2a, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x18, 0x01, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x51, 0x18, 0x01, 0xe8, 0xa0, 0x1f, 0x01, - 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x8a, 0xe7, - 0xb0, 0x2a, 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x0d, 0x4d, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x51, 0xe8, 0xa0, 0x1f, 0x01, 0xca, 0xb4, + 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x8a, 0xe7, 0xb0, 0x2a, + 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x18, 0x01, 0x22, 0x43, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, - 0x42, 0xe0, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, - 0x0c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x55, 0x58, 0xaa, 0x02, 0x16, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, - 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xc8, - 0xe1, 0x1e, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x42, 0xe0, 0x01, 0xc8, 0xe1, 0x1e, 0x00, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x42, 0x0c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x75, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x75, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x55, + 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x3a, 0x3a, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/vesting/v1beta1/tx_grpc.pb.go b/api/cosmos/vesting/v1beta1/tx_grpc.pb.go index 13b9a67c5d..11ec935981 100644 --- a/api/cosmos/vesting/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/vesting/v1beta1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: cosmos/vesting/v1beta1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateVestingAccount_FullMethodName = "/cosmos.vesting.v1beta1.Msg/CreateVestingAccount" @@ -27,6 +27,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the bank Msg service. type MsgClient interface { // CreateVestingAccount defines a method that enables creating a vesting // account. @@ -52,8 +54,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateVestingAccount(ctx context.Context, in *MsgCreateVestingAccount, opts ...grpc.CallOption) (*MsgCreateVestingAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateVestingAccountResponse) - err := c.cc.Invoke(ctx, Msg_CreateVestingAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateVestingAccount_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -61,8 +64,9 @@ func (c *msgClient) CreateVestingAccount(ctx context.Context, in *MsgCreateVesti } func (c *msgClient) CreatePermanentLockedAccount(ctx context.Context, in *MsgCreatePermanentLockedAccount, opts ...grpc.CallOption) (*MsgCreatePermanentLockedAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreatePermanentLockedAccountResponse) - err := c.cc.Invoke(ctx, Msg_CreatePermanentLockedAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreatePermanentLockedAccount_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -70,8 +74,9 @@ func (c *msgClient) CreatePermanentLockedAccount(ctx context.Context, in *MsgCre } func (c *msgClient) CreatePeriodicVestingAccount(ctx context.Context, in *MsgCreatePeriodicVestingAccount, opts ...grpc.CallOption) (*MsgCreatePeriodicVestingAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreatePeriodicVestingAccountResponse) - err := c.cc.Invoke(ctx, Msg_CreatePeriodicVestingAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreatePeriodicVestingAccount_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -80,7 +85,9 @@ func (c *msgClient) CreatePeriodicVestingAccount(ctx context.Context, in *MsgCre // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the bank Msg service. type MsgServer interface { // CreateVestingAccount defines a method that enables creating a vesting // account. @@ -98,9 +105,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateVestingAccount(context.Context, *MsgCreateVestingAccount) (*MsgCreateVestingAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateVestingAccount not implemented") @@ -112,6 +122,7 @@ func (UnimplementedMsgServer) CreatePeriodicVestingAccount(context.Context, *Msg return nil, status.Errorf(codes.Unimplemented, "method CreatePeriodicVestingAccount not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -121,6 +132,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/go.mod b/api/go.mod index 81267c864c..7404302cd2 100644 --- a/api/go.mod +++ b/api/go.mod @@ -5,17 +5,15 @@ go 1.23 require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/gogoproto v1.7.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 - google.golang.org/grpc v1.62.1 - google.golang.org/protobuf v1.33.0 + google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b + google.golang.org/grpc v1.70.0 + google.golang.org/protobuf v1.36.5 ) require ( - github.com/golang/protobuf v1.5.4 // indirect github.com/google/go-cmp v0.6.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect + golang.org/x/net v0.35.0 // indirect + golang.org/x/sys v0.30.0 // indirect + golang.org/x/text v0.22.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b // indirect ) diff --git a/api/go.sum b/api/go.sum index e1cbdeef55..eda2272a3d 100644 --- a/api/go.sum +++ b/api/go.sum @@ -2,23 +2,37 @@ github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+R github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= -google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= -google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 h1:Lj5rbfG876hIAYFjqiJnPHfhXbv+nzTWfm04Fg/XSVU= -google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= -google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= +go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= +go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= +go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= +go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= +go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= +go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= +go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= +go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= +go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= +golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b h1:i+d0RZa8Hs2L/MuaOQYI+krthcxdEbEM2N+Tf3kJ4zk= +google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b/go.mod h1:iYONQfRdizDB8JJBybql13nArx91jcUk7zCXEsOofM4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b h1:FQtJ1MxbXoIIrZHZ33M+w5+dAP9o86rgpjoKr/ZmT7k= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b/go.mod h1:8BS3B93F/U1juMFq9+EDk+qOT5CO1R9IzXxG3PTqiRk= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= diff --git a/api/tendermint/abci/types_grpc.pb.go b/api/tendermint/abci/types_grpc.pb.go index 108925f474..11bd3bd1af 100644 --- a/api/tendermint/abci/types_grpc.pb.go +++ b/api/tendermint/abci/types_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: tendermint/abci/types.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ABCI_Echo_FullMethodName = "/tendermint.abci.ABCI/Echo" @@ -68,8 +68,9 @@ func NewABCIClient(cc grpc.ClientConnInterface) ABCIClient { } func (c *aBCIClient) Echo(ctx context.Context, in *RequestEcho, opts ...grpc.CallOption) (*ResponseEcho, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseEcho) - err := c.cc.Invoke(ctx, ABCI_Echo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_Echo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -77,8 +78,9 @@ func (c *aBCIClient) Echo(ctx context.Context, in *RequestEcho, opts ...grpc.Cal } func (c *aBCIClient) Flush(ctx context.Context, in *RequestFlush, opts ...grpc.CallOption) (*ResponseFlush, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseFlush) - err := c.cc.Invoke(ctx, ABCI_Flush_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_Flush_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -86,8 +88,9 @@ func (c *aBCIClient) Flush(ctx context.Context, in *RequestFlush, opts ...grpc.C } func (c *aBCIClient) Info(ctx context.Context, in *RequestInfo, opts ...grpc.CallOption) (*ResponseInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseInfo) - err := c.cc.Invoke(ctx, ABCI_Info_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_Info_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -95,8 +98,9 @@ func (c *aBCIClient) Info(ctx context.Context, in *RequestInfo, opts ...grpc.Cal } func (c *aBCIClient) CheckTx(ctx context.Context, in *RequestCheckTx, opts ...grpc.CallOption) (*ResponseCheckTx, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseCheckTx) - err := c.cc.Invoke(ctx, ABCI_CheckTx_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_CheckTx_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -104,8 +108,9 @@ func (c *aBCIClient) CheckTx(ctx context.Context, in *RequestCheckTx, opts ...gr } func (c *aBCIClient) Query(ctx context.Context, in *RequestQuery, opts ...grpc.CallOption) (*ResponseQuery, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseQuery) - err := c.cc.Invoke(ctx, ABCI_Query_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_Query_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -113,8 +118,9 @@ func (c *aBCIClient) Query(ctx context.Context, in *RequestQuery, opts ...grpc.C } func (c *aBCIClient) Commit(ctx context.Context, in *RequestCommit, opts ...grpc.CallOption) (*ResponseCommit, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseCommit) - err := c.cc.Invoke(ctx, ABCI_Commit_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_Commit_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -122,8 +128,9 @@ func (c *aBCIClient) Commit(ctx context.Context, in *RequestCommit, opts ...grpc } func (c *aBCIClient) InitChain(ctx context.Context, in *RequestInitChain, opts ...grpc.CallOption) (*ResponseInitChain, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseInitChain) - err := c.cc.Invoke(ctx, ABCI_InitChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_InitChain_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -131,8 +138,9 @@ func (c *aBCIClient) InitChain(ctx context.Context, in *RequestInitChain, opts . } func (c *aBCIClient) ListSnapshots(ctx context.Context, in *RequestListSnapshots, opts ...grpc.CallOption) (*ResponseListSnapshots, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseListSnapshots) - err := c.cc.Invoke(ctx, ABCI_ListSnapshots_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_ListSnapshots_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -140,8 +148,9 @@ func (c *aBCIClient) ListSnapshots(ctx context.Context, in *RequestListSnapshots } func (c *aBCIClient) OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseOfferSnapshot) - err := c.cc.Invoke(ctx, ABCI_OfferSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_OfferSnapshot_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -149,8 +158,9 @@ func (c *aBCIClient) OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot } func (c *aBCIClient) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseLoadSnapshotChunk) - err := c.cc.Invoke(ctx, ABCI_LoadSnapshotChunk_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_LoadSnapshotChunk_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,8 +168,9 @@ func (c *aBCIClient) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnaps } func (c *aBCIClient) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseApplySnapshotChunk) - err := c.cc.Invoke(ctx, ABCI_ApplySnapshotChunk_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_ApplySnapshotChunk_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -167,8 +178,9 @@ func (c *aBCIClient) ApplySnapshotChunk(ctx context.Context, in *RequestApplySna } func (c *aBCIClient) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponsePrepareProposal) - err := c.cc.Invoke(ctx, ABCI_PrepareProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_PrepareProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -176,8 +188,9 @@ func (c *aBCIClient) PrepareProposal(ctx context.Context, in *RequestPrepareProp } func (c *aBCIClient) ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseProcessProposal) - err := c.cc.Invoke(ctx, ABCI_ProcessProposal_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_ProcessProposal_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -185,8 +198,9 @@ func (c *aBCIClient) ProcessProposal(ctx context.Context, in *RequestProcessProp } func (c *aBCIClient) ExtendVote(ctx context.Context, in *RequestExtendVote, opts ...grpc.CallOption) (*ResponseExtendVote, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseExtendVote) - err := c.cc.Invoke(ctx, ABCI_ExtendVote_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_ExtendVote_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -194,8 +208,9 @@ func (c *aBCIClient) ExtendVote(ctx context.Context, in *RequestExtendVote, opts } func (c *aBCIClient) VerifyVoteExtension(ctx context.Context, in *RequestVerifyVoteExtension, opts ...grpc.CallOption) (*ResponseVerifyVoteExtension, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseVerifyVoteExtension) - err := c.cc.Invoke(ctx, ABCI_VerifyVoteExtension_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_VerifyVoteExtension_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -203,8 +218,9 @@ func (c *aBCIClient) VerifyVoteExtension(ctx context.Context, in *RequestVerifyV } func (c *aBCIClient) FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ResponseFinalizeBlock) - err := c.cc.Invoke(ctx, ABCI_FinalizeBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ABCI_FinalizeBlock_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -213,7 +229,7 @@ func (c *aBCIClient) FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock // ABCIServer is the server API for ABCI service. // All implementations must embed UnimplementedABCIServer -// for forward compatibility +// for forward compatibility. type ABCIServer interface { Echo(context.Context, *RequestEcho) (*ResponseEcho, error) Flush(context.Context, *RequestFlush) (*ResponseFlush, error) @@ -234,9 +250,12 @@ type ABCIServer interface { mustEmbedUnimplementedABCIServer() } -// UnimplementedABCIServer must be embedded to have forward compatible implementations. -type UnimplementedABCIServer struct { -} +// UnimplementedABCIServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedABCIServer struct{} func (UnimplementedABCIServer) Echo(context.Context, *RequestEcho) (*ResponseEcho, error) { return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") @@ -287,6 +306,7 @@ func (UnimplementedABCIServer) FinalizeBlock(context.Context, *RequestFinalizeBl return nil, status.Errorf(codes.Unimplemented, "method FinalizeBlock not implemented") } func (UnimplementedABCIServer) mustEmbedUnimplementedABCIServer() {} +func (UnimplementedABCIServer) testEmbeddedByValue() {} // UnsafeABCIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ABCIServer will @@ -296,6 +316,13 @@ type UnsafeABCIServer interface { } func RegisterABCIServer(s grpc.ServiceRegistrar, srv ABCIServer) { + // If the following call pancis, it indicates UnimplementedABCIServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ABCI_ServiceDesc, srv) } diff --git a/api/tendermint/types/params.pulsar.go b/api/tendermint/types/params.pulsar.go index 183bbd907b..8045bb7863 100644 --- a/api/tendermint/types/params.pulsar.go +++ b/api/tendermint/types/params.pulsar.go @@ -3908,17 +3908,17 @@ var file_tendermint_types_params_proto_rawDesc = []byte{ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x76, 0x6f, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0xab, - 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x21, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, - 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x54, 0x54, 0x58, 0xaa, - 0x02, 0x10, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0xca, 0x02, 0x10, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, - 0x54, 0x79, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x1c, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x74, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x0b, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x21, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0xa2, 0x02, 0x03, + 0x54, 0x54, 0x58, 0xaa, 0x02, 0x10, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0xca, 0x02, 0x10, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x74, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0xe2, 0x02, 0x1c, 0x54, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x54, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/baseapp/testutil/messages.pb.go b/baseapp/testutil/messages.pb.go index 2884ff0f64..14275077ea 100644 --- a/baseapp/testutil/messages.pb.go +++ b/baseapp/testutil/messages.pb.go @@ -388,6 +388,7 @@ func _Counter_IncrementCounter_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +var Counter_serviceDesc = _Counter_serviceDesc var _Counter_serviceDesc = grpc.ServiceDesc{ ServiceName: "Counter", HandlerType: (*CounterServer)(nil), @@ -460,6 +461,7 @@ func _Counter2_IncrementCounter_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +var Counter2_serviceDesc = _Counter2_serviceDesc var _Counter2_serviceDesc = grpc.ServiceDesc{ ServiceName: "Counter2", HandlerType: (*Counter2Server)(nil), @@ -532,6 +534,7 @@ func _KeyValue_Set_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +var KeyValue_serviceDesc = _KeyValue_serviceDesc var _KeyValue_serviceDesc = grpc.ServiceDesc{ ServiceName: "KeyValue", HandlerType: (*KeyValueServer)(nil), diff --git a/client/grpc/cmtservice/query.pb.go b/client/grpc/cmtservice/query.pb.go index d745dca186..b0bde63432 100644 --- a/client/grpc/cmtservice/query.pb.go +++ b/client/grpc/cmtservice/query.pb.go @@ -1566,6 +1566,7 @@ func _Service_ABCIQuery_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Service_serviceDesc = _Service_serviceDesc var _Service_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.base.tendermint.v1beta1.Service", HandlerType: (*ServiceServer)(nil), diff --git a/client/grpc/node/query.pb.go b/client/grpc/node/query.pb.go index a2c96dc1ec..4bf0fe8ddc 100644 --- a/client/grpc/node/query.pb.go +++ b/client/grpc/node/query.pb.go @@ -404,6 +404,7 @@ func _Service_Status_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +var Service_serviceDesc = _Service_serviceDesc var _Service_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.base.node.v1beta1.Service", HandlerType: (*ServiceServer)(nil), diff --git a/client/grpc/reflection/reflection.pb.go b/client/grpc/reflection/reflection.pb.go index 3c207e94fe..d54b1f6001 100644 --- a/client/grpc/reflection/reflection.pb.go +++ b/client/grpc/reflection/reflection.pb.go @@ -351,6 +351,7 @@ func _ReflectionService_ListImplementations_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +var ReflectionService_serviceDesc = _ReflectionService_serviceDesc var _ReflectionService_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.base.reflection.v1beta1.ReflectionService", HandlerType: (*ReflectionServiceServer)(nil), diff --git a/contrib/devtools/Dockerfile b/contrib/devtools/Dockerfile index 5fb16a1896..3aac7a1379 100644 --- a/contrib/devtools/Dockerfile +++ b/contrib/devtools/Dockerfile @@ -2,8 +2,8 @@ # docker build --pull --rm -f "contrib/devtools/Dockerfile" -t cosmossdk-proto:latest "contrib/devtools" # docker run --rm -v $(pwd):/workspace --workdir /workspace cosmossdk-proto sh ./scripts/protocgen.sh -FROM bufbuild/buf:1.36.0 as BUILDER -FROM golang:1.23-alpine +FROM bufbuild/buf:1.50.0 AS builder +FROM golang:1.24-alpine RUN apk add --no-cache \ nodejs \ @@ -37,4 +37,4 @@ RUN git clone https://github.com/cosmos/gogoproto.git; \ go mod download; \ make install -COPY --from=BUILDER /usr/local/bin /usr/local/bin +COPY --from=builder /usr/local/bin /usr/local/bin diff --git a/proto/cosmos/app/runtime/v1alpha1/module.proto b/proto/cosmos/app/runtime/v1alpha1/module.proto index c026121702..516156dcb7 100644 --- a/proto/cosmos/app/runtime/v1alpha1/module.proto +++ b/proto/cosmos/app/runtime/v1alpha1/module.proto @@ -38,6 +38,11 @@ message Module { // to be used in keeper construction. repeated StoreKeyConfig override_store_keys = 6; + // skip_store_keys is an optional list of store keys to skip when constructing the + // module's keeper. This is useful when a module does not have a store key. + // NOTE: the provided environment variable will have a fake store service. + repeated string skip_store_keys = 11; + // order_migrations defines the order in which module migrations are performed. // If this is left empty, it uses the default migration order. // https://pkg.go.dev/github.com/cosmos/cosmos-sdk@v0.47.0-alpha2/types/module#DefaultMigrationsOrder @@ -52,6 +57,11 @@ message Module { // to call in the order in which they should be called. If this is left empty // no preparecheckstate function will be registered. repeated string prepare_check_staters = 9; + + // pre_blockers specifies the module names of pre blockers + // to call in the order in which they should be called. If this is left empty + // no pre blocker will be registered. + repeated string pre_blockers = 10; } // StoreKeyConfig may be supplied to override the default module store key, which diff --git a/proto/cosmos/app/v1alpha1/config.proto b/proto/cosmos/app/v1alpha1/config.proto index ee3e70659e..1aac4b4396 100644 --- a/proto/cosmos/app/v1alpha1/config.proto +++ b/proto/cosmos/app/v1alpha1/config.proto @@ -4,6 +4,8 @@ package cosmos.app.v1alpha1; import "google/protobuf/any.proto"; +option go_package = "cosmossdk.io/depinject/appconfig/v1alpha1"; + // Config represents the configuration for a Cosmos SDK ABCI app. // It is intended that all state machine logic including the version of // baseapp and tx handlers (and possibly even Tendermint) that an app needs diff --git a/proto/cosmos/app/v1alpha1/module.proto b/proto/cosmos/app/v1alpha1/module.proto index e541378650..ea475f35e1 100644 --- a/proto/cosmos/app/v1alpha1/module.proto +++ b/proto/cosmos/app/v1alpha1/module.proto @@ -4,6 +4,8 @@ package cosmos.app.v1alpha1; import "google/protobuf/descriptor.proto"; +option go_package = "cosmossdk.io/depinject/appconfig/v1alpha1"; + extend google.protobuf.MessageOptions { // module indicates that this proto type is a config object for an app module // and optionally provides other descriptive information about the module. diff --git a/proto/cosmos/app/v1alpha1/query.proto b/proto/cosmos/app/v1alpha1/query.proto index efec9c81ad..a51aea691d 100644 --- a/proto/cosmos/app/v1alpha1/query.proto +++ b/proto/cosmos/app/v1alpha1/query.proto @@ -4,17 +4,21 @@ package cosmos.app.v1alpha1; import "cosmos/app/v1alpha1/config.proto"; +option go_package = "cosmossdk.io/depinject/appconfig/v1alpha1"; + // Query is the app module query service. service Query { // Config returns the current app config. - rpc Config(QueryConfigRequest) returns (QueryConfigResponse) {} + rpc Config(QueryConfigRequest) returns (QueryConfigResponse) { + option deprecated = true; + } } // QueryConfigRequest is the Query/Config request type. message QueryConfigRequest {} -// QueryConfigRequest is the Query/Config response type. +// QueryConfigResponse is the Query/Config response type. message QueryConfigResponse { // config is the current app config. diff --git a/server/grpc/reflection/v2alpha1/reflection.pb.go b/server/grpc/reflection/v2alpha1/reflection.pb.go index 360e4440e8..260a44d175 100644 --- a/server/grpc/reflection/v2alpha1/reflection.pb.go +++ b/server/grpc/reflection/v2alpha1/reflection.pb.go @@ -1677,6 +1677,7 @@ func _ReflectionService_GetTxDescriptor_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +var ReflectionService_serviceDesc = _ReflectionService_serviceDesc var _ReflectionService_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.base.reflection.v2alpha1.ReflectionService", HandlerType: (*ReflectionServiceServer)(nil), diff --git a/store/streaming/abci/grpc.pb.go b/store/streaming/abci/grpc.pb.go index 77ae842ad4..358bcaa7dc 100644 --- a/store/streaming/abci/grpc.pb.go +++ b/store/streaming/abci/grpc.pb.go @@ -362,6 +362,7 @@ func _ABCIListenerService_ListenCommit_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +var ABCIListenerService_serviceDesc = _ABCIListenerService_serviceDesc var _ABCIListenerService_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.store.streaming.abci.ABCIListenerService", HandlerType: (*ABCIListenerServiceServer)(nil), diff --git a/tests/integration/tx/internal/gogo/testpb/test.pb.go b/tests/integration/tx/internal/gogo/testpb/test.pb.go index e84c944140..a9bcb1000c 100644 --- a/tests/integration/tx/internal/gogo/testpb/test.pb.go +++ b/tests/integration/tx/internal/gogo/testpb/test.pb.go @@ -406,6 +406,7 @@ func _IntegrationTxTestMsg_TestFields_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +var IntegrationTxTestMsg_serviceDesc = _IntegrationTxTestMsg_serviceDesc var _IntegrationTxTestMsg_serviceDesc = grpc.ServiceDesc{ ServiceName: "testpb.IntegrationTxTestMsg", HandlerType: (*IntegrationTxTestMsgServer)(nil), diff --git a/testutil/testdata/query.pb.go b/testutil/testdata/query.pb.go index d104840c5d..315e410328 100644 --- a/testutil/testdata/query.pb.go +++ b/testutil/testdata/query.pb.go @@ -461,6 +461,7 @@ func _Query_TestAny_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "testpb.Query", HandlerType: (*QueryServer)(nil), diff --git a/testutil/testdata/testpb/query_grpc.pb.go b/testutil/testdata/testpb/query_grpc.pb.go index 565a93499d..386b2e21a3 100644 --- a/testutil/testdata/testpb/query_grpc.pb.go +++ b/testutil/testdata/testpb/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: testpb/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Echo_FullMethodName = "/testpb.Query/Echo" @@ -27,6 +27,9 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query tests the protobuf Query service as defined in +// https://github.com/cosmos/cosmos-sdk/issues/5921. type QueryClient interface { Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) SayHello(ctx context.Context, in *SayHelloRequest, opts ...grpc.CallOption) (*SayHelloResponse, error) @@ -42,8 +45,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(EchoResponse) - err := c.cc.Invoke(ctx, Query_Echo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Echo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,8 +55,9 @@ func (c *queryClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.Ca } func (c *queryClient) SayHello(ctx context.Context, in *SayHelloRequest, opts ...grpc.CallOption) (*SayHelloResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SayHelloResponse) - err := c.cc.Invoke(ctx, Query_SayHello_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SayHello_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -60,8 +65,9 @@ func (c *queryClient) SayHello(ctx context.Context, in *SayHelloRequest, opts .. } func (c *queryClient) TestAny(ctx context.Context, in *TestAnyRequest, opts ...grpc.CallOption) (*TestAnyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(TestAnyResponse) - err := c.cc.Invoke(ctx, Query_TestAny_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_TestAny_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -70,7 +76,10 @@ func (c *queryClient) TestAny(ctx context.Context, in *TestAnyRequest, opts ...g // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query tests the protobuf Query service as defined in +// https://github.com/cosmos/cosmos-sdk/issues/5921. type QueryServer interface { Echo(context.Context, *EchoRequest) (*EchoResponse, error) SayHello(context.Context, *SayHelloRequest) (*SayHelloResponse, error) @@ -78,9 +87,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") @@ -92,6 +104,7 @@ func (UnimplementedQueryServer) TestAny(context.Context, *TestAnyRequest) (*Test return nil, status.Errorf(codes.Unimplemented, "method TestAny not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -101,6 +114,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/testutil/testdata/testpb/tx_grpc.pb.go b/testutil/testdata/testpb/tx_grpc.pb.go index 3971c84d77..357c72b368 100644 --- a/testutil/testdata/testpb/tx_grpc.pb.go +++ b/testutil/testdata/testpb/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: testpb/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateDog_FullMethodName = "/testpb.Msg/CreateDog" @@ -25,6 +25,9 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg tests the Protobuf message service as defined in +// https://github.com/cosmos/cosmos-sdk/issues/7500. type MsgClient interface { CreateDog(ctx context.Context, in *MsgCreateDog, opts ...grpc.CallOption) (*MsgCreateDogResponse, error) } @@ -38,8 +41,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateDog(ctx context.Context, in *MsgCreateDog, opts ...grpc.CallOption) (*MsgCreateDogResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateDogResponse) - err := c.cc.Invoke(ctx, Msg_CreateDog_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateDog_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -48,20 +52,27 @@ func (c *msgClient) CreateDog(ctx context.Context, in *MsgCreateDog, opts ...grp // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg tests the Protobuf message service as defined in +// https://github.com/cosmos/cosmos-sdk/issues/7500. type MsgServer interface { CreateDog(context.Context, *MsgCreateDog) (*MsgCreateDogResponse, error) mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateDog(context.Context, *MsgCreateDog) (*MsgCreateDogResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateDog not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -71,6 +82,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/testutil/testdata/tx.pb.go b/testutil/testdata/tx.pb.go index e2d416faa4..904eb4037e 100644 --- a/testutil/testdata/tx.pb.go +++ b/testutil/testdata/tx.pb.go @@ -266,6 +266,7 @@ func _Msg_CreateDog_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "testpb.Msg", HandlerType: (*MsgServer)(nil), diff --git a/types/tx/service.pb.go b/types/tx/service.pb.go index 03dccdd83a..84ae3d51c8 100644 --- a/types/tx/service.pb.go +++ b/types/tx/service.pb.go @@ -1589,6 +1589,7 @@ func _Service_TxDecodeAmino_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +var Service_serviceDesc = _Service_serviceDesc var _Service_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.tx.v1beta1.Service", HandlerType: (*ServiceServer)(nil), diff --git a/x/auth/types/query.pb.go b/x/auth/types/query.pb.go index 72910ef780..552a9efb15 100644 --- a/x/auth/types/query.pb.go +++ b/x/auth/types/query.pb.go @@ -1467,6 +1467,7 @@ func _Query_AccountInfo_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.auth.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/auth/types/tx.pb.go b/x/auth/types/tx.pb.go index 7214842181..2ed8bf4948 100644 --- a/x/auth/types/tx.pb.go +++ b/x/auth/types/tx.pb.go @@ -238,6 +238,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.auth.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/auth/vesting/types/tx.pb.go b/x/auth/vesting/types/tx.pb.go index 2d46bb32da..146cd622a9 100644 --- a/x/auth/vesting/types/tx.pb.go +++ b/x/auth/vesting/types/tx.pb.go @@ -654,6 +654,7 @@ func _Msg_CreatePeriodicVestingAccount_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.vesting.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/authz/query.pb.go b/x/authz/query.pb.go index 09dc195149..29507dc0df 100644 --- a/x/authz/query.pb.go +++ b/x/authz/query.pb.go @@ -568,6 +568,7 @@ func _Query_GranteeGrants_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.authz.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/authz/tx.pb.go b/x/authz/tx.pb.go index efbb15db7c..d27d3521cd 100644 --- a/x/authz/tx.pb.go +++ b/x/authz/tx.pb.go @@ -469,6 +469,7 @@ func _Msg_Revoke_Handler(srv interface{}, ctx context.Context, dec func(interfac return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.authz.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/bank/types/query.pb.go b/x/bank/types/query.pb.go index 7ad5511381..72d7269f92 100644 --- a/x/bank/types/query.pb.go +++ b/x/bank/types/query.pb.go @@ -2058,6 +2058,7 @@ func _Query_SendEnabled_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.bank.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/bank/types/tx.pb.go b/x/bank/types/tx.pb.go index 74171878e6..98bcf13347 100644 --- a/x/bank/types/tx.pb.go +++ b/x/bank/types/tx.pb.go @@ -661,6 +661,7 @@ func _Msg_SetSendEnabled_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.bank.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/circuit/types/query.pb.go b/x/circuit/types/query.pb.go index 3933e44326..d088b51d46 100644 --- a/x/circuit/types/query.pb.go +++ b/x/circuit/types/query.pb.go @@ -486,6 +486,7 @@ func _Query_DisabledList_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.circuit.v1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/circuit/types/tx.pb.go b/x/circuit/types/tx.pb.go index df1f62291b..dd79d476f2 100644 --- a/x/circuit/types/tx.pb.go +++ b/x/circuit/types/tx.pb.go @@ -529,6 +529,7 @@ func _Msg_ResetCircuitBreaker_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.circuit.v1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/consensus/types/query.pb.go b/x/consensus/types/query.pb.go index 6d237edd87..462e0b5481 100644 --- a/x/consensus/types/query.pb.go +++ b/x/consensus/types/query.pb.go @@ -212,6 +212,7 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.consensus.v1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/consensus/types/tx.pb.go b/x/consensus/types/tx.pb.go index a954f8ec03..f0f2792927 100644 --- a/x/consensus/types/tx.pb.go +++ b/x/consensus/types/tx.pb.go @@ -266,6 +266,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.consensus.v1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/crisis/types/tx.pb.go b/x/crisis/types/tx.pb.go index 96458da252..6bac94d736 100644 --- a/x/crisis/types/tx.pb.go +++ b/x/crisis/types/tx.pb.go @@ -363,6 +363,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.crisis.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/distribution/types/query.pb.go b/x/distribution/types/query.pb.go index e9e883840a..8321dd4b27 100644 --- a/x/distribution/types/query.pb.go +++ b/x/distribution/types/query.pb.go @@ -1440,6 +1440,7 @@ func _Query_CommunityPool_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.distribution.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/distribution/types/tx.pb.go b/x/distribution/types/tx.pb.go index b38aa0cc0f..5ebcf8b794 100644 --- a/x/distribution/types/tx.pb.go +++ b/x/distribution/types/tx.pb.go @@ -1265,6 +1265,7 @@ func _Msg_DepositValidatorRewardsPool_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.distribution.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/evidence/types/query.pb.go b/x/evidence/types/query.pb.go index 655a454a77..c1b10af907 100644 --- a/x/evidence/types/query.pb.go +++ b/x/evidence/types/query.pb.go @@ -383,6 +383,7 @@ func _Query_AllEvidence_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.evidence.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/evidence/types/tx.pb.go b/x/evidence/types/tx.pb.go index 2b11405a2e..661e5ba5ab 100644 --- a/x/evidence/types/tx.pb.go +++ b/x/evidence/types/tx.pb.go @@ -252,6 +252,7 @@ func _Msg_SubmitEvidence_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.evidence.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/feegrant/query.pb.go b/x/feegrant/query.pb.go index a4673fc233..555b706aa0 100644 --- a/x/feegrant/query.pb.go +++ b/x/feegrant/query.pb.go @@ -544,6 +544,7 @@ func _Query_AllowancesByGranter_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.feegrant.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/feegrant/tx.pb.go b/x/feegrant/tx.pb.go index 7646b28741..93c5fbc894 100644 --- a/x/feegrant/tx.pb.go +++ b/x/feegrant/tx.pb.go @@ -501,6 +501,7 @@ func _Msg_PruneAllowances_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.feegrant.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/gov/types/v1/query.pb.go b/x/gov/types/v1/query.pb.go index 7233129c6a..77bfd5cbbd 100644 --- a/x/gov/types/v1/query.pb.go +++ b/x/gov/types/v1/query.pb.go @@ -1407,6 +1407,7 @@ func _Query_TallyResult_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.gov.v1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/gov/types/v1/tx.pb.go b/x/gov/types/v1/tx.pb.go index 6a37c7c031..36a57aaa8f 100644 --- a/x/gov/types/v1/tx.pb.go +++ b/x/gov/types/v1/tx.pb.go @@ -1204,6 +1204,7 @@ func _Msg_CancelProposal_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.gov.v1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/gov/types/v1beta1/query.pb.go b/x/gov/types/v1beta1/query.pb.go index 36b0cd1933..eec6c4ec09 100644 --- a/x/gov/types/v1beta1/query.pb.go +++ b/x/gov/types/v1beta1/query.pb.go @@ -1217,6 +1217,7 @@ func _Query_TallyResult_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.gov.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/gov/types/v1beta1/tx.pb.go b/x/gov/types/v1beta1/tx.pb.go index 80d6fe1f1f..f919a1193c 100644 --- a/x/gov/types/v1beta1/tx.pb.go +++ b/x/gov/types/v1beta1/tx.pb.go @@ -607,6 +607,7 @@ func _Msg_Deposit_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.gov.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/group/query.pb.go b/x/group/query.pb.go index 6e3d073334..6cbdf25bc9 100644 --- a/x/group/query.pb.go +++ b/x/group/query.pb.go @@ -2128,6 +2128,7 @@ func _Query_Groups_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.group.v1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/group/tx.pb.go b/x/group/tx.pb.go index 51cd22261f..4f1ac1b94c 100644 --- a/x/group/tx.pb.go +++ b/x/group/tx.pb.go @@ -2109,6 +2109,7 @@ func _Msg_LeaveGroup_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.group.v1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/mint/types/query.pb.go b/x/mint/types/query.pb.go index 838e86a840..f2fb9a105a 100644 --- a/x/mint/types/query.pb.go +++ b/x/mint/types/query.pb.go @@ -453,6 +453,7 @@ func _Query_AnnualProvisions_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.mint.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/mint/types/tx.pb.go b/x/mint/types/tx.pb.go index e4a8f909db..5f42012a4e 100644 --- a/x/mint/types/tx.pb.go +++ b/x/mint/types/tx.pb.go @@ -238,6 +238,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.mint.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/nft/query.pb.go b/x/nft/query.pb.go index 25157b8ded..6842d5eeea 100644 --- a/x/nft/query.pb.go +++ b/x/nft/query.pb.go @@ -1079,6 +1079,7 @@ func _Query_Classes_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.nft.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/nft/tx.pb.go b/x/nft/tx.pb.go index 46ea9ca5e3..281bba9a03 100644 --- a/x/nft/tx.pb.go +++ b/x/nft/tx.pb.go @@ -238,6 +238,7 @@ func _Msg_Send_Handler(srv interface{}, ctx context.Context, dec func(interface{ return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.nft.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/params/types/proposal/query.pb.go b/x/params/types/proposal/query.pb.go index a475a1d645..03f72eb959 100644 --- a/x/params/types/proposal/query.pb.go +++ b/x/params/types/proposal/query.pb.go @@ -425,6 +425,7 @@ func _Query_Subspaces_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.params.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/slashing/types/query.pb.go b/x/slashing/types/query.pb.go index 5b9a6305d4..247b02d654 100644 --- a/x/slashing/types/query.pb.go +++ b/x/slashing/types/query.pb.go @@ -499,6 +499,7 @@ func _Query_SigningInfos_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.slashing.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/slashing/types/tx.pb.go b/x/slashing/types/tx.pb.go index 69843e86c2..1d5c21e4b8 100644 --- a/x/slashing/types/tx.pb.go +++ b/x/slashing/types/tx.pb.go @@ -454,6 +454,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.slashing.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/staking/types/query.pb.go b/x/staking/types/query.pb.go index d136f03e6b..2cae9f8bf2 100644 --- a/x/staking/types/query.pb.go +++ b/x/staking/types/query.pb.go @@ -2078,6 +2078,7 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.staking.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 0f8b583e7a..dae487a8af 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1404,707 +1404,789 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11200 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x69, 0x90, 0x1c, 0xd7, - 0x79, 0xd8, 0xce, 0x3d, 0xf3, 0xcd, 0xd5, 0xfb, 0x76, 0x01, 0x2c, 0x06, 0xe4, 0xee, 0xa2, 0x29, - 0x12, 0x20, 0x48, 0x2e, 0x48, 0x90, 0x00, 0xc9, 0x85, 0x28, 0x66, 0x66, 0x76, 0xb0, 0x18, 0x70, - 0x2f, 0xf6, 0xcc, 0x42, 0x24, 0x6d, 0xab, 0xdd, 0xdb, 0xf3, 0x76, 0xb7, 0x89, 0x99, 0xee, 0x51, - 0x77, 0x0f, 0xb0, 0xcb, 0x4a, 0xa5, 0xe4, 0xc8, 0x4e, 0x64, 0xf8, 0x88, 0x1c, 0xbb, 0x6c, 0xd9, - 0x12, 0x6c, 0xc9, 0x8e, 0x6d, 0xd9, 0xb9, 0x7c, 0x28, 0x3e, 0xe2, 0x8a, 0x63, 0xe7, 0xb4, 0x5d, - 0x39, 0x14, 0xff, 0x48, 0x9c, 0x54, 0x99, 0xb1, 0x29, 0x57, 0xac, 0xc8, 0x72, 0xe2, 0x83, 0x4e, - 0x9c, 0x52, 0x25, 0x95, 0x7a, 0x57, 0x1f, 0x73, 0xec, 0xcc, 0x42, 0xa4, 0xac, 0xd8, 0xf9, 0x03, - 0x4c, 0x7f, 0xef, 0xfb, 0xbe, 0xf7, 0xde, 0xf7, 0xbe, 0xf7, 0xbd, 0xef, 0xfb, 0xde, 0xb1, 0xf0, - 0xdb, 0x15, 0x58, 0xdc, 0xb3, 0xac, 0xbd, 0x36, 0xbe, 0xd8, 0xb5, 0x2d, 0xd7, 0xda, 0xe9, 0xed, - 0x5e, 0x6c, 0x61, 0x47, 0xb7, 0x8d, 0xae, 0x6b, 0xd9, 0x4b, 0x14, 0x86, 0x8a, 0x0c, 0x63, 0x49, - 0x60, 0xc8, 0xeb, 0x30, 0x7d, 0xcd, 0x68, 0xe3, 0x15, 0x0f, 0xb1, 0x81, 0x5d, 0xf4, 0x1c, 0xc4, - 0x77, 0x8d, 0x36, 0x9e, 0x8b, 0x2c, 0xc6, 0xce, 0x67, 0x2f, 0xbd, 0x67, 0xa9, 0x8f, 0x68, 0x29, - 0x4c, 0xb1, 0x45, 0xc0, 0x0a, 0xa5, 0x90, 0xff, 0x4f, 0x1c, 0x66, 0x86, 0x94, 0x22, 0x04, 0x71, - 0x53, 0xeb, 0x10, 0x8e, 0x91, 0xf3, 0x19, 0x85, 0xfe, 0x46, 0x73, 0x90, 0xea, 0x6a, 0xfa, 0x2d, - 0x6d, 0x0f, 0xcf, 0x45, 0x29, 0x58, 0x7c, 0xa2, 0x79, 0x80, 0x16, 0xee, 0x62, 0xb3, 0x85, 0x4d, - 0xfd, 0x70, 0x2e, 0xb6, 0x18, 0x3b, 0x9f, 0x51, 0x02, 0x10, 0xf4, 0x18, 0x4c, 0x77, 0x7b, 0x3b, - 0x6d, 0x43, 0x57, 0x03, 0x68, 0xb0, 0x18, 0x3b, 0x9f, 0x50, 0x24, 0x56, 0xb0, 0xe2, 0x23, 0x9f, - 0x83, 0xe2, 0x1d, 0xac, 0xdd, 0x0a, 0xa2, 0x66, 0x29, 0x6a, 0x81, 0x80, 0x03, 0x88, 0x55, 0xc8, - 0x75, 0xb0, 0xe3, 0x68, 0x7b, 0x58, 0x75, 0x0f, 0xbb, 0x78, 0x2e, 0x4e, 0x7b, 0xbf, 0x38, 0xd0, - 0xfb, 0xfe, 0x9e, 0x67, 0x39, 0x55, 0xf3, 0xb0, 0x8b, 0x51, 0x19, 0x32, 0xd8, 0xec, 0x75, 0x18, - 0x87, 0xc4, 0x08, 0xf9, 0xd5, 0xcc, 0x5e, 0xa7, 0x9f, 0x4b, 0x9a, 0x90, 0x71, 0x16, 0x29, 0x07, - 0xdb, 0xb7, 0x0d, 0x1d, 0xcf, 0x25, 0x29, 0x83, 0x73, 0x03, 0x0c, 0x1a, 0xac, 0xbc, 0x9f, 0x87, - 0xa0, 0x43, 0x55, 0xc8, 0xe0, 0x03, 0x17, 0x9b, 0x8e, 0x61, 0x99, 0x73, 0x29, 0xca, 0xe4, 0xe1, - 0x21, 0xa3, 0x88, 0xdb, 0xad, 0x7e, 0x16, 0x3e, 0x1d, 0xba, 0x02, 0x29, 0xab, 0xeb, 0x1a, 0x96, - 0xe9, 0xcc, 0xa5, 0x17, 0x23, 0xe7, 0xb3, 0x97, 0x1e, 0x18, 0xaa, 0x08, 0x9b, 0x0c, 0x47, 0x11, - 0xc8, 0xa8, 0x0e, 0x92, 0x63, 0xf5, 0x6c, 0x1d, 0xab, 0xba, 0xd5, 0xc2, 0xaa, 0x61, 0xee, 0x5a, - 0x73, 0x19, 0xca, 0x60, 0x61, 0xb0, 0x23, 0x14, 0xb1, 0x6a, 0xb5, 0x70, 0xdd, 0xdc, 0xb5, 0x94, - 0x82, 0x13, 0xfa, 0x46, 0x27, 0x21, 0xe9, 0x1c, 0x9a, 0xae, 0x76, 0x30, 0x97, 0xa3, 0x1a, 0xc2, - 0xbf, 0x88, 0xea, 0xe0, 0x96, 0x41, 0xaa, 0x9b, 0xcb, 0x33, 0xd5, 0xe1, 0x9f, 0xf2, 0xcf, 0x27, - 0xa1, 0x38, 0x89, 0xf2, 0x5d, 0x85, 0xc4, 0x2e, 0xe9, 0xff, 0x5c, 0xf4, 0x38, 0xd2, 0x61, 0x34, - 0x61, 0xf1, 0x26, 0xef, 0x53, 0xbc, 0x65, 0xc8, 0x9a, 0xd8, 0x71, 0x71, 0x8b, 0xe9, 0x4a, 0x6c, - 0x42, 0x6d, 0x03, 0x46, 0x34, 0xa8, 0x6c, 0xf1, 0xfb, 0x52, 0xb6, 0x57, 0xa0, 0xe8, 0x35, 0x49, - 0xb5, 0x35, 0x73, 0x4f, 0x68, 0xed, 0xc5, 0x71, 0x2d, 0x59, 0xaa, 0x09, 0x3a, 0x85, 0x90, 0x29, - 0x05, 0x1c, 0xfa, 0x46, 0x2b, 0x00, 0x96, 0x89, 0xad, 0x5d, 0xb5, 0x85, 0xf5, 0xf6, 0x5c, 0x7a, - 0x84, 0x94, 0x36, 0x09, 0xca, 0x80, 0x94, 0x2c, 0x06, 0xd5, 0xdb, 0xe8, 0x79, 0x5f, 0x09, 0x53, - 0x23, 0x74, 0x68, 0x9d, 0x4d, 0xbf, 0x01, 0x3d, 0xdc, 0x86, 0x82, 0x8d, 0xc9, 0x8c, 0xc0, 0x2d, - 0xde, 0xb3, 0x0c, 0x6d, 0xc4, 0xd2, 0xd8, 0x9e, 0x29, 0x9c, 0x8c, 0x75, 0x2c, 0x6f, 0x07, 0x3f, - 0xd1, 0x43, 0xe0, 0x01, 0x54, 0xaa, 0x56, 0x40, 0xed, 0x53, 0x4e, 0x00, 0x37, 0xb4, 0x0e, 0x2e, - 0xbd, 0x01, 0x85, 0xb0, 0x78, 0xd0, 0x2c, 0x24, 0x1c, 0x57, 0xb3, 0x5d, 0xaa, 0x85, 0x09, 0x85, - 0x7d, 0x20, 0x09, 0x62, 0xd8, 0x6c, 0x51, 0xfb, 0x97, 0x50, 0xc8, 0x4f, 0xf4, 0x97, 0xfc, 0x0e, - 0xc7, 0x68, 0x87, 0x1f, 0x19, 0x1c, 0xd1, 0x10, 0xe7, 0xfe, 0x7e, 0x97, 0x9e, 0x85, 0x7c, 0xa8, - 0x03, 0x93, 0x56, 0x2d, 0xff, 0x65, 0x38, 0x31, 0x94, 0x35, 0x7a, 0x05, 0x66, 0x7b, 0xa6, 0x61, - 0xba, 0xd8, 0xee, 0xda, 0x98, 0x68, 0x2c, 0xab, 0x6a, 0xee, 0x77, 0x53, 0x23, 0x74, 0x6e, 0x3b, - 0x88, 0xcd, 0xb8, 0x28, 0x33, 0xbd, 0x41, 0xe0, 0x85, 0x4c, 0xfa, 0xf3, 0x29, 0xe9, 0x43, 0x1f, - 0xfa, 0xd0, 0x87, 0xa2, 0xf2, 0x2f, 0x27, 0x61, 0x76, 0xd8, 0x9c, 0x19, 0x3a, 0x7d, 0x4f, 0x42, - 0xd2, 0xec, 0x75, 0x76, 0xb0, 0x4d, 0x85, 0x94, 0x50, 0xf8, 0x17, 0x2a, 0x43, 0xa2, 0xad, 0xed, - 0xe0, 0xf6, 0x5c, 0x7c, 0x31, 0x72, 0xbe, 0x70, 0xe9, 0xb1, 0x89, 0x66, 0xe5, 0xd2, 0x1a, 0x21, - 0x51, 0x18, 0x25, 0x7a, 0x1f, 0xc4, 0xb9, 0xf1, 0x26, 0x1c, 0x2e, 0x4c, 0xc6, 0x81, 0xcc, 0x25, - 0x85, 0xd2, 0xa1, 0x33, 0x90, 0x21, 0xff, 0x33, 0xdd, 0x48, 0xd2, 0x36, 0xa7, 0x09, 0x80, 0xe8, - 0x05, 0x2a, 0x41, 0x9a, 0x4e, 0x93, 0x16, 0x16, 0x8b, 0x9e, 0xf7, 0x4d, 0x14, 0xab, 0x85, 0x77, - 0xb5, 0x5e, 0xdb, 0x55, 0x6f, 0x6b, 0xed, 0x1e, 0xa6, 0x0a, 0x9f, 0x51, 0x72, 0x1c, 0x78, 0x93, - 0xc0, 0xd0, 0x02, 0x64, 0xd9, 0xac, 0x32, 0xcc, 0x16, 0x3e, 0xa0, 0x76, 0x35, 0xa1, 0xb0, 0x89, - 0x56, 0x27, 0x10, 0x52, 0xfd, 0xeb, 0x8e, 0x65, 0x0a, 0xd5, 0xa4, 0x55, 0x10, 0x00, 0xad, 0xfe, - 0xd9, 0x7e, 0x93, 0xfe, 0xe0, 0xf0, 0xee, 0x0d, 0xcc, 0xa5, 0x73, 0x50, 0xa4, 0x18, 0x4f, 0xf3, - 0xa1, 0xd7, 0xda, 0x73, 0xd3, 0x8b, 0x91, 0xf3, 0x69, 0xa5, 0xc0, 0xc0, 0x9b, 0x1c, 0x2a, 0xff, - 0x4c, 0x14, 0xe2, 0xd4, 0xb0, 0x14, 0x21, 0xdb, 0x7c, 0x75, 0xab, 0xa6, 0xae, 0x6c, 0x6e, 0x57, - 0xd6, 0x6a, 0x52, 0x04, 0x15, 0x00, 0x28, 0xe0, 0xda, 0xda, 0x66, 0xb9, 0x29, 0x45, 0xbd, 0xef, - 0xfa, 0x46, 0xf3, 0xca, 0x33, 0x52, 0xcc, 0x23, 0xd8, 0x66, 0x80, 0x78, 0x10, 0xe1, 0xe9, 0x4b, - 0x52, 0x02, 0x49, 0x90, 0x63, 0x0c, 0xea, 0xaf, 0xd4, 0x56, 0xae, 0x3c, 0x23, 0x25, 0xc3, 0x90, - 0xa7, 0x2f, 0x49, 0x29, 0x94, 0x87, 0x0c, 0x85, 0x54, 0x36, 0x37, 0xd7, 0xa4, 0xb4, 0xc7, 0xb3, - 0xd1, 0x54, 0xea, 0x1b, 0xab, 0x52, 0xc6, 0xe3, 0xb9, 0xaa, 0x6c, 0x6e, 0x6f, 0x49, 0xe0, 0x71, - 0x58, 0xaf, 0x35, 0x1a, 0xe5, 0xd5, 0x9a, 0x94, 0xf5, 0x30, 0x2a, 0xaf, 0x36, 0x6b, 0x0d, 0x29, - 0x17, 0x6a, 0xd6, 0xd3, 0x97, 0xa4, 0xbc, 0x57, 0x45, 0x6d, 0x63, 0x7b, 0x5d, 0x2a, 0xa0, 0x69, - 0xc8, 0xb3, 0x2a, 0x44, 0x23, 0x8a, 0x7d, 0xa0, 0x2b, 0xcf, 0x48, 0x92, 0xdf, 0x10, 0xc6, 0x65, - 0x3a, 0x04, 0xb8, 0xf2, 0x8c, 0x84, 0xe4, 0x2a, 0x24, 0xa8, 0x1a, 0x22, 0x04, 0x85, 0xb5, 0x72, - 0xa5, 0xb6, 0xa6, 0x6e, 0x6e, 0x35, 0xeb, 0x9b, 0x1b, 0xe5, 0x35, 0x29, 0xe2, 0xc3, 0x94, 0xda, - 0xcb, 0xdb, 0x75, 0xa5, 0xb6, 0x22, 0x45, 0x83, 0xb0, 0xad, 0x5a, 0xb9, 0x59, 0x5b, 0x91, 0x62, - 0xb2, 0x0e, 0xb3, 0xc3, 0x0c, 0xea, 0xd0, 0x29, 0x14, 0xd0, 0x85, 0xe8, 0x08, 0x5d, 0xa0, 0xbc, - 0xfa, 0x75, 0x41, 0xfe, 0x5c, 0x14, 0x66, 0x86, 0x2c, 0x2a, 0x43, 0x2b, 0x79, 0x11, 0x12, 0x4c, - 0x97, 0xd9, 0x32, 0xfb, 0xe8, 0xd0, 0xd5, 0x89, 0x6a, 0xf6, 0xc0, 0x52, 0x4b, 0xe9, 0x82, 0x4e, - 0x48, 0x6c, 0x84, 0x13, 0x42, 0x58, 0x0c, 0x28, 0xec, 0xd7, 0x0d, 0x18, 0x7f, 0xb6, 0x3e, 0x5e, - 0x99, 0x64, 0x7d, 0xa4, 0xb0, 0xe3, 0x2d, 0x02, 0x89, 0x21, 0x8b, 0xc0, 0x55, 0x98, 0x1e, 0x60, - 0x34, 0xb1, 0x31, 0xfe, 0x70, 0x04, 0xe6, 0x46, 0x09, 0x67, 0x8c, 0x49, 0x8c, 0x86, 0x4c, 0xe2, - 0xd5, 0x7e, 0x09, 0x9e, 0x1d, 0x3d, 0x08, 0x03, 0x63, 0xfd, 0xa3, 0x11, 0x38, 0x39, 0xdc, 0xd9, - 0x1c, 0xda, 0x86, 0xf7, 0x41, 0xb2, 0x83, 0xdd, 0x7d, 0x4b, 0xb8, 0x55, 0x8f, 0x0c, 0x59, 0xac, - 0x49, 0x71, 0xff, 0x60, 0x73, 0xaa, 0xe0, 0x6a, 0x1f, 0x1b, 0xe5, 0x31, 0xb2, 0xd6, 0x0c, 0xb4, - 0xf4, 0x9b, 0xa3, 0x70, 0x62, 0x28, 0xf3, 0xa1, 0x0d, 0x7d, 0x10, 0xc0, 0x30, 0xbb, 0x3d, 0x97, - 0xb9, 0x4e, 0xcc, 0x12, 0x67, 0x28, 0x84, 0x1a, 0x2f, 0x62, 0x65, 0x7b, 0xae, 0x57, 0x1e, 0xa3, - 0xe5, 0xc0, 0x40, 0x14, 0xe1, 0x39, 0xbf, 0xa1, 0x71, 0xda, 0xd0, 0xf9, 0x11, 0x3d, 0x1d, 0x50, - 0xcc, 0x27, 0x41, 0xd2, 0xdb, 0x06, 0x36, 0x5d, 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x0c, 0x73, 0x8f, - 0x2e, 0x35, 0xe9, 0xe5, 0xc4, 0xae, 0xd6, 0x76, 0xb0, 0x52, 0x64, 0xc5, 0x0d, 0x51, 0x4a, 0x28, - 0xa8, 0x02, 0xd9, 0x01, 0x8a, 0x64, 0x88, 0x82, 0x15, 0x7b, 0x14, 0xf2, 0x77, 0x64, 0x20, 0x1b, - 0x70, 0xcd, 0xd1, 0x59, 0xc8, 0xbd, 0xae, 0xdd, 0xd6, 0x54, 0x11, 0x6e, 0x31, 0x49, 0x64, 0x09, - 0x6c, 0x8b, 0x87, 0x5c, 0x4f, 0xc2, 0x2c, 0x45, 0xb1, 0x7a, 0x2e, 0xb6, 0x55, 0xbd, 0xad, 0x39, - 0x0e, 0x15, 0x5a, 0x9a, 0xa2, 0x22, 0x52, 0xb6, 0x49, 0x8a, 0xaa, 0xa2, 0x04, 0x5d, 0x86, 0x19, - 0x4a, 0xd1, 0xe9, 0xb5, 0x5d, 0xa3, 0xdb, 0xc6, 0x2a, 0x09, 0x00, 0x1d, 0xba, 0xe4, 0x78, 0x2d, - 0x9b, 0x26, 0x18, 0xeb, 0x1c, 0x81, 0xb4, 0xc8, 0x41, 0x2b, 0xf0, 0x20, 0x25, 0xdb, 0xc3, 0x26, - 0xb6, 0x35, 0x17, 0xab, 0xf8, 0x83, 0x3d, 0xad, 0xed, 0xa8, 0x9a, 0xd9, 0x52, 0xf7, 0x35, 0x67, - 0x7f, 0x6e, 0x96, 0x30, 0xa8, 0x44, 0xe7, 0x22, 0xca, 0x69, 0x82, 0xb8, 0xca, 0xf1, 0x6a, 0x14, - 0xad, 0x6c, 0xb6, 0xae, 0x6b, 0xce, 0x3e, 0x5a, 0x86, 0x93, 0x94, 0x8b, 0xe3, 0xda, 0x86, 0xb9, - 0xa7, 0xea, 0xfb, 0x58, 0xbf, 0xa5, 0xf6, 0xdc, 0xdd, 0xe7, 0xe6, 0xce, 0x04, 0xeb, 0xa7, 0x2d, - 0x6c, 0x50, 0x9c, 0x2a, 0x41, 0xd9, 0x76, 0x77, 0x9f, 0x43, 0x0d, 0xc8, 0x91, 0xc1, 0xe8, 0x18, - 0x6f, 0x60, 0x75, 0xd7, 0xb2, 0xe9, 0x1a, 0x5a, 0x18, 0x62, 0x9a, 0x02, 0x12, 0x5c, 0xda, 0xe4, - 0x04, 0xeb, 0x56, 0x0b, 0x2f, 0x27, 0x1a, 0x5b, 0xb5, 0xda, 0x8a, 0x92, 0x15, 0x5c, 0xae, 0x59, - 0x36, 0x51, 0xa8, 0x3d, 0xcb, 0x13, 0x70, 0x96, 0x29, 0xd4, 0x9e, 0x25, 0xc4, 0x7b, 0x19, 0x66, - 0x74, 0x9d, 0xf5, 0xd9, 0xd0, 0x55, 0x1e, 0xa6, 0x39, 0x73, 0x52, 0x48, 0x58, 0xba, 0xbe, 0xca, - 0x10, 0xb8, 0x8e, 0x3b, 0xe8, 0x79, 0x38, 0xe1, 0x0b, 0x2b, 0x48, 0x38, 0x3d, 0xd0, 0xcb, 0x7e, - 0xd2, 0xcb, 0x30, 0xd3, 0x3d, 0x1c, 0x24, 0x44, 0xa1, 0x1a, 0xbb, 0x87, 0xfd, 0x64, 0xcf, 0xc2, - 0x6c, 0x77, 0xbf, 0x3b, 0x48, 0x77, 0x21, 0x48, 0x87, 0xba, 0xfb, 0xdd, 0x7e, 0xc2, 0x87, 0x69, - 0xcc, 0x6e, 0x63, 0x5d, 0x73, 0x71, 0x6b, 0xee, 0x54, 0x10, 0x3d, 0x50, 0x80, 0x96, 0x40, 0xd2, - 0x75, 0x15, 0x9b, 0xda, 0x4e, 0x1b, 0xab, 0x9a, 0x8d, 0x4d, 0xcd, 0x99, 0x5b, 0xa0, 0xc8, 0x71, - 0xd7, 0xee, 0x61, 0xa5, 0xa0, 0xeb, 0x35, 0x5a, 0x58, 0xa6, 0x65, 0xe8, 0x02, 0x4c, 0x5b, 0x3b, - 0xaf, 0xeb, 0x4c, 0x23, 0xd5, 0xae, 0x8d, 0x77, 0x8d, 0x83, 0xb9, 0xf7, 0x50, 0xf1, 0x16, 0x49, - 0x01, 0xd5, 0xc7, 0x2d, 0x0a, 0x46, 0x8f, 0x82, 0xa4, 0x3b, 0xfb, 0x9a, 0xdd, 0xa5, 0x26, 0xd9, - 0xe9, 0x6a, 0x3a, 0x9e, 0x7b, 0x98, 0xa1, 0x32, 0xf8, 0x86, 0x00, 0x93, 0x19, 0xe1, 0xdc, 0x31, - 0x76, 0x5d, 0xc1, 0xf1, 0x1c, 0x9b, 0x11, 0x14, 0xc6, 0xb9, 0x9d, 0x07, 0x89, 0x48, 0x22, 0x54, - 0xf1, 0x79, 0x8a, 0x56, 0xe8, 0xee, 0x77, 0x83, 0xf5, 0x3e, 0x04, 0x79, 0x82, 0xe9, 0x57, 0xfa, - 0x28, 0x73, 0xdc, 0xba, 0xfb, 0x81, 0x1a, 0x9f, 0x81, 0x93, 0x04, 0xa9, 0x83, 0x5d, 0xad, 0xa5, - 0xb9, 0x5a, 0x00, 0xfb, 0x71, 0x8a, 0x4d, 0xc4, 0xbe, 0xce, 0x0b, 0x43, 0xed, 0xb4, 0x7b, 0x3b, - 0x87, 0x9e, 0x62, 0x3d, 0xc1, 0xda, 0x49, 0x60, 0x42, 0xb5, 0xde, 0x35, 0xe7, 0x5c, 0x5e, 0x86, - 0x5c, 0x50, 0xef, 0x51, 0x06, 0x98, 0xe6, 0x4b, 0x11, 0xe2, 0x04, 0x55, 0x37, 0x57, 0x88, 0xfb, - 0xf2, 0x5a, 0x4d, 0x8a, 0x12, 0x37, 0x6a, 0xad, 0xde, 0xac, 0xa9, 0xca, 0xf6, 0x46, 0xb3, 0xbe, - 0x5e, 0x93, 0x62, 0x01, 0xc7, 0xfe, 0x46, 0x3c, 0xfd, 0x88, 0x74, 0x4e, 0xfe, 0x85, 0x18, 0x14, - 0xc2, 0x91, 0x1a, 0x7a, 0x2f, 0x9c, 0x12, 0x09, 0x17, 0x07, 0xbb, 0xea, 0x1d, 0xc3, 0xa6, 0x13, - 0xb2, 0xa3, 0xb1, 0xc5, 0xd1, 0xd3, 0x9f, 0x59, 0x8e, 0xd5, 0xc0, 0xee, 0xfb, 0x0d, 0x9b, 0x4c, - 0xb7, 0x8e, 0xe6, 0xa2, 0x35, 0x58, 0x30, 0x2d, 0xd5, 0x71, 0x35, 0xb3, 0xa5, 0xd9, 0x2d, 0xd5, - 0x4f, 0x75, 0xa9, 0x9a, 0xae, 0x63, 0xc7, 0xb1, 0xd8, 0x42, 0xe8, 0x71, 0x79, 0xc0, 0xb4, 0x1a, - 0x1c, 0xd9, 0x5f, 0x21, 0xca, 0x1c, 0xb5, 0x4f, 0x7d, 0x63, 0xa3, 0xd4, 0xf7, 0x0c, 0x64, 0x3a, - 0x5a, 0x57, 0xc5, 0xa6, 0x6b, 0x1f, 0x52, 0xff, 0x3c, 0xad, 0xa4, 0x3b, 0x5a, 0xb7, 0x46, 0xbe, - 0xd1, 0x4d, 0x78, 0xc4, 0x47, 0x55, 0xdb, 0x78, 0x4f, 0xd3, 0x0f, 0x55, 0xea, 0x8c, 0xd3, 0xb4, - 0x81, 0xaa, 0x5b, 0xe6, 0x6e, 0xdb, 0xd0, 0x5d, 0x87, 0xda, 0x07, 0x66, 0xe3, 0x64, 0x9f, 0x62, - 0x8d, 0x12, 0xdc, 0x70, 0x2c, 0x93, 0xfa, 0xe0, 0x55, 0x81, 0xfd, 0x15, 0x09, 0xbf, 0x6e, 0xc4, - 0xd3, 0x71, 0x29, 0x71, 0x23, 0x9e, 0x4e, 0x48, 0xc9, 0x1b, 0xf1, 0x74, 0x52, 0x4a, 0xdd, 0x88, - 0xa7, 0xd3, 0x52, 0xe6, 0x46, 0x3c, 0x9d, 0x91, 0x40, 0xfe, 0xd9, 0x34, 0xe4, 0x82, 0x91, 0x01, - 0x09, 0xb4, 0x74, 0xba, 0x36, 0x46, 0xa8, 0xf5, 0x7c, 0xe8, 0xc8, 0x38, 0x62, 0xa9, 0x4a, 0x16, - 0xcd, 0xe5, 0x24, 0x73, 0xc3, 0x15, 0x46, 0x49, 0x1c, 0x16, 0xa2, 0xd6, 0x98, 0xb9, 0x3d, 0x69, - 0x85, 0x7f, 0xa1, 0x55, 0x48, 0xbe, 0xee, 0x50, 0xde, 0x49, 0xca, 0xfb, 0x3d, 0x47, 0xf3, 0xbe, - 0xd1, 0xa0, 0xcc, 0x33, 0x37, 0x1a, 0xea, 0xc6, 0xa6, 0xb2, 0x5e, 0x5e, 0x53, 0x38, 0x39, 0x3a, - 0x0d, 0xf1, 0xb6, 0xf6, 0xc6, 0x61, 0x78, 0x79, 0xa5, 0x20, 0xb4, 0x04, 0xc5, 0x9e, 0x79, 0x1b, - 0xdb, 0xc6, 0xae, 0x41, 0x86, 0x8a, 0x60, 0x15, 0x83, 0x58, 0x05, 0xbf, 0x74, 0x8d, 0xe0, 0x4f, - 0xa8, 0x1e, 0xa7, 0x21, 0x7e, 0x07, 0x6b, 0xb7, 0xc2, 0x8b, 0x20, 0x05, 0xa1, 0xf3, 0x90, 0x6b, - 0xe1, 0x9d, 0xde, 0x9e, 0x6a, 0xe3, 0x96, 0xa6, 0xbb, 0x61, 0xd3, 0x9f, 0xa5, 0x45, 0x0a, 0x2d, - 0x41, 0x2f, 0x41, 0x86, 0x8c, 0x91, 0x49, 0xc7, 0x78, 0x9a, 0x8a, 0xe0, 0x89, 0xa3, 0x45, 0xc0, - 0x87, 0x58, 0x10, 0x29, 0x3e, 0x3d, 0xba, 0x06, 0x49, 0x57, 0xb3, 0xf7, 0xb0, 0x4b, 0x2d, 0x7f, - 0x61, 0x48, 0xf2, 0x63, 0x08, 0xa7, 0x26, 0xa5, 0xa0, 0x31, 0x2d, 0xa7, 0x7e, 0x17, 0xad, 0xcc, - 0x45, 0x48, 0x50, 0xf5, 0x40, 0x00, 0x5c, 0x41, 0xa4, 0x29, 0x94, 0x86, 0x78, 0x75, 0x53, 0x21, - 0x96, 0x46, 0x82, 0x1c, 0x83, 0xaa, 0x5b, 0xf5, 0x5a, 0xb5, 0x26, 0x45, 0xe5, 0xcb, 0x90, 0x64, - 0x63, 0x4e, 0xac, 0x90, 0x37, 0xea, 0xd2, 0x14, 0xff, 0xe4, 0x3c, 0x22, 0xa2, 0x74, 0x7b, 0xbd, - 0x52, 0x53, 0xa4, 0xa8, 0xbc, 0x0d, 0xc5, 0x3e, 0x39, 0xa1, 0x13, 0x30, 0xad, 0xd4, 0x9a, 0xb5, - 0x0d, 0x12, 0x67, 0xa9, 0xdb, 0x1b, 0x2f, 0x6d, 0x6c, 0xbe, 0x7f, 0x43, 0x9a, 0x0a, 0x83, 0x85, - 0x49, 0x8b, 0xa0, 0x59, 0x90, 0x7c, 0x70, 0x63, 0x73, 0x5b, 0xa1, 0xad, 0xf9, 0xd6, 0x28, 0x48, - 0xfd, 0x52, 0x43, 0xa7, 0x60, 0xa6, 0x59, 0x56, 0x56, 0x6b, 0x4d, 0x95, 0xc5, 0x8e, 0x1e, 0xeb, - 0x59, 0x90, 0x82, 0x05, 0xd7, 0xea, 0x34, 0x34, 0x5e, 0x80, 0x33, 0x41, 0x68, 0xed, 0x95, 0x66, - 0x6d, 0xa3, 0x41, 0x2b, 0x2f, 0x6f, 0xac, 0x12, 0xfb, 0xda, 0xc7, 0x4f, 0x44, 0xab, 0x31, 0xd2, - 0xd4, 0x30, 0xbf, 0xda, 0xda, 0x8a, 0x14, 0xef, 0x07, 0x6f, 0x6e, 0xd4, 0x36, 0xaf, 0x49, 0x89, - 0xfe, 0xda, 0x69, 0x04, 0x9b, 0x44, 0x25, 0x38, 0xd9, 0x0f, 0x55, 0x6b, 0x1b, 0x4d, 0xe5, 0x55, - 0x29, 0xd5, 0x5f, 0x71, 0xa3, 0xa6, 0xdc, 0xac, 0x57, 0x6b, 0x52, 0x1a, 0x9d, 0x04, 0x14, 0x6e, - 0x51, 0xf3, 0xfa, 0xe6, 0x8a, 0x94, 0x19, 0xb0, 0x28, 0xb2, 0x03, 0xb9, 0x60, 0x18, 0xf9, 0x95, - 0xc9, 0x25, 0x7d, 0x2c, 0x0a, 0xd9, 0x40, 0x58, 0x48, 0xfc, 0x79, 0xad, 0xdd, 0xb6, 0xee, 0xa8, - 0x5a, 0xdb, 0xd0, 0x1c, 0x6e, 0x6f, 0x80, 0x82, 0xca, 0x04, 0x32, 0xe9, 0xfc, 0x9e, 0xdc, 0xc2, - 0x27, 0xbf, 0x1a, 0x2d, 0x7c, 0x42, 0x4a, 0xca, 0xdf, 0x1f, 0x01, 0xa9, 0x3f, 0xde, 0xeb, 0xeb, - 0x7e, 0x64, 0x54, 0xf7, 0xbf, 0x22, 0x63, 0xf7, 0x89, 0x08, 0x14, 0xc2, 0x41, 0x5e, 0x5f, 0xf3, - 0xce, 0xfe, 0x99, 0x36, 0xef, 0xb7, 0xa2, 0x90, 0x0f, 0x85, 0x76, 0x93, 0xb6, 0xee, 0x83, 0x30, - 0x6d, 0xb4, 0x70, 0xa7, 0x6b, 0xb9, 0xd8, 0xd4, 0x0f, 0xd5, 0x36, 0xbe, 0x8d, 0xdb, 0x73, 0x32, - 0x35, 0xca, 0x17, 0x8f, 0x0e, 0x1e, 0x97, 0xea, 0x3e, 0xdd, 0x1a, 0x21, 0x5b, 0x9e, 0xa9, 0xaf, - 0xd4, 0xd6, 0xb7, 0x36, 0x9b, 0xb5, 0x8d, 0xea, 0xab, 0xc2, 0xba, 0x28, 0x92, 0xd1, 0x87, 0xf6, - 0x2e, 0x1a, 0xed, 0x2d, 0x90, 0xfa, 0x1b, 0x45, 0x6c, 0xc5, 0x90, 0x66, 0x49, 0x53, 0x68, 0x06, - 0x8a, 0x1b, 0x9b, 0x6a, 0xa3, 0xbe, 0x52, 0x53, 0x6b, 0xd7, 0xae, 0xd5, 0xaa, 0xcd, 0x06, 0x4b, - 0x07, 0x7a, 0xd8, 0x4d, 0x29, 0x1a, 0x14, 0xf1, 0xf7, 0xc5, 0x60, 0x66, 0x48, 0x4b, 0x50, 0x99, - 0x07, 0xf2, 0x2c, 0xb7, 0xf0, 0xc4, 0x24, 0xad, 0x5f, 0x22, 0xae, 0xf4, 0x96, 0x66, 0xbb, 0x3c, - 0xee, 0x7f, 0x14, 0x88, 0x94, 0x4c, 0x97, 0xac, 0xec, 0x36, 0x4f, 0xb3, 0xb2, 0xe8, 0xbe, 0xe8, - 0xc3, 0x59, 0xa6, 0xf5, 0x71, 0x40, 0x5d, 0xcb, 0x31, 0x5c, 0xe3, 0x36, 0x56, 0x0d, 0x53, 0xe4, - 0x64, 0x49, 0xb4, 0x1f, 0x57, 0x24, 0x51, 0x52, 0x37, 0x5d, 0x0f, 0xdb, 0xc4, 0x7b, 0x5a, 0x1f, - 0x36, 0xf1, 0x3c, 0x62, 0x8a, 0x24, 0x4a, 0x3c, 0xec, 0xb3, 0x90, 0x6b, 0x59, 0x3d, 0x12, 0x02, - 0x31, 0x3c, 0x62, 0x2d, 0x22, 0x4a, 0x96, 0xc1, 0x3c, 0x14, 0x1e, 0xdc, 0xfa, 0xc9, 0xe0, 0x9c, - 0x92, 0x65, 0x30, 0x86, 0x72, 0x0e, 0x8a, 0xda, 0xde, 0x9e, 0x4d, 0x98, 0x0b, 0x46, 0x2c, 0x5c, - 0x2f, 0x78, 0x60, 0x8a, 0x58, 0xba, 0x01, 0x69, 0x21, 0x07, 0xe2, 0xc1, 0x12, 0x49, 0xa8, 0x5d, - 0x96, 0x83, 0x8a, 0x9e, 0xcf, 0x28, 0x69, 0x53, 0x14, 0x9e, 0x85, 0x9c, 0xe1, 0xa8, 0xfe, 0xde, - 0x56, 0x74, 0x31, 0x7a, 0x3e, 0xad, 0x64, 0x0d, 0xc7, 0xdb, 0x17, 0x90, 0x7f, 0x34, 0x0a, 0x85, - 0xf0, 0xae, 0x1d, 0x5a, 0x81, 0x74, 0xdb, 0xd2, 0x35, 0xaa, 0x5a, 0x6c, 0xcb, 0xf8, 0xfc, 0x98, - 0x8d, 0xbe, 0xa5, 0x35, 0x8e, 0xaf, 0x78, 0x94, 0xa5, 0x7f, 0x13, 0x81, 0xb4, 0x00, 0xa3, 0x93, - 0x10, 0xef, 0x6a, 0xee, 0x3e, 0x65, 0x97, 0xa8, 0x44, 0xa5, 0x88, 0x42, 0xbf, 0x09, 0xdc, 0xe9, - 0x6a, 0x26, 0x55, 0x01, 0x0e, 0x27, 0xdf, 0x64, 0x5c, 0xdb, 0x58, 0x6b, 0xd1, 0x5c, 0x80, 0xd5, - 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xb8, 0x72, 0x78, 0x95, 0x83, 0xd1, 0x63, 0x30, 0xed, 0xda, 0x9a, - 0xd1, 0x0e, 0xe1, 0xc6, 0x29, 0xae, 0x24, 0x0a, 0x3c, 0xe4, 0x65, 0x38, 0x2d, 0xf8, 0xb6, 0xb0, - 0xab, 0xe9, 0xfb, 0xb8, 0xe5, 0x13, 0x25, 0x69, 0xce, 0xef, 0x14, 0x47, 0x58, 0xe1, 0xe5, 0x82, - 0x56, 0xfe, 0x6c, 0x14, 0xa6, 0x45, 0xf6, 0xa2, 0xe5, 0x09, 0x6b, 0x1d, 0x40, 0x33, 0x4d, 0xcb, - 0x0d, 0x8a, 0x6b, 0x50, 0x95, 0x07, 0xe8, 0x96, 0xca, 0x1e, 0x91, 0x12, 0x60, 0x50, 0xfa, 0xbd, - 0x08, 0x80, 0x5f, 0x34, 0x52, 0x6e, 0x0b, 0x90, 0xe5, 0x7b, 0xb2, 0x74, 0x63, 0x9f, 0x25, 0xbc, - 0x80, 0x81, 0xae, 0x19, 0x6d, 0x9a, 0x96, 0xdc, 0xc1, 0x7b, 0x86, 0xc9, 0xf7, 0x53, 0xd8, 0x87, - 0x48, 0x4b, 0xc6, 0xfd, 0xed, 0x29, 0x05, 0xd2, 0x0e, 0xee, 0x68, 0xa6, 0x6b, 0xe8, 0x7c, 0x87, - 0xe4, 0xca, 0xb1, 0x1a, 0xbf, 0xd4, 0xe0, 0xd4, 0x8a, 0xc7, 0x47, 0x3e, 0x0f, 0x69, 0x01, 0x25, - 0x8e, 0xdf, 0xc6, 0xe6, 0x46, 0x4d, 0x9a, 0x42, 0x29, 0x88, 0x35, 0x6a, 0x4d, 0x29, 0x42, 0xc2, - 0xce, 0xf2, 0x5a, 0xbd, 0xdc, 0x90, 0xa2, 0x95, 0xbf, 0x02, 0x33, 0xba, 0xd5, 0xe9, 0xaf, 0xb0, - 0x22, 0xf5, 0xa5, 0xfc, 0x9c, 0xeb, 0x91, 0xd7, 0x9e, 0xe0, 0x48, 0x7b, 0x56, 0x5b, 0x33, 0xf7, - 0x96, 0x2c, 0x7b, 0xcf, 0x3f, 0x16, 0x41, 0xa2, 0x03, 0x27, 0x70, 0x38, 0xa2, 0xbb, 0xf3, 0xa7, - 0x91, 0xc8, 0x0f, 0x46, 0x63, 0xab, 0x5b, 0x95, 0x1f, 0x8f, 0x96, 0x56, 0x19, 0xe1, 0x96, 0xe8, - 0x8e, 0x82, 0x77, 0xdb, 0x58, 0x27, 0x8d, 0x87, 0xdf, 0x7f, 0x0c, 0x66, 0xf7, 0xac, 0x3d, 0x8b, - 0x72, 0xba, 0x48, 0x7e, 0xf1, 0x73, 0x15, 0x19, 0x0f, 0x5a, 0x1a, 0x7b, 0x08, 0x63, 0x79, 0x03, - 0x66, 0x38, 0xb2, 0x4a, 0xb7, 0x6f, 0x59, 0x72, 0x01, 0x1d, 0x99, 0xd9, 0x9e, 0xfb, 0xc9, 0xdf, - 0xa1, 0x5e, 0x89, 0x32, 0xcd, 0x49, 0x49, 0x19, 0xcb, 0x3f, 0x2c, 0x2b, 0x70, 0x22, 0xc4, 0x8f, - 0xd9, 0x08, 0x6c, 0x8f, 0xe1, 0xf8, 0xcf, 0x39, 0xc7, 0x99, 0x00, 0xc7, 0x06, 0x27, 0x5d, 0xae, - 0x42, 0xfe, 0x38, 0xbc, 0xfe, 0x05, 0xe7, 0x95, 0xc3, 0x41, 0x26, 0xab, 0x50, 0xa4, 0x4c, 0xf4, - 0x9e, 0xe3, 0x5a, 0x1d, 0x6a, 0x80, 0x8f, 0x66, 0xf3, 0x2f, 0x7f, 0x87, 0x4d, 0xda, 0x02, 0x21, - 0xab, 0x7a, 0x54, 0xcb, 0xcb, 0x40, 0x77, 0xac, 0x5b, 0x58, 0x6f, 0x8f, 0xe1, 0xf0, 0x2b, 0xbc, - 0x21, 0x1e, 0xfe, 0xf2, 0x4d, 0x98, 0x25, 0xbf, 0xa9, 0x7d, 0x0c, 0xb6, 0x64, 0x7c, 0x1a, 0x7c, - 0xee, 0xdf, 0x7d, 0x98, 0xd9, 0x85, 0x19, 0x8f, 0x41, 0xa0, 0x4d, 0x81, 0x51, 0xdc, 0xc3, 0xae, - 0x8b, 0x6d, 0x47, 0xd5, 0xda, 0xc3, 0x9a, 0x17, 0xc8, 0x23, 0xce, 0x7d, 0xef, 0x17, 0xc3, 0xa3, - 0xb8, 0xca, 0x28, 0xcb, 0xed, 0xf6, 0xf2, 0x36, 0x9c, 0x1a, 0xa2, 0x15, 0x13, 0xf0, 0xfc, 0x3e, - 0xce, 0x73, 0x76, 0x40, 0x33, 0x08, 0xdb, 0x2d, 0x10, 0x70, 0x6f, 0x2c, 0x27, 0xe0, 0xf9, 0x71, - 0xce, 0x13, 0x71, 0x5a, 0x31, 0xa4, 0x84, 0xe3, 0x0d, 0x98, 0xbe, 0x8d, 0xed, 0x1d, 0xcb, 0xe1, - 0xb9, 0xdb, 0x09, 0xd8, 0x7d, 0x82, 0xb3, 0x2b, 0x72, 0x42, 0x9a, 0xcc, 0x25, 0xbc, 0x9e, 0x87, - 0xf4, 0xae, 0xa6, 0xe3, 0x09, 0x58, 0xdc, 0xe3, 0x2c, 0x52, 0x04, 0x9f, 0x90, 0x96, 0x21, 0xb7, - 0x67, 0xf1, 0x25, 0x72, 0x3c, 0xf9, 0xf7, 0x73, 0xf2, 0xac, 0xa0, 0xe1, 0x2c, 0xba, 0x56, 0xb7, - 0xd7, 0x26, 0xeb, 0xe7, 0x78, 0x16, 0x3f, 0x20, 0x58, 0x08, 0x1a, 0xce, 0xe2, 0x18, 0x62, 0xfd, - 0xa4, 0x60, 0xe1, 0x04, 0xe4, 0xf9, 0x22, 0x64, 0x2d, 0xb3, 0x7d, 0x68, 0x99, 0x93, 0x34, 0xe2, - 0x53, 0x9c, 0x03, 0x70, 0x12, 0xc2, 0xe0, 0x2a, 0x64, 0x26, 0x1d, 0x88, 0x1f, 0xfe, 0xa2, 0x98, - 0x1e, 0x62, 0x04, 0x56, 0xa1, 0x28, 0x0c, 0x94, 0x61, 0x99, 0x13, 0xb0, 0xf8, 0x11, 0xce, 0xa2, - 0x10, 0x20, 0xe3, 0xdd, 0x70, 0xb1, 0xe3, 0xee, 0xe1, 0x49, 0x98, 0xfc, 0xa8, 0xe8, 0x06, 0x27, - 0xe1, 0xa2, 0xdc, 0xc1, 0xa6, 0xbe, 0x3f, 0x19, 0x87, 0x4f, 0x0b, 0x51, 0x0a, 0x1a, 0xc2, 0xa2, - 0x0a, 0xf9, 0x8e, 0x66, 0x3b, 0xfb, 0x5a, 0x7b, 0xa2, 0xe1, 0xf8, 0x31, 0xce, 0x23, 0xe7, 0x11, - 0x71, 0x89, 0xf4, 0xcc, 0xe3, 0xb0, 0xf9, 0x71, 0x21, 0x91, 0x00, 0x19, 0x9f, 0x7a, 0x8e, 0x4b, - 0x13, 0xdd, 0xc7, 0xe1, 0xf6, 0xb7, 0xc5, 0xd4, 0x63, 0xb4, 0xeb, 0x41, 0x8e, 0x57, 0x21, 0xe3, - 0x18, 0x6f, 0x4c, 0xc4, 0xe6, 0xef, 0x88, 0x91, 0xa6, 0x04, 0x84, 0xf8, 0x55, 0x38, 0x3d, 0x74, - 0x99, 0x98, 0x80, 0xd9, 0xdf, 0xe5, 0xcc, 0x4e, 0x0e, 0x59, 0x2a, 0xb8, 0x49, 0x38, 0x2e, 0xcb, - 0xbf, 0x27, 0x4c, 0x02, 0xee, 0xe3, 0xb5, 0x45, 0x82, 0x16, 0x47, 0xdb, 0x3d, 0x9e, 0xd4, 0xfe, - 0xbe, 0x90, 0x1a, 0xa3, 0x0d, 0x49, 0xad, 0x09, 0x27, 0x39, 0xc7, 0xe3, 0x8d, 0xeb, 0x4f, 0x08, - 0xc3, 0xca, 0xa8, 0xb7, 0xc3, 0xa3, 0xfb, 0x35, 0x50, 0xf2, 0xc4, 0x29, 0xbc, 0x63, 0x47, 0xed, - 0x68, 0xdd, 0x09, 0x38, 0xff, 0x24, 0xe7, 0x2c, 0x2c, 0xbe, 0xe7, 0x5e, 0x3b, 0xeb, 0x5a, 0x97, - 0x30, 0x7f, 0x05, 0xe6, 0x04, 0xf3, 0x9e, 0x69, 0x63, 0xdd, 0xda, 0x33, 0x8d, 0x37, 0x70, 0x6b, - 0x02, 0xd6, 0x3f, 0xd5, 0x37, 0x54, 0xdb, 0x01, 0x72, 0xc2, 0xb9, 0x0e, 0x92, 0xe7, 0xab, 0xa8, - 0x46, 0xa7, 0x6b, 0xd9, 0xee, 0x18, 0x8e, 0x3f, 0x2d, 0x46, 0xca, 0xa3, 0xab, 0x53, 0xb2, 0xe5, - 0x1a, 0xb0, 0xd3, 0x1f, 0x93, 0xaa, 0xe4, 0x67, 0x38, 0xa3, 0xbc, 0x4f, 0xc5, 0x0d, 0x87, 0x6e, - 0x75, 0xba, 0x9a, 0x3d, 0x89, 0xfd, 0xfb, 0x07, 0xc2, 0x70, 0x70, 0x12, 0x6e, 0x38, 0x88, 0x47, - 0x47, 0x56, 0xfb, 0x09, 0x38, 0xfc, 0x8c, 0x30, 0x1c, 0x82, 0x86, 0xb3, 0x10, 0x0e, 0xc3, 0x04, - 0x2c, 0x7e, 0x56, 0xb0, 0x10, 0x34, 0x84, 0xc5, 0xcb, 0xfe, 0x42, 0x6b, 0xe3, 0x3d, 0xc3, 0x71, - 0x6d, 0xe6, 0x92, 0x1f, 0xcd, 0xea, 0xe7, 0xbe, 0x18, 0x76, 0xc2, 0x94, 0x00, 0x29, 0xb1, 0x44, - 0x7c, 0xeb, 0x83, 0x86, 0x6c, 0xe3, 0x1b, 0xf6, 0xf3, 0xc2, 0x12, 0x05, 0xc8, 0x48, 0xdb, 0x02, - 0x1e, 0x22, 0x11, 0xbb, 0x4e, 0x02, 0x95, 0x09, 0xd8, 0xfd, 0xc3, 0xbe, 0xc6, 0x35, 0x04, 0x2d, - 0xe1, 0x19, 0xf0, 0x7f, 0x7a, 0xe6, 0x2d, 0x7c, 0x38, 0x91, 0x76, 0xfe, 0x42, 0x9f, 0xff, 0xb3, - 0xcd, 0x28, 0x99, 0x0d, 0x29, 0xf6, 0xf9, 0x53, 0x68, 0xdc, 0x59, 0xbf, 0xb9, 0x6f, 0x78, 0x9b, - 0xf7, 0x37, 0xec, 0x4e, 0x2d, 0xaf, 0x11, 0x25, 0x0f, 0x3b, 0x3d, 0xe3, 0x99, 0x7d, 0xf8, 0x6d, - 0x4f, 0xcf, 0x43, 0x3e, 0xcf, 0xf2, 0x35, 0xc8, 0x87, 0x1c, 0x9e, 0xf1, 0xac, 0xbe, 0x91, 0xb3, - 0xca, 0x05, 0xfd, 0x9d, 0xe5, 0xcb, 0x10, 0x27, 0xce, 0xcb, 0x78, 0xf2, 0x6f, 0xe2, 0xe4, 0x14, - 0x7d, 0xf9, 0x05, 0x48, 0x0b, 0xa7, 0x65, 0x3c, 0xe9, 0x5f, 0xe3, 0xa4, 0x1e, 0x09, 0x21, 0x17, - 0x0e, 0xcb, 0x78, 0xf2, 0xbf, 0x2e, 0xc8, 0x05, 0x09, 0x21, 0x9f, 0x5c, 0x84, 0xbf, 0xf4, 0x2d, - 0x71, 0xbe, 0xe8, 0x08, 0xd9, 0x5d, 0x85, 0x14, 0xf7, 0x54, 0xc6, 0x53, 0x7f, 0x33, 0xaf, 0x5c, - 0x50, 0x2c, 0x3f, 0x0b, 0x89, 0x09, 0x05, 0xfe, 0x6d, 0x9c, 0x94, 0xe1, 0x2f, 0x57, 0x21, 0x1b, - 0xf0, 0x4e, 0xc6, 0x93, 0x7f, 0x3b, 0x27, 0x0f, 0x52, 0x91, 0xa6, 0x73, 0xef, 0x64, 0x3c, 0x83, - 0xbf, 0x21, 0x9a, 0xce, 0x29, 0x88, 0xd8, 0x84, 0x63, 0x32, 0x9e, 0xfa, 0xa3, 0x42, 0xea, 0x82, - 0x64, 0xf9, 0x45, 0xc8, 0x78, 0x8b, 0xcd, 0x78, 0xfa, 0xef, 0xe0, 0xf4, 0x3e, 0x0d, 0x91, 0x40, - 0x60, 0xb1, 0x1b, 0xcf, 0xe2, 0x6f, 0x0a, 0x09, 0x04, 0xa8, 0xc8, 0x34, 0xea, 0x77, 0x60, 0xc6, - 0x73, 0xfa, 0x4e, 0x31, 0x8d, 0xfa, 0xfc, 0x17, 0x32, 0x9a, 0xd4, 0xe6, 0x8f, 0x67, 0xf1, 0x5d, - 0x62, 0x34, 0x29, 0x3e, 0x69, 0x46, 0xbf, 0x47, 0x30, 0x9e, 0xc7, 0xf7, 0x88, 0x66, 0xf4, 0x39, - 0x04, 0xcb, 0x5b, 0x80, 0x06, 0xbd, 0x81, 0xf1, 0xfc, 0x3e, 0xc6, 0xf9, 0x4d, 0x0f, 0x38, 0x03, - 0xcb, 0xef, 0x87, 0x93, 0xc3, 0x3d, 0x81, 0xf1, 0x5c, 0xbf, 0xf7, 0xed, 0xbe, 0xd8, 0x2d, 0xe8, - 0x08, 0x2c, 0x37, 0xfd, 0x25, 0x25, 0xe8, 0x05, 0x8c, 0x67, 0xfb, 0x7d, 0x6f, 0x87, 0x0d, 0x77, - 0xd0, 0x09, 0x58, 0x2e, 0x03, 0xf8, 0x0b, 0xf0, 0x78, 0x5e, 0x9f, 0xe0, 0xbc, 0x02, 0x44, 0x64, - 0x6a, 0xf0, 0xf5, 0x77, 0x3c, 0xfd, 0x3d, 0x31, 0x35, 0x38, 0x05, 0x99, 0x1a, 0x62, 0xe9, 0x1d, - 0x4f, 0xfd, 0xfd, 0x62, 0x6a, 0x08, 0x12, 0xa2, 0xd9, 0x81, 0xd5, 0x6d, 0x3c, 0x87, 0x4f, 0x09, - 0xcd, 0x0e, 0x50, 0x2d, 0x6f, 0xc0, 0xf4, 0xc0, 0x82, 0x38, 0x9e, 0xd5, 0x0f, 0x72, 0x56, 0x52, - 0xff, 0x7a, 0x18, 0x5c, 0xbc, 0xf8, 0x62, 0x38, 0x9e, 0xdb, 0x0f, 0xf5, 0x2d, 0x5e, 0x7c, 0x2d, - 0x5c, 0xbe, 0x0a, 0x69, 0xb3, 0xd7, 0x6e, 0x93, 0xc9, 0x83, 0x8e, 0x3e, 0x9f, 0x3b, 0xf7, 0x5f, - 0xbf, 0xc4, 0xa5, 0x23, 0x08, 0x96, 0x2f, 0x43, 0x02, 0x77, 0x76, 0x70, 0x6b, 0x1c, 0xe5, 0x17, - 0xbe, 0x24, 0x0c, 0x26, 0xc1, 0x5e, 0x7e, 0x11, 0x80, 0xa5, 0x46, 0xe8, 0xc6, 0xf9, 0x18, 0xda, - 0xdf, 0xfb, 0x12, 0x3f, 0x10, 0xe7, 0x93, 0xf8, 0x0c, 0xd8, 0xf1, 0xba, 0xa3, 0x19, 0x7c, 0x31, - 0xcc, 0x80, 0x8e, 0xc8, 0xf3, 0x90, 0x7a, 0xdd, 0xb1, 0x4c, 0x57, 0xdb, 0x1b, 0x47, 0xfd, 0xfb, - 0x9c, 0x5a, 0xe0, 0x13, 0x81, 0x75, 0x2c, 0x1b, 0xbb, 0xda, 0x9e, 0x33, 0x8e, 0xf6, 0xbf, 0x71, - 0x5a, 0x8f, 0x80, 0x10, 0xeb, 0x9a, 0xe3, 0x4e, 0xd2, 0xef, 0xff, 0x2e, 0x88, 0x05, 0x01, 0x69, - 0x34, 0xf9, 0x7d, 0x0b, 0x1f, 0x8e, 0xa3, 0xfd, 0x03, 0xd1, 0x68, 0x8e, 0xbf, 0xfc, 0x02, 0x64, - 0xc8, 0x4f, 0x76, 0xca, 0x75, 0x0c, 0xf1, 0x1f, 0x72, 0x62, 0x9f, 0x82, 0xd4, 0xec, 0xb8, 0x2d, - 0xd7, 0x18, 0x2f, 0xec, 0x3f, 0xe2, 0x23, 0x2d, 0xf0, 0x97, 0xcb, 0x90, 0x75, 0xdc, 0x56, 0xab, - 0xc7, 0xfd, 0xd3, 0x31, 0xe4, 0x7f, 0xfc, 0x25, 0x2f, 0x65, 0xe1, 0xd1, 0x90, 0xd1, 0xbe, 0x73, - 0xcb, 0xed, 0x5a, 0x74, 0xbf, 0x65, 0x1c, 0x87, 0xb7, 0x39, 0x87, 0x00, 0xc9, 0x72, 0x15, 0x72, - 0xa4, 0x2f, 0x36, 0xee, 0x62, 0xba, 0x39, 0x36, 0x86, 0xc5, 0x9f, 0x70, 0x01, 0x84, 0x88, 0x2a, - 0x5f, 0xff, 0x2b, 0x6f, 0xcd, 0x47, 0x3e, 0xfb, 0xd6, 0x7c, 0xe4, 0xb7, 0xde, 0x9a, 0x8f, 0x7c, - 0xf4, 0x73, 0xf3, 0x53, 0x9f, 0xfd, 0xdc, 0xfc, 0xd4, 0x6f, 0x7c, 0x6e, 0x7e, 0x6a, 0x78, 0x96, - 0x18, 0x56, 0xad, 0x55, 0x8b, 0xe5, 0x87, 0x5f, 0x7b, 0x78, 0xcf, 0x70, 0xf7, 0x7b, 0x3b, 0x4b, - 0xba, 0xd5, 0xb9, 0xa8, 0x5b, 0x4e, 0xc7, 0x72, 0x2e, 0x86, 0xf3, 0xba, 0xf4, 0x17, 0xfc, 0xef, - 0x08, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0x75, 0x99, 0xee, 0x0a, 0xc4, 0xca, 0xe6, - 0x21, 0x3a, 0xcd, 0x0c, 0x9c, 0xda, 0xb3, 0xdb, 0xfc, 0xa8, 0x65, 0x8a, 0x7c, 0x6f, 0xdb, 0x6d, - 0x34, 0xeb, 0x9f, 0x87, 0x8e, 0x9c, 0xcf, 0xf1, 0x43, 0xce, 0x95, 0x6f, 0x8f, 0x1c, 0xaf, 0x27, - 0xe9, 0xb2, 0x79, 0x48, 0x3b, 0xb2, 0x15, 0x79, 0xed, 0xf1, 0xb1, 0x79, 0xee, 0x5b, 0xa6, 0x75, - 0xc7, 0x24, 0xcd, 0xee, 0xee, 0x88, 0x1c, 0xf7, 0x7c, 0x7f, 0x8e, 0xfb, 0xfd, 0xb8, 0xdd, 0x7e, - 0x89, 0xe0, 0x35, 0x09, 0xc9, 0x4e, 0x92, 0x9d, 0xea, 0x87, 0xef, 0x8c, 0xc2, 0xfc, 0x40, 0x3a, - 0x9b, 0x2b, 0xc1, 0x28, 0x21, 0x2c, 0x43, 0x7a, 0x45, 0xe8, 0xd6, 0x1c, 0xa4, 0x1c, 0xac, 0x5b, - 0x66, 0xcb, 0xa1, 0x82, 0x88, 0x29, 0xe2, 0x93, 0x08, 0xc2, 0xd4, 0x4c, 0xcb, 0xe1, 0x87, 0x95, - 0xd9, 0x47, 0xe5, 0xe3, 0xc7, 0x14, 0x44, 0x5e, 0xd4, 0x24, 0xa4, 0xf1, 0xd4, 0x84, 0xd2, 0x10, - 0x9d, 0x08, 0x65, 0xfe, 0x27, 0x95, 0xca, 0xf7, 0x44, 0x61, 0xa1, 0x5f, 0x2a, 0x64, 0x66, 0x39, - 0xae, 0xd6, 0xe9, 0x8e, 0x12, 0xcb, 0x55, 0xc8, 0x34, 0x05, 0xce, 0xb1, 0xe5, 0x72, 0xef, 0x98, - 0x72, 0x29, 0x78, 0x55, 0x09, 0xc1, 0x5c, 0x9a, 0x50, 0x30, 0x5e, 0x3f, 0xee, 0x4b, 0x32, 0xff, - 0x2b, 0x09, 0xa7, 0xd9, 0x74, 0x52, 0xd9, 0x54, 0x62, 0x1f, 0x5c, 0x26, 0xb9, 0x60, 0xd1, 0xf8, - 0x7d, 0x12, 0xf9, 0x25, 0x98, 0xa9, 0x13, 0x6b, 0x41, 0xa2, 0x20, 0x7f, 0x87, 0x67, 0xe8, 0x79, - 0xee, 0xc5, 0x90, 0xc3, 0xcf, 0xf7, 0xb7, 0x82, 0x20, 0xf9, 0x1b, 0x22, 0x20, 0x35, 0x74, 0xad, - 0xad, 0xd9, 0x5f, 0x2e, 0x2b, 0xf4, 0x2c, 0x00, 0x3b, 0xee, 0xe1, 0x5d, 0xdc, 0x2b, 0x5c, 0x9a, - 0x5b, 0x0a, 0x76, 0x6e, 0x89, 0xd5, 0x44, 0x4f, 0x50, 0x65, 0x28, 0x2e, 0xf9, 0x79, 0xe1, 0x15, - 0x00, 0xbf, 0x00, 0x9d, 0x81, 0x53, 0x8d, 0x6a, 0x79, 0xad, 0xac, 0x88, 0x43, 0x42, 0x8d, 0xad, - 0x5a, 0xb5, 0x7e, 0xad, 0x5e, 0x5b, 0x91, 0xa6, 0xd0, 0x49, 0x40, 0xc1, 0x42, 0xef, 0x50, 0xd3, - 0x09, 0x98, 0x0e, 0xc2, 0xd9, 0x2d, 0x95, 0x28, 0xf1, 0x14, 0x8d, 0x4e, 0xb7, 0x8d, 0xe9, 0xce, - 0xa3, 0x6a, 0x08, 0xa9, 0x8d, 0x77, 0x42, 0x7e, 0xf5, 0xdf, 0xb3, 0x9b, 0x0b, 0x33, 0x3e, 0xb9, - 0x27, 0xf3, 0xe5, 0x35, 0x98, 0xd6, 0x74, 0x1d, 0x77, 0x43, 0x2c, 0xc7, 0x98, 0x6a, 0xc2, 0x90, - 0xee, 0xa5, 0x72, 0x4a, 0x9f, 0xdb, 0xb3, 0x90, 0x74, 0x68, 0xef, 0xc7, 0xb1, 0xf8, 0x35, 0xce, - 0x82, 0xa3, 0x2f, 0x9b, 0x30, 0x4d, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x66, 0x1c, 0x9d, 0x67, 0xf8, - 0x47, 0x3f, 0xfd, 0x24, 0xdd, 0x59, 0x3d, 0x1b, 0x1e, 0x96, 0x21, 0xea, 0xa4, 0x48, 0x9c, 0xb7, - 0xdf, 0x50, 0x0c, 0x05, 0x51, 0x1f, 0x6f, 0xf0, 0xd1, 0x95, 0xfd, 0x22, 0xaf, 0x6c, 0x7e, 0x98, - 0x0e, 0x04, 0x6a, 0xca, 0x73, 0xae, 0xac, 0xa0, 0x52, 0x1b, 0x35, 0xa7, 0x5f, 0x7b, 0x6c, 0x70, - 0x75, 0x62, 0xff, 0x3d, 0x41, 0x39, 0x5f, 0x0d, 0x56, 0xe3, 0xcd, 0xbd, 0x8f, 0xc7, 0x61, 0x5a, - 0xeb, 0x18, 0xa6, 0x75, 0x91, 0xfe, 0xcb, 0xe7, 0x5c, 0x82, 0x7e, 0x4c, 0xb0, 0x29, 0x79, 0x85, - 0x4d, 0x85, 0xf1, 0x1a, 0xf3, 0x87, 0xdf, 0xfa, 0x23, 0x09, 0x7f, 0xba, 0x2c, 0xaf, 0x83, 0x24, - 0x0e, 0xf1, 0x62, 0x53, 0xb7, 0x5a, 0x13, 0x65, 0x29, 0xfe, 0x48, 0xf0, 0x10, 0xf9, 0xad, 0x1a, - 0x27, 0x5d, 0x7e, 0x2f, 0xa4, 0x3d, 0x36, 0xe3, 0x3c, 0x13, 0xc1, 0xc4, 0xa3, 0x20, 0x7e, 0x09, - 0x9b, 0x99, 0x93, 0x78, 0xa1, 0x6f, 0x0b, 0x7a, 0x36, 0x43, 0x37, 0x48, 0x6f, 0x56, 0xa1, 0xd0, - 0xb2, 0x4c, 0x57, 0xb5, 0x3a, 0x86, 0x8b, 0x3b, 0x5d, 0x77, 0xac, 0x5f, 0xf7, 0x27, 0x8c, 0x49, - 0x5a, 0xc9, 0x13, 0xba, 0x4d, 0x41, 0x46, 0x5a, 0xc2, 0xee, 0xe9, 0x4d, 0xd2, 0x92, 0xff, 0xe1, - 0xb5, 0x84, 0xd2, 0x90, 0x96, 0xdc, 0x97, 0x76, 0x38, 0xad, 0x5b, 0xdc, 0x98, 0xbb, 0x07, 0x4c, - 0x0b, 0x3c, 0xed, 0xf8, 0xa7, 0x71, 0x98, 0xe7, 0xc8, 0x3b, 0x9a, 0x83, 0x2f, 0xde, 0x7e, 0x6a, - 0x07, 0xbb, 0xda, 0x53, 0x17, 0x75, 0xcb, 0x10, 0x2b, 0xf9, 0x0c, 0x37, 0xd6, 0xa4, 0x7c, 0x89, - 0x97, 0x97, 0x86, 0x6e, 0x77, 0x97, 0x46, 0x1b, 0xf9, 0xd2, 0xa0, 0x0e, 0xca, 0x6d, 0x88, 0x57, - 0x2d, 0xc3, 0x24, 0x6b, 0x5b, 0x0b, 0x9b, 0x56, 0x87, 0x9b, 0x5b, 0xf6, 0x81, 0xae, 0x43, 0x52, - 0xeb, 0x58, 0x3d, 0xd3, 0x65, 0xa6, 0xb6, 0xf2, 0xe4, 0xaf, 0xbc, 0xb9, 0x30, 0xf5, 0x9f, 0xde, - 0x5c, 0x38, 0xc1, 0xd8, 0x3a, 0xad, 0x5b, 0x4b, 0x86, 0x75, 0xb1, 0xa3, 0xb9, 0xfb, 0x64, 0xfa, - 0xfe, 0xfa, 0x67, 0x9e, 0x00, 0x5e, 0x5f, 0xdd, 0x74, 0x3f, 0xfd, 0xbb, 0x3f, 0x71, 0x21, 0xa2, - 0x70, 0xfa, 0xe5, 0xf8, 0xe7, 0x3f, 0xb9, 0x10, 0x91, 0xbb, 0x90, 0x5a, 0xc1, 0xfa, 0x11, 0x15, - 0xd6, 0xfb, 0x2a, 0x7c, 0x8a, 0x57, 0x78, 0x66, 0xb0, 0x42, 0x76, 0x60, 0x6f, 0x05, 0xeb, 0x81, - 0x6a, 0x57, 0xb0, 0xde, 0x57, 0x63, 0x1d, 0xd2, 0x75, 0xd3, 0x65, 0x97, 0x8d, 0x5e, 0x80, 0x98, - 0x61, 0xb2, 0xf3, 0xeb, 0x99, 0xca, 0x63, 0xc7, 0xe8, 0x8a, 0x42, 0xe8, 0xe4, 0x4d, 0x48, 0xaf, - 0x60, 0x9d, 0xb1, 0xaa, 0x42, 0xac, 0x85, 0x75, 0xce, 0xea, 0x3e, 0x1a, 0x49, 0xa8, 0x2b, 0x2b, - 0xbf, 0xf1, 0xdb, 0xf3, 0x53, 0x1f, 0x7a, 0x6b, 0x7e, 0x6a, 0xa4, 0x3a, 0xc9, 0xe3, 0xd5, 0xc9, - 0xd3, 0xa2, 0x1f, 0x89, 0xc3, 0x83, 0xf4, 0xb6, 0xaa, 0xdd, 0x31, 0x4c, 0xf7, 0xa2, 0x6e, 0x1f, - 0x76, 0x5d, 0x8b, 0x18, 0x15, 0x6b, 0x97, 0x2b, 0xd1, 0xb4, 0x5f, 0xbc, 0xc4, 0x8a, 0x87, 0xab, - 0x90, 0xbc, 0x0b, 0x89, 0x2d, 0x42, 0x47, 0x06, 0xc9, 0xb5, 0x5c, 0xad, 0xcd, 0x3d, 0x21, 0xf6, - 0x41, 0xa0, 0xec, 0x86, 0x6b, 0x94, 0x41, 0x0d, 0x71, 0xb9, 0xb5, 0x8d, 0xb5, 0x5d, 0x76, 0x51, - 0x28, 0x46, 0x5d, 0xe8, 0x34, 0x01, 0xd0, 0x3b, 0x41, 0xb3, 0x90, 0xd0, 0x7a, 0xec, 0x30, 0x4f, - 0x8c, 0xf8, 0xd6, 0xf4, 0x43, 0x7e, 0x09, 0x52, 0x7c, 0x4f, 0x1f, 0x49, 0x10, 0xbb, 0x85, 0x0f, - 0x69, 0x3d, 0x39, 0x85, 0xfc, 0x44, 0x4b, 0x90, 0xa0, 0x8d, 0xe7, 0x37, 0x20, 0xe7, 0x96, 0x06, - 0x5a, 0xbf, 0x44, 0x1b, 0xa9, 0x30, 0x34, 0xf9, 0x06, 0xa4, 0x57, 0x2c, 0xa2, 0xd9, 0x61, 0x6e, - 0x19, 0xc6, 0x8d, 0xb6, 0xb9, 0xdb, 0xe3, 0x7a, 0xa5, 0xb0, 0x0f, 0x74, 0x12, 0x92, 0xec, 0xe2, - 0x18, 0x3f, 0x90, 0xc4, 0xbf, 0xe4, 0x2a, 0xa4, 0x28, 0xef, 0xcd, 0x2e, 0x71, 0x43, 0xbc, 0xb3, - 0xf4, 0x19, 0x7e, 0x8d, 0x98, 0xb3, 0x8f, 0xfa, 0x8d, 0x45, 0x10, 0x6f, 0x69, 0xae, 0xc6, 0xfb, - 0x4d, 0x7f, 0xcb, 0xef, 0x83, 0x34, 0x67, 0xe2, 0xa0, 0x4b, 0x10, 0xb3, 0xba, 0x0e, 0x3f, 0x52, - 0x54, 0x1a, 0xd5, 0x95, 0xcd, 0x6e, 0x25, 0x4e, 0x74, 0x49, 0x21, 0xc8, 0x95, 0x8d, 0x91, 0x6a, - 0xf1, 0x4c, 0x48, 0x2d, 0x3a, 0xd8, 0xdd, 0xd9, 0x75, 0xfd, 0x1f, 0x6c, 0x38, 0x07, 0x54, 0xc1, - 0x53, 0x94, 0x7b, 0x51, 0x98, 0x0f, 0x94, 0xde, 0xc6, 0xb6, 0x63, 0x58, 0x26, 0xd3, 0x26, 0xae, - 0x29, 0x28, 0xd0, 0x40, 0x5e, 0x3e, 0x42, 0x55, 0x5e, 0x80, 0x58, 0xb9, 0xdb, 0x45, 0x25, 0x48, - 0xd3, 0x6f, 0xdd, 0x62, 0xba, 0x12, 0x57, 0xbc, 0x6f, 0x52, 0xe6, 0x58, 0xbb, 0xee, 0x1d, 0xcd, - 0xf6, 0xee, 0x55, 0x8b, 0x6f, 0xf9, 0x79, 0xc8, 0x54, 0x2d, 0xd3, 0xc1, 0xa6, 0xd3, 0xa3, 0xfe, - 0xf5, 0x4e, 0xdb, 0xd2, 0x6f, 0x71, 0x0e, 0xec, 0x83, 0x08, 0x5b, 0xeb, 0x76, 0x29, 0x65, 0x5c, - 0x21, 0x3f, 0xd9, 0xcc, 0xae, 0x6c, 0x8e, 0x14, 0xcf, 0xe5, 0xe3, 0x89, 0x87, 0x77, 0xd0, 0x77, - 0x94, 0x23, 0xf0, 0xc0, 0xe0, 0x44, 0xba, 0x85, 0x0f, 0x9d, 0xe3, 0xce, 0xa3, 0x57, 0x20, 0xb3, - 0x45, 0x9f, 0x3c, 0x79, 0x09, 0x1f, 0xa2, 0x12, 0xa4, 0x70, 0xeb, 0xd2, 0xe5, 0xcb, 0x4f, 0x3d, - 0xcf, 0xb4, 0xfc, 0xfa, 0x94, 0x22, 0x00, 0x68, 0x1e, 0x32, 0x0e, 0xd6, 0xbb, 0x97, 0x2e, 0x5f, - 0xb9, 0xf5, 0x14, 0x53, 0xab, 0xeb, 0x53, 0x8a, 0x0f, 0x5a, 0x4e, 0x93, 0x1e, 0x7f, 0xfe, 0x53, - 0x0b, 0x91, 0x4a, 0x02, 0x62, 0x4e, 0xaf, 0xf3, 0xae, 0xe9, 0xc6, 0x1f, 0x24, 0x61, 0x31, 0x50, - 0xca, 0x16, 0xac, 0xdb, 0x5a, 0xdb, 0x68, 0x69, 0xfe, 0x43, 0x35, 0x52, 0xa0, 0xff, 0x14, 0x63, - 0xc4, 0x4a, 0x74, 0xa4, 0x14, 0xe5, 0x9f, 0x8a, 0x40, 0xee, 0xa6, 0xe0, 0xdc, 0xc0, 0x2e, 0xba, - 0x0a, 0xe0, 0xd5, 0x24, 0xa6, 0xca, 0x99, 0xa5, 0xfe, 0xba, 0x96, 0x3c, 0x1a, 0x25, 0x80, 0x8e, - 0x9e, 0xa5, 0x0a, 0xd8, 0xb5, 0x1c, 0x7e, 0xc7, 0x76, 0x0c, 0xa9, 0x87, 0x8c, 0x1e, 0x07, 0x44, - 0xad, 0x9a, 0x7a, 0xdb, 0x72, 0x0d, 0x73, 0x4f, 0xed, 0x5a, 0x77, 0xf8, 0xcb, 0x05, 0x31, 0x45, - 0xa2, 0x25, 0x37, 0x69, 0xc1, 0x16, 0x81, 0x93, 0x46, 0x67, 0x3c, 0x2e, 0x24, 0x54, 0xd4, 0x5a, - 0x2d, 0x1b, 0x3b, 0x0e, 0x37, 0x5c, 0xe2, 0x13, 0x5d, 0x85, 0x54, 0xb7, 0xb7, 0xa3, 0x0a, 0x2b, - 0x91, 0xbd, 0xf4, 0xc0, 0xb0, 0x39, 0x2f, 0x74, 0x83, 0xcf, 0xfa, 0x64, 0xb7, 0xb7, 0x43, 0x34, - 0xe5, 0x2c, 0xe4, 0x86, 0x34, 0x26, 0x7b, 0xdb, 0x6f, 0x07, 0x7d, 0x65, 0x87, 0xf7, 0x40, 0xed, - 0xda, 0x86, 0x65, 0x1b, 0xee, 0x21, 0x3d, 0x0a, 0x18, 0x53, 0x24, 0x51, 0xb0, 0xc5, 0xe1, 0xf2, - 0x2d, 0x28, 0x36, 0x68, 0x08, 0xe1, 0xb7, 0xfc, 0xb2, 0xdf, 0xbe, 0xc8, 0xf8, 0xf6, 0x8d, 0x6c, - 0x59, 0x74, 0xa0, 0x65, 0x17, 0xfe, 0x43, 0x04, 0xb2, 0x15, 0x32, 0x71, 0xeb, 0x2b, 0xd7, 0xda, - 0xda, 0x1e, 0x7a, 0x0a, 0x4e, 0x54, 0xd6, 0x36, 0xab, 0x2f, 0xa9, 0xf5, 0x15, 0xf5, 0xda, 0x5a, - 0x79, 0xd5, 0x3f, 0x7b, 0x5c, 0x3a, 0x79, 0xf7, 0xde, 0x22, 0x0a, 0xe0, 0x6e, 0x9b, 0x34, 0xce, - 0x45, 0x17, 0x61, 0x36, 0x4c, 0x52, 0xae, 0x34, 0x6a, 0x1b, 0x4d, 0x29, 0x52, 0x3a, 0x71, 0xf7, - 0xde, 0xe2, 0x74, 0x80, 0xa2, 0xbc, 0xe3, 0x60, 0xd3, 0x1d, 0x24, 0xa8, 0x6e, 0xae, 0xaf, 0xd7, - 0x9b, 0x52, 0x74, 0x80, 0xa0, 0x6a, 0x75, 0x3a, 0x86, 0x8b, 0x1e, 0x85, 0xe9, 0x30, 0xc1, 0x46, - 0x7d, 0x4d, 0x8a, 0x95, 0xd0, 0xdd, 0x7b, 0x8b, 0x85, 0x00, 0xf6, 0x86, 0xd1, 0x2e, 0xa5, 0x3f, - 0xf2, 0x43, 0xf3, 0x53, 0x9f, 0xfe, 0x5b, 0xf3, 0x91, 0xca, 0xfa, 0xc8, 0x39, 0xf7, 0xf4, 0xf1, - 0xe6, 0x5c, 0x78, 0xdd, 0xfe, 0xd2, 0x03, 0x21, 0x73, 0xc3, 0x7d, 0xc4, 0x80, 0x31, 0x9e, 0x74, - 0xba, 0x8d, 0xcb, 0x7b, 0x94, 0x8e, 0x76, 0x0f, 0x4a, 0x63, 0x16, 0x85, 0xd2, 0x58, 0xc3, 0x20, - 0x3f, 0x0f, 0xf9, 0x2d, 0xcd, 0x76, 0x1b, 0xd8, 0xbd, 0x8e, 0xb5, 0x16, 0xb6, 0xc3, 0xfe, 0x43, - 0x5e, 0xf8, 0x0f, 0x08, 0xe2, 0xd4, 0x49, 0x60, 0xeb, 0x27, 0xfd, 0x2d, 0xef, 0x43, 0x9c, 0x9e, - 0x72, 0xf6, 0x7c, 0x0b, 0x4e, 0xc1, 0x7c, 0x0b, 0xb2, 0x32, 0x1c, 0xba, 0xd8, 0x11, 0xa9, 0x39, - 0xfa, 0x81, 0x9e, 0x11, 0x1e, 0x42, 0xec, 0x68, 0x0f, 0x81, 0x4f, 0x2f, 0xee, 0x27, 0xb4, 0x21, - 0xc5, 0x87, 0xd8, 0x6b, 0x48, 0xc4, 0x6f, 0x08, 0x5a, 0x87, 0x62, 0x57, 0xb3, 0x5d, 0x7a, 0xeb, - 0x71, 0x9f, 0xf6, 0x82, 0xcf, 0xe0, 0x85, 0x41, 0x7b, 0x12, 0xea, 0x2c, 0xaf, 0x25, 0xdf, 0x0d, - 0x02, 0xe5, 0xff, 0x12, 0x87, 0x24, 0x17, 0xc6, 0x0b, 0x90, 0xe2, 0x62, 0xe5, 0x73, 0xee, 0xc1, - 0xa5, 0xc1, 0x65, 0x76, 0xc9, 0x5b, 0x0e, 0x39, 0x3f, 0x41, 0x83, 0x1e, 0x81, 0xb4, 0xbe, 0xaf, - 0x19, 0xa6, 0x6a, 0xb4, 0xb8, 0x73, 0x9c, 0x7d, 0xeb, 0xcd, 0x85, 0x54, 0x95, 0xc0, 0xea, 0x2b, - 0x4a, 0x8a, 0x16, 0xd6, 0x5b, 0xc4, 0xa7, 0xd9, 0xc7, 0xc6, 0xde, 0xbe, 0xcb, 0xed, 0x06, 0xff, - 0x42, 0xcf, 0x41, 0x9c, 0x28, 0x04, 0xbf, 0x13, 0x5f, 0x1a, 0x88, 0x7a, 0xbc, 0xb4, 0x54, 0x25, - 0x4d, 0x2a, 0xfe, 0xe8, 0x7f, 0x5e, 0x88, 0x28, 0x94, 0x02, 0x55, 0x21, 0xdf, 0xd6, 0x1c, 0x57, - 0xa5, 0xeb, 0x31, 0xa9, 0x3e, 0x41, 0x59, 0x9c, 0x1e, 0x14, 0x08, 0x17, 0x2c, 0x6f, 0x7a, 0x96, - 0x50, 0x31, 0x50, 0x0b, 0x9d, 0x07, 0x89, 0x32, 0xd1, 0xe9, 0x0c, 0x64, 0x5e, 0x62, 0x92, 0xca, - 0xbd, 0x40, 0xe0, 0x6c, 0x62, 0x52, 0x5f, 0xf1, 0x0c, 0x64, 0xe8, 0x2d, 0x5c, 0x8a, 0xc2, 0x8e, - 0xd6, 0xa7, 0x09, 0x80, 0x16, 0x9e, 0x83, 0xa2, 0x6f, 0xf5, 0x19, 0x4a, 0x9a, 0x71, 0xf1, 0xc1, - 0x14, 0xf1, 0x49, 0x98, 0x35, 0xf1, 0x01, 0x3d, 0xec, 0x1f, 0xc2, 0xce, 0x50, 0x6c, 0x44, 0xca, - 0x6e, 0x86, 0x29, 0x1e, 0x86, 0x82, 0x2e, 0x84, 0xcf, 0x70, 0x81, 0xe2, 0xe6, 0x3d, 0x28, 0x45, - 0x3b, 0x0d, 0x69, 0xad, 0xdb, 0x65, 0x08, 0x59, 0x6e, 0xf5, 0xbb, 0x5d, 0x5a, 0x74, 0x01, 0xa6, - 0x69, 0x1f, 0x6d, 0xec, 0xf4, 0xda, 0x2e, 0x67, 0x92, 0xa3, 0x38, 0x45, 0x52, 0xa0, 0x30, 0x38, - 0xc5, 0x7d, 0x08, 0xf2, 0xf8, 0xb6, 0xd1, 0xc2, 0xa6, 0x8e, 0x19, 0x5e, 0x9e, 0xe2, 0xe5, 0x04, - 0x90, 0x22, 0x3d, 0x0a, 0x9e, 0x35, 0x57, 0xc5, 0x4a, 0x53, 0x60, 0xfc, 0x04, 0xbc, 0xcc, 0xc0, - 0xf2, 0x1c, 0xc4, 0x57, 0x34, 0x57, 0x23, 0xee, 0x92, 0x7b, 0xc0, 0x96, 0xcf, 0x9c, 0x42, 0x7e, - 0xca, 0x3f, 0x1b, 0x83, 0xf8, 0x4d, 0xcb, 0xc5, 0xe8, 0xe9, 0x80, 0x2b, 0x5b, 0x18, 0xa6, 0xcf, - 0x0d, 0x63, 0xcf, 0xc4, 0xad, 0x75, 0x67, 0x2f, 0xf0, 0x64, 0x8e, 0xaf, 0x4e, 0xd1, 0x90, 0x3a, - 0xcd, 0x42, 0xc2, 0xb6, 0x7a, 0x66, 0x4b, 0x1c, 0x4a, 0xa7, 0x1f, 0xa8, 0x06, 0x69, 0x4f, 0x4b, - 0xe2, 0xe3, 0xb4, 0xa4, 0x48, 0xb4, 0x84, 0xe8, 0x30, 0x07, 0x28, 0xa9, 0x1d, 0xae, 0x2c, 0x15, - 0xc8, 0x78, 0xc6, 0x8b, 0x6b, 0xdb, 0x64, 0x0a, 0xeb, 0x93, 0x91, 0x25, 0xd2, 0x1b, 0x7b, 0x4f, - 0x78, 0x4c, 0xe3, 0x24, 0xaf, 0x80, 0x4b, 0x2f, 0xa4, 0x56, 0xfc, 0xf9, 0x9e, 0x14, 0xed, 0x97, - 0xaf, 0x56, 0xec, 0x09, 0x9f, 0x07, 0x20, 0xe3, 0x18, 0x7b, 0xa6, 0xe6, 0xf6, 0x6c, 0xcc, 0x35, - 0xcf, 0x07, 0x90, 0x52, 0xff, 0x82, 0x06, 0xd3, 0xb4, 0xc0, 0xab, 0x62, 0x17, 0x61, 0xc6, 0x7f, - 0xcf, 0xcb, 0xe7, 0xc2, 0xb4, 0x0c, 0x79, 0x45, 0x0d, 0x51, 0x22, 0xff, 0x52, 0x04, 0x92, 0x7c, - 0xc5, 0xf2, 0x87, 0x21, 0x32, 0x7c, 0x18, 0xa2, 0xa3, 0x86, 0x21, 0x76, 0xff, 0xc3, 0x50, 0x06, - 0xf0, 0x9a, 0xe9, 0xf0, 0x47, 0x5a, 0x86, 0xb8, 0x55, 0xac, 0x89, 0x0d, 0x63, 0x8f, 0xcf, 0xfb, - 0x00, 0x91, 0xfc, 0x9b, 0x11, 0xe2, 0xe1, 0xf3, 0x72, 0x54, 0x86, 0xbc, 0x68, 0x97, 0xba, 0xdb, - 0xd6, 0xf6, 0xb8, 0x2a, 0x3e, 0x38, 0xb2, 0x71, 0x64, 0x15, 0x56, 0xb2, 0xbc, 0x3d, 0xd4, 0x9f, - 0x18, 0x3a, 0xac, 0xd1, 0x11, 0xc3, 0x1a, 0xd2, 0xa3, 0xd8, 0xfd, 0xe9, 0x51, 0x68, 0xc4, 0xe3, - 0x7d, 0x23, 0x2e, 0xff, 0x76, 0x84, 0xbf, 0x26, 0xd6, 0x62, 0xb7, 0x4b, 0xfe, 0xac, 0x86, 0xea, - 0x35, 0xae, 0x5b, 0x2d, 0xdc, 0x52, 0x07, 0xc6, 0xec, 0xa1, 0x41, 0x8e, 0xe1, 0x36, 0xfb, 0x63, - 0x87, 0x04, 0x97, 0x86, 0x3f, 0x86, 0x9f, 0x89, 0xc2, 0xf4, 0x00, 0xfe, 0x9f, 0xbf, 0xb1, 0x0c, - 0xcf, 0xde, 0xc4, 0x84, 0xb3, 0x37, 0x39, 0x72, 0xf6, 0xfe, 0x74, 0x94, 0x26, 0x00, 0xba, 0x96, - 0xa3, 0xb5, 0xbf, 0x12, 0xb6, 0xf7, 0x0c, 0x64, 0xba, 0x56, 0x5b, 0x65, 0x25, 0xec, 0x5a, 0x50, - 0xba, 0x6b, 0xb5, 0x95, 0x01, 0x35, 0x4b, 0xbc, 0x43, 0x86, 0x39, 0xf9, 0x0e, 0x0c, 0x42, 0xaa, - 0x7f, 0x42, 0xd9, 0x90, 0x63, 0xa2, 0xe0, 0x5e, 0xd3, 0x93, 0x44, 0x06, 0xd4, 0x0d, 0x8b, 0x0c, - 0x7a, 0x79, 0xac, 0xd9, 0x0c, 0x53, 0xe1, 0x78, 0x84, 0x82, 0x39, 0x19, 0xc3, 0x32, 0x47, 0x41, - 0x8b, 0xa5, 0x70, 0x3c, 0xf9, 0xbb, 0x23, 0x00, 0x6b, 0x44, 0xb2, 0xb4, 0xbf, 0xc4, 0xdf, 0x71, - 0x68, 0x13, 0xd4, 0x50, 0xcd, 0xf3, 0xa3, 0x06, 0x8d, 0xd7, 0x9f, 0x73, 0x82, 0xed, 0xae, 0x42, - 0xde, 0xd7, 0x6d, 0x07, 0x8b, 0xc6, 0xcc, 0x1f, 0x11, 0x95, 0x36, 0xb0, 0xab, 0xe4, 0x6e, 0x07, - 0xbe, 0xe4, 0x7f, 0x12, 0x81, 0x0c, 0x6d, 0xd3, 0x3a, 0x76, 0xb5, 0xd0, 0x18, 0x46, 0xee, 0x7f, - 0x0c, 0x1f, 0x04, 0x60, 0x6c, 0x1c, 0xe3, 0x0d, 0xcc, 0x35, 0x2b, 0x43, 0x21, 0x0d, 0xe3, 0x0d, - 0x8c, 0xae, 0x78, 0x02, 0x8f, 0x1d, 0x2d, 0x70, 0x11, 0xb5, 0x72, 0xb1, 0x9f, 0x82, 0x14, 0x7d, - 0xef, 0xf2, 0xc0, 0xe1, 0x81, 0x68, 0xd2, 0xec, 0x75, 0x9a, 0x07, 0x8e, 0xfc, 0x3a, 0xa4, 0x9a, - 0x07, 0x2c, 0x9f, 0x78, 0x06, 0x32, 0xb6, 0x65, 0x71, 0xef, 0x8f, 0x79, 0xdd, 0x69, 0x02, 0xa0, - 0xce, 0x8e, 0xc8, 0xa1, 0x45, 0xfd, 0x1c, 0x9a, 0x9f, 0x04, 0x8c, 0x4d, 0x94, 0x04, 0x24, 0xd1, - 0x67, 0x3e, 0x34, 0x93, 0xd0, 0xe3, 0x70, 0xaa, 0x51, 0x5f, 0xdd, 0xa8, 0xad, 0xa8, 0xeb, 0x8d, - 0xd5, 0xbe, 0x2b, 0xff, 0xa5, 0xe2, 0xdd, 0x7b, 0x8b, 0x59, 0x1e, 0x76, 0x8e, 0xc2, 0xde, 0x52, - 0x6a, 0x37, 0x37, 0x9b, 0x35, 0x29, 0xc2, 0xb0, 0xb7, 0x6c, 0x7c, 0xdb, 0x72, 0xd9, 0x83, 0xb2, - 0x4f, 0xc2, 0xe9, 0x21, 0xd8, 0x5e, 0xf0, 0x39, 0x7d, 0xf7, 0xde, 0x62, 0x7e, 0xcb, 0xc6, 0x4c, - 0xcb, 0x28, 0xc5, 0x12, 0xcc, 0x0d, 0x52, 0x6c, 0x6e, 0x6d, 0x36, 0xca, 0x6b, 0xd2, 0x62, 0x49, - 0xba, 0x7b, 0x6f, 0x31, 0x27, 0x4c, 0x06, 0xc1, 0x7f, 0xf7, 0xa3, 0xcf, 0x6f, 0x4e, 0x87, 0xb2, - 0xc6, 0x2c, 0xae, 0xeb, 0x6a, 0xb6, 0xd6, 0x39, 0x6e, 0xf8, 0x39, 0xe6, 0x30, 0x82, 0xfc, 0x53, - 0x51, 0x28, 0x7a, 0xc1, 0xcd, 0x16, 0xad, 0x01, 0x3d, 0x1d, 0xcc, 0xf8, 0x65, 0x47, 0xae, 0x1d, - 0x0c, 0x5b, 0x24, 0x04, 0xdf, 0x0b, 0x69, 0xe1, 0x24, 0xf3, 0x49, 0xb5, 0x38, 0x64, 0x7d, 0xe3, - 0x18, 0x9c, 0xd4, 0xa3, 0x40, 0x2f, 0x42, 0xc6, 0x9b, 0x62, 0xde, 0xa3, 0x6b, 0xa3, 0xe7, 0x24, - 0xa7, 0xf7, 0x69, 0xd0, 0xf3, 0x7e, 0x18, 0x17, 0x1f, 0x15, 0x18, 0xde, 0x64, 0x08, 0x9c, 0xd8, - 0x0b, 0xe1, 0x9e, 0x84, 0xb8, 0xb6, 0xa3, 0x1b, 0xdc, 0x00, 0x3f, 0x30, 0x48, 0x57, 0xae, 0x54, - 0xeb, 0x9c, 0x88, 0x62, 0xca, 0x75, 0x9e, 0x4c, 0xe1, 0xf2, 0xa2, 0x4f, 0xdc, 0x1c, 0xa8, 0x2c, - 0x16, 0x66, 0xde, 0x45, 0xba, 0xa3, 0x1d, 0x54, 0x68, 0x38, 0x7c, 0x0a, 0x52, 0xa4, 0x70, 0x8f, - 0x3f, 0xa2, 0x10, 0x53, 0x92, 0x1d, 0xed, 0x60, 0x55, 0x73, 0x6e, 0xc4, 0xd3, 0x31, 0x29, 0x2e, - 0xff, 0x18, 0xf1, 0x54, 0x42, 0x52, 0x41, 0x8f, 0x01, 0x22, 0x14, 0xda, 0x1e, 0x56, 0xc9, 0xd4, - 0xa5, 0xe2, 0x15, 0x7c, 0x8b, 0x1d, 0xed, 0xa0, 0xbc, 0x87, 0x37, 0x7a, 0x1d, 0xda, 0x00, 0x07, - 0xad, 0x83, 0x24, 0x90, 0xc5, 0xc8, 0x72, 0xf1, 0x9f, 0x1e, 0x7c, 0xb4, 0x95, 0x23, 0xb0, 0x05, - 0xe0, 0x63, 0x64, 0x01, 0x28, 0x30, 0x7e, 0xde, 0xf1, 0x93, 0x50, 0x57, 0x62, 0xe1, 0xae, 0xc8, - 0x2f, 0x42, 0xb1, 0x6f, 0x04, 0x90, 0x0c, 0x79, 0x9e, 0xb1, 0xa2, 0x5b, 0xfb, 0x2c, 0xc2, 0xc9, - 0x28, 0x59, 0x96, 0x99, 0xa2, 0x47, 0x1d, 0x96, 0xd3, 0x3f, 0xf7, 0xc9, 0x85, 0x08, 0xdd, 0xf6, - 0x79, 0x0c, 0xf2, 0xa1, 0x31, 0x10, 0x59, 0xe4, 0x88, 0x9f, 0x45, 0xf6, 0x91, 0x5f, 0x83, 0x1c, - 0x31, 0x40, 0xb8, 0xc5, 0x71, 0x1f, 0x81, 0x22, 0x33, 0x90, 0xfd, 0xb2, 0x66, 0x0e, 0xcf, 0xba, - 0x10, 0xb8, 0x2c, 0x3c, 0xa0, 0xb0, 0xd8, 0xb3, 0x02, 0x6b, 0x55, 0x73, 0xe4, 0x4d, 0x00, 0x7f, - 0x50, 0x51, 0x19, 0x1e, 0x24, 0xc6, 0x23, 0x78, 0x14, 0x95, 0x3f, 0xb7, 0x15, 0xf2, 0x18, 0x4b, - 0x04, 0xc9, 0x3f, 0x6e, 0xca, 0x1e, 0xdd, 0xba, 0x4e, 0x31, 0x2a, 0x2f, 0x7f, 0xfa, 0xad, 0xf9, - 0xc8, 0xbb, 0x63, 0x0b, 0xfe, 0xe3, 0xab, 0x70, 0x26, 0x50, 0x48, 0x14, 0x30, 0x94, 0x88, 0x2a, - 0x06, 0xf4, 0x95, 0x14, 0x8e, 0x4b, 0x28, 0x1d, 0x99, 0xff, 0x2d, 0x1d, 0x6d, 0x76, 0xc6, 0x67, - 0x9b, 0xc6, 0xe7, 0xbb, 0x86, 0x27, 0xe5, 0xff, 0x71, 0x06, 0x52, 0x0a, 0xfe, 0x60, 0x0f, 0x3b, - 0x2e, 0xba, 0x04, 0x71, 0xac, 0xef, 0x5b, 0xc3, 0x72, 0xa0, 0xa4, 0x83, 0x4b, 0x1c, 0xaf, 0xa6, - 0xef, 0x5b, 0xd7, 0xa7, 0x14, 0x8a, 0x8b, 0x2e, 0x43, 0x62, 0xb7, 0xdd, 0xe3, 0xe9, 0xab, 0x3e, - 0x9b, 0x15, 0x24, 0xba, 0x46, 0x90, 0xae, 0x4f, 0x29, 0x0c, 0x9b, 0x54, 0x45, 0x5f, 0xdb, 0x8e, - 0x1d, 0x5d, 0x55, 0xdd, 0xdc, 0xa5, 0x55, 0x11, 0x5c, 0x54, 0x01, 0x30, 0x4c, 0xc3, 0x55, 0x69, - 0x6a, 0x87, 0x5b, 0x8d, 0xb3, 0xa3, 0x29, 0x0d, 0x97, 0x26, 0x83, 0xae, 0x4f, 0x29, 0x19, 0x43, - 0x7c, 0x90, 0xe6, 0x7e, 0xb0, 0x87, 0xed, 0x43, 0xee, 0xad, 0x8d, 0x6c, 0xee, 0xcb, 0x04, 0x89, - 0x34, 0x97, 0x62, 0x13, 0x23, 0xcb, 0x1e, 0xee, 0x73, 0x0f, 0xf8, 0x73, 0xb4, 0x0b, 0xa3, 0x28, - 0xe9, 0xeb, 0x7d, 0xcd, 0x83, 0xeb, 0x53, 0x4a, 0x4a, 0x67, 0x3f, 0xd1, 0x73, 0x9e, 0x0b, 0x96, - 0x1d, 0xf4, 0x7a, 0x42, 0xb4, 0x2c, 0xed, 0x33, 0x25, 0x5c, 0x31, 0xb4, 0x01, 0x85, 0xb6, 0xe1, - 0xb8, 0xaa, 0x63, 0x6a, 0x5d, 0x67, 0xdf, 0x72, 0x1d, 0x9a, 0x3f, 0xc9, 0x5e, 0x7a, 0x78, 0x14, - 0x87, 0x35, 0xc3, 0x71, 0x1b, 0x02, 0xf9, 0xfa, 0x94, 0x92, 0x6f, 0x07, 0x01, 0x84, 0x9f, 0xb5, - 0xbb, 0x8b, 0x6d, 0x8f, 0x21, 0xcd, 0xb3, 0x1c, 0xc1, 0x6f, 0x93, 0x60, 0x0b, 0x7a, 0xc2, 0xcf, - 0x0a, 0x02, 0xd0, 0xd7, 0xc0, 0x4c, 0xdb, 0xd2, 0x5a, 0x1e, 0x3b, 0x55, 0xdf, 0xef, 0x99, 0xb7, - 0x68, 0x52, 0x26, 0x7b, 0xe9, 0xd1, 0x91, 0x8d, 0xb4, 0xb4, 0x96, 0x60, 0x51, 0x25, 0x04, 0xd7, - 0xa7, 0x94, 0xe9, 0x76, 0x3f, 0x10, 0x7d, 0x00, 0x66, 0xb5, 0x6e, 0xb7, 0x7d, 0xd8, 0xcf, 0xbd, - 0x48, 0xb9, 0x5f, 0x18, 0xc5, 0xbd, 0x4c, 0x68, 0xfa, 0xd9, 0x23, 0x6d, 0x00, 0x8a, 0x9a, 0x20, - 0x75, 0x6d, 0x4c, 0x6f, 0x73, 0x75, 0xb9, 0x97, 0x41, 0xdf, 0xba, 0xca, 0x5e, 0x3a, 0x37, 0x8a, - 0xf7, 0x16, 0xc3, 0x17, 0x4e, 0xc9, 0xf5, 0x29, 0xa5, 0xd8, 0x0d, 0x83, 0x18, 0x57, 0x4b, 0xc7, - 0xf4, 0x29, 0x3e, 0xce, 0x75, 0x7a, 0x1c, 0x57, 0x8a, 0x1f, 0xe6, 0x1a, 0x02, 0xa1, 0x1a, 0x64, - 0x59, 0x28, 0xaa, 0x12, 0x63, 0x48, 0x5f, 0xc8, 0xca, 0x5e, 0x92, 0x47, 0xce, 0x50, 0x8a, 0x7a, - 0xd3, 0x72, 0xf1, 0xf5, 0x29, 0x05, 0xb0, 0xf7, 0x85, 0x34, 0x38, 0x41, 0x1f, 0x0b, 0x3b, 0x54, - 0xc3, 0x86, 0x77, 0x6e, 0x86, 0x32, 0x7c, 0x6c, 0x14, 0xc3, 0x9b, 0x94, 0xe8, 0x66, 0xd0, 0x0e, - 0x5f, 0x9f, 0x52, 0x66, 0x6e, 0x0f, 0x82, 0x89, 0x8a, 0xed, 0x1a, 0xa6, 0xd6, 0x36, 0xde, 0xc0, - 0x6c, 0x09, 0xa5, 0xcf, 0x64, 0x1e, 0xa1, 0x62, 0xd7, 0x38, 0x36, 0x5d, 0x58, 0x89, 0x8a, 0xed, - 0x06, 0x01, 0x95, 0x14, 0x3f, 0x87, 0xea, 0x3d, 0xfb, 0x96, 0x92, 0xd2, 0xec, 0xa9, 0xb7, 0x1b, - 0xf1, 0x34, 0x48, 0x59, 0xf9, 0x1c, 0x64, 0x03, 0x86, 0x09, 0xcd, 0x41, 0x8a, 0x9f, 0xd4, 0x11, - 0x27, 0x5a, 0xf9, 0xa7, 0x5c, 0x80, 0x5c, 0xd0, 0x18, 0xc9, 0x1f, 0x8d, 0x78, 0x94, 0xf4, 0xbd, - 0x8b, 0xb9, 0x70, 0x46, 0x3a, 0xe3, 0x7b, 0x2a, 0x0f, 0x89, 0xa5, 0x4d, 0x94, 0xb3, 0xed, 0xd7, - 0x1c, 0x05, 0xf2, 0x95, 0x15, 0x2d, 0x40, 0xb6, 0x7b, 0xa9, 0xeb, 0xa1, 0xc4, 0x28, 0x0a, 0x74, - 0x2f, 0x75, 0x05, 0xc2, 0x59, 0xc8, 0x91, 0x7e, 0xab, 0x41, 0x7f, 0x29, 0xa3, 0x64, 0x09, 0x8c, - 0xa3, 0xc8, 0xff, 0x2a, 0x0a, 0x52, 0xbf, 0x01, 0xf3, 0x52, 0xd5, 0x91, 0x63, 0xa7, 0xaa, 0x4f, - 0xf7, 0x27, 0xc9, 0xfd, 0xbc, 0xf8, 0x1a, 0x48, 0x7e, 0x7a, 0x97, 0x2d, 0x35, 0xa3, 0xfd, 0xbf, - 0x3e, 0x47, 0x55, 0x29, 0xea, 0x7d, 0x9e, 0xeb, 0xb5, 0xd0, 0x66, 0xa5, 0xf8, 0x73, 0x14, 0xfd, - 0x03, 0xee, 0x39, 0x31, 0xdb, 0xdd, 0x96, 0xe6, 0x62, 0x91, 0x1f, 0x0b, 0xec, 0x5b, 0x3e, 0x02, - 0x45, 0xad, 0xdb, 0x55, 0x1d, 0x57, 0x73, 0x31, 0xf7, 0x35, 0x58, 0xe6, 0x21, 0xaf, 0x75, 0xbb, - 0x0d, 0x02, 0x65, 0xbe, 0xc6, 0xc3, 0x50, 0x20, 0x36, 0xdd, 0xd0, 0xda, 0xc2, 0x55, 0x48, 0x32, - 0x97, 0x84, 0x43, 0x99, 0x77, 0x20, 0xb7, 0xbc, 0x11, 0xa7, 0xf6, 0xdc, 0x8b, 0xa9, 0x22, 0x81, - 0x98, 0x0a, 0xf1, 0x77, 0x48, 0x98, 0x7c, 0xc4, 0xdb, 0x2d, 0xc3, 0x37, 0x0d, 0x66, 0x69, 0xfc, - 0x75, 0x9b, 0x25, 0x4b, 0xd2, 0x0a, 0xfb, 0x90, 0x15, 0x28, 0x84, 0x6d, 0x3f, 0x2a, 0x40, 0xd4, - 0x3d, 0xe0, 0xb5, 0x44, 0xdd, 0x03, 0xe2, 0xe9, 0x7a, 0xaf, 0xf7, 0x16, 0x86, 0xac, 0x76, 0x9c, - 0xce, 0xcf, 0x75, 0xc8, 0x45, 0xc8, 0x87, 0xd6, 0x04, 0xf9, 0x24, 0xcc, 0x0e, 0x33, 0xf1, 0xf2, - 0xbe, 0x07, 0x0f, 0x99, 0x6a, 0x74, 0x19, 0xd2, 0x9e, 0x8d, 0x1f, 0x12, 0x1d, 0xd3, 0x6a, 0x05, - 0xb2, 0xe2, 0xa1, 0x86, 0xd2, 0xf9, 0xd1, 0x50, 0x3a, 0x5f, 0xfe, 0x7a, 0x98, 0x1b, 0x65, 0xbf, - 0xfb, 0x92, 0x7c, 0x71, 0x4f, 0x60, 0x27, 0x21, 0xc9, 0x9f, 0xc9, 0x8c, 0xd2, 0x0d, 0x2c, 0xfe, - 0x45, 0x04, 0xc9, 0x6c, 0x79, 0x8c, 0xed, 0x6b, 0xd1, 0x0f, 0x59, 0x85, 0xd3, 0x23, 0x6d, 0xf8, - 0xe8, 0xad, 0x30, 0xc6, 0x88, 0x6f, 0x85, 0xe9, 0xa2, 0x39, 0x0e, 0xed, 0xab, 0x38, 0xc8, 0xc2, - 0xbe, 0xe4, 0x8f, 0xc5, 0xe0, 0xe4, 0x70, 0x4b, 0x8e, 0x16, 0x21, 0x47, 0xfc, 0x56, 0x37, 0xec, - 0xe2, 0x42, 0x47, 0x3b, 0x68, 0x72, 0xff, 0x96, 0x6f, 0x25, 0x44, 0xbd, 0xad, 0x04, 0xb4, 0x0d, - 0xd3, 0x6d, 0x4b, 0xd7, 0xda, 0x6a, 0x60, 0x2b, 0x87, 0x4f, 0xa2, 0x87, 0x06, 0x84, 0x1d, 0x4e, - 0x19, 0x12, 0x83, 0xc3, 0xf5, 0xbf, 0x48, 0x79, 0xac, 0x79, 0xbb, 0x3e, 0x68, 0x05, 0xb2, 0x1d, - 0xc3, 0xd9, 0xc1, 0xfb, 0xda, 0x6d, 0xc3, 0xb2, 0xf9, 0x6c, 0x1a, 0x54, 0x9a, 0x75, 0x1f, 0x47, - 0xec, 0x30, 0x05, 0xc8, 0x02, 0x43, 0x92, 0x18, 0xba, 0xf1, 0x95, 0x3c, 0xb6, 0x35, 0x19, 0xb5, - 0x87, 0x94, 0x1a, 0xb9, 0x87, 0x34, 0x6c, 0xc3, 0x26, 0x3d, 0x7c, 0xc3, 0xe6, 0x23, 0xc1, 0xa1, - 0x09, 0xaf, 0x7d, 0x03, 0x7b, 0x38, 0xa8, 0x01, 0xb3, 0x9c, 0xbe, 0x15, 0x92, 0xfd, 0x90, 0xa3, - 0x0e, 0x6c, 0x7e, 0xf5, 0xcb, 0x1c, 0x09, 0xf2, 0xd1, 0x62, 0x8f, 0xdd, 0x9f, 0xd8, 0xc5, 0x26, - 0x6a, 0x3c, 0xb0, 0x89, 0xfa, 0xff, 0xd8, 0x50, 0x7c, 0x38, 0x06, 0xd3, 0x03, 0x8e, 0xc4, 0xd0, - 0xdd, 0xe1, 0x51, 0x19, 0x59, 0xd1, 0xb1, 0xd8, 0xb1, 0x3b, 0xc6, 0xc7, 0x3a, 0x3e, 0x7e, 0xac, - 0x13, 0xef, 0xe0, 0x58, 0x27, 0xef, 0x6f, 0xac, 0xdf, 0xd5, 0x51, 0xf8, 0x44, 0x04, 0x4a, 0xa3, - 0xbd, 0xaf, 0xa1, 0xc3, 0x71, 0xac, 0x0d, 0x84, 0x51, 0x6b, 0xdc, 0xc3, 0x50, 0xe8, 0xf3, 0x0d, - 0x99, 0x2a, 0xe7, 0x43, 0x51, 0xb8, 0xfc, 0x8d, 0x31, 0x6f, 0xe1, 0x09, 0x39, 0x70, 0x43, 0x66, - 0xeb, 0xcb, 0x30, 0xd3, 0xc2, 0xba, 0xd1, 0xba, 0xdf, 0xc9, 0x3a, 0xcd, 0xa9, 0xff, 0xff, 0x5c, - 0x1d, 0xd4, 0x92, 0xef, 0x02, 0x48, 0x2b, 0xd8, 0xe9, 0x12, 0x7f, 0x0c, 0x55, 0x20, 0x83, 0x0f, - 0x74, 0xdc, 0x75, 0xfd, 0x43, 0x15, 0xc3, 0x42, 0x04, 0x86, 0x5d, 0x13, 0x98, 0x24, 0x40, 0xf6, - 0xc8, 0xd0, 0xd3, 0x3c, 0x07, 0x30, 0x3a, 0x9c, 0xe7, 0xe4, 0xc1, 0x24, 0xc0, 0x15, 0x91, 0x04, - 0x88, 0x8d, 0x8c, 0x6f, 0x19, 0x55, 0x5f, 0x16, 0xe0, 0x69, 0x9e, 0x05, 0x88, 0x8f, 0xa9, 0x2c, - 0x94, 0x06, 0xa8, 0x86, 0xd2, 0x00, 0xc9, 0x31, 0xdd, 0x1c, 0x91, 0x07, 0xb8, 0x22, 0xf2, 0x00, - 0xa9, 0x31, 0x2d, 0xee, 0x4b, 0x04, 0xbc, 0x10, 0x48, 0x04, 0x64, 0x06, 0xb3, 0xad, 0x21, 0xd2, - 0x21, 0x99, 0x80, 0xe7, 0xbd, 0x4c, 0x40, 0x6e, 0x64, 0x16, 0x81, 0x13, 0xf7, 0xa7, 0x02, 0x36, - 0x07, 0x52, 0x01, 0x79, 0xfe, 0x47, 0x97, 0x46, 0xb1, 0x18, 0x93, 0x0b, 0xd8, 0x1c, 0xc8, 0x05, - 0x14, 0xc6, 0x30, 0x1c, 0x93, 0x0c, 0xf8, 0xda, 0xe1, 0xc9, 0x80, 0xd1, 0xe1, 0x3a, 0x6f, 0xe6, - 0x64, 0xd9, 0x00, 0x75, 0x44, 0x36, 0x40, 0x1a, 0x19, 0xb9, 0x32, 0xf6, 0x13, 0xa7, 0x03, 0xb6, - 0x87, 0xa4, 0x03, 0x58, 0xe0, 0x7e, 0x7e, 0x24, 0xf3, 0x09, 0xf2, 0x01, 0xdb, 0x43, 0xf2, 0x01, - 0x68, 0x2c, 0xdb, 0xb1, 0x09, 0x81, 0x6b, 0xe1, 0x84, 0xc0, 0xcc, 0x08, 0xaf, 0xd3, 0x9f, 0xed, - 0x23, 0x32, 0x02, 0x3b, 0xa3, 0x32, 0x02, 0x2c, 0x6a, 0x7f, 0x7c, 0x24, 0xc7, 0x63, 0xa4, 0x04, - 0x36, 0x07, 0x52, 0x02, 0x27, 0xc6, 0x68, 0xda, 0xe4, 0x39, 0x01, 0xf6, 0x08, 0x3c, 0x7b, 0xfe, - 0x1d, 0xa4, 0xec, 0x8d, 0x78, 0x3a, 0x2b, 0xe5, 0xe4, 0x47, 0x89, 0x07, 0xd3, 0x67, 0xe7, 0x48, - 0xac, 0x80, 0x6d, 0xdb, 0xb2, 0xc5, 0x1d, 0x0b, 0xfa, 0x21, 0x9f, 0x27, 0x31, 0xa2, 0x6f, 0xd3, - 0x8e, 0xc8, 0x1f, 0xd0, 0x98, 0x2c, 0x60, 0xc7, 0xe4, 0x9f, 0x8b, 0xf8, 0xb4, 0x34, 0x83, 0x10, - 0x8c, 0x2f, 0x33, 0x3c, 0xbe, 0x0c, 0x64, 0x15, 0xa2, 0xe1, 0xac, 0xc2, 0x02, 0x64, 0x49, 0xac, - 0xd5, 0x97, 0x30, 0xd0, 0xba, 0x5e, 0xc2, 0x40, 0x1c, 0xa0, 0x62, 0xb9, 0x07, 0xbe, 0x2c, 0xb1, - 0xdd, 0xc4, 0xa2, 0x77, 0x98, 0x8c, 0x85, 0xba, 0xe8, 0x09, 0x98, 0x09, 0xe0, 0x7a, 0x31, 0x1c, - 0x8b, 0x9e, 0x25, 0x0f, 0xbb, 0xcc, 0x83, 0xb9, 0x7f, 0x16, 0xf1, 0x25, 0xe4, 0x67, 0x1a, 0x86, - 0x25, 0x05, 0x22, 0xef, 0x50, 0x52, 0x20, 0x7a, 0xdf, 0x49, 0x81, 0x60, 0x4c, 0x1a, 0x0b, 0xc7, - 0xa4, 0xff, 0x33, 0xe2, 0x8f, 0x89, 0x17, 0xe2, 0xeb, 0x56, 0x0b, 0xf3, 0x28, 0x91, 0xfe, 0x26, - 0x2e, 0x49, 0xdb, 0xda, 0xe3, 0xb1, 0x20, 0xf9, 0x49, 0xb0, 0xbc, 0x85, 0x27, 0xc3, 0xd7, 0x15, - 0x2f, 0xc0, 0x4c, 0x04, 0xef, 0x71, 0xf0, 0xcb, 0x0d, 0x49, 0xff, 0x72, 0x83, 0x77, 0x31, 0x3a, - 0x15, 0xb8, 0x18, 0x8d, 0x9e, 0x83, 0x0c, 0x4d, 0xf6, 0xab, 0x56, 0x57, 0xfc, 0xc5, 0xb2, 0x33, - 0xa3, 0x2f, 0x36, 0x38, 0xf4, 0xc8, 0x35, 0xbb, 0x0c, 0xe1, 0x7b, 0x1c, 0x99, 0x90, 0xc7, 0xf1, - 0x00, 0x64, 0x48, 0xeb, 0xd9, 0x5f, 0xde, 0x00, 0x7e, 0xab, 0x5e, 0x00, 0xe4, 0x1f, 0x8f, 0x42, - 0xb1, 0x6f, 0xa1, 0x19, 0xda, 0xf7, 0x61, 0xdb, 0xc8, 0x93, 0xc9, 0x63, 0x1e, 0x60, 0x4f, 0x73, - 0xd4, 0x3b, 0x9a, 0xe9, 0xe2, 0x16, 0x17, 0x4a, 0x00, 0x82, 0x4a, 0x90, 0x26, 0x5f, 0x3d, 0x07, - 0xb7, 0x78, 0xf6, 0xc5, 0xfb, 0x46, 0xd7, 0x21, 0x89, 0x6f, 0xd3, 0x97, 0x67, 0xd9, 0xfb, 0xcd, - 0x27, 0x07, 0xc3, 0x61, 0x52, 0x5c, 0x99, 0x23, 0x83, 0xfd, 0x85, 0x37, 0x17, 0x24, 0x86, 0xfd, - 0xb8, 0x77, 0x99, 0x4d, 0xe1, 0xf4, 0x61, 0x29, 0xa4, 0xfb, 0xa4, 0x40, 0xf3, 0x80, 0x39, 0x11, - 0xde, 0x13, 0x99, 0xb2, 0x33, 0xde, 0x4a, 0xbe, 0x83, 0x3b, 0x5d, 0xcb, 0x6a, 0xab, 0x6c, 0x8e, - 0x97, 0xa1, 0x10, 0x5e, 0x57, 0xd9, 0x5f, 0xc5, 0x72, 0x35, 0xc3, 0x54, 0x43, 0x4e, 0x70, 0x8e, - 0x01, 0xd9, 0x9c, 0xba, 0x11, 0x4f, 0x47, 0xa4, 0xe8, 0x8d, 0x78, 0x3a, 0x2a, 0xc5, 0xe4, 0x2d, - 0x38, 0x31, 0x74, 0x5d, 0x45, 0xcf, 0x42, 0xc6, 0x5f, 0x92, 0xd9, 0x31, 0xfd, 0x23, 0x32, 0x2d, - 0x3e, 0xae, 0xfc, 0x8b, 0x11, 0x9f, 0x65, 0x38, 0x77, 0x53, 0x83, 0x24, 0x3b, 0x33, 0xc9, 0xcf, - 0xc7, 0x3c, 0x31, 0xd9, 0x8a, 0xbc, 0xc4, 0x0e, 0x54, 0x2a, 0x9c, 0x58, 0xfe, 0x00, 0x24, 0x19, - 0x04, 0x65, 0x21, 0xe5, 0xbf, 0x71, 0x0d, 0x90, 0x2c, 0x57, 0xab, 0xb5, 0x2d, 0xf1, 0x60, 0x6d, - 0x65, 0x53, 0x69, 0x4a, 0x51, 0x02, 0x56, 0x6a, 0x37, 0x6a, 0xd5, 0xa6, 0x14, 0x43, 0xd3, 0x90, - 0x67, 0xbf, 0xd5, 0x6b, 0x9b, 0xca, 0x7a, 0xb9, 0x29, 0xc5, 0x03, 0xa0, 0x46, 0x6d, 0x63, 0xa5, - 0xa6, 0x48, 0x09, 0xf9, 0x29, 0x38, 0x3d, 0x72, 0x0d, 0xf7, 0x13, 0x33, 0x91, 0x40, 0x62, 0x46, - 0xfe, 0x58, 0x94, 0x04, 0x35, 0xa3, 0x16, 0x66, 0x74, 0xa3, 0xaf, 0xe3, 0x97, 0x8e, 0xb1, 0xaa, - 0xf7, 0xf5, 0x9e, 0xc4, 0x31, 0x36, 0xde, 0xc5, 0xae, 0xbe, 0xcf, 0x1c, 0x05, 0x66, 0x81, 0xf2, - 0x4a, 0x9e, 0x43, 0x29, 0x91, 0xc3, 0xd0, 0x5e, 0xc7, 0xba, 0xab, 0x32, 0x25, 0x72, 0xf8, 0x1f, - 0xf1, 0xcd, 0x33, 0x68, 0x83, 0x01, 0xe5, 0xaf, 0x3f, 0x96, 0x2c, 0x33, 0x90, 0x50, 0x6a, 0x4d, - 0xe5, 0x55, 0x29, 0x86, 0x10, 0x14, 0xe8, 0x4f, 0xb5, 0xb1, 0x51, 0xde, 0x6a, 0x5c, 0xdf, 0x24, - 0xb2, 0x9c, 0x81, 0xa2, 0x90, 0xa5, 0x00, 0x26, 0xe4, 0xc7, 0xe0, 0xd4, 0x08, 0xaf, 0x62, 0xc8, - 0x21, 0xd6, 0x4f, 0x45, 0x82, 0xd8, 0x61, 0xcf, 0x60, 0x13, 0x92, 0x8e, 0xab, 0xb9, 0x3d, 0x87, - 0x0b, 0xf1, 0xd9, 0x49, 0xdd, 0x8c, 0x25, 0xf1, 0xa3, 0x41, 0xc9, 0x15, 0xce, 0x46, 0xbe, 0x0c, - 0x85, 0x70, 0xc9, 0x68, 0x19, 0xf8, 0x4a, 0x14, 0x95, 0xaf, 0x02, 0x1a, 0xf4, 0x3e, 0x86, 0x84, - 0x97, 0x91, 0x61, 0xe1, 0xe5, 0x0f, 0x47, 0xe0, 0xcc, 0x11, 0x9e, 0x06, 0x7a, 0xb9, 0xaf, 0x93, - 0xcf, 0x1f, 0xc7, 0x4f, 0x59, 0x62, 0xb0, 0xbe, 0x6e, 0x3e, 0x0d, 0xb9, 0x20, 0x7c, 0xb2, 0x4e, - 0x7e, 0x21, 0xea, 0x4f, 0xe2, 0x70, 0x1c, 0xec, 0x9b, 0xc0, 0xc8, 0x97, 0x69, 0x02, 0xdf, 0x0b, - 0xe0, 0x1e, 0x88, 0x53, 0xd4, 0x7c, 0x1d, 0x7d, 0x70, 0x48, 0x7e, 0x11, 0xeb, 0xcd, 0x03, 0x3e, - 0x09, 0x32, 0x2e, 0xff, 0xe5, 0xa0, 0x46, 0x30, 0x29, 0xd0, 0xa3, 0x6b, 0xac, 0xe3, 0xfd, 0x09, - 0xdf, 0xc9, 0x16, 0x63, 0x3f, 0x79, 0xc0, 0xc0, 0x0e, 0x7a, 0x15, 0x4e, 0xf5, 0x39, 0x0a, 0x1e, - 0xeb, 0xf8, 0xa4, 0xfe, 0xc2, 0x89, 0xb0, 0xbf, 0x20, 0x58, 0x07, 0x57, 0xfb, 0x44, 0x78, 0xb5, - 0x7f, 0x15, 0xc0, 0x4f, 0x0e, 0xf8, 0xc7, 0xfe, 0x22, 0xc1, 0x63, 0x7f, 0x97, 0x21, 0x41, 0x34, - 0x49, 0xc8, 0x69, 0xd0, 0x14, 0x13, 0x4d, 0x08, 0x24, 0x17, 0x18, 0xb6, 0x6c, 0x00, 0x1a, 0x4c, - 0xd0, 0x8e, 0xa8, 0xe2, 0x85, 0x70, 0x15, 0x67, 0x47, 0xa6, 0x7a, 0x87, 0x57, 0xf5, 0x06, 0x24, - 0xe8, 0xc8, 0x0f, 0xbd, 0x4b, 0xf9, 0x75, 0x00, 0x9a, 0xeb, 0xda, 0xc6, 0x4e, 0xcf, 0xaf, 0x60, - 0x61, 0xb8, 0xe6, 0x94, 0x05, 0x5e, 0xe5, 0x01, 0xae, 0x42, 0xb3, 0x3e, 0x69, 0x40, 0x8d, 0x02, - 0x0c, 0xe5, 0x0d, 0x28, 0x84, 0x69, 0x87, 0xdf, 0x0d, 0xf5, 0x1f, 0x7e, 0xc9, 0x08, 0xff, 0xc6, - 0xf3, 0x8e, 0xf8, 0x63, 0x4c, 0xf4, 0x43, 0xfe, 0x50, 0x14, 0x72, 0x41, 0xc5, 0xfb, 0x8b, 0xe7, - 0x82, 0xc8, 0xdf, 0x14, 0x81, 0xb4, 0xd7, 0xfd, 0x23, 0x0e, 0x3b, 0xfb, 0x77, 0x84, 0xbd, 0xcd, - 0x0b, 0xb6, 0x4d, 0x14, 0xf3, 0xb6, 0x89, 0xae, 0x7a, 0xcb, 0xdf, 0xa8, 0x84, 0x48, 0x50, 0xd6, - 0xe2, 0xc0, 0x21, 0x5f, 0xed, 0xaf, 0x4e, 0x76, 0x15, 0x6f, 0x16, 0x12, 0xc1, 0x6b, 0x74, 0xec, - 0x43, 0x6e, 0x05, 0x4e, 0x18, 0xb1, 0x89, 0x18, 0xbc, 0xb3, 0x17, 0x39, 0xf6, 0x9d, 0x3d, 0xaf, - 0x96, 0x68, 0xb0, 0x96, 0xef, 0x8c, 0x40, 0x5a, 0xcc, 0x09, 0xf4, 0xbe, 0xe0, 0xc9, 0x33, 0xb1, - 0xb5, 0x39, 0xd2, 0x1e, 0x71, 0xfe, 0x81, 0x83, 0x67, 0x03, 0x07, 0xae, 0x63, 0xc7, 0x3d, 0x70, - 0xcd, 0x3d, 0xbb, 0x3f, 0x8e, 0x80, 0xd4, 0x3f, 0x63, 0xbf, 0xec, 0xd6, 0x0d, 0x2e, 0x73, 0xb1, - 0x21, 0xcb, 0xdc, 0xa8, 0x53, 0xd4, 0xf1, 0x51, 0xa7, 0xa8, 0x07, 0x7b, 0x9d, 0xb8, 0xcf, 0x5e, - 0x7f, 0x38, 0x0a, 0xd9, 0x40, 0x7a, 0x14, 0x3d, 0x13, 0x3a, 0x91, 0xbd, 0x78, 0x54, 0x2a, 0x35, - 0x70, 0x24, 0x3b, 0x24, 0xa6, 0xe8, 0xf1, 0xc5, 0xf4, 0xce, 0xdf, 0xce, 0x1a, 0x7e, 0x81, 0x35, - 0x31, 0xe2, 0x02, 0xeb, 0x5f, 0x8d, 0x40, 0xda, 0x73, 0xbb, 0x8f, 0xbb, 0x89, 0x79, 0x12, 0x92, - 0xdc, 0xb3, 0x64, 0xbb, 0x98, 0xfc, 0x6b, 0x68, 0x5a, 0xb9, 0x04, 0x69, 0xf1, 0xf7, 0x14, 0xf9, - 0xaa, 0xe6, 0x7d, 0x5f, 0x78, 0x1e, 0xb2, 0x81, 0x0d, 0x60, 0x62, 0x1a, 0x37, 0x6a, 0xef, 0x97, - 0xa6, 0x4a, 0xa9, 0xbb, 0xf7, 0x16, 0x63, 0x1b, 0xf8, 0x0e, 0x99, 0xcd, 0x4a, 0xad, 0x7a, 0xbd, - 0x56, 0x7d, 0x49, 0x8a, 0x94, 0xb2, 0x77, 0xef, 0x2d, 0xa6, 0x14, 0x4c, 0x33, 0x8a, 0x17, 0x5e, - 0x82, 0x62, 0xdf, 0xc0, 0x84, 0xdd, 0x16, 0x04, 0x85, 0x95, 0xed, 0xad, 0xb5, 0x7a, 0xb5, 0xdc, - 0xac, 0xa9, 0xec, 0xdc, 0x2e, 0x3a, 0x05, 0x33, 0x6b, 0xf5, 0xd5, 0xeb, 0x4d, 0xb5, 0xba, 0x56, - 0xaf, 0x6d, 0x34, 0xd5, 0x72, 0xb3, 0x59, 0xae, 0xbe, 0x24, 0x45, 0x2f, 0xdd, 0xcb, 0x42, 0xbc, - 0x5c, 0xa9, 0xd6, 0x51, 0x15, 0xe2, 0x34, 0x15, 0x72, 0xe4, 0x09, 0xb0, 0xd2, 0xd1, 0xb9, 0x61, - 0x74, 0x0d, 0x12, 0x34, 0x4b, 0x82, 0x8e, 0x3e, 0x12, 0x56, 0x1a, 0x93, 0x2c, 0x26, 0x8d, 0xa1, - 0x33, 0xf2, 0xc8, 0x33, 0x62, 0xa5, 0xa3, 0x73, 0xc7, 0x68, 0x0d, 0x52, 0x22, 0x48, 0x1e, 0x77, - 0x70, 0xab, 0x34, 0x36, 0xa1, 0x4b, 0xba, 0xc6, 0x92, 0x0d, 0x47, 0x1f, 0x1f, 0x2b, 0x8d, 0xc9, - 0x2a, 0xa3, 0xba, 0x77, 0x9f, 0x69, 0xcc, 0x89, 0xb0, 0xd2, 0xb8, 0x3c, 0x31, 0x52, 0x20, 0xe3, - 0xa7, 0x71, 0xc6, 0x1f, 0x8a, 0x2b, 0x4d, 0x90, 0x30, 0x47, 0x1f, 0x80, 0x7c, 0x38, 0xd4, 0x9d, - 0xec, 0xd4, 0x59, 0x69, 0xc2, 0x8c, 0x34, 0xe1, 0x1f, 0x8e, 0x7b, 0x27, 0x3b, 0x85, 0x56, 0x9a, - 0x30, 0x41, 0x8d, 0x5e, 0x87, 0xe9, 0xc1, 0xb8, 0x74, 0xf2, 0x43, 0x69, 0xa5, 0x63, 0xa4, 0xac, - 0x51, 0x07, 0xd0, 0x90, 0x78, 0xf6, 0x18, 0x67, 0xd4, 0x4a, 0xc7, 0xc9, 0x60, 0xa3, 0x16, 0x14, - 0xfb, 0x83, 0xc4, 0x49, 0xcf, 0xac, 0x95, 0x26, 0xce, 0x66, 0xb3, 0x5a, 0xc2, 0xc1, 0xe5, 0xa4, - 0x67, 0xd8, 0x4a, 0x13, 0x27, 0xb7, 0xd1, 0x36, 0x40, 0x20, 0x3e, 0x9c, 0xe0, 0x4c, 0x5b, 0x69, - 0x92, 0x34, 0x37, 0xea, 0xc2, 0xcc, 0xb0, 0xc0, 0xf1, 0x38, 0x47, 0xdc, 0x4a, 0xc7, 0xca, 0x7e, - 0x13, 0x7d, 0x0e, 0x87, 0x80, 0x93, 0x1d, 0x79, 0x2b, 0x4d, 0x98, 0x06, 0xaf, 0x94, 0x47, 0x9e, - 0x73, 0x3e, 0x77, 0xe4, 0x39, 0x67, 0xff, 0xe4, 0xb2, 0x77, 0xb6, 0xf9, 0xdf, 0x5e, 0x84, 0xf7, - 0xf0, 0x17, 0x74, 0x1c, 0x57, 0xbb, 0x65, 0x98, 0x7b, 0xde, 0x33, 0x4b, 0xfc, 0x9b, 0x1f, 0x72, - 0x3e, 0xc9, 0x5f, 0xe9, 0x11, 0xd0, 0x31, 0x8f, 0x2d, 0x8d, 0x7c, 0x81, 0x72, 0xdc, 0x7d, 0x88, - 0xf1, 0xc7, 0x97, 0x8f, 0x78, 0xc8, 0x69, 0xcc, 0x73, 0x51, 0x43, 0x1e, 0x7a, 0x2a, 0x1d, 0xf9, - 0xc6, 0x40, 0xe9, 0xa8, 0x73, 0xdf, 0xc4, 0x8b, 0x2d, 0x5c, 0x37, 0x1c, 0xd7, 0xb2, 0x0d, 0x5d, - 0x6b, 0xd3, 0xe5, 0xe5, 0xea, 0xa4, 0xb7, 0xb2, 0x2a, 0x19, 0xe2, 0xae, 0xf0, 0xb7, 0xa0, 0xf8, - 0x4d, 0xa1, 0x15, 0x48, 0xde, 0xd6, 0xda, 0xec, 0x4e, 0x54, 0xf0, 0x21, 0xb8, 0x7e, 0x99, 0x07, - 0xfc, 0xa8, 0x20, 0x17, 0x46, 0x2b, 0x7f, 0x37, 0xbd, 0x4f, 0xd2, 0xe9, 0x18, 0x0e, 0xd1, 0x45, - 0x85, 0x86, 0xd2, 0x37, 0x20, 0x6e, 0x6b, 0x2e, 0x0f, 0x30, 0x2b, 0x57, 0x8e, 0xfd, 0x2e, 0x13, - 0xab, 0x81, 0xf2, 0x40, 0x2f, 0x43, 0xba, 0xa3, 0x1d, 0xa8, 0x94, 0x5f, 0xf4, 0xcb, 0xe2, 0x97, - 0xea, 0x68, 0x07, 0xa4, 0x7d, 0xe8, 0x03, 0x50, 0x24, 0x2c, 0xf5, 0x7d, 0xcd, 0xdc, 0xc3, 0x8c, - 0x73, 0xec, 0xcb, 0xe2, 0x9c, 0xef, 0x68, 0x07, 0x55, 0xca, 0x8d, 0xf0, 0xe7, 0x4f, 0x5e, 0xfd, - 0x72, 0x84, 0x67, 0x0d, 0xa8, 0x60, 0x90, 0x06, 0x92, 0xee, 0x7d, 0xd1, 0x4a, 0xc5, 0x16, 0xc7, - 0xb9, 0x51, 0x72, 0xef, 0x13, 0x6b, 0x25, 0x4f, 0x9a, 0xf7, 0xd9, 0x37, 0x17, 0x22, 0xac, 0xd6, - 0xa2, 0x3e, 0x20, 0xf6, 0x2c, 0x4b, 0x86, 0xa8, 0xd4, 0x87, 0x8d, 0x8e, 0xf5, 0x61, 0xf3, 0xc2, - 0x87, 0x65, 0x0c, 0x81, 0x51, 0x93, 0x72, 0xde, 0x87, 0x4f, 0x47, 0x20, 0xbb, 0x12, 0x78, 0xd6, - 0x71, 0x0e, 0x52, 0x1d, 0xcb, 0x34, 0x6e, 0x61, 0xdb, 0xdb, 0xa3, 0x62, 0x9f, 0xc4, 0xcf, 0x64, - 0x7f, 0x1d, 0xd0, 0x3d, 0x14, 0xaf, 0x0b, 0x89, 0x6f, 0x42, 0x75, 0x07, 0xef, 0x38, 0x86, 0x90, - 0xb3, 0x22, 0x3e, 0xd1, 0xa3, 0x20, 0x39, 0x58, 0xef, 0xd9, 0x86, 0x7b, 0xa8, 0xea, 0x96, 0xe9, - 0x6a, 0xba, 0xcb, 0xe3, 0xf0, 0xa2, 0x80, 0x57, 0x19, 0x98, 0x30, 0x69, 0x61, 0x57, 0x33, 0xda, - 0xec, 0x64, 0x66, 0x46, 0x11, 0x9f, 0xbc, 0xa9, 0x77, 0x53, 0xc1, 0x38, 0xb4, 0x0a, 0x92, 0xd5, - 0xc5, 0x76, 0xe8, 0x40, 0x0a, 0xd3, 0xc6, 0xb9, 0x5f, 0xff, 0xcc, 0x13, 0xb3, 0x5c, 0xe0, 0xfc, - 0x30, 0x03, 0xfb, 0x2b, 0x06, 0x4a, 0x51, 0x50, 0x88, 0x93, 0x2a, 0xaf, 0x86, 0x76, 0xa5, 0x7a, - 0x3b, 0xfe, 0x33, 0x32, 0xb3, 0x03, 0x42, 0x2d, 0x9b, 0x87, 0x95, 0xb9, 0x5f, 0xf3, 0x59, 0xfb, - 0x71, 0xea, 0x4b, 0xf8, 0x30, 0xb8, 0x45, 0x45, 0xd9, 0x10, 0x17, 0xfe, 0x75, 0xcd, 0x68, 0x8b, - 0x3f, 0xa4, 0xaa, 0xf0, 0x2f, 0xb4, 0xec, 0xa5, 0x17, 0xe3, 0x34, 0x1e, 0x92, 0x47, 0xe9, 0x46, - 0xc5, 0x32, 0x5b, 0xe1, 0x3c, 0x22, 0xaa, 0x42, 0xd2, 0xb5, 0x6e, 0x61, 0x93, 0x0b, 0xe8, 0x78, - 0x4f, 0xab, 0x71, 0x52, 0xf4, 0xb5, 0x20, 0xb5, 0x70, 0x1b, 0xef, 0xb1, 0xfb, 0x92, 0xfb, 0x9a, - 0x8d, 0xd9, 0x6d, 0xfd, 0xfb, 0x7a, 0x5e, 0xad, 0xe8, 0xb1, 0x6a, 0x50, 0x4e, 0x68, 0x2b, 0xfc, - 0x70, 0x68, 0x8a, 0x6f, 0x1e, 0x8f, 0xe8, 0x63, 0x40, 0xf3, 0x82, 0x96, 0x27, 0xf4, 0xd0, 0xe8, - 0xa3, 0x20, 0xf5, 0xcc, 0x1d, 0xcb, 0xa4, 0x7f, 0x7f, 0x90, 0x47, 0x51, 0x69, 0xb6, 0x53, 0xe9, - 0xc1, 0xf9, 0x4e, 0xe5, 0x16, 0x14, 0x7c, 0x54, 0x3a, 0x43, 0x32, 0xc7, 0x9d, 0x21, 0x79, 0x8f, - 0x01, 0x41, 0x41, 0xeb, 0x00, 0xfe, 0x1c, 0xa4, 0x5b, 0x65, 0xd9, 0xd1, 0x23, 0xe6, 0xcf, 0xe6, - 0x60, 0x67, 0x02, 0x0c, 0xd0, 0xd7, 0xc0, 0x4c, 0xc7, 0x30, 0x55, 0x07, 0xb7, 0x77, 0x55, 0x2e, - 0x39, 0xc2, 0x37, 0x7b, 0xfc, 0xd1, 0x9c, 0xee, 0x18, 0x66, 0x03, 0xb7, 0x77, 0x57, 0x3c, 0x2e, - 0xe8, 0xbd, 0x70, 0xc6, 0xef, 0xbd, 0x65, 0xaa, 0xfb, 0x56, 0xbb, 0xa5, 0xda, 0x78, 0x57, 0xd5, - 0xe9, 0x3b, 0x7f, 0x39, 0x2a, 0xb3, 0x53, 0x1e, 0xca, 0xa6, 0x79, 0xdd, 0x6a, 0xb7, 0x14, 0xbc, - 0x5b, 0x25, 0xc5, 0xe8, 0x21, 0xf0, 0xbb, 0xae, 0x1a, 0x2d, 0x67, 0x2e, 0xbf, 0x18, 0x3b, 0x1f, - 0x57, 0x72, 0x1e, 0xb0, 0xde, 0x72, 0x96, 0xd3, 0x1f, 0xf9, 0xe4, 0xc2, 0xd4, 0xe7, 0x3f, 0xb9, - 0x30, 0x25, 0x5f, 0xa3, 0x6f, 0x4a, 0xf1, 0x79, 0x84, 0x1d, 0x74, 0x05, 0x32, 0x9a, 0xf8, 0x60, - 0x37, 0xc6, 0x8e, 0x98, 0x87, 0x3e, 0xaa, 0xfc, 0x63, 0x11, 0x48, 0xae, 0xdc, 0xdc, 0xd2, 0x0c, - 0x1b, 0xd5, 0x60, 0xda, 0x57, 0xcc, 0x49, 0xa7, 0xb4, 0xaf, 0xcb, 0x62, 0x4e, 0x6f, 0x8c, 0x3a, - 0xaa, 0x96, 0xa9, 0x9c, 0xfd, 0xf5, 0xcf, 0x3c, 0xf1, 0x20, 0x67, 0x73, 0xb3, 0xef, 0xd4, 0x9a, - 0xe0, 0xd7, 0x7f, 0x9a, 0x2d, 0xd0, 0xe7, 0x1b, 0x90, 0x62, 0x4d, 0x75, 0xd0, 0x8b, 0x90, 0xe8, - 0x92, 0x1f, 0x3c, 0x03, 0x3f, 0x3f, 0x52, 0xc1, 0x29, 0x7e, 0x50, 0x1d, 0x18, 0x9d, 0xfc, 0x2d, - 0x51, 0x80, 0x95, 0x9b, 0x37, 0x9b, 0xb6, 0xd1, 0x6d, 0x63, 0xf7, 0x9d, 0xea, 0xfb, 0x36, 0x9c, - 0x08, 0xdc, 0x85, 0xb6, 0xf5, 0xe3, 0xf7, 0x7f, 0xc6, 0xbf, 0x16, 0x6d, 0xeb, 0x43, 0xd9, 0xb6, - 0x1c, 0xd7, 0x63, 0x1b, 0x3b, 0x3e, 0xdb, 0x15, 0xc7, 0x1d, 0x94, 0xec, 0x2b, 0x90, 0xf5, 0x85, - 0xe1, 0xa0, 0x3a, 0xa4, 0x5d, 0xfe, 0x9b, 0x0b, 0x58, 0x1e, 0x2d, 0x60, 0x41, 0x16, 0x14, 0xb2, - 0x47, 0x2e, 0xff, 0x69, 0x04, 0x20, 0x30, 0x47, 0xbe, 0x3a, 0x75, 0x8c, 0x84, 0xeb, 0xdc, 0x12, - 0xc7, 0xee, 0xfb, 0x35, 0x4e, 0xc6, 0x20, 0x20, 0xd4, 0x6f, 0x8b, 0xc2, 0xcc, 0xb6, 0x98, 0xbd, - 0x5f, 0xfd, 0x32, 0xd8, 0x86, 0x14, 0x36, 0x5d, 0xdb, 0xf0, 0xf6, 0x90, 0x9e, 0x1c, 0x35, 0xe6, - 0x43, 0x3a, 0x55, 0x33, 0x5d, 0xfb, 0x30, 0xa8, 0x01, 0x82, 0x57, 0x40, 0x1e, 0x1f, 0x8f, 0xc1, - 0xdc, 0x28, 0x52, 0x74, 0x0e, 0x8a, 0xba, 0x8d, 0x29, 0x20, 0x7c, 0x45, 0xb4, 0x20, 0xc0, 0x7c, - 0x8d, 0x51, 0x80, 0x78, 0x65, 0x44, 0xb9, 0x08, 0xea, 0xfd, 0xb9, 0x61, 0x05, 0x9f, 0x03, 0x5d, - 0x65, 0x9a, 0x50, 0x14, 0x77, 0x4e, 0x76, 0xb4, 0xb6, 0x66, 0xea, 0xc2, 0x5d, 0x3d, 0xd6, 0x92, - 0x20, 0xee, 0xad, 0x54, 0x18, 0x0b, 0x54, 0x83, 0x94, 0xe0, 0x16, 0x3f, 0x3e, 0x37, 0x41, 0x8b, - 0xce, 0x42, 0x2e, 0xb8, 0x30, 0x50, 0xd7, 0x23, 0xae, 0x64, 0x03, 0xeb, 0xc2, 0xb8, 0x95, 0x27, - 0x79, 0xe4, 0xca, 0xc3, 0xbd, 0xbb, 0x1f, 0xa0, 0x47, 0xc3, 0x5b, 0x7f, 0xfe, 0x87, 0x65, 0x0b, - 0x80, 0x4d, 0x55, 0x62, 0x49, 0xf9, 0xc8, 0xdc, 0xc7, 0x7c, 0xcf, 0x30, 0x26, 0x2b, 0x8e, 0xfb, - 0x95, 0x1a, 0xa1, 0xdf, 0x8c, 0x42, 0x2e, 0x38, 0x42, 0x7f, 0x21, 0x17, 0x2d, 0xb4, 0xe1, 0x9b, - 0x29, 0x76, 0x7d, 0xe6, 0xd1, 0x51, 0x66, 0x6a, 0x40, 0x9b, 0xc7, 0xd8, 0xa7, 0x4f, 0xc4, 0x20, - 0xc9, 0xcf, 0xb7, 0x6d, 0x0e, 0x38, 0xb2, 0x91, 0x71, 0x0f, 0x00, 0xe4, 0xc5, 0x03, 0x00, 0x43, - 0xfd, 0xd8, 0x87, 0xa1, 0x40, 0x02, 0xe2, 0xd0, 0xa1, 0xb9, 0xc8, 0xf9, 0x3c, 0x8d, 0x6b, 0xfd, - 0x23, 0xe2, 0x68, 0x01, 0xb2, 0x04, 0xcd, 0xb7, 0xc3, 0x04, 0x07, 0x3a, 0xda, 0x41, 0x8d, 0x41, - 0xd0, 0x13, 0x80, 0xf6, 0xbd, 0x04, 0x85, 0xea, 0x0b, 0x82, 0xe0, 0x4d, 0xfb, 0x25, 0x02, 0xfd, - 0x41, 0x00, 0xd2, 0x0a, 0x95, 0x3d, 0x40, 0xcd, 0x9f, 0xf7, 0x26, 0x90, 0x15, 0xfa, 0x08, 0xf5, - 0x37, 0x46, 0x98, 0x3f, 0xdc, 0x17, 0x36, 0xf3, 0x70, 0xa4, 0x39, 0xc1, 0xa4, 0xf8, 0xa3, 0x37, - 0x17, 0x4a, 0x87, 0x5a, 0xa7, 0xbd, 0x2c, 0x0f, 0xe1, 0x23, 0x0f, 0x8b, 0xe4, 0x89, 0xe3, 0x1c, - 0x0e, 0xbb, 0x97, 0xdf, 0x43, 0xd4, 0xfb, 0xee, 0xef, 0xfe, 0xc4, 0x85, 0x33, 0x81, 0x37, 0x9f, - 0x0f, 0xbc, 0xf4, 0x15, 0x1b, 0x13, 0xe2, 0xa9, 0x22, 0x7f, 0xd5, 0xf0, 0x4e, 0xc6, 0xaf, 0x03, - 0x04, 0x3c, 0xf9, 0xc8, 0xd1, 0x11, 0x82, 0x4f, 0x1f, 0x8a, 0x10, 0x02, 0x73, 0xea, 0x7d, 0xbe, - 0xd1, 0x16, 0x6f, 0x3e, 0x0c, 0x79, 0x91, 0x7c, 0xa9, 0x6a, 0x19, 0x21, 0x16, 0x82, 0x88, 0x4e, - 0xd5, 0x29, 0xf9, 0x5f, 0x47, 0xe0, 0xf4, 0x80, 0xfa, 0x79, 0x4d, 0xd6, 0x01, 0xd9, 0x81, 0x42, - 0x3a, 0x8c, 0x62, 0x2b, 0xf6, 0xfe, 0xb4, 0x79, 0xda, 0x1e, 0xb0, 0xdc, 0xef, 0xcc, 0xea, 0xc3, - 0x4d, 0xcf, 0xaf, 0x46, 0x60, 0x36, 0xd8, 0x00, 0xaf, 0x2b, 0x0d, 0xc8, 0x05, 0xab, 0xe6, 0x9d, - 0x78, 0xcf, 0x24, 0x9d, 0x08, 0xb6, 0x3f, 0xc4, 0x04, 0xdd, 0xf4, 0xa7, 0x38, 0xcb, 0x9b, 0x3d, - 0x35, 0xb1, 0x50, 0x44, 0xc3, 0x86, 0x4e, 0x75, 0x36, 0x36, 0xbf, 0x17, 0x81, 0xf8, 0x96, 0x65, - 0xb5, 0xd1, 0x07, 0x61, 0xda, 0xb4, 0x5c, 0x95, 0x4c, 0x07, 0xdc, 0x52, 0x79, 0x60, 0xcf, 0xcc, - 0x67, 0xed, 0x48, 0x59, 0x7d, 0xe1, 0xcd, 0x85, 0x41, 0xca, 0x61, 0x6f, 0xc2, 0x17, 0x4d, 0xcb, - 0xad, 0x50, 0xa4, 0x26, 0x8b, 0xfd, 0x77, 0x21, 0x1f, 0xae, 0x8e, 0x99, 0xd8, 0xf2, 0xb8, 0xea, - 0xf2, 0x63, 0xab, 0xca, 0xed, 0x04, 0xea, 0x61, 0xcf, 0x28, 0xff, 0x01, 0x19, 0xb9, 0x57, 0x41, - 0xba, 0xd9, 0x7f, 0xc4, 0xa7, 0x06, 0x29, 0x71, 0xa4, 0x27, 0x32, 0xe1, 0x69, 0xa1, 0xa0, 0x38, - 0x39, 0xed, 0x85, 0x9f, 0x89, 0x00, 0xf8, 0x49, 0x12, 0xf4, 0x38, 0x9c, 0xaa, 0x6c, 0x6e, 0xac, - 0xa8, 0x8d, 0x66, 0xb9, 0xb9, 0xdd, 0x08, 0xff, 0x25, 0x11, 0xf1, 0xfe, 0x90, 0xd3, 0xc5, 0xba, - 0xb1, 0x6b, 0xe0, 0x16, 0x7a, 0x04, 0x66, 0xc3, 0xd8, 0xe4, 0xab, 0xb6, 0x22, 0x45, 0x4a, 0xb9, - 0xbb, 0xf7, 0x16, 0xd3, 0xcc, 0x4f, 0xc4, 0x2d, 0x74, 0x1e, 0x4e, 0x0c, 0xe2, 0xd5, 0x37, 0x56, - 0xa5, 0x68, 0x29, 0x7f, 0xf7, 0xde, 0x62, 0xc6, 0x73, 0x28, 0x91, 0x0c, 0x28, 0x88, 0xc9, 0xf9, - 0xc5, 0x4a, 0x70, 0xf7, 0xde, 0x62, 0x92, 0x8d, 0x42, 0x29, 0xfe, 0x91, 0x1f, 0x9a, 0x9f, 0xba, - 0xf0, 0x75, 0x00, 0x75, 0x73, 0xd7, 0xd6, 0xe8, 0x9f, 0xd3, 0x47, 0x25, 0x38, 0x59, 0xdf, 0xb8, - 0xa6, 0x94, 0xab, 0xcd, 0xfa, 0xe6, 0x46, 0xdf, 0x1f, 0x40, 0x09, 0x97, 0xad, 0x6c, 0x6e, 0x57, - 0xd6, 0x6a, 0x6a, 0xa3, 0xbe, 0xba, 0xc1, 0x36, 0x5b, 0x43, 0x65, 0xef, 0xdf, 0x68, 0xd6, 0xd7, - 0x6b, 0x52, 0xb4, 0x72, 0x6d, 0x64, 0x32, 0xff, 0xf1, 0x23, 0x5f, 0xb9, 0xf7, 0x2d, 0x5e, 0x28, - 0xa3, 0xff, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x39, 0x56, 0x48, 0x57, 0x54, 0xa1, 0x00, 0x00, + // 12499 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7d, 0x90, 0x64, 0xd7, + 0x55, 0x18, 0x3e, 0xaf, 0xbf, 0xfb, 0x74, 0x4f, 0xf7, 0x9b, 0x3b, 0xb3, 0xbb, 0xbd, 0xbd, 0xd2, + 0xce, 0xa8, 0x65, 0x49, 0xab, 0x95, 0x34, 0xab, 0x1d, 0x69, 0x57, 0xda, 0x59, 0xcb, 0xfa, 0xf5, + 0xd7, 0xce, 0xf6, 0x6a, 0xa6, 0x7b, 0xf4, 0xba, 0x67, 0xa5, 0x15, 0xe0, 0xc7, 0x9b, 0xee, 0x3b, + 0x33, 0x4f, 0xdb, 0xfd, 0x5e, 0xbb, 0xdf, 0xeb, 0xd5, 0x8c, 0x7e, 0x55, 0x94, 0xc0, 0x86, 0x18, + 0x19, 0x13, 0x13, 0x28, 0x10, 0xd8, 0x6b, 0x6c, 0x08, 0x60, 0x08, 0x24, 0x60, 0x1c, 0x3e, 0x92, + 0x0a, 0x81, 0x7c, 0x82, 0x8b, 0x24, 0x86, 0xaa, 0x24, 0x24, 0x55, 0x28, 0xc1, 0xa6, 0x90, 0x30, + 0x26, 0x7c, 0x89, 0x84, 0x94, 0x2b, 0xe5, 0xd4, 0xfd, 0x7a, 0x1f, 0xfd, 0x31, 0xdd, 0xb3, 0x96, + 0x1d, 0x05, 0xf2, 0xcf, 0x4c, 0xdf, 0x7b, 0xcf, 0x39, 0xf7, 0xde, 0x73, 0xcf, 0x3d, 0xf7, 0x9c, + 0x73, 0x3f, 0x1e, 0xbc, 0xb1, 0x0d, 0x4b, 0xbb, 0xa6, 0xb9, 0xdb, 0xc6, 0xe7, 0xba, 0x3d, 0xd3, + 0x36, 0xb7, 0xfb, 0x3b, 0xe7, 0x5a, 0xd8, 0x6a, 0xf6, 0xf4, 0xae, 0x6d, 0xf6, 0x96, 0x69, 0x1e, + 0x4a, 0x33, 0x88, 0x65, 0x01, 0x91, 0xfb, 0xac, 0x04, 0x73, 0x57, 0xf4, 0x36, 0x2e, 0x39, 0x90, + 0x75, 0x6c, 0xa3, 0x27, 0x21, 0xb4, 0xa3, 0xb7, 0x71, 0x46, 0x5a, 0x0a, 0x9e, 0x49, 0xac, 0xbc, + 0x6b, 0x79, 0x00, 0x6b, 0xd9, 0x8f, 0xb1, 0x49, 0xb2, 0x15, 0x8a, 0x71, 0xf6, 0xff, 0x8f, 0xbd, + 0xf2, 0xa5, 0xcf, 0x7e, 0x45, 0x92, 0xbf, 0x95, 0xfc, 0xcd, 0x76, 0xd0, 0x4d, 0x96, 0x46, 0x8f, + 0x2f, 0x13, 0x3c, 0x4f, 0x7b, 0x6e, 0x9d, 0x27, 0x39, 0x2a, 0x41, 0x52, 0xdd, 0x6c, 0xd5, 0xc2, + 0xb6, 0x8a, 0xf7, 0x6d, 0x6c, 0x58, 0xba, 0x69, 0x64, 0x1f, 0x19, 0x81, 0x35, 0xd4, 0xda, 0xb2, + 0x00, 0xcf, 0xbd, 0x16, 0x86, 0xf9, 0x11, 0x4d, 0x43, 0x08, 0x42, 0x86, 0xd6, 0x21, 0xdd, 0x91, + 0xce, 0xc4, 0x15, 0xfa, 0x1b, 0x65, 0x20, 0xda, 0xd5, 0x9a, 0x37, 0xb5, 0x5d, 0x9c, 0x09, 0xd0, + 0x6c, 0x91, 0x44, 0xa7, 0x01, 0x5a, 0xb8, 0x8b, 0x8d, 0x16, 0x36, 0x9a, 0x07, 0x99, 0xe0, 0x52, + 0xf0, 0x4c, 0x5c, 0xf1, 0xe4, 0xa0, 0x87, 0x60, 0xae, 0xdb, 0xdf, 0x6e, 0xeb, 0x4d, 0xd5, 0x03, + 0x06, 0x4b, 0xc1, 0x33, 0x61, 0x45, 0x66, 0x05, 0x25, 0x17, 0xf8, 0x01, 0x48, 0xbf, 0x84, 0xb5, + 0x9b, 0x5e, 0xd0, 0x04, 0x05, 0x4d, 0x91, 0x6c, 0x0f, 0x60, 0x11, 0x92, 0x1d, 0x6c, 0x59, 0xda, + 0x2e, 0x56, 0xed, 0x83, 0x2e, 0xce, 0x84, 0x28, 0xeb, 0x97, 0x86, 0x58, 0x3f, 0xc8, 0xf6, 0x04, + 0xc7, 0x6a, 0x1c, 0x74, 0x31, 0xca, 0x43, 0x1c, 0x1b, 0xfd, 0x0e, 0xa3, 0x10, 0x1e, 0x33, 0x78, + 0x65, 0xa3, 0xdf, 0x19, 0xa4, 0x12, 0x23, 0x68, 0x9c, 0x44, 0xd4, 0xc2, 0xbd, 0x5b, 0x7a, 0x13, + 0x67, 0x22, 0x94, 0xc0, 0x03, 0x43, 0x04, 0xea, 0xac, 0x7c, 0x90, 0x86, 0xc0, 0x43, 0x45, 0x88, + 0x3b, 0x43, 0x98, 0x89, 0x52, 0x22, 0xf7, 0x8d, 0x10, 0x21, 0xdc, 0x6e, 0x0d, 0x92, 0x70, 0xf1, + 0xd0, 0x45, 0x88, 0x9a, 0x5d, 0x5b, 0x37, 0x0d, 0x2b, 0x13, 0x5b, 0x92, 0xce, 0x24, 0x56, 0xee, + 0x1a, 0x29, 0x85, 0x35, 0x06, 0xa3, 0x08, 0x60, 0x54, 0x01, 0xd9, 0x32, 0xfb, 0xbd, 0x26, 0x56, + 0x9b, 0x66, 0x0b, 0xab, 0xba, 0xb1, 0x63, 0x66, 0xe2, 0x94, 0xc0, 0xe2, 0x70, 0x47, 0x28, 0x60, + 0xd1, 0x6c, 0xe1, 0x8a, 0xb1, 0x63, 0x2a, 0x29, 0xcb, 0x97, 0x46, 0xc7, 0x21, 0x62, 0x1d, 0x18, + 0xb6, 0xb6, 0x9f, 0x49, 0x52, 0x09, 0xe1, 0x29, 0xb4, 0x02, 0x51, 0xdc, 0xd2, 0x49, 0x75, 0x99, + 0xd4, 0x92, 0x74, 0x26, 0xb5, 0x92, 0x19, 0xe6, 0x31, 0x2b, 0x57, 0x04, 0x60, 0xee, 0x97, 0x23, + 0x90, 0x9e, 0x46, 0x2c, 0x2f, 0x43, 0x78, 0x87, 0x70, 0x26, 0x13, 0x38, 0x0a, 0xdf, 0x18, 0x8e, + 0x9f, 0xf1, 0x91, 0x3b, 0x64, 0x7c, 0x1e, 0x12, 0x06, 0xb6, 0x6c, 0xdc, 0x62, 0x52, 0x14, 0x9c, + 0x52, 0x0e, 0x81, 0x21, 0x0d, 0x8b, 0x61, 0xe8, 0x8e, 0xc4, 0xf0, 0x79, 0x48, 0x3b, 0x4d, 0x52, + 0x7b, 0x9a, 0xb1, 0x2b, 0xe4, 0xf9, 0xdc, 0xa4, 0x96, 0x2c, 0x3b, 0xfa, 0x40, 0x21, 0x68, 0x4a, + 0x0a, 0xfb, 0xd2, 0xa8, 0x04, 0x60, 0x1a, 0xd8, 0xdc, 0x51, 0x5b, 0xb8, 0xd9, 0xce, 0xc4, 0xc6, + 0x70, 0xa9, 0x46, 0x40, 0x86, 0xb8, 0x64, 0xb2, 0xdc, 0x66, 0x1b, 0x5d, 0x72, 0xc5, 0x33, 0x3a, + 0x46, 0xba, 0x36, 0xd8, 0xc4, 0x1c, 0x92, 0xd0, 0x2d, 0x48, 0xf5, 0x30, 0x99, 0x2b, 0xb8, 0xc5, + 0x7b, 0x16, 0xa7, 0x8d, 0x58, 0x9e, 0xd8, 0x33, 0x85, 0xa3, 0xb1, 0x8e, 0xcd, 0xf6, 0xbc, 0x49, + 0x74, 0x2f, 0x38, 0x19, 0x2a, 0x15, 0x2b, 0xa0, 0x9a, 0x2b, 0x29, 0x32, 0xab, 0x5a, 0x07, 0x67, + 0x5f, 0x86, 0x94, 0x9f, 0x3d, 0x68, 0x01, 0xc2, 0x96, 0xad, 0xf5, 0x6c, 0x2a, 0x85, 0x61, 0x85, + 0x25, 0x90, 0x0c, 0x41, 0x6c, 0xb4, 0xa8, 0x66, 0x0c, 0x2b, 0xe4, 0x27, 0xfa, 0xff, 0xdc, 0x0e, + 0x07, 0x69, 0x87, 0xef, 0x1f, 0x1e, 0x51, 0x1f, 0xe5, 0xc1, 0x7e, 0x67, 0x9f, 0x80, 0x59, 0x5f, + 0x07, 0xa6, 0xad, 0x3a, 0xf7, 0x9b, 0x21, 0x38, 0x36, 0x92, 0x36, 0x7a, 0x1e, 0x16, 0xfa, 0x86, + 0x6e, 0xd8, 0xb8, 0xd7, 0xed, 0x61, 0x22, 0xb2, 0xac, 0xae, 0xcc, 0x1b, 0xd1, 0x31, 0x42, 0xb7, + 0xe5, 0x85, 0x66, 0x54, 0x94, 0xf9, 0xfe, 0x70, 0x26, 0xba, 0x01, 0x09, 0x22, 0x1f, 0x5a, 0x4f, + 0xa3, 0x04, 0xd9, 0x6c, 0x5c, 0x99, 0xae, 0xcb, 0xcb, 0x25, 0x17, 0xb3, 0x10, 0xfc, 0xa0, 0x14, + 0x50, 0xbc, 0xb4, 0xd0, 0x13, 0x10, 0xdb, 0xc1, 0x9a, 0xdd, 0xef, 0x61, 0x2b, 0xb3, 0x42, 0x59, + 0x79, 0x6a, 0x78, 0x92, 0x32, 0x80, 0x3a, 0xb6, 0x15, 0x07, 0x18, 0x75, 0x20, 0x79, 0x0b, 0xf7, + 0xf4, 0x1d, 0xbd, 0xc9, 0x1a, 0x15, 0xa4, 0xca, 0xe7, 0xc9, 0x29, 0x1b, 0x75, 0xdd, 0x83, 0x5a, + 0xb7, 0x35, 0x1b, 0xaf, 0xc2, 0x56, 0xf5, 0x7a, 0x59, 0xa9, 0x5c, 0xa9, 0x94, 0x4b, 0xac, 0x99, + 0x3e, 0xf2, 0xd9, 0xef, 0x93, 0x20, 0xe1, 0xe9, 0x09, 0x51, 0x87, 0x46, 0xbf, 0xb3, 0x8d, 0x7b, + 0x7c, 0xbc, 0x78, 0x0a, 0x9d, 0x82, 0xf8, 0x4e, 0xbf, 0xdd, 0x66, 0x42, 0xc7, 0xd6, 0xd2, 0x18, + 0xc9, 0x20, 0x02, 0x47, 0x74, 0x1c, 0x57, 0x23, 0x54, 0xc7, 0x91, 0xdf, 0x28, 0x0b, 0x31, 0x21, + 0x94, 0x99, 0xf0, 0x92, 0x74, 0x26, 0xa6, 0x38, 0x69, 0x56, 0xd6, 0xc5, 0x9a, 0x8d, 0x5b, 0x99, + 0x88, 0x28, 0x63, 0xe9, 0x6b, 0xa1, 0x58, 0x48, 0x0e, 0xe7, 0x1e, 0x87, 0xb9, 0xa1, 0xae, 0xa0, + 0x34, 0x24, 0x4a, 0xe5, 0xe2, 0x7a, 0x5e, 0xc9, 0x37, 0x2a, 0xb5, 0xaa, 0x3c, 0x83, 0x52, 0xe0, + 0xe9, 0x9d, 0x2c, 0x9d, 0x8d, 0xc7, 0xde, 0x8c, 0xca, 0xaf, 0xbc, 0xf2, 0xca, 0x2b, 0x81, 0xdc, + 0xaf, 0x45, 0x60, 0x61, 0x94, 0x12, 0x1c, 0xa9, 0x8f, 0xdd, 0x4e, 0x07, 0x7d, 0x9d, 0xce, 0x43, + 0xb8, 0xad, 0x6d, 0xe3, 0x76, 0x26, 0x44, 0x07, 0xe1, 0xa1, 0xa9, 0xd4, 0xec, 0xf2, 0x3a, 0x41, + 0x51, 0x18, 0x26, 0x7a, 0x0f, 0x67, 0x4d, 0x98, 0x52, 0x38, 0x3b, 0x1d, 0x05, 0xa2, 0x1c, 0x39, + 0x1b, 0x4f, 0x41, 0x9c, 0xfc, 0x67, 0x7c, 0x8f, 0x30, 0xbe, 0x93, 0x0c, 0xca, 0xf7, 0x2c, 0xc4, + 0xa8, 0xde, 0x6b, 0x61, 0x67, 0x4c, 0x44, 0x9a, 0x68, 0x8a, 0x16, 0xde, 0xd1, 0xfa, 0x6d, 0x5b, + 0xbd, 0xa5, 0xb5, 0xfb, 0x98, 0x6a, 0xb0, 0xb8, 0x92, 0xe4, 0x99, 0xd7, 0x49, 0x1e, 0x5a, 0x84, + 0x04, 0x53, 0x93, 0xba, 0xd1, 0xc2, 0xfb, 0x74, 0x09, 0x0d, 0x2b, 0x4c, 0x73, 0x56, 0x48, 0x0e, + 0xa9, 0xfe, 0x45, 0xcb, 0x34, 0x84, 0xae, 0xa1, 0x55, 0x90, 0x0c, 0x5a, 0xfd, 0x13, 0x83, 0xab, + 0xf7, 0xdd, 0xa3, 0xbb, 0x37, 0xa4, 0x1c, 0x1f, 0x80, 0x34, 0x85, 0x78, 0x8c, 0x4f, 0x65, 0xad, + 0x9d, 0x99, 0xa3, 0x62, 0x90, 0x62, 0xd9, 0x35, 0x9e, 0x9b, 0xfb, 0x85, 0x00, 0x84, 0xe8, 0x4a, + 0x91, 0x86, 0x44, 0xe3, 0xc6, 0x66, 0x59, 0x2d, 0xd5, 0xb6, 0x0a, 0xeb, 0x65, 0x59, 0x22, 0x43, + 0x4f, 0x33, 0xae, 0xac, 0xd7, 0xf2, 0x0d, 0x39, 0xe0, 0xa4, 0x2b, 0xd5, 0xc6, 0xc5, 0xc7, 0xe5, + 0xa0, 0x83, 0xb0, 0xc5, 0x32, 0x42, 0x5e, 0x80, 0xc7, 0x56, 0xe4, 0x30, 0x92, 0x21, 0xc9, 0x08, + 0x54, 0x9e, 0x2f, 0x97, 0x2e, 0x3e, 0x2e, 0x47, 0xfc, 0x39, 0x8f, 0xad, 0xc8, 0x51, 0x34, 0x0b, + 0x71, 0x9a, 0x53, 0xa8, 0xd5, 0xd6, 0xe5, 0x98, 0x43, 0xb3, 0xde, 0x50, 0x2a, 0xd5, 0x35, 0x39, + 0xee, 0xd0, 0x5c, 0x53, 0x6a, 0x5b, 0x9b, 0x32, 0x38, 0x14, 0x36, 0xca, 0xf5, 0x7a, 0x7e, 0xad, + 0x2c, 0x27, 0x1c, 0x88, 0xc2, 0x8d, 0x46, 0xb9, 0x2e, 0x27, 0x7d, 0xcd, 0x7a, 0x6c, 0x45, 0x9e, + 0x75, 0xaa, 0x28, 0x57, 0xb7, 0x36, 0xe4, 0x14, 0x9a, 0x83, 0x59, 0x56, 0x85, 0x68, 0x44, 0x7a, + 0x20, 0xeb, 0xe2, 0xe3, 0xb2, 0xec, 0x36, 0x84, 0x51, 0x99, 0xf3, 0x65, 0x5c, 0x7c, 0x5c, 0x46, + 0xb9, 0x22, 0x84, 0xa9, 0x18, 0x22, 0x04, 0xa9, 0xf5, 0x7c, 0xa1, 0xbc, 0xae, 0xd6, 0x36, 0xc9, + 0xa4, 0xc9, 0xaf, 0xcb, 0x92, 0x9b, 0xa7, 0x94, 0x37, 0xcb, 0xf9, 0x46, 0xb9, 0x24, 0x07, 0xbd, + 0x79, 0xcf, 0x6e, 0x55, 0x94, 0x72, 0x49, 0x0e, 0xe4, 0x9a, 0xb0, 0x30, 0x6a, 0x85, 0x1c, 0x39, + 0x85, 0x3c, 0xb2, 0x10, 0x18, 0x23, 0x0b, 0x94, 0xd6, 0xa0, 0x2c, 0xe4, 0xbe, 0x10, 0x80, 0xf9, + 0x11, 0x56, 0xc2, 0xc8, 0x4a, 0x9e, 0x86, 0x30, 0x93, 0x65, 0xa6, 0xa9, 0x1f, 0x1c, 0x69, 0x6e, + 0x50, 0xc9, 0x1e, 0xb2, 0x9d, 0x28, 0x9e, 0xd7, 0xde, 0x0c, 0x8e, 0xb1, 0x37, 0x09, 0x89, 0x21, + 0x81, 0xfd, 0xa6, 0xa1, 0xd5, 0x9c, 0x19, 0x3c, 0x17, 0xa7, 0x31, 0x78, 0x68, 0xde, 0xd1, 0x56, + 0xf5, 0xf0, 0x88, 0x55, 0xfd, 0x32, 0xcc, 0x0d, 0x11, 0x9a, 0x7a, 0x75, 0x7d, 0xbf, 0x04, 0x99, + 0x71, 0xcc, 0x99, 0xa0, 0x12, 0x03, 0x3e, 0x95, 0x78, 0x79, 0x90, 0x83, 0xf7, 0x8c, 0x1f, 0x84, + 0xa1, 0xb1, 0xfe, 0x09, 0x09, 0x8e, 0x8f, 0xf6, 0x2b, 0x46, 0xb6, 0xe1, 0x3d, 0x10, 0xe9, 0x60, + 0x7b, 0xcf, 0x14, 0x76, 0xf2, 0xfd, 0x23, 0xac, 0x2f, 0x52, 0x3c, 0x38, 0xd8, 0x1c, 0xcb, 0x6b, + 0xbe, 0x05, 0xc7, 0x39, 0x07, 0xac, 0x35, 0x43, 0x2d, 0xfd, 0xce, 0x00, 0x1c, 0x1b, 0x49, 0x7c, + 0x64, 0x43, 0xef, 0x06, 0xd0, 0x8d, 0x6e, 0xdf, 0x66, 0xb6, 0x30, 0xd3, 0xc4, 0x71, 0x9a, 0x43, + 0x95, 0x17, 0xd1, 0xb2, 0x7d, 0xdb, 0x29, 0x67, 0xab, 0x24, 0xb0, 0x2c, 0x0a, 0xf0, 0xa4, 0xdb, + 0xd0, 0x10, 0x6d, 0xe8, 0xe9, 0x31, 0x3d, 0x1d, 0x12, 0xcc, 0x47, 0x41, 0x6e, 0xb6, 0x75, 0x6c, + 0xd8, 0xaa, 0x65, 0xf7, 0xb0, 0xd6, 0xd1, 0x8d, 0x5d, 0xb6, 0xda, 0xae, 0x86, 0x77, 0xb4, 0xb6, + 0x85, 0x95, 0x34, 0x2b, 0xae, 0x8b, 0x52, 0x82, 0x41, 0x05, 0xa8, 0xe7, 0xc1, 0x88, 0xf8, 0x30, + 0x58, 0xb1, 0x83, 0x91, 0xfb, 0x99, 0x38, 0x24, 0x3c, 0x5e, 0x18, 0xba, 0x07, 0x92, 0x2f, 0x6a, + 0xb7, 0x34, 0x55, 0x78, 0xd6, 0x8c, 0x13, 0x09, 0x92, 0xb7, 0xc9, 0xbd, 0xeb, 0x47, 0x61, 0x81, + 0x82, 0x98, 0x7d, 0x1b, 0xf7, 0xd4, 0x66, 0x5b, 0xb3, 0x2c, 0xca, 0xb4, 0x18, 0x05, 0x45, 0xa4, + 0xac, 0x46, 0x8a, 0x8a, 0xa2, 0x04, 0x5d, 0x80, 0x79, 0x8a, 0xd1, 0xe9, 0xb7, 0x6d, 0xbd, 0xdb, + 0xc6, 0x34, 0x66, 0x60, 0xd1, 0x25, 0xc7, 0x69, 0xd9, 0x1c, 0x81, 0xd8, 0xe0, 0x00, 0xa4, 0x45, + 0x16, 0x2a, 0xc1, 0xdd, 0x14, 0x6d, 0x17, 0x1b, 0xb8, 0xa7, 0xd9, 0x58, 0xc5, 0xef, 0xeb, 0x6b, + 0x6d, 0x4b, 0xd5, 0x8c, 0x96, 0xba, 0xa7, 0x59, 0x7b, 0x99, 0x05, 0x42, 0xa0, 0x10, 0xc8, 0x48, + 0xca, 0x49, 0x02, 0xb8, 0xc6, 0xe1, 0xca, 0x14, 0x2c, 0x6f, 0xb4, 0xae, 0x6a, 0xd6, 0x1e, 0x5a, + 0x85, 0xe3, 0x94, 0x8a, 0x65, 0xf7, 0x74, 0x63, 0x57, 0x6d, 0xee, 0xe1, 0xe6, 0x4d, 0xb5, 0x6f, + 0xef, 0x3c, 0x99, 0x39, 0xe5, 0xad, 0x9f, 0xb6, 0xb0, 0x4e, 0x61, 0x8a, 0x04, 0x64, 0xcb, 0xde, + 0x79, 0x12, 0xd5, 0x21, 0x49, 0x06, 0xa3, 0xa3, 0xbf, 0x8c, 0xd5, 0x1d, 0xb3, 0x47, 0xd7, 0xd0, + 0xd4, 0x08, 0xd5, 0xe4, 0xe1, 0xe0, 0x72, 0x8d, 0x23, 0x6c, 0x98, 0x2d, 0xbc, 0x1a, 0xae, 0x6f, + 0x96, 0xcb, 0x25, 0x25, 0x21, 0xa8, 0x5c, 0x31, 0x7b, 0x44, 0xa0, 0x76, 0x4d, 0x87, 0xc1, 0x09, + 0x26, 0x50, 0xbb, 0xa6, 0x60, 0xef, 0x05, 0x98, 0x6f, 0x36, 0x59, 0x9f, 0xf5, 0xa6, 0xca, 0x3d, + 0x72, 0x2b, 0x23, 0xfb, 0x98, 0xd5, 0x6c, 0xae, 0x31, 0x00, 0x2e, 0xe3, 0x16, 0xba, 0x04, 0xc7, + 0x5c, 0x66, 0x79, 0x11, 0xe7, 0x86, 0x7a, 0x39, 0x88, 0x7a, 0x01, 0xe6, 0xbb, 0x07, 0xc3, 0x88, + 0xc8, 0x57, 0x63, 0xf7, 0x60, 0x10, 0xed, 0x3e, 0x1a, 0x65, 0xe9, 0xe1, 0x26, 0x35, 0xf5, 0x4e, + 0x78, 0xa1, 0x3d, 0x05, 0x68, 0x19, 0xe4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xdd, 0xc6, 0xaa, 0xd6, + 0xc3, 0x86, 0x66, 0x65, 0x16, 0x29, 0x70, 0xc8, 0xee, 0xf5, 0xb1, 0x92, 0x6a, 0x36, 0xcb, 0xb4, + 0x30, 0x4f, 0xcb, 0xd0, 0x59, 0x98, 0x33, 0xb7, 0x5f, 0x6c, 0x32, 0xc1, 0x52, 0xbb, 0x3d, 0xbc, + 0xa3, 0xef, 0x67, 0xde, 0x45, 0xb9, 0x94, 0x26, 0x05, 0x54, 0xac, 0x36, 0x69, 0x36, 0x7a, 0x10, + 0xe4, 0xa6, 0xb5, 0xa7, 0xf5, 0xba, 0x54, 0xb3, 0x5a, 0x5d, 0xad, 0x89, 0x33, 0xf7, 0x31, 0x50, + 0x96, 0x5f, 0x15, 0xd9, 0x44, 0xb0, 0xad, 0x97, 0xf4, 0x1d, 0x5b, 0x50, 0x7c, 0x80, 0x09, 0x36, + 0xcd, 0xe3, 0xd4, 0xce, 0x80, 0xdc, 0xdd, 0xeb, 0xfa, 0x2b, 0x3e, 0x43, 0xc1, 0x52, 0xdd, 0xbd, + 0xae, 0xb7, 0xde, 0x7b, 0x61, 0x96, 0x40, 0xba, 0x95, 0x3e, 0xc8, 0xec, 0xaf, 0xee, 0x9e, 0xa7, + 0xc6, 0xc7, 0xe1, 0x38, 0x01, 0xea, 0x60, 0x5b, 0x6b, 0x69, 0xb6, 0xe6, 0x81, 0x7e, 0x98, 0x42, + 0x2f, 0x74, 0xf7, 0xba, 0x1b, 0xbc, 0xd0, 0xd7, 0xce, 0x5e, 0x7f, 0xfb, 0xc0, 0x91, 0x8f, 0x47, + 0x58, 0x3b, 0x49, 0x9e, 0x90, 0x90, 0x3b, 0x76, 0x3f, 0xbe, 0x66, 0xce, 0x56, 0x6e, 0x15, 0x92, + 0x5e, 0xb9, 0x47, 0x71, 0x60, 0x92, 0x2f, 0x4b, 0xc4, 0x08, 0x2a, 0xd6, 0x4a, 0xc4, 0x7c, 0x79, + 0xa1, 0x2c, 0x07, 0x88, 0x19, 0xb5, 0x5e, 0x69, 0x94, 0x55, 0x65, 0xab, 0xda, 0xa8, 0x6c, 0x94, + 0xe5, 0xa0, 0xc7, 0xb0, 0xbf, 0x16, 0x8a, 0x9d, 0x95, 0x1f, 0xba, 0x16, 0x8a, 0xdd, 0x2f, 0x3f, + 0x40, 0xd9, 0x33, 0x24, 0x94, 0xb9, 0xb7, 0x82, 0x90, 0xf2, 0xbb, 0xe5, 0xe8, 0xdd, 0x70, 0x42, + 0xc4, 0xdd, 0x2c, 0x6c, 0xab, 0x2f, 0xe9, 0x3d, 0x3a, 0x59, 0x3b, 0x1a, 0x5b, 0x38, 0x1d, 0xa1, + 0x5c, 0xe0, 0x50, 0x75, 0x6c, 0x3f, 0xa7, 0xf7, 0xc8, 0x54, 0xec, 0x68, 0x36, 0x5a, 0x87, 0x45, + 0xc3, 0x54, 0x2d, 0x5b, 0x33, 0x5a, 0x5a, 0xaf, 0xe5, 0x0d, 0x64, 0x6a, 0xcd, 0x26, 0xb6, 0x2c, + 0x93, 0x2d, 0x92, 0x0e, 0x95, 0xbb, 0x0c, 0xb3, 0xce, 0x81, 0xdd, 0xd5, 0x23, 0xcf, 0x41, 0x07, + 0xe6, 0x44, 0x70, 0xdc, 0x9c, 0x38, 0x05, 0xf1, 0x8e, 0xd6, 0x55, 0xb1, 0x61, 0xf7, 0x0e, 0xa8, + 0xed, 0x1e, 0x53, 0x62, 0x1d, 0xad, 0x5b, 0x26, 0x69, 0x74, 0x1d, 0xee, 0x77, 0x41, 0xd5, 0x36, + 0xde, 0xd5, 0x9a, 0x07, 0x2a, 0x35, 0xd4, 0x69, 0x8c, 0x48, 0x6d, 0x9a, 0xc6, 0x4e, 0x5b, 0x6f, + 0xda, 0x16, 0xd5, 0x1d, 0x4c, 0xff, 0xe5, 0x5c, 0x8c, 0x75, 0x8a, 0x70, 0xcd, 0x32, 0x0d, 0x6a, + 0x9f, 0x17, 0x05, 0xb4, 0x4f, 0x6c, 0x92, 0xef, 0x08, 0xb1, 0xf1, 0x0f, 0x7d, 0x48, 0x0e, 0x5f, + 0x0b, 0xc5, 0xc2, 0x72, 0xe4, 0x5a, 0x28, 0x16, 0x91, 0xa3, 0xd7, 0x42, 0xb1, 0x98, 0x1c, 0xbf, + 0x16, 0x8a, 0xc5, 0x65, 0xc8, 0xdd, 0x9e, 0x85, 0xa4, 0xd7, 0xdd, 0x20, 0xde, 0x5b, 0x93, 0x2e, + 0xb8, 0x12, 0x55, 0xc9, 0xf7, 0x1e, 0xea, 0x9c, 0x2c, 0x17, 0xc9, 0x4a, 0xbc, 0x1a, 0x61, 0xb6, + 0xbd, 0xc2, 0x30, 0x89, 0x15, 0x44, 0x26, 0x19, 0x66, 0xb6, 0x54, 0x4c, 0xe1, 0x29, 0xb4, 0x06, + 0x91, 0x17, 0x2d, 0x4a, 0x3b, 0x42, 0x69, 0xbf, 0xeb, 0x70, 0xda, 0xd7, 0xea, 0x94, 0x78, 0xfc, + 0x5a, 0x5d, 0xad, 0xd6, 0x94, 0x8d, 0xfc, 0xba, 0xc2, 0xd1, 0xd1, 0x49, 0x08, 0xb5, 0xb5, 0x97, + 0x0f, 0xfc, 0x6b, 0x36, 0xcd, 0x42, 0xcb, 0x90, 0xee, 0x1b, 0xcc, 0x57, 0x27, 0x63, 0x4c, 0xa0, + 0xd2, 0x5e, 0xa8, 0x94, 0x5b, 0xba, 0x4e, 0xe0, 0xa7, 0x94, 0xab, 0x93, 0x10, 0x7a, 0x09, 0x6b, + 0x37, 0xfd, 0x2b, 0x2b, 0xcd, 0x42, 0x67, 0x20, 0xd9, 0xc2, 0xdb, 0xfd, 0x5d, 0xb5, 0x87, 0x5b, + 0x5a, 0xd3, 0xf6, 0xaf, 0x27, 0x09, 0x5a, 0xa4, 0xd0, 0x12, 0xf4, 0x0c, 0xc4, 0xc9, 0x18, 0x19, + 0x74, 0x8c, 0xe7, 0x28, 0x0b, 0x1e, 0x39, 0x9c, 0x05, 0x7c, 0x88, 0x05, 0x92, 0xe2, 0xe2, 0xa3, + 0xab, 0x10, 0xb5, 0xb5, 0xde, 0x2e, 0xb6, 0xad, 0xcc, 0xfc, 0x52, 0xf0, 0x4c, 0x6a, 0x44, 0x8c, + 0x6c, 0x04, 0xa9, 0x06, 0x45, 0xa1, 0x9e, 0xb2, 0x40, 0x47, 0xcf, 0x81, 0xcc, 0x43, 0xb1, 0x2a, + 0x77, 0x73, 0xad, 0xcc, 0x02, 0x15, 0xc0, 0x87, 0x0f, 0x27, 0xc9, 0x23, 0xb9, 0x25, 0x86, 0xa4, + 0xa4, 0xb1, 0x2f, 0xed, 0x9f, 0x17, 0xc7, 0x8e, 0x32, 0x2f, 0xb6, 0x20, 0xcd, 0x7f, 0xab, 0x56, + 0xbf, 0xdb, 0x35, 0x7b, 0x76, 0xe6, 0x38, 0xc5, 0x9f, 0xd0, 0x20, 0x41, 0x8c, 0xe1, 0x28, 0xa9, + 0x1d, 0x5f, 0xfa, 0x6b, 0x37, 0xdd, 0xb2, 0x2f, 0x40, 0xca, 0xcf, 0x0c, 0x6f, 0x20, 0x3c, 0x38, + 0x65, 0x20, 0x9c, 0xb8, 0x25, 0xc2, 0x51, 0x23, 0x4b, 0x13, 0x4b, 0x64, 0xbf, 0x3f, 0x00, 0x29, + 0x7f, 0xc7, 0xd0, 0x1a, 0x20, 0x31, 0x62, 0xba, 0x61, 0xf7, 0xcc, 0x56, 0xbf, 0x89, 0x5b, 0x7c, + 0xc2, 0x8e, 0xaf, 0x67, 0x8e, 0xe3, 0x54, 0x1c, 0x14, 0x2f, 0x21, 0xcf, 0x2c, 0x08, 0x4c, 0x49, + 0xa8, 0xe4, 0xce, 0x8f, 0x73, 0x30, 0x2f, 0x08, 0x10, 0x62, 0x2f, 0x69, 0x3d, 0x83, 0x98, 0xc8, + 0xcc, 0x68, 0x47, 0x9e, 0xa2, 0xe7, 0x58, 0x09, 0xca, 0x83, 0x10, 0x17, 0xb5, 0x87, 0x3b, 0xe6, + 0x2d, 0xdc, 0xe2, 0xe1, 0xa2, 0xf1, 0xd5, 0xa6, 0x38, 0x82, 0xc2, 0xe0, 0x73, 0xe7, 0x20, 0x4c, + 0xd5, 0x0f, 0x02, 0xe0, 0x0a, 0x48, 0x9e, 0x41, 0x31, 0x08, 0x15, 0x6b, 0x0a, 0x59, 0x1e, 0x65, + 0x48, 0xb2, 0x5c, 0x75, 0xb3, 0x52, 0x2e, 0x96, 0xe5, 0x40, 0xee, 0x02, 0x44, 0x98, 0x4e, 0x21, + 0x4b, 0xa7, 0xa3, 0x55, 0xe4, 0x19, 0x9e, 0xe4, 0x34, 0x24, 0x51, 0xba, 0xb5, 0x51, 0x28, 0x2b, + 0x72, 0x20, 0xb7, 0x05, 0xe9, 0x81, 0x79, 0x88, 0x8e, 0xc1, 0x9c, 0x52, 0x6e, 0x94, 0xab, 0x8d, + 0x4a, 0xad, 0xaa, 0x6e, 0x55, 0x9f, 0xa9, 0xd6, 0x9e, 0xab, 0xca, 0x33, 0xfe, 0x6c, 0xb1, 0x0e, + 0x4b, 0x68, 0x01, 0x64, 0x37, 0xbb, 0x5e, 0xdb, 0x52, 0x68, 0x6b, 0xbe, 0x2b, 0x00, 0xf2, 0xe0, + 0xa4, 0x44, 0x27, 0x60, 0xbe, 0x91, 0x57, 0xd6, 0xca, 0x0d, 0x95, 0x05, 0x3c, 0x1c, 0xd2, 0x0b, + 0x20, 0x7b, 0x0b, 0xae, 0x54, 0x68, 0x3c, 0x67, 0x11, 0x4e, 0x79, 0x73, 0xcb, 0xcf, 0x37, 0xca, + 0xd5, 0x3a, 0xad, 0x3c, 0x5f, 0x5d, 0x23, 0x46, 0xc1, 0x00, 0x3d, 0x11, 0x62, 0x09, 0x92, 0xa6, + 0xfa, 0xe9, 0x95, 0xd7, 0x4b, 0x72, 0x68, 0x30, 0xbb, 0x56, 0x2d, 0xd7, 0xae, 0xc8, 0xe1, 0xc1, + 0xda, 0x69, 0xd8, 0x25, 0x82, 0xb2, 0x70, 0x7c, 0x30, 0x57, 0x2d, 0x57, 0x1b, 0xca, 0x0d, 0x39, + 0x3a, 0x58, 0x71, 0xbd, 0xac, 0x5c, 0xaf, 0x14, 0xcb, 0x72, 0x0c, 0x1d, 0x07, 0xe4, 0x6f, 0x51, + 0xe3, 0x6a, 0xad, 0x24, 0xc7, 0x47, 0xad, 0x58, 0x48, 0x9e, 0xcf, 0xfd, 0xb4, 0x04, 0x49, 0x6f, + 0x08, 0xc4, 0xa7, 0x54, 0xa4, 0x77, 0xda, 0x62, 0x9b, 0xfb, 0xad, 0x00, 0x24, 0x3c, 0xb1, 0x10, + 0xe2, 0xc4, 0x6a, 0xed, 0xb6, 0xf9, 0x92, 0xaa, 0xb5, 0x75, 0xcd, 0xe2, 0xeb, 0x21, 0xd0, 0xac, + 0x3c, 0xc9, 0x99, 0x76, 0xfd, 0x99, 0xde, 0x74, 0x89, 0xdc, 0xb1, 0xe9, 0x12, 0x7d, 0x07, 0x9a, + 0x2e, 0x61, 0x39, 0x92, 0xfb, 0x9d, 0x00, 0xc8, 0x83, 0xd1, 0x91, 0x01, 0xbe, 0x49, 0xe3, 0xf8, + 0xe6, 0xed, 0x5f, 0xe0, 0x28, 0xfd, 0x1b, 0x5c, 0xd5, 0x83, 0x63, 0x57, 0xf5, 0x11, 0x8b, 0x55, + 0xe8, 0x9d, 0xbc, 0x58, 0x79, 0xc5, 0xf5, 0xdf, 0x4b, 0x90, 0xf2, 0x07, 0x73, 0x7c, 0x1c, 0xcb, + 0x1d, 0x85, 0x63, 0xfe, 0x11, 0xb9, 0x67, 0xdc, 0x88, 0x7c, 0x5d, 0xfa, 0xf5, 0x83, 0x41, 0x98, + 0xf5, 0xc5, 0x7e, 0xa6, 0x6d, 0xdd, 0xfb, 0x60, 0x4e, 0x6f, 0xe1, 0x4e, 0xd7, 0xb4, 0xb1, 0xd1, + 0x3c, 0x50, 0xdb, 0xf8, 0x16, 0x6e, 0x53, 0x36, 0xa4, 0x46, 0xec, 0xae, 0xfa, 0x6a, 0x58, 0xae, + 0xb8, 0x78, 0xeb, 0x04, 0x6d, 0x75, 0xbe, 0x52, 0x2a, 0x6f, 0x6c, 0xd6, 0x1a, 0xe5, 0x6a, 0xf1, + 0x86, 0xd0, 0xe4, 0x8a, 0xac, 0x0f, 0x80, 0xf9, 0x18, 0x7e, 0xef, 0x3b, 0xc3, 0xe9, 0xdc, 0x04, + 0x79, 0xb0, 0x37, 0x44, 0xa1, 0x8f, 0xe8, 0x8f, 0x3c, 0x83, 0xe6, 0x21, 0x5d, 0xad, 0xa9, 0xf5, + 0x4a, 0xa9, 0xac, 0x96, 0xaf, 0x5c, 0x29, 0x17, 0x1b, 0x75, 0xb6, 0xd1, 0xe0, 0x40, 0x37, 0xe4, + 0x80, 0x77, 0x6c, 0x7e, 0x28, 0x08, 0xf3, 0x23, 0x5a, 0x82, 0xf2, 0x3c, 0x44, 0xc8, 0xa2, 0x96, + 0x8f, 0x4c, 0xd3, 0xfa, 0x65, 0xe2, 0xdd, 0x6f, 0x6a, 0x3d, 0x9b, 0x47, 0x14, 0x1f, 0x04, 0xc2, + 0x5e, 0xc3, 0x26, 0xe6, 0x7d, 0x8f, 0x6f, 0xe0, 0x30, 0x13, 0x24, 0xed, 0xe6, 0xb3, 0x3d, 0x9c, + 0x87, 0x01, 0x75, 0x4d, 0x4b, 0xb7, 0xf5, 0x5b, 0x98, 0xd8, 0x50, 0x1c, 0x98, 0x4c, 0xdc, 0x90, + 0x22, 0x8b, 0x92, 0x8a, 0x61, 0x3b, 0xd0, 0x06, 0xde, 0xd5, 0x06, 0xa0, 0x89, 0xfb, 0x11, 0x54, + 0x64, 0x51, 0xe2, 0x40, 0xdf, 0x03, 0xc9, 0x96, 0xd9, 0xdf, 0x6e, 0x63, 0x0e, 0x47, 0x54, 0xb2, + 0xa4, 0x24, 0x58, 0x9e, 0x03, 0xc2, 0xc3, 0x66, 0xee, 0x36, 0x53, 0x52, 0x49, 0xb0, 0x3c, 0x06, + 0xf2, 0x00, 0xa4, 0xb5, 0xdd, 0xdd, 0x1e, 0x21, 0x2e, 0x08, 0xb1, 0x40, 0x60, 0xca, 0xc9, 0xa6, + 0x80, 0xd9, 0x6b, 0x10, 0x13, 0x7c, 0x20, 0xfe, 0x2f, 0xe1, 0x84, 0xda, 0x65, 0xd1, 0xed, 0xc0, + 0x99, 0xb8, 0x12, 0x33, 0x44, 0xe1, 0x3d, 0x90, 0xd4, 0x2d, 0xf7, 0x08, 0x51, 0x26, 0xb0, 0x14, + 0x38, 0x13, 0x53, 0x12, 0xba, 0xe5, 0x1e, 0x13, 0xfa, 0x99, 0x04, 0x80, 0x2b, 0x6c, 0xe8, 0x7b, + 0x24, 0x48, 0xb1, 0x05, 0xa6, 0xdb, 0xc3, 0x16, 0x36, 0x9a, 0xc2, 0x2d, 0x7c, 0xf0, 0x10, 0x11, + 0x65, 0x6a, 0x6e, 0x93, 0x23, 0x14, 0x9e, 0xfe, 0xa0, 0x24, 0xbd, 0x26, 0x85, 0x5e, 0x93, 0xa4, + 0x1f, 0x91, 0x66, 0x51, 0xac, 0xfc, 0xfc, 0xe6, 0x7a, 0xa5, 0x58, 0x69, 0x64, 0x3e, 0x10, 0xa5, + 0xe9, 0xca, 0x06, 0x4f, 0xbf, 0x11, 0xf5, 0x97, 0xbf, 0x19, 0xfd, 0xb4, 0x14, 0x8c, 0xbd, 0x19, + 0x55, 0x66, 0x77, 0xbc, 0xf4, 0x50, 0xdb, 0x7b, 0x82, 0x22, 0x30, 0xce, 0x91, 0x74, 0x5b, 0x53, + 0xe6, 0xe7, 0x26, 0x0a, 0x0f, 0xd2, 0x86, 0x44, 0x68, 0x43, 0x12, 0x28, 0x52, 0x5c, 0xaf, 0xd5, + 0xcb, 0x25, 0xda, 0x8c, 0x38, 0x0a, 0xd5, 0x36, 0xcb, 0xd5, 0xcc, 0x1b, 0xa2, 0x4a, 0xf7, 0xb0, + 0xc5, 0x6b, 0x12, 0x9c, 0x10, 0xbb, 0xac, 0x7c, 0xad, 0xc5, 0x46, 0xd3, 0x6c, 0x09, 0xeb, 0x36, + 0xb5, 0x72, 0xfe, 0xb0, 0xca, 0x15, 0x8e, 0x4a, 0x59, 0x52, 0xe6, 0x88, 0x85, 0x47, 0x86, 0x58, + 0x92, 0xaf, 0x96, 0x78, 0x5b, 0x12, 0x28, 0xb2, 0x99, 0x2f, 0x3e, 0x53, 0x2e, 0xb9, 0xad, 0x39, + 0xd6, 0x1b, 0x45, 0x05, 0x7d, 0x0b, 0xa4, 0xfb, 0xf6, 0xce, 0x93, 0x44, 0x36, 0xf4, 0x16, 0xdb, + 0xf6, 0x0e, 0x8d, 0xdb, 0x2f, 0x75, 0x5b, 0xb4, 0x65, 0xef, 0x3c, 0x79, 0xdd, 0xc1, 0xe0, 0x4c, + 0x61, 0x4d, 0x89, 0xa3, 0x50, 0xb5, 0x56, 0x2d, 0x8b, 0x66, 0xd0, 0x2d, 0xe2, 0x1b, 0x6e, 0x33, + 0x52, 0x7d, 0x1f, 0x2a, 0xfa, 0x16, 0x90, 0x45, 0x78, 0xc8, 0x61, 0x49, 0x78, 0xdc, 0x96, 0xaf, + 0xdb, 0x00, 0x1e, 0x64, 0x72, 0x98, 0x71, 0xbf, 0xa7, 0x05, 0x0b, 0x28, 0xbd, 0x5e, 0xae, 0xae, + 0x35, 0xae, 0xaa, 0x9b, 0x4a, 0x99, 0xee, 0xdc, 0x65, 0x3e, 0x20, 0xaa, 0x4f, 0x77, 0xfc, 0x88, + 0xe8, 0xdb, 0x24, 0x48, 0x30, 0x13, 0x88, 0xc5, 0xa4, 0x58, 0x50, 0xe1, 0xfe, 0xc3, 0xea, 0xa6, + 0x16, 0x10, 0x85, 0x2e, 0x5c, 0xa2, 0xd5, 0x06, 0x85, 0x40, 0x9c, 0x40, 0x68, 0xbd, 0xbc, 0x96, + 0x2f, 0xde, 0x50, 0x0b, 0xe5, 0x7a, 0x83, 0x68, 0xb2, 0x9a, 0xc2, 0x64, 0x14, 0x50, 0x38, 0xbf, + 0xbe, 0x5e, 0x7b, 0xce, 0x65, 0x04, 0xbc, 0xe8, 0x90, 0xc9, 0x7d, 0x23, 0xcc, 0xfa, 0xc4, 0x9d, + 0x18, 0xc5, 0xd4, 0x98, 0x26, 0x3d, 0xa8, 0x97, 0xab, 0x45, 0xaf, 0x11, 0x9f, 0x04, 0x47, 0xbc, + 0x65, 0x89, 0xa4, 0x84, 0xf0, 0xcb, 0x01, 0xa2, 0x46, 0x79, 0x03, 0x9c, 0xbd, 0xc4, 0x60, 0xee, + 0x09, 0x88, 0x09, 0xf1, 0x25, 0xa6, 0x39, 0xb5, 0xb0, 0x07, 0x1c, 0x83, 0x18, 0x50, 0xd9, 0x95, + 0x25, 0xe2, 0x06, 0x31, 0x99, 0x96, 0x03, 0xb9, 0xeb, 0x70, 0x6c, 0xa4, 0xe8, 0xa1, 0x7b, 0x61, + 0x51, 0xec, 0x5f, 0x32, 0xa3, 0x5f, 0x2d, 0x57, 0x8b, 0xb5, 0x12, 0x71, 0x93, 0x5c, 0x9a, 0x00, + 0x5c, 0x06, 0x59, 0x2b, 0x85, 0x7c, 0xca, 0x81, 0x5c, 0x05, 0x52, 0x7e, 0x01, 0x42, 0xa7, 0xe0, + 0xc4, 0x56, 0xe3, 0xca, 0x93, 0xea, 0xf5, 0xfc, 0x7a, 0xa5, 0x94, 0x1f, 0x70, 0x88, 0x00, 0xb8, + 0x14, 0xc9, 0x01, 0xd2, 0x50, 0x22, 0x5d, 0x72, 0x30, 0x17, 0x8a, 0x49, 0xb2, 0x94, 0xab, 0x43, + 0x7a, 0x40, 0x14, 0xd0, 0x5d, 0x90, 0xe1, 0x1e, 0xca, 0xa8, 0x56, 0x51, 0x0e, 0xf9, 0x84, 0x83, + 0xf9, 0x6a, 0xa5, 0xf2, 0x7a, 0x65, 0xa3, 0xd2, 0xa0, 0xed, 0xbb, 0x0a, 0xe0, 0x8e, 0x31, 0x59, + 0xb3, 0xae, 0xd5, 0x6b, 0x55, 0xf5, 0x0a, 0x71, 0xf4, 0x1a, 0x1e, 0x52, 0x71, 0x60, 0x63, 0x2a, + 0x4b, 0xc4, 0x1f, 0x19, 0x1e, 0x78, 0x39, 0x70, 0xf6, 0x43, 0x12, 0x59, 0xb2, 0x3e, 0x54, 0xcd, + 0x7e, 0x9b, 0x84, 0xee, 0x8e, 0xbd, 0x19, 0x45, 0xd1, 0xe5, 0xee, 0xf6, 0x72, 0xb3, 0xdb, 0xcd, + 0xa6, 0xc9, 0x8f, 0x62, 0xb7, 0x7b, 0x45, 0x2c, 0xc4, 0x8b, 0xb1, 0x3f, 0x8c, 0xa2, 0x18, 0xc9, + 0x7d, 0x51, 0xbb, 0xa5, 0x65, 0x65, 0xf2, 0xeb, 0x9a, 0x76, 0x4b, 0x73, 0x00, 0x4e, 0xc5, 0xbe, + 0x18, 0x45, 0x11, 0x92, 0xbd, 0x6b, 0x66, 0x53, 0xe4, 0xff, 0x9a, 0xe9, 0x14, 0xde, 0x1b, 0xfb, + 0x8e, 0x2a, 0x02, 0x92, 0x49, 0x25, 0xf6, 0x7c, 0x16, 0x91, 0xdf, 0x74, 0xdb, 0xec, 0xbc, 0x00, + 0x3a, 0x1b, 0x89, 0x7d, 0xa8, 0x2a, 0x7f, 0xa4, 0x7a, 0x36, 0x12, 0xfb, 0x48, 0x55, 0xfe, 0x9e, + 0xea, 0xb5, 0x48, 0xec, 0x8d, 0xa8, 0xfc, 0x66, 0x34, 0xf7, 0x27, 0x41, 0x40, 0xae, 0x7c, 0x3b, + 0x91, 0x97, 0xe7, 0x21, 0xe6, 0x84, 0x72, 0xd8, 0x41, 0xd5, 0x77, 0x1f, 0x32, 0x2d, 0x04, 0x9a, + 0x27, 0x6b, 0x20, 0xb4, 0xe3, 0x50, 0x23, 0x7e, 0x7b, 0x47, 0x37, 0xf4, 0x4e, 0xbf, 0xa3, 0x8a, + 0xf8, 0xc6, 0x44, 0xbf, 0x9d, 0x23, 0xf0, 0x34, 0x25, 0xa1, 0xed, 0xfb, 0x48, 0x84, 0x27, 0x92, + 0x60, 0x08, 0x3c, 0x9d, 0xfd, 0x2b, 0x09, 0x32, 0xe3, 0x1a, 0x7b, 0x47, 0xa1, 0x97, 0x2a, 0x2c, + 0x98, 0xb7, 0x70, 0xaf, 0xa7, 0xb7, 0xe8, 0x6e, 0x8a, 0x63, 0x90, 0x85, 0x26, 0x1b, 0x64, 0xf3, + 0x1e, 0x44, 0x67, 0x50, 0x0b, 0x64, 0xdd, 0xdc, 0x27, 0x4b, 0x86, 0xa0, 0x14, 0x9e, 0x4c, 0x69, + 0x96, 0xa2, 0x08, 0x1a, 0xd7, 0xc8, 0x34, 0x21, 0x3e, 0x50, 0x40, 0x0e, 0xba, 0x56, 0x5f, 0xee, + 0xe3, 0x41, 0x48, 0xf9, 0x0f, 0x67, 0xa2, 0x12, 0xc4, 0xda, 0x26, 0x3f, 0xf8, 0xc4, 0x46, 0xfb, + 0xcc, 0x84, 0xf3, 0x9c, 0xcb, 0xeb, 0x1c, 0x5e, 0x71, 0x30, 0xb3, 0xff, 0x56, 0x82, 0x98, 0xc8, + 0x46, 0xc7, 0x21, 0xd4, 0xd5, 0xec, 0x3d, 0x4a, 0x2e, 0x5c, 0x08, 0xc8, 0x92, 0x42, 0xd3, 0x24, + 0xdf, 0xea, 0x6a, 0xec, 0xd0, 0x17, 0xcf, 0x27, 0x69, 0x62, 0x79, 0xb5, 0xb1, 0xd6, 0xa2, 0xfb, + 0x80, 0x66, 0xa7, 0x83, 0x0d, 0xdb, 0x12, 0x96, 0x17, 0xcf, 0x2f, 0xf2, 0x6c, 0xf4, 0x10, 0xcc, + 0xd9, 0x3d, 0x4d, 0x6f, 0xfb, 0x60, 0x43, 0x14, 0x56, 0x16, 0x05, 0x0e, 0xf0, 0x2a, 0x9c, 0x14, + 0x74, 0x5b, 0xd8, 0xd6, 0x9a, 0x7b, 0xb8, 0xe5, 0x22, 0x45, 0xe8, 0x7e, 0xff, 0x09, 0x0e, 0x50, + 0xe2, 0xe5, 0x02, 0xf7, 0x6c, 0xdf, 0x77, 0xde, 0x7a, 0x17, 0x61, 0x7e, 0xde, 0xfa, 0xfc, 0x98, + 0xf3, 0xd6, 0x83, 0x67, 0x63, 0x3d, 0x87, 0xad, 0xcf, 0x8e, 0x40, 0xf1, 0x73, 0xd4, 0x35, 0xa1, + 0x3e, 0x17, 0x80, 0x39, 0xb1, 0x61, 0xda, 0x72, 0xc6, 0x68, 0x03, 0x40, 0x33, 0x0c, 0xd3, 0xf6, + 0x8e, 0xd2, 0xb0, 0x8d, 0x3b, 0x84, 0xb7, 0x9c, 0x77, 0x90, 0x14, 0x0f, 0x81, 0xec, 0x1f, 0x49, + 0x00, 0x6e, 0xd1, 0xd8, 0xe1, 0x5a, 0x84, 0x04, 0xef, 0x15, 0x3d, 0xb3, 0xce, 0xe2, 0x8a, 0xc0, + 0xb2, 0xae, 0xe8, 0x6d, 0x7a, 0x12, 0x62, 0x1b, 0xef, 0xea, 0x06, 0x3f, 0xc2, 0xc5, 0x12, 0xe2, + 0x24, 0x44, 0xc8, 0x3d, 0xe2, 0xa8, 0x40, 0xcc, 0xc2, 0x1d, 0xcd, 0xb0, 0xf5, 0x26, 0x9f, 0xac, + 0x17, 0x8f, 0xd4, 0xf8, 0xe5, 0x3a, 0xc7, 0x56, 0x1c, 0x3a, 0xb9, 0x33, 0x10, 0x13, 0xb9, 0xce, + 0xe2, 0x30, 0x83, 0xa2, 0x10, 0xac, 0x97, 0xc9, 0xf2, 0x48, 0x75, 0x74, 0x25, 0x5f, 0x97, 0x03, + 0x67, 0x7f, 0x22, 0x00, 0x51, 0xa1, 0x3d, 0xe6, 0x21, 0x5d, 0x2e, 0x55, 0x06, 0xd6, 0x99, 0x79, + 0x48, 0x89, 0x4c, 0xa6, 0xcc, 0xe5, 0x0f, 0x44, 0xbd, 0x99, 0x9b, 0x4a, 0xad, 0x51, 0x5b, 0x91, + 0xff, 0x60, 0x38, 0xf3, 0x31, 0xf9, 0x8d, 0x28, 0x9a, 0x83, 0xa4, 0xc8, 0x5c, 0x79, 0x74, 0xe5, + 0x31, 0xf9, 0xcd, 0xc1, 0xac, 0xc7, 0xe5, 0x3f, 0xa4, 0x21, 0x2d, 0x91, 0x75, 0x5e, 0x6d, 0x90, + 0xc5, 0xa2, 0x56, 0x5d, 0xbf, 0x21, 0x4b, 0xde, 0x82, 0x15, 0x4f, 0x41, 0x00, 0xdd, 0x0d, 0x27, + 0x44, 0xc1, 0xa5, 0x4b, 0x97, 0x2e, 0x3d, 0xe1, 0x29, 0xbc, 0xfd, 0xe1, 0xc8, 0x60, 0xf1, 0x93, + 0x9e, 0xe2, 0x8f, 0x0f, 0x17, 0x5f, 0xf2, 0x14, 0xff, 0xf0, 0x87, 0x23, 0x68, 0x1e, 0x12, 0xa2, + 0x78, 0x23, 0xff, 0xbc, 0xfc, 0x95, 0xaf, 0x7c, 0xe5, 0x2b, 0xd1, 0xc2, 0xb7, 0xc0, 0x7c, 0xd3, + 0xec, 0x0c, 0x0e, 0x4d, 0x41, 0x1e, 0x38, 0x8f, 0x61, 0x5d, 0x95, 0x5e, 0x78, 0x84, 0x03, 0xed, + 0x9a, 0x6d, 0xcd, 0xd8, 0x5d, 0x36, 0x7b, 0xbb, 0xee, 0xe5, 0x08, 0x62, 0x5b, 0x5b, 0x9e, 0x2b, + 0x12, 0xdd, 0xed, 0xbf, 0x92, 0xa4, 0x1f, 0x09, 0x04, 0xd7, 0x36, 0x0b, 0x3f, 0x15, 0xc8, 0xae, + 0x31, 0xc4, 0x4d, 0x31, 0xf0, 0x0a, 0xde, 0x69, 0xe3, 0x26, 0x19, 0x1d, 0xf8, 0xe3, 0x87, 0x60, + 0x61, 0xd7, 0xdc, 0x35, 0x29, 0xa5, 0x73, 0xe4, 0x17, 0xbf, 0x5d, 0x11, 0x77, 0x72, 0xb3, 0x13, + 0xaf, 0x62, 0xac, 0x56, 0x61, 0x9e, 0x03, 0xab, 0xd4, 0xd4, 0x67, 0x5b, 0xc6, 0xe8, 0xd0, 0x63, + 0x47, 0x99, 0x9f, 0xfb, 0x7d, 0x1a, 0xa3, 0x51, 0xe6, 0x38, 0x2a, 0x29, 0x63, 0xbb, 0xca, 0xab, + 0x0a, 0x1c, 0xf3, 0xd1, 0x63, 0x6e, 0x16, 0xee, 0x4d, 0xa0, 0xf8, 0x2f, 0x39, 0xc5, 0x79, 0x0f, + 0xc5, 0x3a, 0x47, 0x5d, 0x2d, 0xc2, 0xec, 0x51, 0x68, 0xfd, 0x2b, 0x4e, 0x2b, 0x89, 0xbd, 0x44, + 0xd6, 0x20, 0x4d, 0x89, 0x34, 0xfb, 0x96, 0x6d, 0x76, 0xa8, 0x0f, 0x7b, 0x38, 0x99, 0x7f, 0xfd, + 0xfb, 0x4c, 0xab, 0xa6, 0x08, 0x5a, 0xd1, 0xc1, 0x5a, 0x5d, 0x05, 0xea, 0xb2, 0xb4, 0x70, 0xb3, + 0x3d, 0x81, 0xc2, 0xaf, 0xf3, 0x86, 0x38, 0xf0, 0xab, 0xd7, 0x61, 0x81, 0xfc, 0xa6, 0x2e, 0xa6, + 0xb7, 0x25, 0x93, 0xcf, 0x28, 0x65, 0x7e, 0xeb, 0xfd, 0x4c, 0x71, 0xcf, 0x3b, 0x04, 0x3c, 0x6d, + 0xf2, 0x8c, 0xe2, 0x2e, 0xb6, 0x6d, 0xdc, 0xb3, 0x54, 0xad, 0x3d, 0xaa, 0x79, 0x9e, 0x43, 0x1e, + 0x99, 0x1f, 0xfc, 0x92, 0x7f, 0x14, 0xd7, 0x18, 0x66, 0xbe, 0xdd, 0x5e, 0xdd, 0x82, 0x13, 0x23, + 0xa4, 0x62, 0x0a, 0x9a, 0x3f, 0xc4, 0x69, 0x2e, 0x0c, 0x49, 0x06, 0x21, 0xbb, 0x09, 0x22, 0xdf, + 0x19, 0xcb, 0x29, 0x68, 0x7e, 0x94, 0xd3, 0x44, 0x1c, 0x57, 0x0c, 0x29, 0xa1, 0x78, 0x0d, 0xe6, + 0x6e, 0xe1, 0xde, 0xb6, 0x69, 0xf1, 0x83, 0x35, 0x53, 0x90, 0xfb, 0x18, 0x27, 0x97, 0xe6, 0x88, + 0xf4, 0xa4, 0x0d, 0xa1, 0x75, 0x09, 0x62, 0x3b, 0x5a, 0x13, 0x4f, 0x41, 0xe2, 0x36, 0x27, 0x11, + 0x25, 0xf0, 0x04, 0x35, 0x0f, 0xc9, 0x5d, 0x93, 0x47, 0x19, 0x26, 0xa3, 0x7f, 0x9c, 0xa3, 0x27, + 0x04, 0x0e, 0x27, 0xd1, 0x35, 0xbb, 0xfd, 0xb6, 0x66, 0x4f, 0xd3, 0x82, 0x1f, 0x16, 0x24, 0x04, + 0x0e, 0x27, 0x71, 0x04, 0xb6, 0x7e, 0x42, 0x90, 0xb0, 0x3c, 0xfc, 0x7c, 0x1a, 0x12, 0xa6, 0xd1, + 0x3e, 0x30, 0x8d, 0x69, 0x1a, 0xf1, 0x49, 0x4e, 0x01, 0x38, 0x0a, 0x21, 0x70, 0x19, 0xe2, 0xd3, + 0x0e, 0xc4, 0x8f, 0x7d, 0x49, 0x4c, 0x0f, 0x31, 0x02, 0x6b, 0x90, 0x16, 0x0a, 0x4a, 0x37, 0x8d, + 0x29, 0x48, 0xfc, 0x38, 0x27, 0x91, 0xf2, 0xa0, 0xf1, 0x6e, 0xd8, 0xd8, 0xb2, 0x77, 0xf1, 0x34, + 0x44, 0x7e, 0x42, 0x74, 0x83, 0xa3, 0x70, 0x56, 0x6e, 0x63, 0xa3, 0xb9, 0x37, 0x1d, 0x85, 0x4f, + 0x09, 0x56, 0x0a, 0x1c, 0x42, 0xa2, 0x08, 0xb3, 0x1d, 0xad, 0x67, 0xed, 0x69, 0xed, 0xa9, 0x86, + 0xe3, 0x27, 0x39, 0x8d, 0xa4, 0x83, 0xc4, 0x39, 0xd2, 0x37, 0x8e, 0x42, 0xe6, 0xa7, 0x04, 0x47, + 0x3c, 0x68, 0x7c, 0xea, 0x59, 0x36, 0x35, 0xb8, 0x8f, 0x42, 0xed, 0xef, 0x89, 0xa9, 0xc7, 0x70, + 0x37, 0xbc, 0x14, 0x2f, 0x43, 0xdc, 0xd2, 0x5f, 0x9e, 0x8a, 0xcc, 0x4f, 0x8b, 0x91, 0xa6, 0x08, + 0x04, 0xf9, 0x06, 0x9c, 0x1c, 0xb9, 0x4c, 0x4c, 0x41, 0xec, 0x67, 0x38, 0xb1, 0xe3, 0x23, 0x96, + 0x0a, 0xae, 0x12, 0x8e, 0x4a, 0xf2, 0xef, 0x0b, 0x95, 0x80, 0x07, 0x68, 0x6d, 0xc2, 0x42, 0xdf, + 0xb0, 0xb4, 0x9d, 0xa3, 0x71, 0xed, 0x1f, 0x08, 0xae, 0x31, 0x5c, 0x1f, 0xd7, 0x1a, 0x70, 0x9c, + 0x53, 0x3c, 0xda, 0xb8, 0xfe, 0xac, 0x50, 0xac, 0x0c, 0x7b, 0xcb, 0x3f, 0xba, 0xdf, 0x00, 0x59, + 0x87, 0x9d, 0xc2, 0x3a, 0xb6, 0xd4, 0x8e, 0xd6, 0x9d, 0x82, 0xf2, 0xcf, 0x71, 0xca, 0x42, 0xe3, + 0x3b, 0xe6, 0xb5, 0xb5, 0xa1, 0x75, 0x09, 0xf1, 0xe7, 0x21, 0x23, 0x88, 0xf7, 0x8d, 0x1e, 0x6e, + 0x9a, 0xbb, 0x86, 0xfe, 0x32, 0x6e, 0x4d, 0x41, 0xfa, 0xd3, 0x03, 0x43, 0xb5, 0xe5, 0x41, 0x27, + 0x94, 0x2b, 0x20, 0x3b, 0xb6, 0x8a, 0xaa, 0x77, 0xe8, 0x66, 0xcc, 0xe1, 0x14, 0x7f, 0x5e, 0x8c, + 0x94, 0x83, 0x57, 0xa1, 0x68, 0xab, 0x65, 0x60, 0x47, 0xf3, 0xa7, 0x15, 0xc9, 0xcf, 0x70, 0x42, + 0xb3, 0x2e, 0x16, 0x57, 0x1c, 0x4d, 0xb3, 0xd3, 0xd5, 0x7a, 0xd3, 0xe8, 0xbf, 0x7f, 0x28, 0x14, + 0x07, 0x47, 0xe1, 0x8a, 0x83, 0x58, 0x74, 0x64, 0xb5, 0x9f, 0x82, 0xc2, 0x2f, 0x08, 0xc5, 0x21, + 0x70, 0x38, 0x09, 0x61, 0x30, 0x4c, 0x41, 0xe2, 0x17, 0x05, 0x09, 0x81, 0x43, 0x48, 0x3c, 0xeb, + 0x2e, 0xb4, 0x3d, 0xbc, 0xab, 0x5b, 0x36, 0xbf, 0x3c, 0x73, 0x38, 0xa9, 0x5f, 0xfa, 0x92, 0xdf, + 0x08, 0x53, 0x3c, 0xa8, 0x44, 0x13, 0xf1, 0xa8, 0x20, 0x8d, 0x7a, 0x4f, 0x6e, 0xd8, 0x2f, 0x0b, + 0x4d, 0xe4, 0x41, 0x23, 0x6d, 0xf3, 0x58, 0x88, 0x84, 0xed, 0x4d, 0xe2, 0x49, 0x4e, 0x41, 0xee, + 0x1f, 0x0d, 0x34, 0xae, 0x2e, 0x70, 0x09, 0x4d, 0x8f, 0xfd, 0xd3, 0x37, 0x6e, 0xe2, 0x83, 0xa9, + 0xa4, 0xf3, 0x1f, 0x0f, 0xd8, 0x3f, 0x5b, 0x0c, 0x93, 0xe9, 0x90, 0xf4, 0x80, 0x3d, 0x85, 0x26, + 0xdd, 0xac, 0xcb, 0x7c, 0xeb, 0x5b, 0xbc, 0xbf, 0x7e, 0x73, 0x6a, 0x75, 0x9d, 0x08, 0xb9, 0xdf, + 0xe8, 0x99, 0x4c, 0xec, 0xfd, 0x6f, 0x39, 0x72, 0xee, 0xb3, 0x79, 0x56, 0xaf, 0xc0, 0xac, 0xcf, + 0xe0, 0x99, 0x4c, 0xea, 0x03, 0x9c, 0x54, 0xd2, 0x6b, 0xef, 0xac, 0x5e, 0x80, 0x10, 0x31, 0x5e, + 0x26, 0xa3, 0x7f, 0x3b, 0x47, 0xa7, 0xe0, 0xab, 0x4f, 0x41, 0x4c, 0x18, 0x2d, 0x93, 0x51, 0xbf, + 0x83, 0xa3, 0x3a, 0x28, 0x04, 0x5d, 0x18, 0x2c, 0x93, 0xd1, 0xff, 0x96, 0x40, 0x17, 0x28, 0x04, + 0x7d, 0x7a, 0x16, 0xfe, 0xea, 0x87, 0x42, 0x7c, 0xd1, 0x11, 0xbc, 0xbb, 0x0c, 0x51, 0x6e, 0xa9, + 0x4c, 0xc6, 0xfe, 0x4e, 0x5e, 0xb9, 0xc0, 0x58, 0x7d, 0x02, 0xc2, 0x53, 0x32, 0xfc, 0xc3, 0x1c, + 0x95, 0xc1, 0xaf, 0x16, 0x21, 0xe1, 0xb1, 0x4e, 0x26, 0xa3, 0x7f, 0x37, 0x47, 0xf7, 0x62, 0x91, + 0xa6, 0x73, 0xeb, 0x64, 0x32, 0x81, 0xbf, 0x2d, 0x9a, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x61, 0x32, + 0x19, 0xfb, 0x23, 0x82, 0xeb, 0x02, 0x65, 0xf5, 0x69, 0x88, 0x3b, 0x8b, 0xcd, 0x64, 0xfc, 0xef, + 0xe1, 0xf8, 0x2e, 0x0e, 0xe1, 0x80, 0x67, 0xb1, 0x9b, 0x4c, 0xe2, 0xef, 0x08, 0x0e, 0x78, 0xb0, + 0xc8, 0x34, 0x1a, 0x34, 0x60, 0x26, 0x53, 0xfa, 0x5e, 0x31, 0x8d, 0x06, 0xec, 0x17, 0x32, 0x9a, + 0x54, 0xe7, 0x4f, 0x26, 0xf1, 0x7d, 0x62, 0x34, 0x29, 0x3c, 0x69, 0xc6, 0xa0, 0x45, 0x30, 0x99, + 0xc6, 0x0f, 0x88, 0x66, 0x0c, 0x18, 0x04, 0xab, 0x9b, 0x80, 0x86, 0xad, 0x81, 0xc9, 0xf4, 0x5e, + 0xe3, 0xf4, 0xe6, 0x86, 0x8c, 0x81, 0xd5, 0xe7, 0xe0, 0xf8, 0x68, 0x4b, 0x60, 0x32, 0xd5, 0x1f, + 0x7c, 0x6b, 0xc0, 0x77, 0xf3, 0x1a, 0x02, 0xab, 0x0d, 0x77, 0x49, 0xf1, 0x5a, 0x01, 0x93, 0xc9, + 0xfe, 0xd0, 0x5b, 0x7e, 0xc5, 0xed, 0x35, 0x02, 0x56, 0xf3, 0x00, 0xee, 0x02, 0x3c, 0x99, 0xd6, + 0xc7, 0x38, 0x2d, 0x0f, 0x12, 0x99, 0x1a, 0x7c, 0xfd, 0x9d, 0x8c, 0x7f, 0x5b, 0x4c, 0x0d, 0x8e, + 0x41, 0xa6, 0x86, 0x58, 0x7a, 0x27, 0x63, 0x7f, 0x5c, 0x4c, 0x0d, 0x81, 0x42, 0x24, 0xdb, 0xb3, + 0xba, 0x4d, 0xa6, 0xf0, 0x49, 0x21, 0xd9, 0x1e, 0xac, 0xd5, 0x2a, 0xcc, 0x0d, 0x2d, 0x88, 0x93, + 0x49, 0xfd, 0x08, 0x27, 0x25, 0x0f, 0xae, 0x87, 0xde, 0xc5, 0x8b, 0x2f, 0x86, 0x93, 0xa9, 0xfd, + 0xe8, 0xc0, 0xe2, 0xc5, 0xd7, 0xc2, 0xd5, 0xcb, 0x10, 0x33, 0xfa, 0xed, 0x36, 0x99, 0x3c, 0xe8, + 0xf0, 0xcb, 0x93, 0x99, 0x3f, 0xfc, 0x32, 0xe7, 0x8e, 0x40, 0x58, 0xbd, 0x00, 0x61, 0xdc, 0xd9, + 0xc6, 0xad, 0x49, 0x98, 0x5f, 0xfc, 0xb2, 0x50, 0x98, 0x04, 0x7a, 0xf5, 0x69, 0x00, 0x16, 0x1a, + 0xa1, 0x07, 0x90, 0x27, 0xe0, 0xfe, 0xd1, 0x97, 0xf9, 0x6d, 0x25, 0x17, 0xc5, 0x25, 0xc0, 0xee, + 0x3e, 0x1d, 0x4e, 0xe0, 0x4b, 0x7e, 0x02, 0x74, 0x44, 0x2e, 0x41, 0xf4, 0x45, 0xcb, 0x34, 0x6c, + 0x6d, 0x77, 0x12, 0xf6, 0x1f, 0x73, 0x6c, 0x01, 0x4f, 0x18, 0xd6, 0x31, 0x7b, 0xd8, 0xd6, 0x76, + 0xad, 0x49, 0xb8, 0xff, 0x8d, 0xe3, 0x3a, 0x08, 0x04, 0xb9, 0xa9, 0x59, 0xf6, 0x34, 0xfd, 0xfe, + 0x13, 0x81, 0x2c, 0x10, 0x48, 0xa3, 0xc9, 0xef, 0x9b, 0xf8, 0x60, 0x12, 0xee, 0x9f, 0x8a, 0x46, + 0x73, 0xf8, 0xd5, 0xa7, 0x20, 0x4e, 0x7e, 0xb2, 0x2b, 0x88, 0x13, 0x90, 0xff, 0x8c, 0x23, 0xbb, + 0x18, 0xa4, 0x66, 0xcb, 0x6e, 0xd9, 0xfa, 0x64, 0x66, 0xff, 0x39, 0x1f, 0x69, 0x01, 0xbf, 0x9a, + 0x87, 0x84, 0x65, 0xb7, 0x5a, 0x7d, 0x6e, 0x9f, 0x4e, 0x40, 0xff, 0x8b, 0x2f, 0x3b, 0x21, 0x0b, + 0x07, 0x87, 0x8c, 0xf6, 0x4b, 0x37, 0xed, 0xae, 0x49, 0x8f, 0xac, 0x4c, 0xa2, 0xf0, 0x16, 0xa7, + 0xe0, 0x41, 0x59, 0x2d, 0x42, 0x92, 0xf4, 0x45, 0xec, 0xfc, 0x4f, 0x22, 0xf1, 0x97, 0x9c, 0x01, + 0x3e, 0xa4, 0xc2, 0x37, 0xff, 0xfa, 0xe7, 0x4f, 0x4b, 0x9f, 0xfb, 0xfc, 0x69, 0xe9, 0xbf, 0x7e, + 0xfe, 0xb4, 0xf4, 0x91, 0x2f, 0x9c, 0x9e, 0xf9, 0xdc, 0x17, 0x4e, 0xcf, 0xfc, 0xce, 0x17, 0x4e, + 0xcf, 0x8c, 0x8e, 0x12, 0xc3, 0x9a, 0xb9, 0x66, 0xb2, 0xf8, 0xf0, 0x0b, 0xf7, 0xed, 0xea, 0xf6, + 0x5e, 0x7f, 0x7b, 0xb9, 0x69, 0x76, 0xce, 0x35, 0x4d, 0xab, 0x63, 0x5a, 0xe7, 0xfc, 0x71, 0x5d, + 0xfa, 0x0b, 0xfe, 0x97, 0x44, 0x7c, 0x66, 0x7f, 0x38, 0x57, 0x33, 0x0e, 0xc6, 0x3d, 0xa9, 0x73, + 0x11, 0x82, 0x79, 0xe3, 0x00, 0x9d, 0x64, 0x0a, 0x4e, 0xed, 0xf7, 0xda, 0xfc, 0x1e, 0x5c, 0x94, + 0xa4, 0xb7, 0x7a, 0x6d, 0xff, 0x19, 0xe8, 0x24, 0x3f, 0x03, 0x5d, 0xf8, 0x6e, 0xe9, 0x68, 0x3d, + 0x89, 0xe5, 0x8d, 0x03, 0xda, 0x91, 0x4d, 0xe9, 0x85, 0x87, 0x27, 0xc6, 0xb9, 0x6f, 0x1a, 0xe6, + 0x4b, 0x06, 0x69, 0x76, 0x77, 0x5b, 0xc4, 0xb8, 0x4f, 0x0f, 0xc6, 0xb8, 0x9f, 0xc3, 0xed, 0xf6, + 0x33, 0x04, 0xae, 0x41, 0x50, 0xb6, 0x23, 0xec, 0xca, 0x35, 0x7c, 0x6f, 0x00, 0x4e, 0x0f, 0x85, + 0xb3, 0xb9, 0x10, 0x8c, 0x63, 0xc2, 0x2a, 0xc4, 0x4a, 0x42, 0xb6, 0x32, 0x10, 0xb5, 0x70, 0xd3, + 0x34, 0x5a, 0xec, 0x30, 0x6b, 0x50, 0x11, 0x49, 0xc2, 0x08, 0x43, 0x33, 0x4c, 0x8b, 0xdf, 0x24, + 0x65, 0x89, 0xc2, 0x47, 0x8f, 0xc8, 0x88, 0x59, 0x51, 0x93, 0xe0, 0xc6, 0xf9, 0x29, 0xb9, 0x21, + 0x3a, 0xe1, 0x8b, 0xfc, 0x4f, 0xcb, 0x95, 0x1f, 0x08, 0xc0, 0xe2, 0x20, 0x57, 0xc8, 0xcc, 0xb2, + 0x6c, 0xad, 0xd3, 0x1d, 0xc7, 0x96, 0xcb, 0x10, 0x6f, 0x08, 0x98, 0x23, 0xf3, 0xe5, 0xf6, 0x11, + 0xf9, 0x92, 0x72, 0xaa, 0x12, 0x8c, 0x59, 0x99, 0x92, 0x31, 0x4e, 0x3f, 0xee, 0x88, 0x33, 0xff, + 0x33, 0x02, 0x27, 0xd9, 0x74, 0x52, 0xd9, 0x54, 0x62, 0x09, 0xce, 0x93, 0xa4, 0xb7, 0x68, 0xf2, + 0x3e, 0x49, 0xee, 0x19, 0x98, 0xaf, 0x10, 0x6d, 0x41, 0xbc, 0x20, 0x77, 0x87, 0x67, 0xe4, 0x65, + 0xdb, 0x25, 0x9f, 0xc1, 0xcf, 0x77, 0x02, 0xbd, 0x59, 0xb9, 0x6f, 0x95, 0x40, 0xae, 0x37, 0xb5, + 0xb6, 0xd6, 0xfb, 0x6a, 0x49, 0xa1, 0x27, 0x00, 0xd8, 0x51, 0x29, 0xe7, 0x99, 0x9c, 0xd4, 0x4a, + 0x66, 0xd9, 0xdb, 0xb9, 0x65, 0x56, 0x13, 0xbd, 0x88, 0x12, 0xa7, 0xb0, 0xe4, 0xe7, 0xd9, 0xe7, + 0x01, 0xdc, 0x02, 0x74, 0x0a, 0x4e, 0xd4, 0x8b, 0xf9, 0xf5, 0xbc, 0x22, 0xce, 0xbc, 0xd4, 0x37, + 0xcb, 0x45, 0xf6, 0x6a, 0xc5, 0x0c, 0x3a, 0x0e, 0xc8, 0x5b, 0xe8, 0x1c, 0xde, 0x3f, 0x06, 0x73, + 0xde, 0x7c, 0xf6, 0x84, 0x40, 0x80, 0x58, 0x8a, 0x7a, 0xa7, 0xdb, 0xc6, 0x74, 0x6b, 0x58, 0xd5, + 0x05, 0xd7, 0x26, 0x1b, 0x21, 0xbf, 0xf1, 0x1f, 0xd8, 0xb5, 0xf2, 0x79, 0x17, 0xdd, 0xe1, 0xf9, + 0xea, 0x3a, 0xcc, 0x69, 0xcd, 0x26, 0xee, 0xfa, 0x48, 0x4e, 0x50, 0xd5, 0x84, 0x20, 0xdd, 0xec, + 0xe6, 0x98, 0x2e, 0xb5, 0x27, 0x20, 0x62, 0xd1, 0xde, 0x4f, 0x22, 0xf1, 0x59, 0x4e, 0x82, 0x83, + 0xaf, 0x1a, 0x30, 0xc7, 0x5e, 0x51, 0xc1, 0x9e, 0x66, 0x1c, 0x1e, 0x67, 0xf8, 0x27, 0x3f, 0xff, + 0x28, 0xdd, 0x83, 0xbe, 0xc7, 0x3f, 0x2c, 0x23, 0xc4, 0x49, 0x91, 0x39, 0x6d, 0xb7, 0xa1, 0x18, + 0x52, 0xa2, 0x3e, 0xde, 0xe0, 0xc3, 0x2b, 0xfb, 0x15, 0x5e, 0xd9, 0xe9, 0x51, 0x32, 0xe0, 0xa9, + 0x69, 0x96, 0x53, 0x65, 0x05, 0x85, 0xf2, 0xb8, 0x39, 0xfd, 0xc2, 0x43, 0xc3, 0xab, 0x13, 0xfb, + 0xf7, 0x08, 0xa5, 0x7c, 0xd9, 0x5b, 0x8d, 0x33, 0xf7, 0x3e, 0x1a, 0x82, 0x39, 0xad, 0xa3, 0x1b, + 0xe6, 0x39, 0xfa, 0x97, 0xcf, 0xb9, 0x30, 0x4d, 0x4c, 0xb1, 0x29, 0x79, 0x91, 0x4d, 0x85, 0xc9, + 0x12, 0xf3, 0x67, 0xdf, 0xf5, 0xe3, 0x61, 0x77, 0xba, 0xac, 0x6e, 0x0c, 0x1f, 0x93, 0x9b, 0x4c, + 0xe3, 0xcf, 0x05, 0x8d, 0xc1, 0x53, 0x6f, 0xab, 0xef, 0x86, 0x98, 0x43, 0x66, 0x92, 0x65, 0x22, + 0x88, 0x38, 0x18, 0xc4, 0x2e, 0x61, 0x33, 0x73, 0x1a, 0x2b, 0xf4, 0x2d, 0x81, 0xcf, 0x66, 0x68, + 0x95, 0xf4, 0x66, 0x0d, 0x52, 0x2d, 0xd3, 0xb0, 0x55, 0xb3, 0xa3, 0xdb, 0xb8, 0xd3, 0xb5, 0x27, + 0xda, 0x75, 0x7f, 0xc9, 0x88, 0xc4, 0x94, 0x59, 0x82, 0x57, 0x13, 0x68, 0xa4, 0x25, 0xec, 0x11, + 0x95, 0x69, 0x5a, 0xf2, 0xdf, 0x9d, 0x96, 0x50, 0x1c, 0xd2, 0x92, 0x3b, 0x92, 0x0e, 0xab, 0x75, + 0x93, 0x2b, 0x73, 0x7b, 0x9f, 0x49, 0x81, 0x23, 0x1d, 0xff, 0x3c, 0x04, 0xa7, 0x39, 0xf0, 0xb6, + 0x66, 0xe1, 0x73, 0xb7, 0xce, 0x6f, 0x63, 0x5b, 0x3b, 0x7f, 0xae, 0x69, 0xea, 0x62, 0x25, 0x9f, + 0xe7, 0xca, 0x9a, 0x94, 0x2f, 0xf3, 0xf2, 0xec, 0xc8, 0xed, 0xee, 0xec, 0x78, 0x25, 0x9f, 0x1d, + 0x96, 0xc1, 0x5c, 0x1b, 0x42, 0x45, 0x53, 0xa7, 0x17, 0xc0, 0x5a, 0xd8, 0x30, 0x3b, 0x5c, 0xdd, + 0xb2, 0x04, 0xba, 0x0a, 0x11, 0xad, 0x63, 0xf6, 0x0d, 0x9b, 0xa9, 0xda, 0xc2, 0xa3, 0xbf, 0xfe, + 0xfa, 0xe2, 0xcc, 0x7f, 0x7e, 0x7d, 0xf1, 0x18, 0x23, 0x6b, 0xb5, 0x6e, 0x2e, 0xeb, 0xe6, 0xb9, + 0x8e, 0x66, 0xef, 0x91, 0xe9, 0xfb, 0xdb, 0x9f, 0x79, 0x04, 0x78, 0x7d, 0x15, 0xc3, 0xfe, 0xd4, + 0x1b, 0x3f, 0x7b, 0x56, 0x52, 0x38, 0xfe, 0x6a, 0xe8, 0xcd, 0x4f, 0x2c, 0x4a, 0xb9, 0x2e, 0x44, + 0x4b, 0xb8, 0x79, 0x48, 0x85, 0x95, 0x81, 0x0a, 0xcf, 0xf3, 0x0a, 0x4f, 0x0d, 0x57, 0xc8, 0x2e, + 0x96, 0x94, 0x70, 0xd3, 0x53, 0x6d, 0x09, 0x37, 0x07, 0x6a, 0xac, 0x40, 0xac, 0x62, 0xd8, 0xec, + 0x25, 0x88, 0xa7, 0x20, 0xa8, 0x1b, 0xec, 0x02, 0x71, 0xbc, 0xf0, 0xd0, 0x11, 0xba, 0xa2, 0x10, + 0xbc, 0x5c, 0x0d, 0x62, 0x25, 0xdc, 0x64, 0xa4, 0x8a, 0x10, 0x6c, 0xe1, 0x26, 0x27, 0x75, 0x07, + 0x8d, 0x24, 0xd8, 0x85, 0xd2, 0xef, 0xfc, 0xde, 0xe9, 0x99, 0x57, 0x3e, 0x7f, 0x7a, 0x66, 0xac, + 0x38, 0xe5, 0x26, 0x8b, 0x93, 0x23, 0x45, 0x3f, 0x1e, 0x82, 0xbb, 0xe9, 0x53, 0x42, 0xbd, 0x8e, + 0x6e, 0xd8, 0xe7, 0x9a, 0xbd, 0x83, 0xae, 0x6d, 0x12, 0xa5, 0x62, 0xee, 0x70, 0x21, 0x9a, 0x73, + 0x8b, 0x97, 0x59, 0xf1, 0x68, 0x11, 0xca, 0xed, 0x40, 0x78, 0x93, 0xe0, 0x91, 0x41, 0xb2, 0x4d, + 0x5b, 0x6b, 0x73, 0x4b, 0x88, 0x25, 0x48, 0x2e, 0x7b, 0x7e, 0x28, 0xc0, 0x72, 0x75, 0xf1, 0xf2, + 0x50, 0x1b, 0x6b, 0x3b, 0xec, 0x15, 0x87, 0x20, 0x35, 0xa1, 0x63, 0x24, 0x83, 0x3e, 0xd8, 0xb0, + 0x00, 0x61, 0xad, 0xcf, 0x4e, 0x5b, 0x05, 0x89, 0x6d, 0x4d, 0x13, 0xb9, 0x67, 0x20, 0xca, 0xf7, + 0xf4, 0x91, 0x0c, 0xc1, 0x9b, 0xf8, 0x80, 0xd6, 0x93, 0x54, 0xc8, 0x4f, 0xb4, 0x0c, 0x61, 0xda, + 0x78, 0x7e, 0x79, 0x26, 0xb3, 0x3c, 0xd4, 0xfa, 0x65, 0xda, 0x48, 0x85, 0x81, 0xe5, 0xae, 0x41, + 0xac, 0x64, 0x12, 0xc9, 0xf6, 0x53, 0x8b, 0x33, 0x6a, 0xb4, 0xcd, 0xdd, 0xbe, 0x2d, 0x2e, 0x38, + 0xd2, 0x04, 0x3a, 0x0e, 0x11, 0xf6, 0xaa, 0x07, 0x3f, 0x31, 0xc6, 0x53, 0xb9, 0x22, 0x44, 0x29, + 0xed, 0x5a, 0xd7, 0x79, 0x2a, 0x4b, 0xf2, 0x3c, 0x95, 0xc5, 0xc9, 0x07, 0xdc, 0xc6, 0x22, 0x08, + 0xb5, 0x34, 0x5b, 0xe3, 0xfd, 0xa6, 0xbf, 0x73, 0xef, 0x81, 0x18, 0x27, 0x62, 0xa1, 0x15, 0x08, + 0x9a, 0x5d, 0x71, 0x20, 0x32, 0x3b, 0xae, 0x2b, 0xb5, 0x6e, 0x21, 0x44, 0x64, 0x49, 0x21, 0xc0, + 0x85, 0xea, 0x58, 0xb1, 0x78, 0xdc, 0x27, 0x16, 0x1d, 0x6c, 0x6f, 0xef, 0xd8, 0xee, 0x0f, 0x36, + 0x9c, 0x43, 0xa2, 0xe0, 0x08, 0xca, 0xed, 0x00, 0x9c, 0xf6, 0x94, 0xde, 0xc2, 0x3d, 0x4b, 0x37, + 0x0d, 0x26, 0x4d, 0x5c, 0x52, 0x90, 0xa7, 0x81, 0xbc, 0x7c, 0x8c, 0xa8, 0x3c, 0x05, 0xc1, 0x7c, + 0xb7, 0x8b, 0xb2, 0x10, 0xa3, 0xe9, 0xa6, 0xc9, 0x64, 0x25, 0xa4, 0x38, 0x69, 0x52, 0x66, 0x99, + 0x3b, 0xf6, 0x4b, 0x5a, 0xcf, 0x79, 0xf4, 0x4a, 0xa4, 0x73, 0x97, 0x20, 0x5e, 0x34, 0x0d, 0x0b, + 0x1b, 0x56, 0x9f, 0xda, 0xd7, 0xdb, 0x6d, 0xb3, 0x79, 0x93, 0x53, 0x60, 0x09, 0xc2, 0x6c, 0xad, + 0xdb, 0xa5, 0x98, 0x21, 0x85, 0xfc, 0x64, 0x33, 0xbb, 0x50, 0x1b, 0xcb, 0x9e, 0x0b, 0x47, 0x63, + 0x0f, 0xef, 0xa0, 0x6b, 0x28, 0x4b, 0x70, 0xd7, 0xf0, 0x44, 0xba, 0x89, 0x0f, 0xac, 0xa3, 0xce, + 0xa3, 0xe7, 0x21, 0xbe, 0x49, 0x9f, 0x1e, 0x7d, 0x06, 0x1f, 0xa0, 0x2c, 0x44, 0x71, 0x6b, 0xe5, + 0xc2, 0x85, 0xf3, 0x97, 0x98, 0x94, 0x5f, 0x9d, 0x51, 0x44, 0x06, 0x3a, 0x0d, 0x71, 0x0b, 0x37, + 0xbb, 0x2b, 0x17, 0x2e, 0xde, 0x3c, 0xcf, 0xc4, 0xea, 0xea, 0x8c, 0xe2, 0x66, 0xad, 0xc6, 0x48, + 0x8f, 0xdf, 0xfc, 0xe4, 0xa2, 0x54, 0x08, 0x43, 0xd0, 0xea, 0x77, 0xbe, 0x66, 0xb2, 0xf1, 0xa7, + 0x11, 0x58, 0xf2, 0x94, 0xb2, 0x05, 0x8b, 0x9f, 0xf2, 0x77, 0x9e, 0xab, 0x95, 0x3d, 0xfd, 0xa7, + 0x10, 0x63, 0x56, 0xa2, 0x43, 0xb9, 0x98, 0xfb, 0xb4, 0x04, 0xc9, 0xeb, 0x82, 0x72, 0x1d, 0xdb, + 0xe8, 0x32, 0x80, 0x53, 0x93, 0x98, 0x2a, 0xa7, 0x96, 0x07, 0xeb, 0x5a, 0x76, 0x70, 0x14, 0x0f, + 0x38, 0x7a, 0x82, 0x0a, 0x60, 0xd7, 0xb4, 0xf8, 0x03, 0x48, 0x13, 0x50, 0x1d, 0x60, 0xf4, 0x30, + 0x20, 0xaa, 0xd5, 0xd4, 0x5b, 0xa6, 0xad, 0x1b, 0xbb, 0x6a, 0xd7, 0x7c, 0x89, 0x3f, 0x2b, 0x17, + 0x54, 0x64, 0x5a, 0x72, 0x9d, 0x16, 0x6c, 0x92, 0x7c, 0xd2, 0xe8, 0xb8, 0x43, 0x85, 0xb8, 0x8a, + 0x5a, 0xab, 0xd5, 0xc3, 0x96, 0xc5, 0x15, 0x97, 0x48, 0xa2, 0xcb, 0x10, 0xed, 0xf6, 0xb7, 0x55, + 0xa1, 0x25, 0x12, 0x2b, 0x77, 0x8d, 0x9a, 0xf3, 0x42, 0x36, 0xf8, 0xac, 0x8f, 0x74, 0xfb, 0xdb, + 0x44, 0x52, 0xee, 0x81, 0xe4, 0x88, 0xc6, 0x24, 0x6e, 0xb9, 0xed, 0xa0, 0xaf, 0xdd, 0xf2, 0x1e, + 0xa8, 0xdd, 0x9e, 0x6e, 0xf6, 0x74, 0xfb, 0x80, 0x1e, 0x9a, 0x0c, 0x2a, 0xb2, 0x28, 0xd8, 0xe4, + 0xf9, 0xb9, 0x9b, 0x90, 0xae, 0x53, 0x17, 0xc2, 0x6d, 0xf9, 0x05, 0xb7, 0x7d, 0xd2, 0xe4, 0xf6, + 0x8d, 0x6d, 0x59, 0x60, 0xa8, 0x65, 0x67, 0xff, 0xa3, 0x04, 0x89, 0x02, 0x99, 0xb8, 0x95, 0xd2, + 0x95, 0xb6, 0xb6, 0x8b, 0xce, 0xc3, 0xb1, 0xc2, 0x7a, 0xad, 0xf8, 0x8c, 0x5a, 0x29, 0xa9, 0x57, + 0xd6, 0xf3, 0x9e, 0x53, 0xf5, 0xd9, 0xe3, 0xaf, 0xde, 0x5e, 0x42, 0x1e, 0xd8, 0x2d, 0x83, 0xfa, + 0xb9, 0xe8, 0x1c, 0x2c, 0xf8, 0x51, 0xf2, 0x85, 0x7a, 0xb9, 0xda, 0x90, 0xa5, 0xec, 0xb1, 0x57, + 0x6f, 0x2f, 0xcd, 0x79, 0x30, 0xf2, 0xdb, 0x16, 0x36, 0xec, 0x61, 0x84, 0x62, 0x6d, 0x63, 0xa3, + 0xd2, 0x90, 0x03, 0x43, 0x08, 0x45, 0xb3, 0xd3, 0xd1, 0x6d, 0xf4, 0x20, 0xcc, 0xf9, 0x11, 0xaa, + 0x95, 0x75, 0x39, 0x98, 0x45, 0xaf, 0xde, 0x5e, 0x4a, 0x79, 0xa0, 0xab, 0x7a, 0x3b, 0x1b, 0xfb, + 0xe0, 0x8f, 0x9e, 0x9e, 0xf9, 0xd4, 0xdf, 0x3d, 0x2d, 0x15, 0x36, 0xc6, 0xce, 0xb9, 0xc7, 0x8e, + 0x36, 0xe7, 0xfc, 0xeb, 0xf6, 0x97, 0xef, 0xf2, 0xa9, 0x1b, 0x6e, 0x23, 0x7a, 0x94, 0xf1, 0xb4, + 0xd3, 0x6d, 0x52, 0xdc, 0x23, 0x7b, 0xb8, 0x79, 0x90, 0x9d, 0xb0, 0x28, 0x64, 0x27, 0x2a, 0x86, + 0xdc, 0x25, 0x98, 0xdd, 0xd4, 0x7a, 0x76, 0x1d, 0xdb, 0x57, 0xb1, 0xd6, 0xc2, 0x3d, 0xbf, 0xfd, + 0x30, 0x2b, 0xec, 0x07, 0x04, 0x21, 0x6a, 0x24, 0xb0, 0xf5, 0x93, 0xfe, 0xce, 0xed, 0x41, 0x88, + 0x5e, 0x14, 0x73, 0x6c, 0x0b, 0x8e, 0xc1, 0x6c, 0x0b, 0xb2, 0x32, 0x1c, 0xd8, 0xfc, 0x22, 0x6d, + 0x52, 0x61, 0x09, 0xf4, 0xb8, 0xb0, 0x10, 0x82, 0x87, 0x5b, 0x08, 0x7c, 0x7a, 0x71, 0x3b, 0xa1, + 0x0d, 0x51, 0x3e, 0xc4, 0x4e, 0x43, 0x24, 0xb7, 0x21, 0x68, 0x03, 0xd2, 0x5d, 0xad, 0x67, 0xd3, + 0x67, 0x67, 0xf6, 0x68, 0x2f, 0xf8, 0x0c, 0x5e, 0x1c, 0xd6, 0x27, 0xbe, 0xce, 0xf2, 0x5a, 0x66, + 0xbb, 0xde, 0xcc, 0xdc, 0x1f, 0x84, 0x20, 0xc2, 0x99, 0xf1, 0x14, 0x44, 0x39, 0x5b, 0xf9, 0x9c, + 0xbb, 0x7b, 0x79, 0x78, 0x99, 0x5d, 0x76, 0x96, 0x43, 0x4e, 0x4f, 0xe0, 0xa0, 0xfb, 0x21, 0xd6, + 0xdc, 0xd3, 0x74, 0x43, 0xd5, 0x5b, 0xdc, 0x38, 0x4e, 0x7c, 0xfe, 0xf5, 0xc5, 0x68, 0x91, 0xe4, + 0x55, 0x4a, 0x4a, 0x94, 0x16, 0x56, 0x5a, 0xc4, 0xa6, 0xd9, 0xc3, 0xfa, 0xee, 0x9e, 0xcd, 0xf5, + 0x06, 0x4f, 0xa1, 0x27, 0x21, 0x44, 0x04, 0x82, 0xdf, 0x2b, 0xc8, 0x0e, 0x79, 0x3d, 0x4e, 0x58, + 0xaa, 0x10, 0x23, 0x15, 0x7f, 0xe4, 0xbf, 0x2c, 0x4a, 0x0a, 0xc5, 0x40, 0x45, 0x98, 0x6d, 0x6b, + 0x96, 0xad, 0xd2, 0xf5, 0x98, 0x54, 0xcf, 0x2e, 0x14, 0x9c, 0x1c, 0x66, 0x08, 0x67, 0x2c, 0x6f, + 0x7a, 0x82, 0x60, 0xb1, 0xac, 0x16, 0x3a, 0x03, 0x32, 0x25, 0xd2, 0xa4, 0x33, 0x90, 0x59, 0x89, + 0x11, 0xca, 0xf7, 0x14, 0xc9, 0x67, 0x13, 0x93, 0xda, 0x8a, 0xa7, 0x20, 0x4e, 0xdf, 0x56, 0xa2, + 0x20, 0xec, 0x76, 0x62, 0x8c, 0x64, 0xd0, 0xc2, 0x07, 0x20, 0xed, 0x6a, 0x7d, 0x06, 0x12, 0x63, + 0x54, 0xdc, 0x6c, 0x0a, 0xf8, 0x28, 0x2c, 0x18, 0x78, 0xdf, 0x56, 0x07, 0xa1, 0xe3, 0x14, 0x1a, + 0x91, 0xb2, 0xeb, 0x7e, 0x8c, 0xfb, 0x20, 0xd5, 0x14, 0xcc, 0x67, 0xb0, 0x40, 0x61, 0x67, 0x9d, + 0x5c, 0x0a, 0x76, 0x12, 0x62, 0x5a, 0xb7, 0xcb, 0x00, 0x12, 0x5c, 0xeb, 0x77, 0xbb, 0xb4, 0xe8, + 0x2c, 0xcc, 0xd1, 0x3e, 0xf6, 0xb0, 0xd5, 0x6f, 0xdb, 0x9c, 0x48, 0x92, 0xc2, 0xa4, 0x49, 0x81, + 0xc2, 0xf2, 0x29, 0xec, 0xbd, 0x30, 0x8b, 0x6f, 0xe9, 0x2d, 0x6c, 0x34, 0x31, 0x83, 0x9b, 0xa5, + 0x70, 0x49, 0x91, 0x49, 0x81, 0x1e, 0x04, 0x47, 0x9b, 0xab, 0x62, 0xa5, 0x49, 0x31, 0x7a, 0x22, + 0x3f, 0xcf, 0xb2, 0x73, 0x19, 0x08, 0x95, 0x34, 0x5b, 0x23, 0xe6, 0x92, 0xbd, 0xcf, 0x96, 0xcf, + 0xa4, 0x42, 0x7e, 0xe6, 0x7e, 0x31, 0x08, 0xa1, 0xeb, 0xa6, 0x8d, 0xd1, 0x63, 0x1e, 0x53, 0x36, + 0x35, 0x4a, 0x9e, 0xeb, 0xfa, 0xae, 0x81, 0x5b, 0x1b, 0xd6, 0xae, 0xe7, 0x3d, 0x53, 0x57, 0x9c, + 0x02, 0x3e, 0x71, 0x5a, 0x80, 0x70, 0xcf, 0xec, 0x1b, 0x2d, 0x71, 0x7c, 0x9f, 0x26, 0x50, 0x19, + 0x62, 0x8e, 0x94, 0x84, 0x26, 0x49, 0x49, 0x9a, 0x48, 0x09, 0x91, 0x61, 0x9e, 0xa1, 0x44, 0xb7, + 0xb9, 0xb0, 0x14, 0x20, 0xee, 0x28, 0x2f, 0x2e, 0x6d, 0xd3, 0x09, 0xac, 0x8b, 0x46, 0x96, 0x48, + 0x67, 0xec, 0x1d, 0xe6, 0x31, 0x89, 0x93, 0x9d, 0x02, 0xce, 0x3d, 0x9f, 0x58, 0xf1, 0xb7, 0x55, + 0xa3, 0xb4, 0x5f, 0xae, 0x58, 0xb1, 0xf7, 0x55, 0xef, 0x82, 0xb8, 0xa5, 0xef, 0x1a, 0xf4, 0x46, + 0x0c, 0x97, 0x3c, 0x37, 0x83, 0x94, 0xba, 0x77, 0x5c, 0x99, 0xa4, 0x79, 0xde, 0xf0, 0x3e, 0x07, + 0xf3, 0xee, 0xeb, 0xd9, 0x2e, 0x15, 0x26, 0x65, 0xc8, 0x29, 0xaa, 0x8b, 0x92, 0xdc, 0xaf, 0x4a, + 0x10, 0xe1, 0x2b, 0x96, 0x3b, 0x0c, 0xd2, 0xe8, 0x61, 0x08, 0x8c, 0x1b, 0x86, 0xe0, 0x9d, 0x0f, + 0x43, 0x1e, 0xc0, 0x69, 0xa6, 0xc5, 0x5f, 0xd0, 0x1c, 0x61, 0x56, 0xb1, 0x26, 0xd6, 0xf5, 0x5d, + 0x3e, 0xef, 0x3d, 0x48, 0xb9, 0xdf, 0x95, 0x88, 0x85, 0xcf, 0xcb, 0x51, 0x1e, 0x66, 0x45, 0xbb, + 0xd4, 0x9d, 0xb6, 0xb6, 0xcb, 0x45, 0xf1, 0xee, 0xb1, 0x8d, 0x23, 0xab, 0xb0, 0x92, 0xe0, 0xed, + 0xa1, 0xf6, 0xc4, 0xc8, 0x61, 0x0d, 0x8c, 0x19, 0x56, 0x9f, 0x1c, 0x05, 0xef, 0x4c, 0x8e, 0x7c, + 0x23, 0x1e, 0x1a, 0x18, 0xf1, 0xdc, 0xef, 0x49, 0xfc, 0xed, 0xee, 0x16, 0xbb, 0xfe, 0xf3, 0x7f, + 0x6a, 0xa8, 0x5e, 0xe0, 0xb2, 0xd5, 0xc2, 0x2d, 0x75, 0x68, 0xcc, 0xee, 0x1d, 0xa6, 0xe8, 0x6f, + 0xb3, 0x3b, 0x76, 0x48, 0x50, 0xa9, 0xbb, 0x63, 0xf8, 0x99, 0x00, 0xcc, 0x0d, 0xc1, 0xff, 0xf5, + 0x1b, 0x4b, 0xff, 0xec, 0x0d, 0x4f, 0x39, 0x7b, 0x23, 0x63, 0x67, 0xef, 0xcf, 0x07, 0x68, 0x00, + 0xa0, 0x6b, 0x5a, 0x5a, 0xfb, 0xeb, 0xa1, 0x7b, 0x4f, 0x41, 0xbc, 0x6b, 0xb6, 0x55, 0x56, 0xc2, + 0x2e, 0x50, 0xc5, 0xba, 0x66, 0x5b, 0x19, 0x12, 0xb3, 0xf0, 0xdb, 0xa4, 0x98, 0x23, 0x6f, 0xc3, + 0x20, 0x44, 0x07, 0x27, 0x54, 0x0f, 0x92, 0x8c, 0x15, 0xdc, 0x6a, 0x7a, 0x94, 0xf0, 0x80, 0x9a, + 0x61, 0xd2, 0xb0, 0x95, 0xc7, 0x9a, 0xcd, 0x20, 0x15, 0x0e, 0x47, 0x30, 0x98, 0x91, 0x31, 0x2a, + 0x72, 0xe4, 0xd5, 0x58, 0x0a, 0x87, 0xcb, 0x7d, 0xbf, 0x04, 0xb0, 0x4e, 0x38, 0x4b, 0xfb, 0x4b, + 0xec, 0x1d, 0x8b, 0x36, 0x41, 0xf5, 0xd5, 0x7c, 0x7a, 0xdc, 0xa0, 0xf1, 0xfa, 0x93, 0x96, 0xb7, + 0xdd, 0x45, 0x98, 0x75, 0x65, 0xdb, 0xc2, 0xa2, 0x31, 0xa7, 0x0f, 0xf1, 0x4a, 0xeb, 0xd8, 0x56, + 0x92, 0xb7, 0x3c, 0xa9, 0xdc, 0x3f, 0x93, 0x20, 0x4e, 0xdb, 0xb4, 0x81, 0x6d, 0xcd, 0x37, 0x86, + 0xd2, 0x9d, 0x8f, 0xe1, 0xdd, 0x00, 0x8c, 0x8c, 0xa5, 0xbf, 0x8c, 0xb9, 0x64, 0xc5, 0x69, 0x4e, + 0x5d, 0x7f, 0x19, 0xa3, 0x8b, 0x0e, 0xc3, 0x83, 0x87, 0x33, 0x5c, 0x78, 0xad, 0x9c, 0xed, 0x27, + 0x20, 0x4a, 0xdf, 0x46, 0xd8, 0xb7, 0xb8, 0x23, 0x1a, 0x31, 0xfa, 0x9d, 0xc6, 0xbe, 0x95, 0x7b, + 0x11, 0xa2, 0x8d, 0x7d, 0x16, 0x4f, 0x3c, 0x05, 0xf1, 0x9e, 0x69, 0x72, 0xeb, 0x8f, 0x59, 0xdd, + 0x31, 0x92, 0x41, 0x8d, 0x1d, 0x11, 0x43, 0x0b, 0xb8, 0x31, 0x34, 0x37, 0x08, 0x18, 0x9c, 0x2a, + 0x08, 0x48, 0xbc, 0xcf, 0x59, 0xdf, 0x4c, 0x42, 0x0f, 0xc3, 0x89, 0x7a, 0x65, 0xad, 0x5a, 0x2e, + 0xa9, 0x1b, 0xf5, 0xb5, 0x81, 0x1b, 0xec, 0xd9, 0xf4, 0xab, 0xb7, 0x97, 0x12, 0xdc, 0xed, 0x1c, + 0x07, 0xbd, 0xa9, 0x94, 0xaf, 0xd7, 0x1a, 0x65, 0x59, 0x62, 0xd0, 0x9b, 0x3d, 0x7c, 0xcb, 0xb4, + 0xd9, 0x87, 0x5d, 0x1e, 0x85, 0x93, 0x23, 0xa0, 0x1d, 0xe7, 0x73, 0xee, 0xd5, 0xdb, 0x4b, 0xb3, + 0x9b, 0x3d, 0xcc, 0xa4, 0x8c, 0x62, 0x2c, 0x43, 0x66, 0x18, 0xa3, 0xb6, 0x59, 0xab, 0xe7, 0xd7, + 0xe5, 0xa5, 0xac, 0xfc, 0xea, 0xed, 0xa5, 0xa4, 0x50, 0x19, 0x04, 0xfe, 0x6b, 0xef, 0x7d, 0x7e, + 0x67, 0xcc, 0x17, 0x35, 0x66, 0x7e, 0x5d, 0x57, 0xeb, 0x69, 0x9d, 0xa3, 0xba, 0x9f, 0x13, 0x0e, + 0x23, 0xe4, 0x3e, 0x1d, 0x80, 0xb4, 0xe3, 0xdc, 0x6c, 0xd2, 0x1a, 0xd0, 0x63, 0xde, 0x88, 0x5f, + 0x62, 0xec, 0xda, 0xc1, 0xa0, 0x45, 0x40, 0xf0, 0xdd, 0x10, 0x13, 0x46, 0x32, 0x9f, 0x54, 0x4b, + 0x23, 0xd6, 0x37, 0x0e, 0xc1, 0x51, 0x1d, 0x0c, 0xf4, 0x34, 0xc4, 0x9d, 0x29, 0xe6, 0xbc, 0x88, + 0x3d, 0x7e, 0x4e, 0x72, 0x7c, 0x17, 0x07, 0x5d, 0x72, 0xdd, 0xb8, 0xd0, 0x38, 0xc7, 0xf0, 0x3a, + 0x03, 0xe0, 0xc8, 0x8e, 0x0b, 0xf7, 0x28, 0x84, 0xb4, 0xed, 0xa6, 0xce, 0x15, 0xf0, 0x5d, 0xc3, + 0x78, 0xf9, 0x42, 0xb1, 0xc2, 0x91, 0x28, 0x64, 0xae, 0xc2, 0x83, 0x29, 0x9c, 0x5f, 0xf4, 0x8d, + 0xd1, 0x7d, 0x95, 0xf9, 0xc2, 0xcc, 0xba, 0x88, 0x75, 0xb4, 0xfd, 0x02, 0x75, 0x87, 0x4f, 0x40, + 0x94, 0x14, 0xee, 0xf2, 0xc7, 0xbe, 0x82, 0x4a, 0xa4, 0xa3, 0xed, 0xaf, 0x69, 0xd6, 0xb5, 0x50, + 0x2c, 0x28, 0x87, 0x72, 0x3f, 0x49, 0x2c, 0x15, 0x1f, 0x57, 0xd0, 0x43, 0x80, 0x08, 0x86, 0xb6, + 0x8b, 0x55, 0x32, 0x75, 0x29, 0x7b, 0x05, 0xdd, 0x74, 0x47, 0xdb, 0xcf, 0xef, 0xe2, 0x6a, 0xbf, + 0x43, 0x1b, 0x60, 0xa1, 0x0d, 0x90, 0x05, 0xb0, 0x18, 0x59, 0xce, 0xfe, 0x93, 0xc3, 0x9f, 0x48, + 0xe1, 0x00, 0x6c, 0x01, 0x78, 0x8d, 0x2c, 0x00, 0x29, 0x46, 0xcf, 0x39, 0x7e, 0xe2, 0xeb, 0x4a, + 0xd0, 0xdf, 0x95, 0xdc, 0xd3, 0x90, 0x1e, 0x18, 0x01, 0x94, 0x83, 0x59, 0x1e, 0xb1, 0xa2, 0x5b, + 0xfb, 0xcc, 0xc3, 0x89, 0x2b, 0x09, 0x16, 0x99, 0xa2, 0x47, 0x1d, 0x56, 0x63, 0xbf, 0xf4, 0x89, + 0x45, 0x89, 0x6e, 0xfb, 0x3c, 0x04, 0xb3, 0xbe, 0x31, 0x10, 0x51, 0x64, 0xc9, 0x8d, 0x22, 0xbb, + 0xc0, 0x2f, 0x40, 0x92, 0x28, 0x20, 0xdc, 0xe2, 0xb0, 0xf7, 0x43, 0x9a, 0x29, 0xc8, 0x41, 0x5e, + 0x33, 0x83, 0x67, 0x43, 0x30, 0x3c, 0x27, 0x2c, 0x20, 0x3f, 0xdb, 0x13, 0x02, 0x6a, 0x4d, 0xb3, + 0x72, 0x35, 0x00, 0x77, 0x50, 0x51, 0x1e, 0xee, 0x26, 0xca, 0xc3, 0x7b, 0x14, 0x95, 0x3f, 0xa2, + 0xec, 0xb3, 0x18, 0xb3, 0x04, 0xc8, 0x3d, 0x6e, 0xca, 0x9e, 0x52, 0xbe, 0x4a, 0x21, 0x0a, 0xcf, + 0x7e, 0xea, 0xf3, 0xa7, 0xa5, 0xaf, 0x8d, 0x2e, 0xf8, 0x4f, 0x37, 0xe0, 0x94, 0xa7, 0x90, 0x08, + 0xa0, 0x2f, 0x10, 0x95, 0xf6, 0xc8, 0x2b, 0x29, 0x9c, 0x14, 0x50, 0x3a, 0x34, 0xfe, 0x9b, 0x3d, + 0x5c, 0xed, 0x4c, 0x8e, 0x36, 0x4d, 0x8e, 0x77, 0x8d, 0x0e, 0xca, 0xff, 0xd3, 0x38, 0x44, 0x15, + 0xfc, 0xbe, 0x3e, 0xb6, 0x6c, 0xb4, 0x02, 0x21, 0xdc, 0xdc, 0x33, 0x47, 0xc5, 0x40, 0x49, 0x07, + 0x97, 0x39, 0x5c, 0xb9, 0xb9, 0x67, 0x5e, 0x9d, 0x51, 0x28, 0x2c, 0xba, 0x00, 0xe1, 0x9d, 0x76, + 0x9f, 0x87, 0xaf, 0x06, 0x74, 0x96, 0x17, 0xe9, 0x0a, 0x01, 0xba, 0x3a, 0xa3, 0x30, 0x68, 0x52, + 0x15, 0xfd, 0xea, 0x55, 0xf0, 0xf0, 0xaa, 0x2a, 0xc6, 0x0e, 0xad, 0x8a, 0xc0, 0xa2, 0x02, 0x80, + 0x6e, 0xe8, 0xb6, 0x4a, 0x43, 0x3b, 0x5c, 0x6b, 0xdc, 0x33, 0x1e, 0x53, 0xb7, 0x69, 0x30, 0xe8, + 0xea, 0x8c, 0x12, 0xd7, 0x45, 0x82, 0x34, 0xf7, 0x7d, 0x7d, 0xdc, 0x3b, 0xe0, 0xd6, 0xda, 0xd8, + 0xe6, 0x3e, 0x4b, 0x80, 0x48, 0x73, 0x29, 0x34, 0x51, 0xb2, 0xec, 0x55, 0x75, 0x7b, 0x9f, 0x7f, + 0x2b, 0x64, 0x71, 0x1c, 0x26, 0x7d, 0x5a, 0xbd, 0xb1, 0x7f, 0x75, 0x46, 0x89, 0x36, 0xd9, 0x4f, + 0xf4, 0xa4, 0x63, 0x82, 0x25, 0x86, 0xad, 0x1e, 0x1f, 0x2e, 0x0b, 0xfb, 0xcc, 0x08, 0x53, 0x0c, + 0x55, 0x21, 0xd5, 0xd6, 0x2d, 0x5b, 0xb5, 0x0c, 0xad, 0x6b, 0xed, 0x99, 0xb6, 0x78, 0xd6, 0xf8, + 0xbe, 0x71, 0x14, 0xd6, 0x75, 0xcb, 0xae, 0x0b, 0xe0, 0xab, 0x33, 0xca, 0x6c, 0xdb, 0x9b, 0x41, + 0xe8, 0x99, 0x3b, 0x3b, 0xb8, 0xe7, 0x10, 0xa4, 0x71, 0x96, 0x43, 0xe8, 0xd5, 0x08, 0xb4, 0xc0, + 0x27, 0xf4, 0x4c, 0x6f, 0x06, 0xfa, 0x06, 0x98, 0x6f, 0x9b, 0x5a, 0xcb, 0x21, 0xa7, 0x36, 0xf7, + 0xfa, 0xc6, 0x4d, 0x1a, 0x94, 0x49, 0xac, 0x3c, 0x38, 0xb6, 0x91, 0xa6, 0xd6, 0x12, 0x24, 0x8a, + 0x04, 0xe1, 0xea, 0x8c, 0x32, 0xd7, 0x1e, 0xcc, 0x44, 0xef, 0x85, 0x05, 0xad, 0xdb, 0x6d, 0x1f, + 0x0c, 0x52, 0x4f, 0x53, 0xea, 0x67, 0xc7, 0x51, 0xcf, 0x13, 0x9c, 0x41, 0xf2, 0x48, 0x1b, 0xca, + 0x45, 0x0d, 0x90, 0xbb, 0x3d, 0x4c, 0x6f, 0x73, 0x75, 0xb9, 0x95, 0x41, 0xdf, 0x0c, 0x4e, 0xac, + 0x3c, 0x30, 0x8e, 0xf6, 0x26, 0x83, 0x17, 0x46, 0xc9, 0xd5, 0x19, 0x25, 0xdd, 0xf5, 0x67, 0x31, + 0xaa, 0x66, 0x13, 0xd3, 0x07, 0xd6, 0x39, 0xd5, 0xb9, 0x49, 0x54, 0x29, 0xbc, 0x9f, 0xaa, 0x2f, + 0x0b, 0x95, 0x21, 0xc1, 0x5c, 0x51, 0x95, 0x28, 0x43, 0xfa, 0x70, 0x7d, 0x62, 0x25, 0x37, 0x76, + 0x86, 0x52, 0xd0, 0xeb, 0xa6, 0x8d, 0xaf, 0xce, 0x28, 0x80, 0x9d, 0x14, 0xd2, 0xe0, 0x18, 0x7d, + 0x74, 0xf9, 0x40, 0xf5, 0x2b, 0xde, 0xcc, 0x3c, 0x25, 0xf8, 0xd0, 0x38, 0x82, 0xf4, 0x63, 0x46, + 0x07, 0xd7, 0xbd, 0x7a, 0xf8, 0xea, 0x8c, 0x32, 0x7f, 0x6b, 0x38, 0x9b, 0x88, 0xd8, 0x8e, 0x6e, + 0x68, 0x6d, 0xfd, 0x65, 0xcc, 0x96, 0x50, 0xfa, 0x0d, 0x83, 0x43, 0x44, 0xec, 0x0a, 0x87, 0xa6, + 0x0b, 0x2b, 0x11, 0xb1, 0x1d, 0x6f, 0x46, 0x21, 0xca, 0xcf, 0xa1, 0x3a, 0x8f, 0x91, 0x46, 0xe5, + 0x18, 0x7b, 0x32, 0xfb, 0x5a, 0x28, 0x06, 0x72, 0x22, 0xf7, 0x00, 0x24, 0x3c, 0x8a, 0x09, 0x65, + 0x20, 0xca, 0x4f, 0xea, 0x88, 0x13, 0xad, 0x3c, 0x99, 0x4b, 0x41, 0xd2, 0xab, 0x8c, 0x72, 0x1f, + 0x91, 0x1c, 0x4c, 0xfa, 0x32, 0x48, 0xc6, 0x1f, 0x91, 0x8e, 0xbb, 0x96, 0xca, 0xbd, 0x62, 0x69, + 0x13, 0xe5, 0x6c, 0xfb, 0x35, 0x49, 0x33, 0xf9, 0xca, 0x8a, 0x16, 0x21, 0xd1, 0x5d, 0xe9, 0x3a, + 0x20, 0x41, 0x0a, 0x02, 0xdd, 0x95, 0xae, 0x00, 0xb8, 0x07, 0x92, 0xa4, 0xdf, 0xaa, 0xd7, 0x5e, + 0x8a, 0x2b, 0x09, 0x92, 0xc7, 0x41, 0x72, 0xbf, 0x19, 0x00, 0x79, 0x50, 0x81, 0x39, 0xa1, 0x6a, + 0xe9, 0xc8, 0xa1, 0xea, 0x93, 0x83, 0x41, 0x72, 0x37, 0x2e, 0xbe, 0x0e, 0xb2, 0x1b, 0xde, 0x65, + 0x4b, 0xcd, 0x78, 0xfb, 0x6f, 0xc0, 0x50, 0x55, 0xd2, 0xcd, 0x01, 0xcb, 0xf5, 0x8a, 0x6f, 0xb3, + 0x52, 0x7c, 0x16, 0x72, 0x70, 0xc0, 0x1d, 0x23, 0x66, 0xab, 0xdb, 0xd2, 0x6c, 0x2c, 0xe2, 0x63, + 0x9e, 0x7d, 0xcb, 0xfb, 0x21, 0xad, 0x75, 0xbb, 0xaa, 0x65, 0x6b, 0x36, 0xe6, 0xb6, 0x06, 0x8b, + 0x3c, 0xcc, 0x6a, 0xdd, 0x2e, 0xfd, 0x8a, 0x16, 0xb3, 0x35, 0xee, 0x83, 0x14, 0xd1, 0xe9, 0xba, + 0xd6, 0x16, 0xa6, 0x42, 0x84, 0x99, 0x24, 0x3c, 0x97, 0x59, 0x07, 0xb9, 0x96, 0x33, 0xe2, 0x54, + 0x9f, 0x3b, 0x3e, 0x95, 0xe4, 0xf1, 0xa9, 0x10, 0x7f, 0xb1, 0x85, 0xf1, 0x47, 0x3c, 0xae, 0x33, + 0x7a, 0xd3, 0x60, 0x81, 0xfa, 0x5f, 0xb7, 0x58, 0xb0, 0x24, 0xa6, 0xb0, 0x44, 0x4e, 0x81, 0x94, + 0x5f, 0xf7, 0xa3, 0x14, 0x04, 0xec, 0x7d, 0x5e, 0x4b, 0xc0, 0xde, 0x27, 0x96, 0xae, 0xe7, 0x91, + 0xbc, 0xe1, 0xd5, 0x8e, 0xe3, 0xb9, 0xb1, 0x8e, 0x5c, 0x1a, 0x66, 0x7d, 0x6b, 0x42, 0xee, 0x38, + 0x2c, 0x8c, 0x52, 0xf1, 0xb9, 0x3d, 0x27, 0xdf, 0xa7, 0xaa, 0xd1, 0x05, 0x88, 0x39, 0x3a, 0x7e, + 0x84, 0x77, 0x4c, 0xab, 0x15, 0xc0, 0x8a, 0x03, 0xea, 0x0b, 0xe7, 0x07, 0x7c, 0xe1, 0xfc, 0xdc, + 0x37, 0x43, 0x66, 0x9c, 0xfe, 0x1e, 0x08, 0xf2, 0x85, 0x1c, 0x86, 0x1d, 0x87, 0x08, 0x7f, 0x13, + 0x2e, 0x40, 0x37, 0xb0, 0x78, 0x8a, 0x30, 0x92, 0xe9, 0xf2, 0x20, 0xdb, 0xd7, 0xa2, 0x89, 0x9c, + 0x0a, 0x27, 0xc7, 0xea, 0xf0, 0xf1, 0x5b, 0x61, 0x8c, 0x10, 0xdf, 0x0a, 0x6b, 0x8a, 0xe6, 0x58, + 0xb4, 0xaf, 0xe2, 0x20, 0x0b, 0x4b, 0xe5, 0x5e, 0x0b, 0xc2, 0xf1, 0xd1, 0x9a, 0x1c, 0x2d, 0x41, + 0x92, 0xd8, 0xad, 0xb6, 0xdf, 0xc4, 0x85, 0x8e, 0xb6, 0xdf, 0xe0, 0xf6, 0x2d, 0xdf, 0x4a, 0x08, + 0x38, 0x5b, 0x09, 0x68, 0x0b, 0xe6, 0xda, 0x66, 0x53, 0x6b, 0xab, 0x9e, 0xad, 0x1c, 0x3e, 0x89, + 0xee, 0x1d, 0x62, 0xb6, 0x3f, 0x64, 0x48, 0x14, 0x0e, 0x97, 0xff, 0x34, 0xa5, 0xb1, 0xee, 0xec, + 0xfa, 0xa0, 0x12, 0x24, 0x3a, 0xba, 0xb5, 0x8d, 0xf7, 0xb4, 0x5b, 0xba, 0xd9, 0xe3, 0xb3, 0x69, + 0x58, 0x68, 0x36, 0x5c, 0x18, 0xb1, 0xc3, 0xe4, 0x41, 0xf3, 0x0c, 0x49, 0x78, 0xe4, 0xc6, 0x57, + 0xe4, 0xc8, 0xda, 0x64, 0xdc, 0x1e, 0x52, 0x74, 0xec, 0x1e, 0xd2, 0xa8, 0x0d, 0x9b, 0xd8, 0xe8, + 0x0d, 0x9b, 0x0f, 0x7a, 0x87, 0xc6, 0xbf, 0xf6, 0x0d, 0xed, 0xe1, 0xa0, 0x3a, 0x2c, 0x70, 0xfc, + 0x96, 0x8f, 0xf7, 0x23, 0x8e, 0x3a, 0xb0, 0xf9, 0x35, 0xc8, 0x73, 0x24, 0xd0, 0xc7, 0xb3, 0x3d, + 0x78, 0x67, 0x6c, 0x17, 0x9b, 0xa8, 0x21, 0xcf, 0x26, 0xea, 0xff, 0x65, 0x43, 0xf1, 0xfe, 0x20, + 0xcc, 0x0d, 0x19, 0x12, 0x23, 0x77, 0x87, 0xc7, 0x45, 0x64, 0x45, 0xc7, 0x82, 0x47, 0xee, 0x18, + 0x1f, 0xeb, 0xd0, 0xe4, 0xb1, 0x0e, 0xbf, 0x8d, 0x63, 0x1d, 0xb9, 0xb3, 0xb1, 0xfe, 0x9a, 0x8e, + 0xc2, 0xc7, 0x24, 0xc8, 0x8e, 0xb7, 0xbe, 0x46, 0x0e, 0xc7, 0x91, 0x36, 0x10, 0xc6, 0xad, 0x71, + 0xf7, 0x41, 0x6a, 0xc0, 0x36, 0x64, 0xa2, 0x3c, 0xeb, 0xf3, 0xc2, 0x73, 0x1f, 0x08, 0x3a, 0x0b, + 0x8f, 0xcf, 0x80, 0x1b, 0x31, 0x5b, 0x9f, 0x85, 0xf9, 0x16, 0x6e, 0xea, 0xad, 0x3b, 0x9d, 0xac, + 0x73, 0x1c, 0xfb, 0xff, 0xcd, 0xd5, 0x61, 0x29, 0xf9, 0x3e, 0x80, 0x98, 0x82, 0xad, 0x2e, 0xb1, + 0xc7, 0x50, 0x01, 0xe2, 0x78, 0xbf, 0x89, 0xbb, 0xb6, 0x7b, 0xa8, 0x62, 0x94, 0x8b, 0xc0, 0xa0, + 0xcb, 0x02, 0x92, 0x38, 0xc8, 0x0e, 0x1a, 0x7a, 0x8c, 0xc7, 0x00, 0xc6, 0xbb, 0xf3, 0x1c, 0xdd, + 0x1b, 0x04, 0xb8, 0x28, 0x82, 0x00, 0xc1, 0xb1, 0xfe, 0x2d, 0xc3, 0x1a, 0x88, 0x02, 0x3c, 0xc6, + 0xa3, 0x00, 0xa1, 0x09, 0x95, 0xf9, 0xc2, 0x00, 0x45, 0x5f, 0x18, 0x20, 0x32, 0xa1, 0x9b, 0x63, + 0xe2, 0x00, 0x17, 0x45, 0x1c, 0x20, 0x3a, 0xa1, 0xc5, 0x03, 0x81, 0x80, 0xa7, 0x3c, 0x81, 0x80, + 0xf8, 0x70, 0xb4, 0xd5, 0x87, 0x3a, 0x22, 0x12, 0x70, 0xc9, 0x89, 0x04, 0x24, 0xc7, 0x46, 0x11, + 0x38, 0xf2, 0x60, 0x28, 0xa0, 0x36, 0x14, 0x0a, 0x98, 0xe5, 0x9f, 0x38, 0x1e, 0x47, 0x62, 0x42, + 0x2c, 0xa0, 0x36, 0x14, 0x0b, 0x48, 0x4d, 0x20, 0x38, 0x21, 0x18, 0xf0, 0x8d, 0xa3, 0x83, 0x01, + 0xe3, 0xdd, 0x75, 0xde, 0xcc, 0xe9, 0xa2, 0x01, 0xea, 0x98, 0x68, 0x80, 0x3c, 0xd6, 0x73, 0x65, + 0xe4, 0xa7, 0x0e, 0x07, 0x6c, 0x8d, 0x08, 0x07, 0x30, 0xc7, 0xfd, 0xcc, 0x58, 0xe2, 0x53, 0xc4, + 0x03, 0xb6, 0x46, 0xc4, 0x03, 0xd0, 0x44, 0xb2, 0x13, 0x03, 0x02, 0x57, 0xfc, 0x01, 0x81, 0xf9, + 0x31, 0x56, 0xa7, 0x3b, 0xdb, 0xc7, 0x44, 0x04, 0xb6, 0xc7, 0x45, 0x04, 0x16, 0xf8, 0xa7, 0x13, + 0xc6, 0x51, 0x3c, 0x42, 0x48, 0xa0, 0x36, 0x14, 0x12, 0x38, 0x36, 0x41, 0xd2, 0xa6, 0x8f, 0x09, + 0xb0, 0x8f, 0x69, 0xb1, 0xcf, 0x68, 0x81, 0x9c, 0xb8, 0x16, 0x8a, 0x25, 0xe4, 0x64, 0xee, 0x41, + 0x62, 0xc1, 0x0c, 0xe8, 0x39, 0xe2, 0x2b, 0xe0, 0x5e, 0xcf, 0xec, 0x89, 0x3b, 0x16, 0x34, 0x91, + 0x3b, 0x43, 0x7c, 0x44, 0x57, 0xa7, 0x1d, 0x12, 0x3f, 0xa0, 0x3e, 0x99, 0x47, 0x8f, 0xe5, 0x7e, + 0x49, 0x72, 0x71, 0x69, 0x04, 0xc1, 0xeb, 0x5f, 0xc6, 0xb9, 0x7f, 0xe9, 0x89, 0x2a, 0x04, 0xfc, + 0x51, 0x85, 0x45, 0x48, 0x10, 0x5f, 0x6b, 0x20, 0x60, 0xa0, 0x75, 0x9d, 0x80, 0x81, 0x38, 0x40, + 0xc5, 0x62, 0x0f, 0x7c, 0x59, 0x62, 0xbb, 0x89, 0x69, 0xe7, 0x30, 0x19, 0x73, 0x75, 0xd1, 0x23, + 0x30, 0xef, 0x81, 0x75, 0x7c, 0x38, 0xe6, 0x3d, 0xcb, 0x0e, 0x74, 0x9e, 0x3b, 0x73, 0xff, 0x42, + 0x72, 0x39, 0xe4, 0x46, 0x1a, 0x46, 0x05, 0x05, 0xa4, 0xb7, 0x29, 0x28, 0x10, 0xb8, 0xe3, 0xa0, + 0x80, 0xd7, 0x27, 0x0d, 0xfa, 0x7d, 0xd2, 0xff, 0x21, 0xb9, 0x63, 0xe2, 0xb8, 0xf8, 0x4d, 0xb3, + 0x85, 0xb9, 0x97, 0x48, 0x7f, 0x13, 0x93, 0xa4, 0x6d, 0x8a, 0x6f, 0x20, 0x91, 0x9f, 0x04, 0xca, + 0x59, 0x78, 0xe2, 0x7c, 0x5d, 0x71, 0x1c, 0xcc, 0xb0, 0xf7, 0x1e, 0x07, 0xbf, 0xdc, 0x10, 0x71, + 0x2f, 0x37, 0x38, 0x17, 0xa3, 0xa3, 0x9e, 0x8b, 0xd1, 0xe8, 0x49, 0x88, 0xd3, 0x60, 0xbf, 0x6a, + 0x76, 0xc5, 0xe7, 0xa4, 0x4f, 0x8d, 0xbf, 0xd8, 0x60, 0xd1, 0x23, 0xd7, 0xec, 0x32, 0x84, 0x6b, + 0x71, 0xc4, 0x7d, 0x16, 0xc7, 0x5d, 0x10, 0x27, 0xad, 0x67, 0xdf, 0x53, 0x04, 0x7e, 0xab, 0x5e, + 0x64, 0xe4, 0x7e, 0x2a, 0x00, 0xe9, 0x81, 0x85, 0x66, 0x64, 0xdf, 0x47, 0x6d, 0x23, 0x4f, 0xc7, + 0x8f, 0xd3, 0x00, 0xbb, 0x9a, 0xa5, 0xbe, 0xa4, 0x19, 0x36, 0xff, 0x06, 0x7a, 0x50, 0xf1, 0xe4, + 0xa0, 0x2c, 0xc4, 0x48, 0xaa, 0x6f, 0xf1, 0xaf, 0xa0, 0x07, 0x15, 0x27, 0x8d, 0xae, 0x42, 0x04, + 0xdf, 0xa2, 0x4f, 0x03, 0xb3, 0x4f, 0x60, 0x1c, 0x1f, 0x76, 0x87, 0x49, 0x71, 0x21, 0x43, 0x06, + 0xfb, 0x8b, 0xaf, 0x2f, 0xca, 0x0c, 0xfa, 0x61, 0xe7, 0x32, 0x9b, 0xc2, 0xf1, 0xfd, 0x5c, 0x88, + 0x0d, 0x70, 0x81, 0xc6, 0x01, 0x93, 0xc2, 0xbd, 0x27, 0x3c, 0x65, 0x67, 0xbc, 0x95, 0xd9, 0x0e, + 0xee, 0x74, 0x4d, 0xb3, 0xad, 0xb2, 0x39, 0x9e, 0x87, 0x94, 0x7f, 0x5d, 0x65, 0x9f, 0x2c, 0xb6, + 0x35, 0xdd, 0x50, 0x7d, 0x46, 0x70, 0x92, 0x65, 0xb2, 0x39, 0xe5, 0x7d, 0xf7, 0x39, 0xb7, 0x09, + 0xc7, 0x46, 0xae, 0xab, 0xe8, 0x09, 0x88, 0xbb, 0x4b, 0x32, 0x3b, 0xa6, 0x7f, 0x48, 0xa4, 0xc5, + 0x85, 0xcd, 0xfd, 0x8a, 0xe4, 0x92, 0xf4, 0xc7, 0x6e, 0xca, 0x10, 0x61, 0x67, 0x26, 0xf9, 0xf9, + 0x98, 0x47, 0xa6, 0x5b, 0x91, 0x97, 0xd9, 0x81, 0x4a, 0x85, 0x23, 0xe7, 0xde, 0x0b, 0x11, 0x96, + 0x83, 0x12, 0x10, 0xf5, 0x3d, 0x05, 0x9f, 0x2f, 0x16, 0xcb, 0x9b, 0xe2, 0x69, 0xdf, 0x02, 0x7d, + 0x66, 0x9d, 0x64, 0x2b, 0xe5, 0x6b, 0xe5, 0x62, 0x43, 0x0e, 0xa2, 0x39, 0x98, 0x65, 0xbf, 0xf9, + 0x83, 0xed, 0x72, 0xc8, 0x93, 0x55, 0x2f, 0x57, 0x4b, 0x65, 0x45, 0x0e, 0xe7, 0xce, 0xc3, 0xc9, + 0xb1, 0x6b, 0xb8, 0x1b, 0x98, 0x91, 0x3c, 0x81, 0x99, 0xdc, 0x6b, 0x01, 0xe2, 0xd4, 0x8c, 0x5b, + 0x98, 0xd1, 0xb5, 0x81, 0x8e, 0xaf, 0x1c, 0x61, 0x55, 0x1f, 0xe8, 0x3d, 0xf1, 0x63, 0x7a, 0x78, + 0x07, 0xdb, 0xcd, 0x3d, 0x66, 0x28, 0x30, 0x0d, 0x34, 0xab, 0xcc, 0xf2, 0x5c, 0x8a, 0x64, 0x31, + 0xb0, 0x17, 0x71, 0xd3, 0x56, 0x99, 0x10, 0x59, 0xd4, 0x99, 0x88, 0x13, 0x30, 0x92, 0x5b, 0x67, + 0x99, 0xb9, 0x6f, 0x3e, 0x12, 0x2f, 0xe3, 0x10, 0x56, 0xca, 0x0d, 0xe5, 0x06, 0xfb, 0x30, 0x39, + 0xfd, 0xa9, 0xd6, 0xab, 0xf9, 0xcd, 0xfa, 0xd5, 0x1a, 0xe1, 0xe5, 0x3c, 0xa4, 0x05, 0x2f, 0x45, + 0x66, 0x38, 0xf7, 0x10, 0x9c, 0x18, 0x63, 0x55, 0x8c, 0x38, 0xc4, 0xfa, 0x49, 0xc9, 0x0b, 0xed, + 0xb7, 0x0c, 0x6a, 0x10, 0xb1, 0x6c, 0xcd, 0xee, 0x5b, 0x9c, 0x89, 0x4f, 0x4c, 0x6b, 0x66, 0x2c, + 0x8b, 0x1f, 0x75, 0x8a, 0xae, 0x70, 0x32, 0xb9, 0x0b, 0x90, 0xf2, 0x97, 0x8c, 0xe7, 0x81, 0x2b, + 0x44, 0x81, 0xdc, 0x65, 0x40, 0xc3, 0xd6, 0xc7, 0x08, 0xf7, 0x52, 0x1a, 0xe5, 0x5e, 0xfe, 0x98, + 0x04, 0xa7, 0x0e, 0xb1, 0x34, 0xd0, 0xb3, 0x03, 0x9d, 0xbc, 0x74, 0x14, 0x3b, 0x65, 0x99, 0xe5, + 0x0d, 0x74, 0xf3, 0x31, 0x48, 0x7a, 0xf3, 0xa7, 0xeb, 0xe4, 0x17, 0x03, 0xee, 0x24, 0xf6, 0xfb, + 0xc1, 0xae, 0x0a, 0x94, 0xbe, 0x4a, 0x15, 0xf8, 0x6e, 0x00, 0x7b, 0x5f, 0x9c, 0xa2, 0xe6, 0xeb, + 0xe8, 0xdd, 0x23, 0xe2, 0x8b, 0xb8, 0xd9, 0xd8, 0xe7, 0x93, 0x20, 0x6e, 0xf3, 0x5f, 0x16, 0xaa, + 0x7b, 0x83, 0x02, 0x7d, 0xba, 0xc6, 0x5a, 0xdc, 0x61, 0x9e, 0x76, 0x31, 0x76, 0x83, 0x07, 0x2c, + 0xdb, 0x42, 0x37, 0xe0, 0xc4, 0x80, 0xa1, 0xe0, 0x90, 0x0e, 0x4d, 0x6b, 0x2f, 0x1c, 0xf3, 0xdb, + 0x0b, 0x82, 0xb4, 0x77, 0xb5, 0x0f, 0xfb, 0x57, 0xfb, 0x1b, 0x00, 0x6e, 0x70, 0xc0, 0x3d, 0xf6, + 0x27, 0x79, 0x8f, 0xfd, 0x5d, 0x80, 0x30, 0x91, 0x24, 0xc1, 0xa7, 0x61, 0x55, 0x4c, 0x24, 0xc1, + 0x13, 0x5c, 0x60, 0xd0, 0x39, 0x1d, 0xd0, 0x70, 0x80, 0x76, 0x4c, 0x15, 0x4f, 0xf9, 0xab, 0xb8, + 0x67, 0x6c, 0xa8, 0x77, 0x74, 0x55, 0x2f, 0x43, 0x98, 0x8e, 0xfc, 0xc8, 0xbb, 0x94, 0xdf, 0x04, + 0xa0, 0xd9, 0x76, 0x4f, 0xdf, 0xee, 0xbb, 0x15, 0x2c, 0x8e, 0x96, 0x9c, 0xbc, 0x80, 0x2b, 0xdc, + 0xc5, 0x45, 0x68, 0xc1, 0x45, 0xf5, 0x88, 0x91, 0x87, 0x60, 0xae, 0x0a, 0x29, 0x3f, 0xee, 0xe8, + 0xbb, 0xa1, 0xc3, 0x1f, 0xbf, 0x74, 0xad, 0x23, 0xfe, 0x18, 0x13, 0x4d, 0xe4, 0x5e, 0x09, 0x40, + 0xd2, 0x2b, 0x78, 0x7f, 0xf3, 0x4c, 0x90, 0xdc, 0xb7, 0x4b, 0x10, 0x73, 0xba, 0x7f, 0xc8, 0x61, + 0x67, 0xf7, 0x8e, 0xb0, 0xb3, 0x79, 0xc1, 0xb6, 0x89, 0x82, 0xce, 0x36, 0xd1, 0x65, 0x67, 0xf9, + 0x1b, 0x17, 0x10, 0xf1, 0xf2, 0x5a, 0x1c, 0x38, 0xe4, 0xab, 0xfd, 0xe5, 0xe9, 0xae, 0xe2, 0x2d, + 0x40, 0xd8, 0x7b, 0x8d, 0x8e, 0x25, 0x72, 0x2d, 0xcf, 0x09, 0x23, 0x36, 0x11, 0xbd, 0x77, 0xf6, + 0xa4, 0x23, 0xdf, 0xd9, 0x73, 0x6a, 0x09, 0x78, 0x6b, 0xf9, 0x5e, 0x09, 0x62, 0x62, 0x4e, 0xa0, + 0xf7, 0x78, 0x4f, 0x9e, 0x89, 0xad, 0xcd, 0xb1, 0xfa, 0x88, 0xd3, 0xf7, 0x1c, 0x3c, 0x1b, 0x3a, + 0x70, 0x1d, 0x3c, 0xea, 0x81, 0x6b, 0x6e, 0xd9, 0xfd, 0x85, 0x04, 0xf2, 0xe0, 0x8c, 0xfd, 0xaa, + 0x5b, 0x37, 0xbc, 0xcc, 0x05, 0x47, 0x2c, 0x73, 0xe3, 0x4e, 0x51, 0x87, 0xc6, 0x9d, 0xa2, 0x1e, + 0xee, 0x75, 0xf8, 0x0e, 0x7b, 0xfd, 0xfe, 0x00, 0x24, 0x3c, 0xe1, 0x51, 0xf4, 0xb8, 0xef, 0x44, + 0xf6, 0xd2, 0x61, 0xa1, 0x54, 0xcf, 0x91, 0x6c, 0x1f, 0x9b, 0x02, 0x47, 0x67, 0xd3, 0xdb, 0x7f, + 0x3b, 0x6b, 0xf4, 0x05, 0xd6, 0xf0, 0x98, 0x0b, 0xac, 0xdf, 0x26, 0x41, 0xcc, 0x31, 0xbb, 0x8f, + 0xba, 0x89, 0x79, 0x1c, 0x22, 0xdc, 0xb2, 0x64, 0xbb, 0x98, 0x3c, 0x35, 0x32, 0xac, 0x9c, 0x85, + 0x98, 0xf8, 0x4a, 0x3e, 0x5f, 0xd5, 0x9c, 0xf4, 0xd9, 0x4b, 0x90, 0xf0, 0x6c, 0x00, 0x13, 0xd5, + 0x58, 0x2d, 0x3f, 0x27, 0xcf, 0x64, 0xa3, 0xaf, 0xde, 0x5e, 0x0a, 0x56, 0xf1, 0x4b, 0x64, 0x36, + 0x2b, 0xe5, 0xe2, 0xd5, 0x72, 0xf1, 0x19, 0x59, 0xca, 0x26, 0x5e, 0xbd, 0xbd, 0x14, 0x55, 0x30, + 0x8d, 0x28, 0x9e, 0x7d, 0x06, 0xd2, 0x03, 0x03, 0xe3, 0x37, 0x5b, 0x10, 0xa4, 0x4a, 0x5b, 0x9b, + 0xeb, 0x95, 0x62, 0xbe, 0x51, 0x56, 0xd9, 0xb9, 0x5d, 0x74, 0x02, 0xe6, 0xd7, 0x2b, 0x6b, 0x57, + 0x1b, 0x6a, 0x71, 0xbd, 0x52, 0xae, 0x36, 0xd4, 0x7c, 0xa3, 0x91, 0x2f, 0x3e, 0x23, 0x07, 0x56, + 0x6e, 0x27, 0x20, 0x94, 0x2f, 0x14, 0x2b, 0xa8, 0x08, 0x21, 0x1a, 0x0a, 0x39, 0xf4, 0x04, 0x58, + 0xf6, 0xf0, 0xd8, 0x30, 0xba, 0x02, 0x61, 0x1a, 0x25, 0x41, 0x87, 0x1f, 0x09, 0xcb, 0x4e, 0x08, + 0x16, 0x93, 0xc6, 0xd0, 0x19, 0x79, 0xe8, 0x19, 0xb1, 0xec, 0xe1, 0xb1, 0x63, 0xb4, 0x0e, 0x51, + 0xe1, 0x24, 0x4f, 0x3a, 0xb8, 0x95, 0x9d, 0x18, 0xd0, 0x25, 0x5d, 0x63, 0xc1, 0x86, 0xc3, 0x8f, + 0x8f, 0x65, 0x27, 0x44, 0x95, 0x51, 0xc5, 0xb9, 0xcf, 0x34, 0xe1, 0x44, 0x58, 0x76, 0x52, 0x9c, + 0x18, 0x29, 0x10, 0x77, 0xc3, 0x38, 0x93, 0x0f, 0xc5, 0x65, 0xa7, 0x08, 0x98, 0xa3, 0xf7, 0xc2, + 0xac, 0xdf, 0xd5, 0x9d, 0xee, 0xd4, 0x59, 0x76, 0xca, 0x88, 0x34, 0xa1, 0xef, 0xf7, 0x7b, 0xa7, + 0x3b, 0x85, 0x96, 0x9d, 0x32, 0x40, 0x8d, 0x5e, 0x84, 0xb9, 0x61, 0xbf, 0x74, 0xfa, 0x43, 0x69, + 0xd9, 0x23, 0x84, 0xac, 0x51, 0x07, 0xd0, 0x08, 0x7f, 0xf6, 0x08, 0x67, 0xd4, 0xb2, 0x47, 0x89, + 0x60, 0xa3, 0x16, 0xa4, 0x07, 0x9d, 0xc4, 0x69, 0xcf, 0xac, 0x65, 0xa7, 0x8e, 0x66, 0xb3, 0x5a, + 0xfc, 0xce, 0xe5, 0xb4, 0x67, 0xd8, 0xb2, 0x53, 0x07, 0xb7, 0xd1, 0x16, 0x80, 0xc7, 0x3f, 0x9c, + 0xe2, 0x4c, 0x5b, 0x76, 0x9a, 0x30, 0x37, 0xea, 0xc2, 0xfc, 0x28, 0xc7, 0xf1, 0x28, 0x47, 0xdc, + 0xb2, 0x47, 0x8a, 0x7e, 0x13, 0x79, 0xf6, 0xbb, 0x80, 0xd3, 0x1d, 0x79, 0xcb, 0x4e, 0x19, 0x06, + 0x2f, 0xe4, 0xc7, 0x9e, 0x73, 0x7e, 0xe0, 0xd0, 0x73, 0xce, 0xee, 0xc9, 0x65, 0xe7, 0x6c, 0xf3, + 0xbf, 0x3b, 0x07, 0xef, 0xe2, 0x2f, 0xe8, 0x58, 0xb6, 0x76, 0x53, 0x37, 0x76, 0x9d, 0x67, 0x96, + 0x78, 0x9a, 0x1f, 0x72, 0x3e, 0xce, 0x5f, 0xe9, 0x11, 0xb9, 0x13, 0x1e, 0x5b, 0x1a, 0xfb, 0x02, + 0xe5, 0xa4, 0xfb, 0x10, 0x93, 0x8f, 0x2f, 0x1f, 0xf2, 0x90, 0xd3, 0x84, 0xe7, 0xa2, 0x46, 0x3c, + 0xf4, 0x94, 0x3d, 0xf4, 0x8d, 0x81, 0xec, 0x61, 0xe7, 0xbe, 0x89, 0x15, 0x9b, 0xba, 0xaa, 0x5b, + 0xb6, 0xd9, 0xd3, 0x9b, 0x5a, 0x9b, 0x2e, 0x2f, 0x97, 0xa7, 0xbd, 0x95, 0x55, 0x88, 0x13, 0x73, + 0x85, 0xbf, 0x05, 0xc5, 0x6f, 0x0a, 0x95, 0x20, 0x72, 0x4b, 0x6b, 0xb3, 0x3b, 0x51, 0xde, 0x87, + 0xe0, 0x06, 0x79, 0xee, 0xb1, 0xa3, 0xbc, 0x54, 0x18, 0x6e, 0xee, 0xfb, 0xe9, 0x7d, 0x92, 0x4e, + 0x47, 0xb7, 0x88, 0x2c, 0x2a, 0xd4, 0x95, 0xbe, 0x06, 0xa1, 0x9e, 0x66, 0x73, 0x07, 0xb3, 0x70, + 0xf1, 0xc8, 0xef, 0x32, 0xb1, 0x1a, 0x28, 0x0d, 0xf4, 0x2c, 0xc4, 0x3a, 0xda, 0xbe, 0x4a, 0xe9, + 0x05, 0xbe, 0x2a, 0x7a, 0xd1, 0x8e, 0xb6, 0x4f, 0xda, 0x87, 0xde, 0x4b, 0x3f, 0x3f, 0xa8, 0x36, + 0xf7, 0x34, 0x63, 0x17, 0x33, 0xca, 0xc1, 0xaf, 0x8a, 0xf2, 0x6c, 0x47, 0xdb, 0x2f, 0x52, 0x6a, + 0x84, 0x3e, 0x7f, 0xf2, 0xea, 0xd7, 0x24, 0x1e, 0x35, 0xa0, 0x8c, 0x41, 0x1a, 0xc8, 0x4d, 0x27, + 0x45, 0x2b, 0x15, 0x5b, 0x1c, 0x0f, 0x8c, 0xe3, 0xfb, 0x00, 0x5b, 0x0b, 0xb3, 0xa4, 0x79, 0x9f, + 0x7b, 0x7d, 0x51, 0x62, 0xb5, 0xa6, 0x9b, 0x43, 0x6c, 0x4f, 0xb0, 0x60, 0x88, 0x4a, 0x6d, 0xd8, + 0xc0, 0x44, 0x1b, 0x76, 0x56, 0xd8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, 0x52, 0xce, 0xfb, 0xf0, 0x29, + 0x09, 0x12, 0x25, 0xcf, 0xb3, 0x8e, 0x19, 0x88, 0x76, 0x4c, 0x43, 0xbf, 0x89, 0x7b, 0xce, 0x1e, + 0x15, 0x4b, 0x12, 0x3b, 0x93, 0x7d, 0x60, 0xd9, 0x3e, 0x10, 0xaf, 0x0b, 0x89, 0x34, 0xc1, 0x7a, + 0x09, 0x6f, 0x5b, 0xba, 0xe0, 0xb3, 0x22, 0x92, 0xe8, 0x41, 0x90, 0x2d, 0xdc, 0xec, 0xf7, 0x74, + 0xfb, 0x40, 0x6d, 0x9a, 0x86, 0xad, 0x35, 0x6d, 0xee, 0x87, 0xa7, 0x45, 0x7e, 0x91, 0x65, 0x13, + 0x22, 0x2d, 0x6c, 0x6b, 0x7a, 0x9b, 0x9d, 0xcc, 0x8c, 0x2b, 0x22, 0xc9, 0x9b, 0xfa, 0x6a, 0xd4, + 0xeb, 0x87, 0x16, 0x41, 0x36, 0xbb, 0xb8, 0xe7, 0x3b, 0x90, 0xc2, 0xa4, 0x31, 0xf3, 0xdb, 0x9f, + 0x79, 0x64, 0x81, 0x33, 0x9c, 0x1f, 0x66, 0x60, 0x5f, 0x31, 0x50, 0xd2, 0x02, 0x43, 0x9c, 0x54, + 0xb9, 0xe1, 0xdb, 0x95, 0xea, 0x6f, 0xbb, 0xcf, 0xc8, 0x2c, 0x0c, 0x31, 0x35, 0x6f, 0x1c, 0x14, + 0x32, 0x9f, 0x75, 0x49, 0xbb, 0x7e, 0xea, 0x33, 0xf8, 0xc0, 0xbb, 0x45, 0x45, 0xc9, 0x10, 0x13, + 0xfe, 0x45, 0x4d, 0x6f, 0x8b, 0x0f, 0xfe, 0x2b, 0x3c, 0x85, 0x56, 0x9d, 0xf0, 0x22, 0xfb, 0xa6, + 0x66, 0x6e, 0x9c, 0x6c, 0x14, 0x4c, 0xa3, 0xe5, 0x8f, 0x23, 0xa2, 0x22, 0x44, 0x6c, 0xf3, 0x26, + 0x36, 0x38, 0x83, 0x8e, 0xf6, 0xb4, 0x1a, 0x47, 0x45, 0xdf, 0x08, 0x72, 0x0b, 0xb7, 0xf1, 0x2e, + 0xbb, 0x2f, 0xb9, 0xa7, 0xf5, 0x30, 0xbb, 0xad, 0x7f, 0x47, 0xcf, 0xab, 0xa5, 0x1d, 0x52, 0x75, + 0x4a, 0x09, 0x6d, 0xfa, 0x1f, 0x0e, 0x8d, 0xf2, 0xcd, 0xe3, 0x31, 0x7d, 0xf4, 0x48, 0x9e, 0x57, + 0xf3, 0xf8, 0x1e, 0x1a, 0x7d, 0x10, 0xe4, 0xbe, 0xb1, 0x6d, 0x1a, 0xf4, 0x03, 0x91, 0xdc, 0x8b, + 0x8a, 0xb1, 0x9d, 0x4a, 0x27, 0x9f, 0xef, 0x54, 0x6e, 0x42, 0xca, 0x05, 0xa5, 0x33, 0x24, 0x7e, + 0xd4, 0x19, 0x32, 0xeb, 0x10, 0x20, 0x20, 0x68, 0x03, 0xc0, 0x9d, 0x83, 0x74, 0xab, 0x2c, 0x31, + 0x7e, 0xc4, 0xdc, 0xd9, 0xec, 0xed, 0x8c, 0x87, 0x00, 0xfa, 0x06, 0x98, 0xef, 0xe8, 0x86, 0x6a, + 0xe1, 0xf6, 0x8e, 0xca, 0x39, 0x47, 0xe8, 0x26, 0x8e, 0x3e, 0x9a, 0x73, 0x1d, 0xdd, 0xa8, 0xe3, + 0xf6, 0x4e, 0xc9, 0xa1, 0x82, 0xde, 0x0d, 0xa7, 0xdc, 0xde, 0x9b, 0x86, 0xba, 0x67, 0xb6, 0x5b, + 0x6a, 0x0f, 0xef, 0xa8, 0x4d, 0xfa, 0xce, 0x5f, 0x92, 0xf2, 0xec, 0x84, 0x03, 0x52, 0x33, 0xae, + 0x9a, 0xed, 0x96, 0x82, 0x77, 0x8a, 0xa4, 0x18, 0xdd, 0x0b, 0x6e, 0xd7, 0x55, 0xbd, 0x65, 0x65, + 0x66, 0x97, 0x82, 0x67, 0x42, 0x4a, 0xd2, 0xc9, 0xac, 0xb4, 0xac, 0xd5, 0xd8, 0x07, 0x3f, 0xb1, + 0x38, 0xf3, 0xe6, 0x27, 0x16, 0x67, 0x72, 0x57, 0xe8, 0x9b, 0x52, 0x7c, 0x1e, 0x61, 0x0b, 0x5d, + 0x84, 0xb8, 0x26, 0x12, 0xec, 0xc6, 0xd8, 0x21, 0xf3, 0xd0, 0x05, 0xcd, 0xfd, 0xa4, 0x04, 0x91, + 0xd2, 0xf5, 0x4d, 0x4d, 0xef, 0xa1, 0x32, 0xcc, 0xb9, 0x82, 0x39, 0xed, 0x94, 0x76, 0x65, 0x59, + 0xcc, 0xe9, 0xea, 0xb8, 0xa3, 0x6a, 0xf1, 0xc2, 0x3d, 0xbf, 0xfd, 0x99, 0x47, 0xee, 0xe6, 0x64, + 0xae, 0x0f, 0x9c, 0x5a, 0x13, 0xf4, 0x06, 0x4f, 0xb3, 0x79, 0xfa, 0x7c, 0x0d, 0xa2, 0xac, 0xa9, + 0x16, 0x7a, 0x1a, 0xc2, 0x5d, 0xf2, 0x83, 0x47, 0xe0, 0x4f, 0x8f, 0x15, 0x70, 0x0a, 0xef, 0x15, + 0x07, 0x86, 0x97, 0xfb, 0x50, 0x00, 0xa0, 0x74, 0xfd, 0x7a, 0xa3, 0xa7, 0x77, 0xdb, 0xd8, 0x7e, + 0xbb, 0xfa, 0xbe, 0x05, 0xc7, 0x3c, 0x77, 0xa1, 0x7b, 0xcd, 0xa3, 0xf7, 0x7f, 0xde, 0xbd, 0x16, + 0xdd, 0x6b, 0x8e, 0x24, 0xdb, 0xb2, 0x6c, 0x87, 0x6c, 0xf0, 0xe8, 0x64, 0x4b, 0x96, 0x3d, 0xcc, + 0xd9, 0xe7, 0x21, 0xe1, 0x32, 0xc3, 0x42, 0x15, 0x88, 0xd9, 0xfc, 0x37, 0x67, 0x70, 0x6e, 0x3c, + 0x83, 0x05, 0x9a, 0x97, 0xc9, 0x0e, 0x7a, 0xee, 0xaf, 0x24, 0x00, 0xcf, 0x1c, 0x79, 0x67, 0xca, + 0x18, 0x71, 0xd7, 0xb9, 0x26, 0x0e, 0xde, 0xf1, 0x6b, 0x9c, 0x8c, 0x80, 0x87, 0xa9, 0x1f, 0x0e, + 0xc0, 0xfc, 0x96, 0x98, 0xbd, 0xef, 0x7c, 0x1e, 0x6c, 0x41, 0x14, 0x1b, 0x76, 0x4f, 0x77, 0xf6, + 0x90, 0x1e, 0x1d, 0x37, 0xe6, 0x23, 0x3a, 0x55, 0x36, 0xec, 0xde, 0x81, 0x57, 0x02, 0x04, 0x2d, + 0x0f, 0x3f, 0x3e, 0x1a, 0x84, 0xcc, 0x38, 0x54, 0xf4, 0x00, 0xa4, 0x9b, 0x3d, 0x4c, 0x33, 0xfc, + 0x57, 0x44, 0x53, 0x22, 0x9b, 0xaf, 0x31, 0x0a, 0x10, 0xab, 0x8c, 0x08, 0x17, 0x01, 0xbd, 0x33, + 0x33, 0x2c, 0xe5, 0x52, 0xa0, 0xab, 0x4c, 0x03, 0xd2, 0xe2, 0xce, 0xc9, 0xb6, 0xd6, 0xd6, 0x8c, + 0xa6, 0x30, 0x57, 0x8f, 0xb4, 0x24, 0x88, 0x7b, 0x2b, 0x05, 0x46, 0x02, 0x95, 0x21, 0x2a, 0xa8, + 0x85, 0x8e, 0x4e, 0x4d, 0xe0, 0xa2, 0x7b, 0x20, 0xe9, 0x5d, 0x18, 0xa8, 0xe9, 0x11, 0x52, 0x12, + 0x9e, 0x75, 0x61, 0xd2, 0xca, 0x13, 0x39, 0x74, 0xe5, 0xe1, 0xd6, 0xdd, 0x0f, 0xd3, 0xa3, 0xe1, + 0xad, 0xbf, 0xfe, 0xc3, 0xb2, 0x09, 0xc0, 0xa6, 0x2a, 0xd1, 0xa4, 0x7c, 0x64, 0xee, 0x60, 0xbe, + 0xc7, 0x19, 0x91, 0x92, 0x65, 0x7f, 0xbd, 0x46, 0xe8, 0x77, 0x03, 0x90, 0xf4, 0x8e, 0xd0, 0xdf, + 0xc8, 0x45, 0x0b, 0x55, 0x5d, 0x35, 0xc5, 0xae, 0xcf, 0x3c, 0x38, 0x4e, 0x4d, 0x0d, 0x49, 0xf3, + 0x04, 0xfd, 0xf4, 0xb1, 0x20, 0x44, 0xf8, 0xf9, 0xb6, 0xda, 0x90, 0x21, 0x2b, 0x4d, 0x7a, 0x00, + 0x60, 0x56, 0x3c, 0x00, 0x30, 0xd2, 0x8e, 0xbd, 0x0f, 0x52, 0xc4, 0x21, 0xf6, 0x1d, 0x9a, 0x93, + 0xce, 0xcc, 0x52, 0xbf, 0xd6, 0x3d, 0x22, 0x8e, 0x16, 0x21, 0x41, 0xc0, 0x5c, 0x3d, 0x4c, 0x60, + 0xa0, 0xa3, 0xed, 0x97, 0x59, 0x0e, 0x7a, 0x04, 0xd0, 0x9e, 0x13, 0xa0, 0x50, 0x5d, 0x46, 0x10, + 0xb8, 0x39, 0xb7, 0x44, 0x80, 0xdf, 0x0d, 0x40, 0x5a, 0xa1, 0xb2, 0x07, 0xa8, 0xf9, 0xf3, 0xde, + 0x24, 0xa7, 0x44, 0x1f, 0xa1, 0xfe, 0x80, 0xc4, 0xec, 0xe1, 0x01, 0xb7, 0x99, 0xbb, 0x23, 0x8d, + 0x29, 0x26, 0xc5, 0x9f, 0xbf, 0xbe, 0x98, 0x3d, 0xd0, 0x3a, 0xed, 0xd5, 0xdc, 0x08, 0x3a, 0xb9, + 0x51, 0x9e, 0x3c, 0x31, 0x9c, 0xfd, 0x6e, 0xf7, 0xea, 0xbb, 0x88, 0x78, 0xbf, 0xfa, 0xc6, 0xcf, + 0x9e, 0x3d, 0xe5, 0x79, 0xf3, 0x79, 0xdf, 0x09, 0x5f, 0xb1, 0x31, 0x21, 0x96, 0x2a, 0x72, 0x57, + 0x0d, 0xe7, 0x64, 0xfc, 0x06, 0x80, 0xc7, 0x92, 0x97, 0x0e, 0xf7, 0x10, 0x5c, 0x7c, 0x9f, 0x87, + 0xe0, 0x99, 0x53, 0xef, 0x71, 0x95, 0xb6, 0x78, 0xf3, 0x61, 0xc4, 0x8b, 0xe4, 0xcb, 0x45, 0x53, + 0xf7, 0x91, 0x10, 0x48, 0x74, 0xaa, 0xce, 0xe4, 0xfe, 0x8d, 0x04, 0x27, 0x87, 0xc4, 0xcf, 0x69, + 0x72, 0x13, 0x50, 0xcf, 0x53, 0x48, 0x87, 0x51, 0x6c, 0xc5, 0xde, 0x99, 0x34, 0xcf, 0xf5, 0x86, + 0x34, 0xf7, 0xdb, 0xb3, 0xfa, 0x70, 0xd5, 0xf3, 0x1b, 0x12, 0x2c, 0x78, 0x1b, 0xe0, 0x74, 0xa5, + 0x0e, 0x49, 0x6f, 0xd5, 0xbc, 0x13, 0xef, 0x9a, 0xa6, 0x13, 0xde, 0xf6, 0xfb, 0x88, 0xa0, 0xeb, + 0xee, 0x14, 0x67, 0x71, 0xb3, 0xf3, 0x53, 0x33, 0x45, 0x34, 0x6c, 0xe4, 0x54, 0x67, 0x63, 0xf3, + 0x47, 0x12, 0x84, 0x36, 0x4d, 0xb3, 0x8d, 0xde, 0x07, 0x73, 0x86, 0x69, 0xab, 0x64, 0x3a, 0xe0, + 0x96, 0xca, 0x1d, 0x7b, 0xa6, 0x3e, 0xcb, 0x87, 0xf2, 0xea, 0x8b, 0xaf, 0x2f, 0x0e, 0x63, 0x8e, + 0x7a, 0x13, 0x3e, 0x6d, 0x98, 0x76, 0x81, 0x02, 0x35, 0x98, 0xef, 0xbf, 0x03, 0xb3, 0xfe, 0xea, + 0x98, 0x8a, 0xcd, 0x4f, 0xaa, 0x6e, 0x76, 0x62, 0x55, 0xc9, 0x6d, 0x4f, 0x3d, 0xec, 0x19, 0xe5, + 0x3f, 0x25, 0x23, 0x77, 0x03, 0xe4, 0xeb, 0x83, 0x47, 0x7c, 0xca, 0x10, 0x15, 0x47, 0x7a, 0xa4, + 0x29, 0x4f, 0x0b, 0x79, 0xd9, 0xc9, 0x71, 0xcf, 0xfe, 0x82, 0x04, 0xe0, 0x06, 0x49, 0xd0, 0xc3, + 0x70, 0xa2, 0x50, 0xab, 0x96, 0xd4, 0x7a, 0x23, 0xdf, 0xd8, 0xaa, 0xfb, 0xbf, 0x24, 0x22, 0xde, + 0x1f, 0xb2, 0xba, 0xb8, 0xa9, 0xef, 0xe8, 0xb8, 0x85, 0xee, 0x87, 0x05, 0x3f, 0x34, 0x49, 0x95, + 0x4b, 0xb2, 0x94, 0x4d, 0xbe, 0x7a, 0x7b, 0x29, 0xc6, 0xec, 0x44, 0xdc, 0x42, 0x67, 0xe0, 0xd8, + 0x30, 0x5c, 0xa5, 0xba, 0x26, 0x07, 0xb2, 0xb3, 0xaf, 0xde, 0x5e, 0x8a, 0x3b, 0x06, 0x25, 0xca, + 0x01, 0xf2, 0x42, 0x72, 0x7a, 0xc1, 0x2c, 0xbc, 0x7a, 0x7b, 0x29, 0xc2, 0x46, 0x21, 0x1b, 0xfa, + 0xe0, 0x8f, 0x9e, 0x9e, 0x39, 0xfb, 0x4d, 0x00, 0x15, 0x63, 0xa7, 0xa7, 0xd1, 0xcf, 0xe9, 0xa3, + 0x2c, 0x1c, 0xaf, 0x54, 0xaf, 0x28, 0xf9, 0x22, 0xfd, 0xcc, 0xbf, 0xff, 0x03, 0x28, 0xfe, 0xb2, + 0x52, 0x6d, 0xab, 0xb0, 0x5e, 0x56, 0xeb, 0x95, 0xb5, 0x2a, 0xdb, 0x6c, 0xf5, 0x95, 0x3d, 0x57, + 0x6d, 0x54, 0x36, 0xca, 0x72, 0xa0, 0x70, 0x65, 0x6c, 0x30, 0xff, 0xe1, 0x43, 0x5f, 0xb9, 0x77, + 0x35, 0x9e, 0x2f, 0xa2, 0xff, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x82, 0xc8, 0xcb, 0x92, 0x5a, + 0xb1, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 8e02e3e5b0..8442fbb993 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -1033,6 +1033,7 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.staking.v1beta1.Msg", HandlerType: (*MsgServer)(nil), diff --git a/x/upgrade/types/query.pb.go b/x/upgrade/types/query.pb.go index b5fc9763b4..bfb7c70492 100644 --- a/x/upgrade/types/query.pb.go +++ b/x/upgrade/types/query.pb.go @@ -777,6 +777,7 @@ func _Query_Authority_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +var Query_serviceDesc = _Query_serviceDesc var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.upgrade.v1beta1.Query", HandlerType: (*QueryServer)(nil), diff --git a/x/upgrade/types/tx.pb.go b/x/upgrade/types/tx.pb.go index 1d170107de..c7824b5232 100644 --- a/x/upgrade/types/tx.pb.go +++ b/x/upgrade/types/tx.pb.go @@ -365,6 +365,7 @@ func _Msg_CancelUpgrade_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +var Msg_serviceDesc = _Msg_serviceDesc var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.upgrade.v1beta1.Msg", HandlerType: (*MsgServer)(nil),