diff --git a/.golangci.yml b/.golangci.yml index c34ef8d4a1..56c0f10106 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -83,6 +83,7 @@ linters-settings: - github.com/armon/go-metrics + - cosmossdk.io/api - cosmossdk.io/client/v2/autocli - cosmossdk.io/core - cosmossdk.io/errors @@ -90,33 +91,17 @@ linters-settings: - cosmossdk.io/math - cosmossdk.io/store - cosmossdk.io/x/evidence - - cosmossdk.io/x/evidence/keeper - - cosmossdk.io/x/evidence/types - cosmossdk.io/x/feegrant - - cosmossdk.io/x/feegrant/keeper - - cosmossdk.io/x/feegrant/module - cosmossdk.io/x/tx/signing - cosmossdk.io/x/upgrade - - cosmossdk.io/x/upgrade/keeper - - cosmossdk.io/x/upgrade/types - github.com/cosmos/cosmos-db - github.com/cosmos/cosmos-sdk - github.com/cosmos/go-bip39 - - github.com/cosmos/ibc-apps/modules/async-icq/v8 - - github.com/cosmos/ibc-apps/modules/async-icq/v8/keeper - - github.com/cosmos/ibc-apps/modules/async-icq/v8/types - - github.com/cosmos/ibc-go/modules/capability - - github.com/cosmos/ibc-go/modules/capability/keeper - - github.com/cosmos/ibc-go/modules/capability/types - - github.com/cosmos/ibc-go/v8 + - github.com/cosmos/ibc-apps + - github.com/cosmos/ibc-go - github.com/CosmWasm/wasmd - - github.com/CosmWasm/wasmvm/types - - # used for interchain queries - - github.com/cosmos/ibc-apps/modules/async-icq/v6 - - github.com/cosmos/ibc-apps/modules/async-icq/v6/types - - github.com/cosmos/ibc-apps/modules/async-icq/v6/keeper + - github.com/CosmWasm/wasmvm - github.com/cosmos/gogoproto diff --git a/CHANGELOG.md b/CHANGELOG.md index c8ab4f6e95..3a12f0afeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -102,6 +102,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ * Implement the ProposalMsgs module interface for the internal/provwasm, ibcratelimit, oracle, and sanction modules [#1993](https://github.com/provenance-io/provenance/pull/1993). * Update ibcnet relayer to v2.5.2 and fix chain ids for localnet and ibcnet [#2021](https://github.com/provenance-io/provenance/pull/2021). * Breakdown internal/helpers into multiple internal packages [#2019](https://github.com/provenance-io/provenance/pull/2019). +* Update `app.New` to get the home directory, invariant check period, and skip-upgrade heights from the appOptions instead of arguments [#2015](https://github.com/provenance-io/provenance/pull/2015). +* Simplify the module lists (e.g. `SetOrderEndBlockers`) by removing unneeded entries [#2015](https://github.com/provenance-io/provenance/pull/2015). ### Client Breaking @@ -114,6 +116,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Bug Fixes * The `add-net-asset-values` command now correctly uses the from `flag`'s `AccAddress` [#1995](https://github.com/provenance-io/provenance/issues/1995). +* Fix the sim tests [#2015](https://github.com/provenance-io/provenance/pull/2015). ### Deprecated diff --git a/app/app.go b/app/app.go index 004e6f9a47..0aaaa7e177 100644 --- a/app/app.go +++ b/app/app.go @@ -19,6 +19,8 @@ import ( abci "github.com/cometbft/cometbft/abci/types" cmtos "github.com/cometbft/cometbft/libs/os" + autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" + reflectionv1 "cosmossdk.io/api/cosmos/reflection/v1" "cosmossdk.io/client/v2/autocli" "cosmossdk.io/core/appmodule" "cosmossdk.io/log" @@ -38,6 +40,7 @@ import ( dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node" "github.com/cosmos/cosmos-sdk/codec" @@ -45,6 +48,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/runtime" runtimeservices "github.com/cosmos/cosmos-sdk/runtime/services" + "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server/api" serverconfig "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" @@ -57,6 +61,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/ante" authcodec "github.com/cosmos/cosmos-sdk/x/auth/codec" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + "github.com/cosmos/cosmos-sdk/x/auth/posthandler" authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" txmodule "github.com/cosmos/cosmos-sdk/x/auth/tx/config" @@ -234,8 +239,6 @@ type App struct { interfaceRegistry types.InterfaceRegistry txConfig client.TxConfig - invCheckPeriod uint - // keys to access the substores keys map[string]*storetypes.KVStoreKey tkeys map[string]*storetypes.TransientStoreKey @@ -322,8 +325,7 @@ func init() { // New returns a reference to an initialized Provenance Blockchain App. func New( - logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, skipUpgradeHeights map[int64]bool, - homePath string, invCheckPeriod uint, + logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *App { signingOptions := signing.Options{ @@ -353,6 +355,7 @@ func New( bApp.SetInterfaceRegistry(interfaceRegistry) sdk.SetCoinDenomRegex(SdkCoinDenomRegex) + // TODO[1760]: Add the circuit breaker module to the app. keys := storetypes.NewKVStoreKeys( authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, @@ -390,7 +393,6 @@ func New( legacyAmino: legacyAmino, appCodec: appCodec, interfaceRegistry: interfaceRegistry, - invCheckPeriod: invCheckPeriod, keys: keys, tkeys: tkeys, memKeys: memKeys, @@ -418,11 +420,11 @@ func New( app.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, keys[capabilitytypes.StoreKey], memKeys[capabilitytypes.MemStoreKey]) // grant capabilities for the ibc and ibc-transfer modules - scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName) - scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) + app.ScopedIBCKeeper = app.CapabilityKeeper.ScopeToModule(ibcexported.ModuleName) + app.ScopedTransferKeeper = app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) scopedWasmKeeper := app.CapabilityKeeper.ScopeToModule(wasmtypes.ModuleName) - scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) - scopedICQKeeper := app.CapabilityKeeper.ScopeToModule(icqtypes.ModuleName) + app.ScopedICAHostKeeper = app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) + app.ScopedICQKeeper = app.CapabilityKeeper.ScopeToModule(icqtypes.ModuleName) scopedOracleKeeper := app.CapabilityKeeper.ScopeToModule(oracletypes.ModuleName) // capability keeper must be sealed after scope to module registrations are completed. @@ -471,11 +473,21 @@ func New( appCodec, legacyAmino, runtime.NewKVStoreService(keys[slashingtypes.StoreKey]), app.StakingKeeper, govAuthority, ) - app.CrisisKeeper = crisiskeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[crisistypes.StoreKey]), app.invCheckPeriod, + invCheckPeriod := cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)) + app.CrisisKeeper = crisiskeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[crisistypes.StoreKey]), invCheckPeriod, app.BankKeeper, authtypes.FeeCollectorName, govAuthority, app.AccountKeeper.AddressCodec()) app.FeeGrantKeeper = feegrantkeeper.NewKeeper(appCodec, runtime.NewKVStoreService(keys[feegrant.StoreKey]), app.AccountKeeper) + // get skipUpgradeHeights from the app options + skipUpgradeHeights := make(map[int64]bool) + for _, h := range cast.ToIntSlice(appOpts.Get(server.FlagUnsafeSkipUpgrades)) { + skipUpgradeHeights[int64(h)] = true + } + homePath := cast.ToString(appOpts.Get(flags.FlagHome)) + if len(homePath) == 0 { + homePath = DefaultNodeHome + } app.UpgradeKeeper = upgradekeeper.NewKeeper(skipUpgradeHeights, runtime.NewKVStoreService(keys[upgradetypes.StoreKey]), appCodec, homePath, app.BaseApp, govAuthority) app.MsgFeesKeeper = msgfeeskeeper.NewKeeper( @@ -499,7 +511,7 @@ func New( // Create IBC Keeper app.IBCKeeper = ibckeeper.NewKeeper( - appCodec, keys[ibcexported.StoreKey], app.GetSubspace(ibcexported.ModuleName), app.StakingKeeper, app.UpgradeKeeper, scopedIBCKeeper, govAuthority, + appCodec, keys[ibcexported.StoreKey], app.GetSubspace(ibcexported.ModuleName), app.StakingKeeper, app.UpgradeKeeper, app.ScopedIBCKeeper, govAuthority, ) // Configure the hooks keeper @@ -538,7 +550,7 @@ func New( app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, - scopedTransferKeeper, + app.ScopedTransferKeeper, govAuthority, ) app.TransferKeeper = &transferKeeper @@ -589,7 +601,7 @@ func New( icaHostKeeper := icahostkeeper.NewKeeper( appCodec, keys[icahosttypes.StoreKey], app.GetSubspace(icahosttypes.SubModuleName), app.IBCKeeper.ChannelKeeper, app.IBCKeeper.ChannelKeeper, app.IBCKeeper.PortKeeper, - app.AccountKeeper, scopedICAHostKeeper, pioMessageRouter, govAuthority, + app.AccountKeeper, app.ScopedICAHostKeeper, pioMessageRouter, govAuthority, ) app.ICAHostKeeper = &icaHostKeeper icaModule := ica.NewAppModule(nil, app.ICAHostKeeper) @@ -598,7 +610,7 @@ func New( app.ICQKeeper = icqkeeper.NewKeeper( appCodec, keys[icqtypes.StoreKey], app.IBCKeeper.ChannelKeeper, app.IBCKeeper.ChannelKeeper, app.IBCKeeper.PortKeeper, - scopedICQKeeper, app.BaseApp.GRPCQueryRouter(), govAuthority, + app.ScopedICQKeeper, app.BaseApp.GRPCQueryRouter(), govAuthority, ) icqModule := icq.NewAppModule(app.ICQKeeper, app.GetSubspace(icqtypes.ModuleName)) icqIBCModule := icq.NewIBCModule(app.ICQKeeper) @@ -730,7 +742,7 @@ func New( // NOTE: we may consider parsing `appOpts` inside module constructors. For the moment // we prefer to be more strict in what arguments the modules expect. - var skipGenesisInvariants = cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified // must be passed by reference here. @@ -753,8 +765,6 @@ func New( authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), groupmodule.NewAppModule(appCodec, app.GroupKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), consensus.NewAppModule(appCodec, app.ConsensusParamsKeeper), - quarantinemodule.NewAppModule(appCodec, app.QuarantineKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - sanctionmodule.NewAppModule(appCodec, app.SanctionKeeper, app.AccountKeeper, app.BankKeeper, app.GovKeeper, app.interfaceRegistry), // PROVENANCE metadata.NewAppModule(appCodec, app.MetadataKeeper, app.AccountKeeper), @@ -767,6 +777,8 @@ func New( oracleModule, holdmodule.NewAppModule(appCodec, app.HoldKeeper), exchangemodule.NewAppModule(appCodec, app.ExchangeKeeper), + quarantinemodule.NewAppModule(appCodec, app.QuarantineKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), + sanctionmodule.NewAppModule(appCodec, app.SanctionKeeper, app.AccountKeeper, app.BankKeeper, app.GovKeeper, app.interfaceRegistry), // IBC ibc.NewAppModule(app.IBCKeeper), @@ -778,6 +790,10 @@ func New( ibctm.AppModule{}, ) + // Set the upgrade-keeper's version map that it uses during init-genesis. + // When using depinject, this is done by means of the PopulateVersionMap function. + app.UpgradeKeeper.SetInitVersionMap(app.mm.GetVersionMap()) + // BasicModuleManager defines the module BasicManager is in charge of setting up basic, // non-dependant module elements, such as codec registration and genesis verification. // By default it is composed of all the module from the module manager. @@ -814,102 +830,52 @@ func New( stakingtypes.ModuleName, ibcexported.ModuleName, markertypes.ModuleName, - icatypes.ModuleName, attributetypes.ModuleName, - triggertypes.ModuleName, - - // no-ops - authtypes.ModuleName, - banktypes.ModuleName, - govtypes.ModuleName, - crisistypes.ModuleName, - genutiltypes.ModuleName, authz.ModuleName, - group.ModuleName, - feegrant.ModuleName, - paramstypes.ModuleName, - msgfeestypes.ModuleName, - metadatatypes.ModuleName, - oracletypes.ModuleName, - wasmtypes.ModuleName, - ibcratelimit.ModuleName, - ibchookstypes.ModuleName, - ibctransfertypes.ModuleName, - icqtypes.ModuleName, - nametypes.ModuleName, - vestingtypes.ModuleName, - quarantine.ModuleName, - sanction.ModuleName, - hold.ModuleName, - exchange.ModuleName, - consensusparamtypes.ModuleName, + triggertypes.ModuleName, ) app.mm.SetOrderEndBlockers( crisistypes.ModuleName, govtypes.ModuleName, stakingtypes.ModuleName, - authtypes.ModuleName, - icatypes.ModuleName, + feegrant.ModuleName, group.ModuleName, triggertypes.ModuleName, - - // no-ops - vestingtypes.ModuleName, - distrtypes.ModuleName, - authz.ModuleName, - metadatatypes.ModuleName, - oracletypes.ModuleName, - nametypes.ModuleName, - genutiltypes.ModuleName, - ibcexported.ModuleName, - ibcratelimit.ModuleName, - ibchookstypes.ModuleName, - ibctransfertypes.ModuleName, - icqtypes.ModuleName, - msgfeestypes.ModuleName, - wasmtypes.ModuleName, - slashingtypes.ModuleName, - upgradetypes.ModuleName, - attributetypes.ModuleName, - capabilitytypes.ModuleName, - evidencetypes.ModuleName, - banktypes.ModuleName, - minttypes.ModuleName, - markertypes.ModuleName, - feegrant.ModuleName, - paramstypes.ModuleName, - quarantine.ModuleName, - sanction.ModuleName, - hold.ModuleName, - exchange.ModuleName, - consensusparamtypes.ModuleName, ) // NOTE: The genutils module must occur after staking so that pools are // properly initialized with tokens from genesis accounts. + // NOTE: The genutils module must also occur after auth so that it can access the params from auth. // NOTE: Capability module must occur first so that it can initialize any capabilities // so that other modules that want to create or claim capabilities afterwards in InitChain // can do so safely. - app.mm.SetOrderInitGenesis( - capabilitytypes.ModuleName, + moduleGenesisOrder := []string{ + capabilitytypes.ModuleName, // Must be first. + authtypes.ModuleName, banktypes.ModuleName, + markertypes.ModuleName, + distrtypes.ModuleName, stakingtypes.ModuleName, slashingtypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName, - genutiltypes.ModuleName, + genutiltypes.ModuleName, // Must be after both staking and auth. evidencetypes.ModuleName, authz.ModuleName, - group.ModuleName, feegrant.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, + consensusparamtypes.ModuleName, + quarantine.ModuleName, sanction.ModuleName, - nametypes.ModuleName, attributetypes.ModuleName, metadatatypes.ModuleName, @@ -923,19 +889,14 @@ func New( icatypes.ModuleName, ibcratelimit.ModuleName, ibchookstypes.ModuleName, - // wasm after ibc transfer - wasmtypes.ModuleName, + wasmtypes.ModuleName, // must be after ibctransfer. triggertypes.ModuleName, oracletypes.ModuleName, + } + app.mm.SetOrderInitGenesis(moduleGenesisOrder...) + app.mm.SetOrderExportGenesis(moduleGenesisOrder...) - // no-ops - paramstypes.ModuleName, - vestingtypes.ModuleName, - upgradetypes.ModuleName, - consensusparamtypes.ModuleName, - ) - - app.mm.SetOrderMigrations( + moduleMigrationOrder := []string{ banktypes.ModuleName, authz.ModuleName, group.ModuleName, @@ -977,7 +938,8 @@ func New( // Last due to v0.44 issue: https://github.com/cosmos/cosmos-sdk/issues/10591 authtypes.ModuleName, - ) + } + app.mm.SetOrderMigrations(moduleMigrationOrder...) app.mm.RegisterInvariants(app.CrisisKeeper) app.configurator = module.NewConfigurator(app.appCodec, app.BaseApp.MsgServiceRouter(), app.GRPCQueryRouter()) @@ -985,41 +947,24 @@ func New( panic(err) } - app.sm = module.NewSimulationManager( - auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)), - bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper, app.GetSubspace(banktypes.ModuleName)), - capability.NewAppModule(appCodec, *app.CapabilityKeeper, false), - feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), - gov.NewAppModule(appCodec, &app.GovKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(govtypes.ModuleName)), - mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, nil, app.GetSubspace(minttypes.ModuleName)), - staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)), - distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)), - slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(slashingtypes.ModuleName), app.interfaceRegistry), - params.NewAppModule(app.ParamsKeeper), - evidence.NewAppModule(app.EvidenceKeeper), - authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - groupmodule.NewAppModule(appCodec, app.GroupKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - quarantinemodule.NewAppModule(appCodec, app.QuarantineKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), - sanctionmodule.NewAppModule(appCodec, app.SanctionKeeper, app.AccountKeeper, app.BankKeeper, app.GovKeeper, app.interfaceRegistry), + // Register upgrade handlers and set the store loader. + // This must be done after the module manager and configurator are set, + // but before the baseapp is sealed via LoadLatestVersion() down below. + app.registerUpgradeHandlers(appOpts) - metadata.NewAppModule(appCodec, app.MetadataKeeper, app.AccountKeeper), - marker.NewAppModule(appCodec, app.MarkerKeeper, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.GovKeeper, app.AttributeKeeper, app.interfaceRegistry), - name.NewAppModule(appCodec, app.NameKeeper, app.AccountKeeper, app.BankKeeper), - attribute.NewAppModule(appCodec, app.AttributeKeeper, app.AccountKeeper, app.BankKeeper, app.NameKeeper), - msgfeesmodule.NewAppModule(appCodec, app.MsgFeesKeeper, app.interfaceRegistry), - triggermodule.NewAppModule(appCodec, app.TriggerKeeper, app.AccountKeeper, app.BankKeeper), - oraclemodule.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper, app.IBCKeeper.ChannelKeeper), - holdmodule.NewAppModule(appCodec, app.HoldKeeper), - exchangemodule.NewAppModule(appCodec, app.ExchangeKeeper), - provwasm.NewWrapper(appCodec, app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.NameKeeper, pioMessageRouter, app.GetSubspace(wasmtypes.ModuleName)), + autocliv1.RegisterQueryServer(app.GRPCQueryRouter(), runtimeservices.NewAutoCLIQueryService(app.mm.Modules)) - // IBC - ibc.NewAppModule(app.IBCKeeper), - ibcratelimitmodule.NewAppModule(appCodec, *app.RateLimitingKeeper), - ibchooks.NewAppModule(app.AccountKeeper, *app.IBCHooksKeeper), - ibctransfer.NewAppModule(*app.TransferKeeper), - icaModule, - ) + reflectionSvc, err := runtimeservices.NewReflectionService() + if err != nil { + panic(err) + } + reflectionv1.RegisterReflectionServiceServer(app.GRPCQueryRouter(), reflectionSvc) + + overrideModules := map[string]module.AppModuleSimulation{ + authtypes.ModuleName: auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts, app.GetSubspace(authtypes.ModuleName)), + wasmtypes.ModuleName: provwasm.NewWrapper(appCodec, app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.NameKeeper, pioMessageRouter, app.GetSubspace(wasmtypes.ModuleName)), + } + app.sm = module.NewSimulationManagerFromAppModules(app.mm.Modules, overrideModules) app.sm.RegisterStoreDecoders() @@ -1032,6 +977,23 @@ func New( app.SetInitChainer(app.InitChainer) app.SetPreBlocker(app.PreBlocker) app.SetBeginBlocker(app.BeginBlocker) + app.SetEndBlocker(app.EndBlocker) + app.setAnteHandler() + app.setPostHandler() + app.setFeeHandler() + app.SetAggregateEventsFunc(piohandlers.AggregateEvents) + + if loadLatest { + if err := app.LoadLatestVersion(); err != nil { + cmtos.Exit(err.Error()) + } + } + + simappparams.AppEncodingConfig = app.GetEncodingConfig() + return app +} + +func (app *App) setAnteHandler() { anteHandler, err := antewrapper.NewAnteHandler( antewrapper.HandlerOptions{ AccountKeeper: app.AccountKeeper, @@ -1045,8 +1007,22 @@ func New( panic(err) } + // Set the AnteHandler for the app app.SetAnteHandler(anteHandler) +} + +func (app *App) setPostHandler() { + postHandler, err := posthandler.NewPostHandler( + posthandler.HandlerOptions{}, + ) + if err != nil { + panic(err) + } + app.SetPostHandler(postHandler) +} + +func (app *App) setFeeHandler() { msgFeeHandler, err := piohandlers.NewAdditionalMsgFeeHandler(piohandlers.PioBaseAppKeeperOptions{ AccountKeeper: app.AccountKeeper, BankKeeper: app.BankKeeper, @@ -1054,18 +1030,15 @@ func New( MsgFeesKeeper: app.MsgFeesKeeper, Decoder: app.txConfig.TxDecoder(), }) - if err != nil { panic(err) } app.SetFeeHandler(msgFeeHandler) +} - app.SetEndBlocker(app.EndBlocker) - - app.SetAggregateEventsFunc(piohandlers.AggregateEvents) - - // Add upgrade plans for each release. This must be done before the baseapp seals via LoadLatestVersion() down below. +func (app *App) registerUpgradeHandlers(appOpts servertypes.AppOptions) { + // Add the upgrade handlers for each release. InstallCustomUpgradeHandlers(app) // Use the dump of $home/data/upgrade-info.json:{"name":"$plan","height":321654} to determine @@ -1101,20 +1074,6 @@ func New( // Verify configuration settings storeLoader = ValidateWrapper(app.Logger(), appOpts, storeLoader) app.SetStoreLoader(storeLoader) - - if loadLatest { - if err := app.LoadLatestVersion(); err != nil { - cmtos.Exit(err.Error()) - } - } - - app.ScopedIBCKeeper = scopedIBCKeeper - app.ScopedTransferKeeper = scopedTransferKeeper - app.ScopedICQKeeper = scopedICQKeeper - app.ScopedICAHostKeeper = scopedICAHostKeeper - - simappparams.AppEncodingConfig = app.GetEncodingConfig() - return app } // GetBaseApp returns the base cosmos app @@ -1195,9 +1154,6 @@ func (app *App) InitChainer(ctx sdk.Context, req *abci.RequestInitChain) (*abci. if err := json.Unmarshal(req.AppStateBytes, &genesisState); err != nil { panic(err) } - if err := app.UpgradeKeeper.SetModuleVersionMap(ctx, app.mm.GetVersionMap()); err != nil { - panic(err) - } return app.mm.InitGenesis(ctx, app.appCodec, genesisState) } @@ -1259,6 +1215,16 @@ func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey { return app.keys[storeKey] } +// GetStoreKeys returns all the stored store keys. +func (app *App) GetStoreKeys() []storetypes.StoreKey { + keys := make([]storetypes.StoreKey, 0, len(app.keys)) + for _, key := range app.keys { + keys = append(keys, key) + } + + return keys +} + // GetTKey returns the TransientStoreKey for the provided store key. // // NOTE: This is solely to be used for testing purposes. @@ -1293,7 +1259,7 @@ func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig serverconfig.API // Register new tx routes from grpc-gateway. authtx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) - // Register new queries routes from grpc-gateway. + // Register new CometBFT queries routes from grpc-gateway. cmtservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // Register node gRPC service for grpc-gateway. diff --git a/app/app_test.go b/app/app_test.go index 83efbca2cd..4b3c418f6d 100644 --- a/app/app_test.go +++ b/app/app_test.go @@ -9,31 +9,33 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + abci "github.com/cometbft/cometbft/abci/types" + "cosmossdk.io/log" sdkmath "cosmossdk.io/math" dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/baseapp" sdktypes "github.com/cosmos/cosmos-sdk/codec/types" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/msgservice" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + "github.com/cosmos/gogoproto/proto" - abci "github.com/cometbft/cometbft/abci/types" - + "github.com/provenance-io/provenance/internal/pioconfig" + "github.com/provenance-io/provenance/testutil/assertions" markermodule "github.com/provenance-io/provenance/x/marker" markertypes "github.com/provenance-io/provenance/x/marker/types" ) func TestSimAppExportAndBlockedAddrs(t *testing.T) { opts := SetupOptions{ - Logger: log.NewTestLogger(t), - DB: dbm.NewMemDB(), - InvCheckPeriod: 0, - HomePath: t.TempDir(), - SkipUpgradeHeights: map[int64]bool{}, - AppOpts: simtestutil.EmptyAppOptions{}, + Logger: log.NewTestLogger(t), + DB: dbm.NewMemDB(), + AppOpts: simtestutil.NewAppOptionsWithFlagHome(t.TempDir()), } app := NewAppWithCustomOptions(t, false, opts) @@ -54,8 +56,7 @@ func TestSimAppExportAndBlockedAddrs(t *testing.T) { app.Commit() // Making a new app object with the db, so that initchain hasn't been called - app2 := New(log.NewTestLogger(t), opts.DB, nil, true, - map[int64]bool{}, opts.HomePath, 0, simtestutil.EmptyAppOptions{}) + app2 := New(log.NewTestLogger(t), opts.DB, nil, true, opts.AppOpts) require.NotPanics(t, func() { _, err = app2.ExportAppStateAndValidators(false, nil, nil) }, "exporting app state at current height") @@ -74,12 +75,9 @@ func TestGetMaccPerms(t *testing.T) { func TestExportAppStateAndValidators(t *testing.T) { opts := SetupOptions{ - Logger: log.NewTestLogger(t), - DB: dbm.NewMemDB(), - InvCheckPeriod: 0, - HomePath: t.TempDir(), - SkipUpgradeHeights: map[int64]bool{}, - AppOpts: simtestutil.EmptyAppOptions{}, + Logger: log.NewTestLogger(t), + DB: dbm.NewMemDB(), + AppOpts: simtestutil.NewAppOptionsWithFlagHome(t.TempDir()), } app := NewAppWithCustomOptions(t, false, opts) ctx := app.BaseApp.NewContext(false) @@ -424,3 +422,24 @@ func TestFilterBeginBlockerEvents(t *testing.T) { }) } } + +func TestMsgServerProtoAnnotations(t *testing.T) { + // If this test fails after bumping the async-icq library, change expErr to an empty string and delete this comment. + expErr := "service icq.v1.Msg does not have cosmos.msg.v1.service proto annotation" + + // Create an app so that we know everything's been registered. + logger := log.NewNopLogger() + db, err := dbm.NewDB("proto-test", dbm.MemDBBackend, "") + require.NoError(t, err, "dbm.NewDB") + appOpts := newSimAppOpts(t) + baseAppOpts := []func(*baseapp.BaseApp){ + fauxMerkleModeOpt, + baseapp.SetChainID(pioconfig.SimAppChainID), + } + _ = New(logger, db, nil, true, appOpts, baseAppOpts...) + + protoFiles, err := proto.MergedRegistry() + require.NoError(t, err, "proto.MergedRegistry()") + err = msgservice.ValidateProtoAnnotations(protoFiles) + assertions.AssertErrorValue(t, err, expErr, "ValidateProtoAnnotations") +} diff --git a/app/sim_bench_test.go b/app/sim_bench_test.go index 46a8e8fa23..ea46e706d7 100644 --- a/app/sim_bench_test.go +++ b/app/sim_bench_test.go @@ -7,12 +7,14 @@ import ( "os" "testing" + "github.com/stretchr/testify/require" + cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + "github.com/cosmos/cosmos-sdk/baseapp" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/cosmos/cosmos-sdk/x/simulation" - simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" ) // Profile with: @@ -20,31 +22,31 @@ import ( func BenchmarkFullAppSimulation(b *testing.B) { b.ReportAllocs() config, db, dir, logger, skip, err := setupSimulation("goleveldb-app-sim", "Simulation") - if err != nil { - b.Fatalf("simulation setup failed: %s", err.Error()) - } + require.NoError(b, err, "simulation setup failed") if skip { b.Skip("skipping benchmark application simulation") } - PrintConfig(config) + printConfig(config) defer func() { - db.Close() - err = os.RemoveAll(dir) - if err != nil { - b.Fatal(err) - } + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) }() - app := New(logger, db, nil, true, map[int64]bool{}, b.TempDir(), simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, interBlockCacheOpt()) + appOpts := newSimAppOpts(b) + baseAppOpts := []func(*baseapp.BaseApp){ + interBlockCacheOpt(), + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) // run randomized simulation _, simParams, simErr := simulation.SimulateFromSeed( b, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -53,47 +55,43 @@ func BenchmarkFullAppSimulation(b *testing.B) { ) // export state and simParams before the simulation error is checked - if err = simtestutil.CheckExportSimulation(app, config, simParams); err != nil { - b.Fatal(err) - } - - if simErr != nil { - b.Fatal(simErr) - } + err = simtestutil.CheckExportSimulation(app, config, simParams) + require.NoError(b, err, "CheckExportSimulation") + require.NoError(b, simErr, "SimulateFromSeed") - PrintStats(config, db) + printStats(config, db) } func BenchmarkInvariants(b *testing.B) { b.ReportAllocs() config, db, dir, logger, skip, err := setupSimulation("leveldb-app-invariant-bench", "Simulation") - if err != nil { - b.Fatalf("simulation setup failed: %s", err.Error()) - } + require.NoError(b, err, "simulation setup failed") if skip { b.Skip("skipping benchmark application simulation") } config.AllInvariants = false - PrintConfig(config) + printConfig(config) defer func() { - db.Close() - err = os.RemoveAll(dir) - if err != nil { - b.Fatal(err) - } + require.NoError(b, db.Close()) + require.NoError(b, os.RemoveAll(dir)) }() - app := New(logger, db, nil, true, map[int64]bool{}, b.TempDir(), simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, interBlockCacheOpt()) + appOpts := newSimAppOpts(b) + baseAppOpts := []func(*baseapp.BaseApp){ + interBlockCacheOpt(), + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) // run randomized simulation _, lastBlockTime, simParams, simErr := simulation.SimulateFromSeedProv( b, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -102,15 +100,11 @@ func BenchmarkInvariants(b *testing.B) { ) // export state and simParams before the simulation error is checked - if err = simtestutil.CheckExportSimulation(app, config, simParams); err != nil { - b.Fatal(err) - } - - if simErr != nil { - b.Fatal(simErr) - } + err = simtestutil.CheckExportSimulation(app, config, simParams) + require.NoError(b, err, "CheckExportSimulation") + require.NoError(b, simErr, "SimulateFromSeedProv") - PrintStats(config, db) + printStats(config, db) ctx := app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight() + 1, Time: lastBlockTime}) diff --git a/app/sim_test.go b/app/sim_test.go index aa6e075bc2..d7feb6df3d 100644 --- a/app/sim_test.go +++ b/app/sim_test.go @@ -3,6 +3,7 @@ package app // DONTCOVER import ( + "bytes" "encoding/json" "fmt" "math/rand" @@ -13,6 +14,8 @@ import ( "testing" "time" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" abci "github.com/cometbft/cometbft/abci/types" @@ -21,42 +24,29 @@ import ( "cosmossdk.io/log" "cosmossdk.io/store" storetypes "cosmossdk.io/store/types" - evidencetypes "cosmossdk.io/x/evidence/types" - - icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v8/types" + "cosmossdk.io/x/feegrant" dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/server" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + "github.com/cosmos/cosmos-sdk/types/kv" "github.com/cosmos/cosmos-sdk/types/module" simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/cosmos/cosmos-sdk/x/simulation" simcli "github.com/cosmos/cosmos-sdk/x/simulation/client/cli" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" + "github.com/cosmos/gogoproto/proto" + icqtypes "github.com/cosmos/ibc-apps/modules/async-icq/v8/types" icagenesistypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/genesis/types" icatypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/types" cmdconfig "github.com/provenance-io/provenance/cmd/provenanced/config" "github.com/provenance-io/provenance/internal/pioconfig" - attributetypes "github.com/provenance-io/provenance/x/attribute/types" - "github.com/provenance-io/provenance/x/hold" - markertypes "github.com/provenance-io/provenance/x/marker/types" - metadatatypes "github.com/provenance-io/provenance/x/metadata/types" - msgfeetype "github.com/provenance-io/provenance/x/msgfees/types" - nametypes "github.com/provenance-io/provenance/x/name/types" - "github.com/provenance-io/provenance/x/quarantine" - "github.com/provenance-io/provenance/x/sanction" - triggertypes "github.com/provenance-io/provenance/x/trigger/types" ) func init() { @@ -64,80 +54,182 @@ func init() { pioconfig.SetProvenanceConfig("", 0) } -type StoreKeysPrefixes struct { - A storetypes.StoreKey - B storetypes.StoreKey - Prefixes [][]byte -} - -// ProvAppStateFn wraps the simtypes.AppStateFn and sets the ICA GenesisState if isn't yet defined in the appState. -func ProvAppStateFn(cdc codec.JSONCodec, simManager *module.SimulationManager, genesisState map[string]json.RawMessage) simtypes.AppStateFn { +// provAppStateFn wraps the simtypes.AppStateFn and sets the ICA and ICQ GenesisState if isn't yet defined in the appState. +func provAppStateFn(cdc codec.JSONCodec, simManager *module.SimulationManager, genesisState map[string]json.RawMessage) simtypes.AppStateFn { return func(r *rand.Rand, accs []simtypes.Account, config simtypes.Config) (json.RawMessage, []simtypes.Account, string, time.Time) { appState, simAccs, chainID, genesisTimestamp := simtestutil.AppStateFn(cdc, simManager, genesisState)(r, accs, config) appState = appStateWithICA(appState, cdc) appState = appStateWithICQ(appState, cdc) + appState = appStateWithWasmSeqs(appState, cdc) return appState, simAccs, chainID, genesisTimestamp } } // appStateWithICA checks the given appState for an ica entry. If it's not found, it's populated with the defaults. func appStateWithICA(appState json.RawMessage, cdc codec.JSONCodec) json.RawMessage { - rawState := make(map[string]json.RawMessage) - err := json.Unmarshal(appState, &rawState) - if err != nil { - panic(fmt.Sprintf("error unmarshalling appstate: %v", err)) - } - icaGenJSON, icaGenFound := rawState[icatypes.ModuleName] - if !icaGenFound || len(icaGenJSON) == 0 { - icaGenState := icagenesistypes.DefaultGenesis() - rawState[icatypes.ModuleName] = cdc.MustMarshalJSON(icaGenState) - appState, err = json.Marshal(rawState) - if err != nil { - panic(fmt.Sprintf("error marshalling appstate: %v", err)) - } - } - return appState + return mutateAppState(appState, cdc, icatypes.ModuleName, icagenesistypes.DefaultGenesis(), nil) } // appStateWithICA checks the given appState for an ica entry. If it's not found, it's populated with the defaults. func appStateWithICQ(appState json.RawMessage, cdc codec.JSONCodec) json.RawMessage { + return mutateAppState(appState, cdc, icqtypes.ModuleName, icqtypes.DefaultGenesis(), nil) +} + +// appStateWithWasmSeqs ensures the wasm genesis state has sequence entries. +func appStateWithWasmSeqs(appState json.RawMessage, cdc codec.JSONCodec) json.RawMessage { + // During the import/export test, the wasm module state of the first app ends up with empty sequence entries. + // But export-genesis reads empty sequence entries as "1" and creates an entry in the Sequences list. + // So when we call InitGenesis with the second app, those sequences are stored in state, resulting in different states between the two apps. + // The behavior of the wasm module is the same if the value is 1 or empty, so the behavior of the two apps is the same, just not the state. + // So in here, we make sure there are default entries for the sequences so that even the first one has them. + // If the sims do any wasm stuff that'll change those entries, both the state and exported genesis will match, and there won't be a problem. + return mutateAppState(appState, cdc, wasmtypes.ModuleName, &wasmtypes.GenesisState{Params: wasmtypes.DefaultParams()}, func(wasmGenState *wasmtypes.GenesisState) *wasmtypes.GenesisState { + requiredSequences := [][]byte{wasmtypes.KeySequenceCodeID, wasmtypes.KeySequenceInstanceID} + for _, seqKey := range requiredSequences { + if !sequenceExists(wasmGenState.Sequences, seqKey) { + wasmGenState.Sequences = append(wasmGenState.Sequences, wasmtypes.Sequence{IDKey: seqKey, Value: 1}) + } + } + return wasmGenState + }) +} + +// sequenceExists checks if a sequence entry exists for the given key. +func sequenceExists(sequences []wasmtypes.Sequence, key []byte) bool { + for _, seq := range sequences { + if bytes.Equal(seq.IDKey, key) { + return true + } + } + return false +} + +// mutateAppState returns a new appState with an updated (or new) entry for the given module. +// The mutator will receive the module's genesis state from appState if it exists, otherwise, +// it'll receive the provided defaultState. If the mutator is nil, this basically just ensures +// that the appState has an entry for the module, setting it to the default if it's not already there. +func mutateAppState[G proto.Message](appState json.RawMessage, cdc codec.JSONCodec, moduleName string, defaultState G, mutator func(state G) G) json.RawMessage { rawState := make(map[string]json.RawMessage) err := json.Unmarshal(appState, &rawState) if err != nil { panic(fmt.Sprintf("error unmarshalling appstate: %v", err)) } - icqGenJSON, icqGenFound := rawState[icqtypes.ModuleName] - if !icqGenFound || len(icqGenJSON) == 0 { - icqGenState := icqtypes.DefaultGenesis() - rawState[icqtypes.ModuleName] = cdc.MustMarshalJSON(icqGenState) - appState, err = json.Marshal(rawState) + + if len(rawState[moduleName]) > 0 { + err = cdc.UnmarshalJSON(rawState[moduleName], defaultState) if err != nil { - panic(fmt.Sprintf("error marshalling appstate: %v", err)) + panic(fmt.Sprintf("error unmarshalling %s genesis state from %q as %T: %v", + moduleName, string(rawState[moduleName]), defaultState, err)) } } + + if mutator != nil { + defaultState = mutator(defaultState) + } + + rawState[moduleName], err = cdc.MarshalJSON(defaultState) + if err != nil { + panic(fmt.Sprintf("error marshalling %s genesis state %#v: %v", + moduleName, defaultState, err)) + } + + appState, err = json.Marshal(rawState) + if err != nil { + panic(fmt.Sprintf("error marshalling appstate: %v", err)) + } + return appState } func setupSimulation(dirPrefix string, dbName string) (simtypes.Config, dbm.DB, string, log.Logger, bool, error) { config := simcli.NewConfigFromFlags() + config.ChainID = pioconfig.SimAppChainID db, dir, logger, skip, err := simtestutil.SetupSimulation(config, dirPrefix, dbName, simcli.FlagVerboseValue, simcli.FlagEnabledValue) return config, db, dir, logger, skip, err } +// fauxMerkleModeOpt returns a BaseApp option to use a dbStoreAdapter instead of +// an IAVLStore for faster simulation speed. +func fauxMerkleModeOpt(bapp *baseapp.BaseApp) { + bapp.SetFauxMerkleMode() +} + +// interBlockCacheOpt returns a BaseApp option function that sets the persistent +// inter-block write-through cache. +func interBlockCacheOpt() func(*baseapp.BaseApp) { + return baseapp.SetInterBlockCache(store.NewCommitKVStoreCacheManager()) +} + +// printStats outputs the config and db info. +func printStats(config simtypes.Config, db dbm.DB) { + printConfig(config) + if config.Commit { + printDBInfo(db) + } +} + +// printConfig outputs the config. +func printConfig(config simtypes.Config) { + fmt.Println("-vvv- Config Info -vvv-") + cfields := cmdconfig.MakeFieldValueMap(config, true) + for _, f := range cfields.GetSortedKeys() { + fmt.Printf("%s: %s\n", f, cfields.GetStringOf(f)) + } + fmt.Println("-^^^- Config Info -^^^-") +} + +// printDBInfo outputs the db.Stats map. +func printDBInfo(db dbm.DB) { + fmt.Println("-vvv- Database Info -vvv-") + dbStats := db.Stats() + if len(dbStats) == 0 { + fmt.Println("No info to report.") + } else { + keys := make([]string, 0, len(dbStats)) + for k := range dbStats { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + v := dbStats[k] + if strings.Contains(v, "\n") { + fmt.Printf("%s:\n", k) + fmt.Println(v) + } else { + fmt.Printf("%s: %q\n", k, v) + } + } + } + fmt.Println("-^^^- Database Info -^^^-") +} + +// newSimAppOpts creates a new set of AppOptions with a temp dir for home, and the desired invariant check period. +func newSimAppOpts(t testing.TB) simtestutil.AppOptionsMap { + return simtestutil.AppOptionsMap{ + flags.FlagHome: t.TempDir(), + server.FlagInvCheckPeriod: simcli.FlagPeriodValue, + } +} + func TestFullAppSimulation(t *testing.T) { config, db, dir, logger, skip, err := setupSimulation("leveldb-app-sim", "Simulation") if skip { t.Skip("skipping provenance application simulation") } - PrintConfig(config) + printConfig(config) require.NoError(t, err, "provenance simulation setup failed") defer func() { - db.Close() + require.NoError(t, db.Close()) require.NoError(t, os.RemoveAll(dir)) }() - app := New(logger, db, nil, true, map[int64]bool{}, t.TempDir(), simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + appOpts := newSimAppOpts(t) + baseAppOpts := []func(*baseapp.BaseApp){ + fauxMerkleModeOpt, + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) require.Equal(t, "provenanced", app.Name()) fmt.Printf("running provenance full app simulation\n") @@ -147,7 +239,7 @@ func TestFullAppSimulation(t *testing.T) { t, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -157,10 +249,10 @@ func TestFullAppSimulation(t *testing.T) { // export state and simParams before the simulation error is checked err = simtestutil.CheckExportSimulation(app, config, simParams) - require.NoError(t, err) - require.NoError(t, simErr) + require.NoError(t, err, "CheckExportSimulation") + require.NoError(t, simErr, "SimulateFromSeed") - PrintStats(config, db) + printStats(config, db) } func TestSimple(t *testing.T) { @@ -168,15 +260,20 @@ func TestSimple(t *testing.T) { if skip { t.Skip("skipping provenance application simulation") } - PrintConfig(config) + printConfig(config) require.NoError(t, err, "provenance simulation setup failed") defer func() { - db.Close() + require.NoError(t, db.Close()) require.NoError(t, os.RemoveAll(dir)) }() - app := New(logger, db, nil, true, map[int64]bool{}, t.TempDir(), simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + appOpts := newSimAppOpts(t) + baseAppOpts := []func(*baseapp.BaseApp){ + fauxMerkleModeOpt, + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) require.Equal(t, "provenanced", app.Name()) // run randomized simulation @@ -184,7 +281,7 @@ func TestSimple(t *testing.T) { t, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -192,8 +289,8 @@ func TestSimple(t *testing.T) { app.AppCodec(), ) - require.NoError(t, simErr) - PrintStats(config, db) + require.NoError(t, simErr, "SimulateFromSeed") + printStats(config, db) } // Profile with: @@ -201,12 +298,22 @@ func TestSimple(t *testing.T) { func TestAppImportExport(t *testing.T) { // uncomment to run in ide without flags. //simcli.FlagEnabledValue = true + //tempDir, err := os.MkdirTemp("", "sim-log-*") + //require.NoError(t, err, "MkdirTemp") + //t.Logf("tempDir: %s", tempDir) + //simcli.FlagNumBlocksValue = 30 + //simcli.FlagVerboseValue = true + //simcli.FlagCommitValue = true + //simcli.FlagSeedValue = 2 + //simcli.FlagPeriodValue = 3 + //simcli.FlagExportParamsPathValue = filepath.Join(tempDir, fmt.Sprintf("sim_params-%d.json", simcli.FlagSeedValue)) + //simcli.FlagExportStatePathValue = filepath.Join(tempDir, fmt.Sprintf("sim_state-%d.json", simcli.FlagSeedValue)) config, db, dir, logger, skip, err := setupSimulation("leveldb-app-sim", "Simulation") if skip { t.Skip("skipping application import/export simulation") } - PrintConfig(config) + printConfig(config) require.NoError(t, err, "simulation setup failed") defer func() { @@ -214,8 +321,13 @@ func TestAppImportExport(t *testing.T) { require.NoError(t, os.RemoveAll(dir)) }() - home := t.TempDir() - app := New(logger, db, nil, true, map[int64]bool{}, home, simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + appOpts := newSimAppOpts(t) + baseAppOpts := []func(*baseapp.BaseApp){ + fauxMerkleModeOpt, + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) + require.Equal(t, "provenanced", app.Name()) fmt.Printf("running provenance test import export\n") @@ -224,7 +336,7 @@ func TestAppImportExport(t *testing.T) { t, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -234,87 +346,93 @@ func TestAppImportExport(t *testing.T) { // export state and simParams before the simulation error is checked err = simtestutil.CheckExportSimulation(app, config, simParams) - require.NoError(t, err) - require.NoError(t, simErr) + require.NoError(t, err, "CheckExportSimulation") + require.NoError(t, simErr, "SimulateFromSeedProv") - PrintStats(config, db) + printStats(config, db) fmt.Printf("exporting genesis...\n") exported, err := app.ExportAppStateAndValidators(false, nil, nil) - require.NoError(t, err) + require.NoError(t, err, "ExportAppStateAndValidators") fmt.Printf("importing genesis...\n") - _, newDB, newDir, _, _, err := setupSimulation("leveldb-app-sim-2", "Simulation-2") - require.NoError(t, err, "simulation setup failed") + newDB, newDir, newLogger, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup 2 failed") defer func() { require.NoError(t, newDB.Close()) require.NoError(t, os.RemoveAll(newDir)) }() - newApp := New(log.NewNopLogger(), newDB, nil, true, map[int64]bool{}, home, simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + newApp := New(newLogger, newDB, nil, true, appOpts, baseAppOpts...) var genesisState map[string]json.RawMessage err = json.Unmarshal(exported.AppState, &genesisState) require.NoError(t, err) - defer func() { - if r := recover(); r != nil { - rstr := fmt.Sprintf("%v", r) - if !strings.Contains(rstr, "validator set is empty after InitGenesis") { - panic(r) - } + ctxA := app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight(), Time: lastBlockTime}) + ctxB := newApp.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight(), Time: lastBlockTime}) + _, err = newApp.mm.InitGenesis(ctxB, app.AppCodec(), genesisState) + if err != nil { + if strings.Contains(err.Error(), "validator set is empty after InitGenesis") { logger.Info("Skipping simulation as all validators have been unbonded") - logger.Info("err", rstr, "stacktrace", string(debug.Stack())) + logger.Info("err", err, "stacktrace", string(debug.Stack())) + return } - }() + } + require.NoError(t, err, "InitGenesis") - ctxA := app.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight(), Time: lastBlockTime}) - ctxB := newApp.NewContextLegacy(true, cmtproto.Header{Height: app.LastBlockHeight(), Time: lastBlockTime}) - newApp.mm.InitGenesis(ctxB, app.AppCodec(), genesisState) - newApp.StoreConsensusParams(ctxB, exported.ConsensusParams) + err = newApp.StoreConsensusParams(ctxB, exported.ConsensusParams) + require.NoError(t, err, "StoreConsensusParams") fmt.Printf("comparing stores...\n") - storeKeysPrefixes := []StoreKeysPrefixes{ - {app.keys[authtypes.StoreKey], newApp.keys[authtypes.StoreKey], [][]byte{}}, - {app.keys[stakingtypes.StoreKey], newApp.keys[stakingtypes.StoreKey], - [][]byte{ - stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, - stakingtypes.HistoricalInfoKey, - }}, // ordering may change but it doesn't matter - {app.keys[slashingtypes.StoreKey], newApp.keys[slashingtypes.StoreKey], [][]byte{}}, - {app.keys[minttypes.StoreKey], newApp.keys[minttypes.StoreKey], [][]byte{}}, - {app.keys[distrtypes.StoreKey], newApp.keys[distrtypes.StoreKey], [][]byte{}}, - {app.keys[banktypes.StoreKey], newApp.keys[banktypes.StoreKey], [][]byte{banktypes.BalancesPrefix}}, - {app.keys[paramtypes.StoreKey], newApp.keys[paramtypes.StoreKey], [][]byte{}}, - {app.keys[govtypes.StoreKey], newApp.keys[govtypes.StoreKey], [][]byte{}}, - {app.keys[evidencetypes.StoreKey], newApp.keys[evidencetypes.StoreKey], [][]byte{}}, - {app.keys[capabilitytypes.StoreKey], newApp.keys[capabilitytypes.StoreKey], [][]byte{}}, - {app.keys[authzkeeper.StoreKey], newApp.keys[authzkeeper.StoreKey], [][]byte{authzkeeper.GrantKey, authzkeeper.GrantQueuePrefix}}, - {app.keys[quarantine.StoreKey], newApp.keys[quarantine.StoreKey], [][]byte{}}, - {app.keys[sanction.StoreKey], newApp.keys[sanction.StoreKey], [][]byte{}}, - - {app.keys[markertypes.StoreKey], newApp.keys[markertypes.StoreKey], [][]byte{}}, - {app.keys[msgfeetype.StoreKey], newApp.keys[msgfeetype.StoreKey], [][]byte{}}, - {app.keys[attributetypes.StoreKey], newApp.keys[attributetypes.StoreKey], [][]byte{attributetypes.AttributeAddrLookupKeyPrefix}}, - {app.keys[nametypes.StoreKey], newApp.keys[nametypes.StoreKey], [][]byte{}}, - {app.keys[metadatatypes.StoreKey], newApp.keys[metadatatypes.StoreKey], [][]byte{}}, - {app.keys[triggertypes.StoreKey], newApp.keys[triggertypes.StoreKey], [][]byte{}}, - {app.keys[hold.StoreKey], newApp.keys[hold.StoreKey], [][]byte{}}, + // skip certain prefixes + skipPrefixes := map[string][][]byte{ + stakingtypes.StoreKey: { + stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, + stakingtypes.HistoricalInfoKey, stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, + stakingtypes.UnbondingTypeKey, stakingtypes.ValidatorUpdatesKey, + }, + authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix}, + feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix}, + slashingtypes.StoreKey: {slashingtypes.ValidatorMissedBlockBitmapKeyPrefix}, + wasmtypes.StoreKey: {wasmtypes.TXCounterPrefix}, } - for _, skp := range storeKeysPrefixes { - storeA := ctxA.KVStore(skp.A) - storeB := ctxB.KVStore(skp.B) + storeKeys := app.GetStoreKeys() + require.NotEmpty(t, storeKeys, "storeKeys") + + for _, appKeyA := range storeKeys { + keyName := appKeyA.Name() + t.Run(keyName, func(t *testing.T) { + // only compare kvstores + if _, ok := appKeyA.(*storetypes.KVStoreKey); !ok { + t.Skipf("Skipping because the key is a %T (not a KVStoreKey)", appKeyA) + return + } + + appKeyB := newApp.GetKey(keyName) + + storeA := ctxA.KVStore(appKeyA) + storeB := ctxB.KVStore(appKeyB) - failedKVAs, failedKVBs := simtestutil.DiffKVStores(storeA, storeB, skp.Prefixes) - require.Equal(t, len(failedKVAs), len(failedKVBs), "unequal sets of key-values to compare") + failedKVAs, failedKVBs := simtestutil.DiffKVStores(storeA, storeB, skipPrefixes[keyName]) + assert.Equal(t, len(failedKVAs), len(failedKVBs), "unequal sets of key-values to compare: %s", keyName) + fmt.Printf("compared %d different key/value pairs between %s and %s\n", len(failedKVAs), appKeyA, appKeyB) + + // Make the lists the same length because GetSimulationLog assumes they're that way. + for len(failedKVBs) < len(failedKVAs) { + failedKVBs = append(failedKVBs, kv.Pair{Key: []byte{}, Value: []byte{}}) + } + for len(failedKVBs) > len(failedKVAs) { + failedKVAs = append(failedKVAs, kv.Pair{Key: []byte{}, Value: []byte{}}) + } - fmt.Printf("compared %d different key/value pairs between %s and %s\n", len(failedKVAs), skp.A, skp.B) - require.Equal(t, 0, len(failedKVAs), simtestutil.GetSimulationLog(skp.A.Name(), app.SimulationManager().StoreDecoders, failedKVAs, failedKVBs)) + assert.Equal(t, 0, len(failedKVAs), simtestutil.GetSimulationLog(keyName, app.SimulationManager().StoreDecoders, failedKVAs, failedKVBs)) + }) } } @@ -323,23 +441,27 @@ func TestAppSimulationAfterImport(t *testing.T) { if skip { t.Skip("skipping application simulation after import") } - PrintConfig(config) + printConfig(config) require.NoError(t, err, "simulation setup failed") defer func() { - db.Close() + require.NoError(t, db.Close()) require.NoError(t, os.RemoveAll(dir)) }() - home := t.TempDir() - app := New(logger, db, nil, true, map[int64]bool{}, home, simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + appOpts := newSimAppOpts(t) + baseAppOpts := []func(*baseapp.BaseApp){ + fauxMerkleModeOpt, + baseapp.SetChainID(config.ChainID), + } + app := New(logger, db, nil, true, appOpts, baseAppOpts...) // Run randomized simulation stopEarly, lastBlockTime, simParams, simErr := simulation.SimulateFromSeedProv( t, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -349,10 +471,10 @@ func TestAppSimulationAfterImport(t *testing.T) { // export state and simParams before the simulation error is checked err = simtestutil.CheckExportSimulation(app, config, simParams) - require.NoError(t, err) - require.NoError(t, simErr) + require.NoError(t, err, "CheckExportSimulation") + require.NoError(t, simErr, "SimulateFromSeedProv") - PrintStats(config, db) + printStats(config, db) if stopEarly { fmt.Println("can't export or import a zero-validator genesis, exiting test...") @@ -362,22 +484,23 @@ func TestAppSimulationAfterImport(t *testing.T) { fmt.Printf("exporting genesis...\n") exported, err := app.ExportAppStateAndValidators(true, nil, nil) - require.NoError(t, err) + require.NoError(t, err, "ExportAppStateAndValidators") fmt.Printf("importing genesis...\n") - _, newDB, newDir, _, _, err := setupSimulation("leveldb-app-sim-2", "Simulation-2") - require.NoError(t, err, "simulation setup failed") + newDB, newDir, newLogger, _, err := simtestutil.SetupSimulation(config, "leveldb-app-sim-2", "Simulation-2", simcli.FlagVerboseValue, simcli.FlagEnabledValue) + require.NoError(t, err, "simulation setup 2 failed") defer func() { - newDB.Close() + require.NoError(t, newDB.Close()) require.NoError(t, os.RemoveAll(newDir)) }() - newApp := New(log.NewNopLogger(), newDB, nil, true, map[int64]bool{}, home, simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, fauxMerkleModeOpt) + newApp := New(newLogger, newDB, nil, true, appOpts, baseAppOpts...) _, err = newApp.InitChain(&abci.RequestInitChain{ AppStateBytes: exported.AppState, + ChainId: config.ChainID, Time: lastBlockTime, }) require.NoError(t, err, "InitChain") @@ -387,7 +510,7 @@ func TestAppSimulationAfterImport(t *testing.T) { t, os.Stdout, newApp.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(newApp, newApp.AppCodec(), config), app.ModuleAccountAddrs(), @@ -422,19 +545,27 @@ func TestAppStateDeterminism(t *testing.T) { numTimesToRunPerSeed := 5 appHashList := make([]json.RawMessage, numTimesToRunPerSeed) - home := t.TempDir() - - seeds := make([]int64, numSeeds) - for i := range seeds { - seeds[i] = rand.Int63() + var seeds []int64 + if config.Seed != simcli.DefaultSeedValue { + // If a seed was provided, just do that one. + numSeeds = 1 + seeds = append(seeds, config.Seed) + } else { + // Otherwise, pick random seeds to use. + seeds = make([]int64, numSeeds) + for i := range seeds { + seeds[i] = rand.Int63() + } } - // uncomment and tweak to use a single specific seed. - //seeds = []int64{9171851189930047994} + appOpts := newSimAppOpts(t) + if simcli.FlagVerboseValue { + appOpts[flags.FlagLogLevel] = "debug" + } for i, seed := range seeds { config.Seed = seed - PrintConfig(config) + printConfig(config) for j := 0; j < numTimesToRunPerSeed; j++ { var logger log.Logger @@ -445,7 +576,7 @@ func TestAppStateDeterminism(t *testing.T) { } db := dbm.NewMemDB() - app := New(logger, db, nil, true, map[int64]bool{}, home, simcli.FlagPeriodValue, simtestutil.EmptyAppOptions{}, interBlockCacheOpt()) + app := New(logger, db, nil, true, appOpts, interBlockCacheOpt(), baseapp.SetChainID(config.ChainID)) fmt.Printf( "running provenance non-determinism simulation; seed %d: %d/%d, attempt: %d/%d\n", @@ -456,7 +587,7 @@ func TestAppStateDeterminism(t *testing.T) { t, os.Stdout, app.BaseApp, - ProvAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), + provAppStateFn(app.AppCodec(), app.SimulationManager(), app.DefaultGenesis()), simtypes.RandomAccounts, // Replace with own random account function if using keys other than secp256k1 simtestutil.SimulationOperations(app, app.AppCodec(), config), app.ModuleAccountAddrs(), @@ -465,7 +596,7 @@ func TestAppStateDeterminism(t *testing.T) { ) require.NoError(t, err) - PrintStats(config, db) + printStats(config, db) appHash := app.LastCommitID().Hash appHashList[j] = appHash @@ -479,58 +610,3 @@ func TestAppStateDeterminism(t *testing.T) { } } } - -// fauxMerkleModeOpt returns a BaseApp option to use a dbStoreAdapter instead of -// an IAVLStore for faster simulation speed. -func fauxMerkleModeOpt(bapp *baseapp.BaseApp) { - bapp.SetFauxMerkleMode() -} - -// interBlockCacheOpt returns a BaseApp option function that sets the persistent -// inter-block write-through cache. -func interBlockCacheOpt() func(*baseapp.BaseApp) { - return baseapp.SetInterBlockCache(store.NewCommitKVStoreCacheManager()) -} - -// PrintStats outputs the config and db info. -func PrintStats(config simtypes.Config, db dbm.DB) { - PrintConfig(config) - if config.Commit { - PrintDBInfo(db) - } -} - -// PrintConfig outputs the config. -func PrintConfig(config simtypes.Config) { - fmt.Println("-vvv- Config Info -vvv-") - cfields := cmdconfig.MakeFieldValueMap(config, true) - for _, f := range cfields.GetSortedKeys() { - fmt.Printf("%s: %s\n", f, cfields.GetStringOf(f)) - } - fmt.Println("-^^^- Config Info -^^^-") -} - -// PrintDBInfo outputs the db.Stats map. -func PrintDBInfo(db dbm.DB) { - fmt.Println("-vvv- Database Info -vvv-") - dbStats := db.Stats() - if len(dbStats) == 0 { - fmt.Println("No info to report.") - } else { - keys := make([]string, 0, len(dbStats)) - for k := range dbStats { - keys = append(keys, k) - } - sort.Strings(keys) - for _, k := range keys { - v := dbStats[k] - if strings.Contains(v, "\n") { - fmt.Printf("%s:\n", k) - fmt.Println(v) - } else { - fmt.Printf("%s: %q\n", k, v) - } - } - } - fmt.Println("-^^^- Database Info -^^^-") -} diff --git a/app/test_helpers.go b/app/test_helpers.go index 51f3d7de61..214cb0af2b 100644 --- a/app/test_helpers.go +++ b/app/test_helpers.go @@ -25,11 +25,13 @@ import ( dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client/flags" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/cosmos-sdk/server" servertypes "github.com/cosmos/cosmos-sdk/server/types" "github.com/cosmos/cosmos-sdk/testutil/mock" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" @@ -65,13 +67,10 @@ var DefaultConsensusParams = &cmttmtypes.ConsensusParams{ // SetupOptions defines arguments that are passed into `Simapp` constructor. type SetupOptions struct { - Logger log.Logger - DB *dbm.MemDB - InvCheckPeriod uint - HomePath string - SkipUpgradeHeights map[int64]bool - AppOpts servertypes.AppOptions - ChainID string + Logger log.Logger + DB *dbm.MemDB + AppOpts servertypes.AppOptions + ChainID string } func setup(t *testing.T, withGenesis bool, invCheckPeriod uint, chainID string) (*App, GenesisState) { @@ -81,7 +80,11 @@ func setup(t *testing.T, withGenesis bool, invCheckPeriod uint, chainID string) pioconfig.SetProvenanceConfig("", 0) } - app := New(loggerMaker(), db, nil, true, map[int64]bool{}, t.TempDir(), invCheckPeriod, simtestutil.EmptyAppOptions{}, baseapp.SetChainID(chainID)) + appOpts := simtestutil.AppOptionsMap{ + flags.FlagHome: t.TempDir(), + server.FlagInvCheckPeriod: invCheckPeriod, + } + app := New(loggerMaker(), db, nil, true, appOpts, baseapp.SetChainID(chainID)) if withGenesis { return app, app.DefaultGenesis() } @@ -157,7 +160,7 @@ func NewAppWithCustomOptions(t *testing.T, isCheckTx bool, options SetupOptions) Coins: sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 100_000_000_000_000)), } - app := New(options.Logger, options.DB, nil, true, options.SkipUpgradeHeights, options.HomePath, options.InvCheckPeriod, options.AppOpts) + app := New(options.Logger, options.DB, nil, true, options.AppOpts, baseapp.SetChainID(options.ChainID)) genesisState := app.DefaultGenesis() genesisState = genesisStateWithValSet(t, app, genesisState, valSet, []authtypes.GenesisAccount{acc}, balance) @@ -524,10 +527,6 @@ func MakeTestEncodingConfig(t *testing.T) params.EncodingConfig { } defer os.RemoveAll(tempDir) - tempApp := New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, nil, - tempDir, - 0, - simtestutil.EmptyAppOptions{}, - ) + tempApp := New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(tempDir)) return tempApp.GetEncodingConfig() } diff --git a/cmd/provenanced/cmd/root.go b/cmd/provenanced/cmd/root.go index 74b01bce29..72f2c74609 100644 --- a/cmd/provenanced/cmd/root.go +++ b/cmd/provenanced/cmd/root.go @@ -2,7 +2,6 @@ package cmd import ( "context" - "errors" "fmt" "io" "os" @@ -76,11 +75,7 @@ func NewRootCmd(sealConfig bool) (*cobra.Command, params.EncodingConfig) { // We initially set the config as testnet so commands that run before start work for testing such as gentx. app.SetConfig(true, false) - tempApp := app.New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, nil, - tempDir, - 0, - simtestutil.EmptyAppOptions{}, - ) + tempApp := app.New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(tempDir)) encodingConfig := tempApp.GetEncodingConfig() initClientCtx := client.Context{}. @@ -276,11 +271,6 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty cache = store.NewCommitKVStoreCacheManager() } - skipUpgradeHeights := make(map[int64]bool) - for _, h := range cast.ToIntSlice(appOpts.Get(server.FlagUnsafeSkipUpgrades)) { - skipUpgradeHeights[int64(h)] = true - } - pruningOpts, err := server.GetPruningOptionsFromFlags(appOpts) if err != nil { panic(err) @@ -325,10 +315,7 @@ func newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, appOpts serverty } return app.New( - logger, db, traceStore, true, skipUpgradeHeights, - cast.ToString(appOpts.Get(flags.FlagHome)), - cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)), - appOpts, + logger, db, traceStore, true, appOpts, baseapp.SetPruning(pruningOpts), baseapp.SetMinGasPrices(cast.ToString(appOpts.Get(server.FlagMinGasPrices))), baseapp.SetMinRetainBlocks(cast.ToUint64(appOpts.Get(server.FlagMinRetainBlocks))), @@ -377,19 +364,14 @@ func createAppAndExport( ) (servertypes.ExportedApp, error) { var a *app.App - homePath, ok := appOpts.Get(flags.FlagHome).(string) - if !ok || homePath == "" { - return servertypes.ExportedApp{}, errors.New("application home not set") - } - if height != -1 { - a = app.New(logger, db, traceStore, false, map[int64]bool{}, homePath, cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)), appOpts) + a = app.New(logger, db, traceStore, false, appOpts) if err := a.LoadHeight(height); err != nil { return servertypes.ExportedApp{}, err } } else { - a = app.New(logger, db, traceStore, true, map[int64]bool{}, homePath, cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)), appOpts) + a = app.New(logger, db, traceStore, true, appOpts) } return a.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs, modulesToExport) diff --git a/cmd/provenanced/cmd/testnet_test.go b/cmd/provenanced/cmd/testnet_test.go index 3a9f442037..ac1162f82f 100644 --- a/cmd/provenanced/cmd/testnet_test.go +++ b/cmd/provenanced/cmd/testnet_test.go @@ -38,11 +38,7 @@ func Test_TestnetCmd(t *testing.T) { pioconfig.SetProvenanceConfig("", 0) logger := log.NewNopLogger() cfg, err := genutiltest.CreateDefaultCometConfig(home) - tempApp := app.New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, nil, - home, - 0, - simtestutil.EmptyAppOptions{}, - ) + tempApp := app.New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(home)) encodingConfig := tempApp.GetEncodingConfig() require.NoError(t, err) diff --git a/go.mod b/go.mod index 5619d648e9..66ab89553f 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/provenance-io/provenance go 1.21 require ( + cosmossdk.io/api v0.7.4 cosmossdk.io/client/v2 v2.0.0-beta.1 cosmossdk.io/collections v0.4.0 cosmossdk.io/core v0.11.0 @@ -53,7 +54,6 @@ require ( cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.38.0 // indirect - cosmossdk.io/api v0.7.4 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect cosmossdk.io/x/circuit v0.1.0 // indirect filippo.io/edwards25519 v1.0.0 // indirect diff --git a/proto/cosmos/quarantine/v1beta1/tx.proto b/proto/cosmos/quarantine/v1beta1/tx.proto index 0d59225e86..5579edff68 100644 --- a/proto/cosmos/quarantine/v1beta1/tx.proto +++ b/proto/cosmos/quarantine/v1beta1/tx.proto @@ -13,6 +13,8 @@ option go_package = "github.com/provenance-io/provenance/x/quarantine"; // Query defines the quarantine gRPC msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // OptIn defines a method for opting in to account quarantine. // Funds sent to a quarantined account must be approved before they can be received. rpc OptIn(MsgOptIn) returns (MsgOptInResponse); diff --git a/proto/cosmos/sanction/v1beta1/tx.proto b/proto/cosmos/sanction/v1beta1/tx.proto index f038ac31f7..5c61bf47c8 100644 --- a/proto/cosmos/sanction/v1beta1/tx.proto +++ b/proto/cosmos/sanction/v1beta1/tx.proto @@ -9,6 +9,8 @@ option go_package = "github.com/provenance-io/provenance/x/sanction"; // Msg defines the sanction Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // Sanction is a governance operation for sanctioning addresses. rpc Sanction(MsgSanction) returns (MsgSanctionResponse); diff --git a/proto/provenance/attribute/v1/tx.proto b/proto/provenance/attribute/v1/tx.proto index 2b9ac73030..dd82250424 100644 --- a/proto/provenance/attribute/v1/tx.proto +++ b/proto/provenance/attribute/v1/tx.proto @@ -14,6 +14,8 @@ import "provenance/attribute/v1/attribute.proto"; // Msg defines the attribute module Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // AddAttribute defines a method to verify a particular invariance. rpc AddAttribute(MsgAddAttributeRequest) returns (MsgAddAttributeResponse); diff --git a/proto/provenance/exchange/v1/tx.proto b/proto/provenance/exchange/v1/tx.proto index db275e1971..f8609eb159 100644 --- a/proto/provenance/exchange/v1/tx.proto +++ b/proto/provenance/exchange/v1/tx.proto @@ -19,6 +19,8 @@ import "provenance/exchange/v1/payments.proto"; // Msg is the service for exchange module's tx endpoints. service Msg { + option (cosmos.msg.v1.service) = true; + // CreateAsk creates an ask order (to sell something you own). rpc CreateAsk(MsgCreateAskRequest) returns (MsgCreateAskResponse); diff --git a/proto/provenance/ibchooks/v1/tx.proto b/proto/provenance/ibchooks/v1/tx.proto index bbb354bbb7..6cf20526b8 100644 --- a/proto/provenance/ibchooks/v1/tx.proto +++ b/proto/provenance/ibchooks/v1/tx.proto @@ -13,6 +13,8 @@ import "provenance/ibchooks/v1/params.proto"; // Msg defines the Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // EmitIBCAck checks the sender can emit the ack and writes the IBC // acknowledgement rpc EmitIBCAck(MsgEmitIBCAck) returns (MsgEmitIBCAckResponse); diff --git a/proto/provenance/ibcratelimit/v1/tx.proto b/proto/provenance/ibcratelimit/v1/tx.proto index 59036abedb..1cd9b84690 100644 --- a/proto/provenance/ibcratelimit/v1/tx.proto +++ b/proto/provenance/ibcratelimit/v1/tx.proto @@ -13,6 +13,8 @@ import "provenance/ibcratelimit/v1/params.proto"; // Msg is the service for ibcratelimit module's tx endpoints. service Msg { + option (cosmos.msg.v1.service) = true; + // GovUpdateParams is a governance proposal endpoint for updating the exchange module's params. // Deprecated: Use UpdateParams instead. rpc GovUpdateParams(MsgGovUpdateParamsRequest) returns (MsgGovUpdateParamsResponse) { diff --git a/proto/provenance/marker/v1/tx.proto b/proto/provenance/marker/v1/tx.proto index 4270255e31..72c392a6e9 100644 --- a/proto/provenance/marker/v1/tx.proto +++ b/proto/provenance/marker/v1/tx.proto @@ -19,6 +19,8 @@ option java_multiple_files = true; // Msg defines the Marker Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // Finalize rpc Finalize(MsgFinalizeRequest) returns (MsgFinalizeResponse); // Activate diff --git a/proto/provenance/metadata/v1/tx.proto b/proto/provenance/metadata/v1/tx.proto index 825b016a5f..f30fec4910 100644 --- a/proto/provenance/metadata/v1/tx.proto +++ b/proto/provenance/metadata/v1/tx.proto @@ -16,6 +16,8 @@ option java_multiple_files = true; // Msg defines the Metadata Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // ---- Primary Data Management ----- // WriteScope adds or updates a scope. diff --git a/proto/provenance/msgfees/v1/tx.proto b/proto/provenance/msgfees/v1/tx.proto index b27f8fd32d..21bafa4951 100644 --- a/proto/provenance/msgfees/v1/tx.proto +++ b/proto/provenance/msgfees/v1/tx.proto @@ -14,6 +14,8 @@ option java_multiple_files = true; // Msg defines the msgfees Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // AssessCustomMsgFee endpoint executes the additional fee charges. // This will only emit the event and not persist it to the keeper. Fees are handled with the custom msg fee handlers // Use Case: smart contracts will be able to charge additional fees and direct partial funds to specified recipient diff --git a/proto/provenance/name/v1/tx.proto b/proto/provenance/name/v1/tx.proto index ee094290e0..1d3bf4867c 100644 --- a/proto/provenance/name/v1/tx.proto +++ b/proto/provenance/name/v1/tx.proto @@ -13,6 +13,8 @@ option java_multiple_files = true; // Msg defines the bank Msg service. service Msg { + option (cosmos.msg.v1.service) = true; + // BindName binds a name to an address under a root name. rpc BindName(MsgBindNameRequest) returns (MsgBindNameResponse); diff --git a/proto/provenance/oracle/v1/tx.proto b/proto/provenance/oracle/v1/tx.proto index d110ca14ab..0788b0a4b0 100644 --- a/proto/provenance/oracle/v1/tx.proto +++ b/proto/provenance/oracle/v1/tx.proto @@ -11,6 +11,8 @@ option java_multiple_files = true; // Msg service Msg { + option (cosmos.msg.v1.service) = true; + // UpdateOracle is the RPC endpoint for updating the oracle rpc UpdateOracle(MsgUpdateOracleRequest) returns (MsgUpdateOracleResponse); // SendQueryOracle sends a query to an oracle on another chain diff --git a/proto/provenance/trigger/v1/tx.proto b/proto/provenance/trigger/v1/tx.proto index fc4c666893..c9df3ce2a8 100644 --- a/proto/provenance/trigger/v1/tx.proto +++ b/proto/provenance/trigger/v1/tx.proto @@ -12,6 +12,8 @@ option java_multiple_files = true; // Msg service Msg { + option (cosmos.msg.v1.service) = true; + // CreateTrigger is the RPC endpoint for creating a trigger rpc CreateTrigger(MsgCreateTriggerRequest) returns (MsgCreateTriggerResponse); // DestroyTrigger is the RPC endpoint for creating a trigger diff --git a/testutil/network.go b/testutil/network.go index ef08127aca..babc6f29af 100644 --- a/testutil/network.go +++ b/testutil/network.go @@ -34,8 +34,7 @@ func NewAppConstructor() testnet.AppConstructor { ctx := val.GetCtx() appCfg := val.GetAppConfig() return provenanceapp.New( - ctx.Logger, dbm.NewMemDB(), nil, true, make(map[int64]bool), ctx.Config.RootDir, 0, - simtestutil.EmptyAppOptions{}, + ctx.Logger, dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(ctx.Config.RootDir), baseapp.SetPruning(pruningtypes.NewPruningOptionsFromString(appCfg.Pruning)), baseapp.SetMinGasPrices(appCfg.MinGasPrices), baseapp.SetChainID(ctx.Viper.GetString(flags.FlagChainID)), @@ -51,10 +50,7 @@ func DefaultTestNetworkConfig() testnet.Config { } defer os.RemoveAll(tempDir) - tempApp := provenanceapp.New( - log.NewNopLogger(), dbm.NewMemDB(), nil, true, make(map[int64]bool), tempDir, 0, - simtestutil.NewAppOptionsWithFlagHome(tempDir), - ) + tempApp := provenanceapp.New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(tempDir)) encCfg := tempApp.GetEncodingConfig() return testnet.Config{ diff --git a/x/attribute/types/tx.pb.go b/x/attribute/types/tx.pb.go index 5770978029..4f85682bbb 100644 --- a/x/attribute/types/tx.pb.go +++ b/x/attribute/types/tx.pb.go @@ -836,60 +836,61 @@ func init() { func init() { proto.RegisterFile("provenance/attribute/v1/tx.proto", fileDescriptor_5de344c1a12714be) } var fileDescriptor_5de344c1a12714be = []byte{ - // 842 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x6f, 0xeb, 0x44, - 0x14, 0xcd, 0x24, 0x69, 0xca, 0x9b, 0xe6, 0xe5, 0x49, 0x43, 0x4b, 0x1c, 0x83, 0x92, 0x34, 0x94, - 0x12, 0x21, 0xd5, 0xa6, 0xa9, 0x60, 0x11, 0xe8, 0x22, 0x51, 0x58, 0x46, 0xaa, 0xd2, 0x82, 0x50, - 0x17, 0x44, 0x93, 0x64, 0x70, 0x2d, 0x62, 0x8f, 0xeb, 0x19, 0xa7, 0x2d, 0x4b, 0x76, 0x48, 0x2c, - 0x2a, 0x56, 0x2c, 0x90, 0xf8, 0x0b, 0x2c, 0xf8, 0x11, 0x5d, 0x56, 0xac, 0x10, 0x8b, 0x82, 0xda, - 0x05, 0x6b, 0xfe, 0x01, 0x8a, 0x67, 0x9c, 0x38, 0x1f, 0x36, 0x4d, 0xde, 0xce, 0x77, 0xe6, 0xde, - 0x73, 0x8e, 0xcf, 0x9d, 0x3b, 0x36, 0x2c, 0x3b, 0x2e, 0x1d, 0x11, 0x1b, 0xdb, 0x7d, 0xa2, 0x63, - 0xce, 0x5d, 0xb3, 0xe7, 0x71, 0xa2, 0x8f, 0x0e, 0x75, 0x7e, 0xad, 0x39, 0x2e, 0xe5, 0x14, 0xe5, - 0xa7, 0x19, 0xda, 0x24, 0x43, 0x1b, 0x1d, 0xaa, 0xf9, 0x3e, 0x65, 0x16, 0x65, 0xba, 0xc5, 0x8c, - 0x71, 0x81, 0xc5, 0x0c, 0x51, 0xa1, 0x16, 0xc4, 0x46, 0xd7, 0x8f, 0x74, 0x11, 0xc8, 0xad, 0x6d, - 0x83, 0x1a, 0x54, 0xac, 0x8f, 0x9f, 0xe4, 0x6a, 0xc9, 0xa0, 0xd4, 0x18, 0x12, 0xdd, 0x8f, 0x7a, - 0xde, 0xd7, 0x3a, 0x37, 0x2d, 0xc2, 0x38, 0xb6, 0x1c, 0x99, 0xf0, 0x7e, 0x94, 0xca, 0xa9, 0x20, - 0x3f, 0xb1, 0xf2, 0x73, 0x12, 0xbe, 0xd5, 0x66, 0x46, 0x63, 0x30, 0x68, 0x04, 0x3b, 0x1d, 0x72, - 0xe9, 0x11, 0xc6, 0x11, 0x82, 0x69, 0x1b, 0x5b, 0x44, 0x01, 0x65, 0x50, 0x7d, 0xd1, 0xf1, 0x9f, - 0xd1, 0x36, 0xdc, 0x18, 0xe1, 0xa1, 0x47, 0x94, 0x64, 0x19, 0x54, 0xb3, 0x1d, 0x11, 0xa0, 0x36, - 0xcc, 0x4d, 0x70, 0xbb, 0xfc, 0xc6, 0x21, 0x4a, 0xaa, 0x0c, 0xaa, 0xb9, 0xda, 0xbe, 0x16, 0x61, - 0x85, 0x36, 0x21, 0x3b, 0xbb, 0x71, 0x48, 0xe7, 0x25, 0x0e, 0x87, 0x48, 0x81, 0x9b, 0xb8, 0xdf, - 0xa7, 0x9e, 0xcd, 0x95, 0xb4, 0xcf, 0x1d, 0x84, 0x63, 0x7a, 0x7a, 0x65, 0x13, 0x57, 0xd9, 0xf0, - 0xd7, 0x45, 0x80, 0xda, 0xf0, 0x15, 0xb9, 0x76, 0x4c, 0x17, 0x73, 0x93, 0xda, 0xdd, 0x01, 0xe6, - 0x44, 0xc9, 0x94, 0x41, 0x75, 0xab, 0xa6, 0x6a, 0xc2, 0x27, 0x2d, 0xf0, 0x49, 0x3b, 0x0b, 0x7c, - 0x6a, 0xbe, 0x71, 0xf7, 0x50, 0x02, 0xb7, 0x7f, 0x95, 0x40, 0x27, 0x37, 0x2d, 0x6e, 0x61, 0x4e, - 0xea, 0xf0, 0xbb, 0x7f, 0x7e, 0xfd, 0x40, 0x40, 0x57, 0x0a, 0x30, 0xbf, 0xe0, 0x0e, 0x73, 0xa8, - 0xcd, 0x48, 0xe5, 0xdf, 0x24, 0x2c, 0xb4, 0x99, 0xf1, 0xb9, 0x33, 0x26, 0x7c, 0x96, 0x79, 0xef, - 0xc1, 0x1c, 0x75, 0x4d, 0xc3, 0xb4, 0xf1, 0xb0, 0x1b, 0x76, 0xf1, 0x65, 0xb0, 0xfa, 0x85, 0xef, - 0xe6, 0x2e, 0xcc, 0x7a, 0x3e, 0xa8, 0x4c, 0x4a, 0xf9, 0x49, 0x5b, 0x62, 0x4d, 0xa4, 0x7c, 0x05, - 0xf3, 0x13, 0xa4, 0x39, 0xe7, 0xd3, 0x2b, 0x39, 0xbf, 0x13, 0xc0, 0xcc, 0x2c, 0xa3, 0x73, 0xb8, - 0x23, 0x25, 0xcc, 0xa1, 0x6f, 0xac, 0x84, 0xfe, 0xa6, 0x37, 0x6b, 0xce, 0x7c, 0x77, 0x33, 0x11, - 0xdd, 0xdd, 0x0c, 0x75, 0x77, 0xa6, 0x1d, 0xef, 0x40, 0x75, 0x99, 0xe5, 0xb2, 0x23, 0x7f, 0x02, - 0xf8, 0xee, 0xe2, 0xf6, 0x67, 0x93, 0xee, 0xae, 0x73, 0xb0, 0x17, 0x4e, 0x56, 0x6a, 0xfd, 0x93, - 0xb5, 0xea, 0xc1, 0x9e, 0x79, 0xf5, 0x7d, 0xb8, 0x17, 0xff, 0x6e, 0xd2, 0x84, 0x6f, 0xfc, 0x53, - 0xd9, 0x22, 0x43, 0xf2, 0xcc, 0x53, 0x19, 0x12, 0x95, 0x8c, 0x10, 0x95, 0x8a, 0xef, 0xc7, 0x02, - 0x99, 0x94, 0xf2, 0x3d, 0x80, 0xbb, 0x93, 0xed, 0x96, 0xc9, 0xb8, 0x69, 0xf7, 0xf9, 0x6b, 0x5c, - 0x33, 0x21, 0xa5, 0xa9, 0x08, 0xa5, 0xe9, 0x28, 0xa5, 0x7b, 0xb0, 0x12, 0x27, 0x45, 0x2a, 0xfe, - 0x12, 0x2a, 0x6d, 0x66, 0x9c, 0x12, 0xde, 0x10, 0xc0, 0x2d, 0xcc, 0x71, 0xa0, 0x73, 0xa2, 0x49, - 0x08, 0x5d, 0xd4, 0x34, 0xeb, 0x5e, 0x3d, 0x3b, 0x66, 0x0f, 0xa2, 0xca, 0xdb, 0x7e, 0x5b, 0xe6, - 0x91, 0x25, 0xed, 0x2f, 0xc0, 0xbf, 0x84, 0x45, 0x73, 0x4f, 0xb0, 0x8b, 0x2d, 0x16, 0xb0, 0x7e, - 0x0c, 0x5f, 0x60, 0x8f, 0x5f, 0x50, 0xd7, 0xe4, 0x37, 0x82, 0xb9, 0xa9, 0xfc, 0xfe, 0xdb, 0xc1, - 0xb6, 0xfc, 0x48, 0x34, 0x06, 0x03, 0x97, 0x30, 0x76, 0xca, 0x5d, 0xd3, 0x36, 0x3a, 0xd3, 0x54, - 0x74, 0x0c, 0x33, 0x8e, 0x0f, 0xe4, 0xcb, 0xda, 0xaa, 0x95, 0x22, 0x47, 0x56, 0xf0, 0x35, 0xd3, - 0x77, 0x0f, 0xa5, 0x44, 0x47, 0x16, 0xd5, 0x73, 0x63, 0xf1, 0x53, 0x38, 0x79, 0x0f, 0xce, 0x0a, - 0x14, 0xe2, 0x6b, 0x3f, 0x6c, 0xc2, 0x54, 0x9b, 0x19, 0xe8, 0x12, 0x66, 0xc3, 0xf7, 0x24, 0xd2, - 0x23, 0x19, 0x97, 0x7f, 0x6f, 0xd4, 0x0f, 0x9f, 0x5f, 0x20, 0xa8, 0xd1, 0xb7, 0xf0, 0xd5, 0xdc, - 0x40, 0xa0, 0x5a, 0x1c, 0xc8, 0xf2, 0xbb, 0x5a, 0x3d, 0x5a, 0xa9, 0x46, 0x72, 0xff, 0x04, 0x60, - 0x21, 0x72, 0x1a, 0xd1, 0xa7, 0x2b, 0x40, 0x2e, 0x5c, 0x50, 0xea, 0xf1, 0x9a, 0xd5, 0x53, 0x5b, - 0xe6, 0x46, 0x32, 0xde, 0x96, 0xe5, 0x97, 0x45, 0xbc, 0x2d, 0x11, 0x33, 0x8f, 0x7e, 0x04, 0x30, - 0x1f, 0x31, 0x65, 0xa8, 0xfe, 0xff, 0x80, 0x51, 0xb7, 0x84, 0xfa, 0xc9, 0x5a, 0xb5, 0x52, 0xd4, - 0x15, 0xcc, 0xcd, 0x4e, 0x1e, 0x3a, 0x8c, 0x83, 0x5b, 0x3a, 0xff, 0x6a, 0x6d, 0x95, 0x12, 0x49, - 0x7c, 0x09, 0xb3, 0xe1, 0x99, 0x89, 0x9f, 0x89, 0x25, 0xe3, 0x1f, 0x3f, 0x13, 0xcb, 0xc6, 0xb1, - 0x69, 0xdd, 0x3d, 0x16, 0xc1, 0xfd, 0x63, 0x11, 0xfc, 0xfd, 0x58, 0x04, 0xb7, 0x4f, 0xc5, 0xc4, - 0xfd, 0x53, 0x31, 0xf1, 0xc7, 0x53, 0x31, 0x01, 0x55, 0x93, 0x46, 0xa1, 0x9d, 0x80, 0xf3, 0x8f, - 0x0c, 0x93, 0x5f, 0x78, 0x3d, 0xad, 0x4f, 0x2d, 0x7d, 0x9a, 0x75, 0x60, 0xd2, 0x50, 0xa4, 0x5f, - 0x87, 0x7e, 0x26, 0xc7, 0xff, 0x03, 0xac, 0x97, 0xf1, 0x3f, 0x80, 0x47, 0xff, 0x05, 0x00, 0x00, - 0xff, 0xff, 0x7c, 0xe2, 0x39, 0xcc, 0x17, 0x0b, 0x00, 0x00, + // 850 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0xce, 0xe4, 0x57, 0xd9, 0x69, 0x36, 0x2b, 0x0d, 0x5d, 0xe2, 0x18, 0x94, 0x64, 0xc3, 0xb2, + 0x44, 0x2b, 0xad, 0x4d, 0xb3, 0x82, 0x43, 0xa0, 0x87, 0x44, 0xe1, 0x18, 0xa9, 0x4a, 0x0b, 0x42, + 0x3d, 0x10, 0x4d, 0x92, 0xc1, 0xb5, 0x88, 0x3d, 0xae, 0x67, 0x9c, 0xb6, 0x9c, 0x10, 0x37, 0x6e, + 0x15, 0x5c, 0x38, 0x20, 0xf1, 0x2f, 0xf4, 0xc0, 0x1f, 0xd1, 0x63, 0xc5, 0x09, 0x71, 0x28, 0xa8, + 0x3d, 0xf4, 0xcc, 0x7f, 0x80, 0xe2, 0x19, 0x27, 0xce, 0x0f, 0x9b, 0x26, 0x7b, 0xf3, 0x9b, 0x79, + 0xef, 0xfb, 0x3e, 0x7f, 0x6f, 0xde, 0xd8, 0xb0, 0xe2, 0xb8, 0x74, 0x4c, 0x6c, 0x6c, 0x0f, 0x88, + 0x8e, 0x39, 0x77, 0xcd, 0xbe, 0xc7, 0x89, 0x3e, 0xde, 0xd5, 0xf9, 0x99, 0xe6, 0xb8, 0x94, 0x53, + 0x54, 0x98, 0x65, 0x68, 0xd3, 0x0c, 0x6d, 0xbc, 0xab, 0x16, 0x06, 0x94, 0x59, 0x94, 0xe9, 0x16, + 0x33, 0x26, 0x05, 0x16, 0x33, 0x44, 0x85, 0x5a, 0x14, 0x1b, 0x3d, 0x3f, 0xd2, 0x45, 0x20, 0xb7, + 0x76, 0x0c, 0x6a, 0x50, 0xb1, 0x3e, 0x79, 0x92, 0xab, 0x65, 0x83, 0x52, 0x63, 0x44, 0x74, 0x3f, + 0xea, 0x7b, 0xdf, 0xe8, 0xdc, 0xb4, 0x08, 0xe3, 0xd8, 0x72, 0x64, 0xc2, 0x87, 0x51, 0x2a, 0x67, + 0x82, 0xfc, 0xc4, 0xea, 0xaf, 0x49, 0xf8, 0x4e, 0x87, 0x19, 0xcd, 0xe1, 0xb0, 0x19, 0xec, 0x74, + 0xc9, 0x89, 0x47, 0x18, 0x47, 0x08, 0xa6, 0x6d, 0x6c, 0x11, 0x05, 0x54, 0x40, 0xed, 0x51, 0xd7, + 0x7f, 0x46, 0x3b, 0x30, 0x33, 0xc6, 0x23, 0x8f, 0x28, 0xc9, 0x0a, 0xa8, 0xe5, 0xba, 0x22, 0x40, + 0x1d, 0x98, 0x9f, 0xe2, 0xf6, 0xf8, 0xb9, 0x43, 0x94, 0x54, 0x05, 0xd4, 0xf2, 0xf5, 0x17, 0x5a, + 0x84, 0x15, 0xda, 0x94, 0xec, 0xf0, 0xdc, 0x21, 0xdd, 0xc7, 0x38, 0x1c, 0x22, 0x05, 0x6e, 0xe1, + 0xc1, 0x80, 0x7a, 0x36, 0x57, 0xd2, 0x3e, 0x77, 0x10, 0x4e, 0xe8, 0xe9, 0xa9, 0x4d, 0x5c, 0x25, + 0xe3, 0xaf, 0x8b, 0x00, 0x75, 0xe0, 0x13, 0x72, 0xe6, 0x98, 0x2e, 0xe6, 0x26, 0xb5, 0x7b, 0x43, + 0xcc, 0x89, 0x92, 0xad, 0x80, 0xda, 0x76, 0x5d, 0xd5, 0x84, 0x4f, 0x5a, 0xe0, 0x93, 0x76, 0x18, + 0xf8, 0xd4, 0x7a, 0xeb, 0xea, 0xa6, 0x0c, 0x2e, 0xfe, 0x2e, 0x83, 0x6e, 0x7e, 0x56, 0xdc, 0xc6, + 0x9c, 0x34, 0xe0, 0x0f, 0xf7, 0x97, 0x2f, 0x05, 0x74, 0xb5, 0x08, 0x0b, 0x4b, 0xee, 0x30, 0x87, + 0xda, 0x8c, 0x54, 0xff, 0x4d, 0xc2, 0x62, 0x87, 0x19, 0x5f, 0x38, 0x13, 0xc2, 0x07, 0x99, 0xf7, + 0x01, 0xcc, 0x53, 0xd7, 0x34, 0x4c, 0x1b, 0x8f, 0x7a, 0x61, 0x17, 0x1f, 0x07, 0xab, 0x5f, 0xfa, + 0x6e, 0x3e, 0x83, 0x39, 0xcf, 0x07, 0x95, 0x49, 0x29, 0x3f, 0x69, 0x5b, 0xac, 0x89, 0x94, 0xaf, + 0x61, 0x61, 0x8a, 0xb4, 0xe0, 0x7c, 0x7a, 0x2d, 0xe7, 0x9f, 0x06, 0x30, 0x73, 0xcb, 0xe8, 0x08, + 0x3e, 0x95, 0x12, 0x16, 0xd0, 0x33, 0x6b, 0xa1, 0xbf, 0xed, 0xcd, 0x9b, 0xb3, 0xd8, 0xdd, 0x6c, + 0x44, 0x77, 0xb7, 0x42, 0xdd, 0x9d, 0x6b, 0xc7, 0x7b, 0x50, 0x5d, 0x65, 0xb9, 0xec, 0xc8, 0x5f, + 0x00, 0xbe, 0xbf, 0xbc, 0xfd, 0xf9, 0xb4, 0xbb, 0x9b, 0x1c, 0xec, 0xa5, 0x93, 0x95, 0xda, 0xfc, + 0x64, 0xad, 0x7b, 0xb0, 0xe7, 0x5e, 0xfd, 0x05, 0x7c, 0x1e, 0xff, 0x6e, 0xd2, 0x84, 0x6f, 0xfd, + 0x53, 0xd9, 0x26, 0x23, 0xf2, 0xc0, 0x53, 0x19, 0x12, 0x95, 0x8c, 0x10, 0x95, 0x8a, 0xef, 0xc7, + 0x12, 0x99, 0x94, 0xf2, 0x23, 0x80, 0xcf, 0xa6, 0xdb, 0x6d, 0x93, 0x71, 0xd3, 0x1e, 0xf0, 0x37, + 0xb8, 0x66, 0x42, 0x4a, 0x53, 0x11, 0x4a, 0xd3, 0x51, 0x4a, 0x9f, 0xc3, 0x6a, 0x9c, 0x14, 0xa9, + 0xf8, 0x2b, 0xa8, 0x74, 0x98, 0x71, 0x40, 0x78, 0x53, 0x00, 0xb7, 0x31, 0xc7, 0x81, 0xce, 0xa9, + 0x26, 0x21, 0x74, 0x59, 0xd3, 0xbc, 0x7b, 0x8d, 0xdc, 0x84, 0x3d, 0x88, 0xaa, 0xef, 0xfa, 0x6d, + 0x59, 0x44, 0x96, 0xb4, 0xbf, 0x01, 0xff, 0x12, 0x16, 0xcd, 0xdd, 0xc7, 0x2e, 0xb6, 0x58, 0xc0, + 0xfa, 0x09, 0x7c, 0x84, 0x3d, 0x7e, 0x4c, 0x5d, 0x93, 0x9f, 0x0b, 0xe6, 0x96, 0xf2, 0xc7, 0xef, + 0xaf, 0x76, 0xe4, 0x47, 0xa2, 0x39, 0x1c, 0xba, 0x84, 0xb1, 0x03, 0xee, 0x9a, 0xb6, 0xd1, 0x9d, + 0xa5, 0xa2, 0x3d, 0x98, 0x75, 0x7c, 0x20, 0x5f, 0xd6, 0x76, 0xbd, 0x1c, 0x39, 0xb2, 0x82, 0xaf, + 0x95, 0xbe, 0xba, 0x29, 0x27, 0xba, 0xb2, 0xa8, 0x91, 0x9f, 0x88, 0x9f, 0xc1, 0xc9, 0x7b, 0x70, + 0x5e, 0xa0, 0x10, 0x5f, 0xff, 0x79, 0x0b, 0xa6, 0x3a, 0xcc, 0x40, 0x27, 0x30, 0x17, 0xbe, 0x27, + 0x91, 0x1e, 0xc9, 0xb8, 0xfa, 0x7b, 0xa3, 0x7e, 0xf4, 0xf0, 0x02, 0x41, 0x8d, 0xbe, 0x83, 0x4f, + 0x16, 0x06, 0x02, 0xd5, 0xe3, 0x40, 0x56, 0xdf, 0xd5, 0xea, 0xeb, 0xb5, 0x6a, 0x24, 0xf7, 0x2f, + 0x00, 0x16, 0x23, 0xa7, 0x11, 0x7d, 0xb6, 0x06, 0xe4, 0xd2, 0x05, 0xa5, 0xee, 0x6d, 0x58, 0x3d, + 0xb3, 0x65, 0x61, 0x24, 0xe3, 0x6d, 0x59, 0x7d, 0x59, 0xc4, 0xdb, 0x12, 0x31, 0xf3, 0xe8, 0x27, + 0x00, 0x0b, 0x11, 0x53, 0x86, 0x1a, 0xff, 0x0f, 0x18, 0x75, 0x4b, 0xa8, 0x9f, 0x6e, 0x54, 0x2b, + 0x45, 0x9d, 0xc2, 0xfc, 0xfc, 0xe4, 0xa1, 0xdd, 0x38, 0xb8, 0x95, 0xf3, 0xaf, 0xd6, 0xd7, 0x29, + 0x91, 0xc4, 0x27, 0x30, 0x17, 0x9e, 0x99, 0xf8, 0x99, 0x58, 0x31, 0xfe, 0xf1, 0x33, 0xb1, 0x6a, + 0x1c, 0xd5, 0xcc, 0xf7, 0xf7, 0x97, 0x2f, 0x41, 0xcb, 0xba, 0xba, 0x2d, 0x81, 0xeb, 0xdb, 0x12, + 0xf8, 0xe7, 0xb6, 0x04, 0x2e, 0xee, 0x4a, 0x89, 0xeb, 0xbb, 0x52, 0xe2, 0xcf, 0xbb, 0x52, 0x02, + 0xaa, 0x26, 0x8d, 0x02, 0xdd, 0x07, 0x47, 0x1f, 0x1b, 0x26, 0x3f, 0xf6, 0xfa, 0xda, 0x80, 0x5a, + 0xfa, 0x2c, 0xeb, 0x95, 0x49, 0x43, 0x91, 0x7e, 0x16, 0xfa, 0xa7, 0x9c, 0xfc, 0x16, 0xb0, 0x7e, + 0xd6, 0xff, 0x0e, 0xbe, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xc4, 0xc7, 0x08, 0x30, 0x1e, 0x0b, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/exchange/tx.pb.go b/x/exchange/tx.pb.go index a429ed2bf0..1c0995989e 100644 --- a/x/exchange/tx.pb.go +++ b/x/exchange/tx.pb.go @@ -3435,184 +3435,184 @@ func init() { func init() { proto.RegisterFile("provenance/exchange/v1/tx.proto", fileDescriptor_e333fcffc093bd1b) } var fileDescriptor_e333fcffc093bd1b = []byte{ - // 2824 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcb, 0x6f, 0x1c, 0x59, - 0xd5, 0x4f, 0xb9, 0xfd, 0xea, 0xe3, 0xc7, 0x24, 0xd7, 0x76, 0xd2, 0x6e, 0x8f, 0xdb, 0x9d, 0xce, - 0xe4, 0xfb, 0x8c, 0x07, 0x77, 0xc7, 0x1e, 0x31, 0x01, 0x33, 0x43, 0xc6, 0xed, 0xc4, 0x91, 0x47, - 0x4a, 0xb0, 0x3a, 0x09, 0x48, 0xc3, 0xa2, 0x75, 0xdd, 0x75, 0xd3, 0x29, 0x5c, 0x5d, 0xd5, 0xa9, - 0x5b, 0xed, 0xd8, 0x12, 0x08, 0x09, 0x8d, 0x04, 0x2c, 0x46, 0x1a, 0x09, 0xb1, 0x41, 0x08, 0x09, - 0x90, 0x10, 0x90, 0x05, 0x41, 0x20, 0xc4, 0x63, 0xc9, 0x66, 0x16, 0xb3, 0x18, 0xb1, 0x62, 0x05, - 0xa3, 0x44, 0x22, 0x7f, 0x02, 0x5b, 0x74, 0x1f, 0xd5, 0xf5, 0x7e, 0xb4, 0x27, 0x1d, 0xb1, 0x99, - 0x49, 0x57, 0x9d, 0x73, 0x7e, 0xe7, 0x77, 0xce, 0xbd, 0x75, 0x4f, 0x9d, 0x53, 0x86, 0x95, 0xae, - 0x65, 0x1e, 0x11, 0x03, 0x1b, 0x2d, 0x52, 0x23, 0xc7, 0xad, 0x07, 0xd8, 0x68, 0x93, 0xda, 0xd1, - 0x46, 0xcd, 0x3e, 0xae, 0x76, 0x2d, 0xd3, 0x36, 0xd1, 0x79, 0x57, 0xa0, 0xea, 0x08, 0x54, 0x8f, - 0x36, 0x8a, 0xe7, 0x70, 0x47, 0x33, 0xcc, 0x1a, 0xff, 0xaf, 0x10, 0x2d, 0x96, 0x5a, 0x26, 0xed, - 0x98, 0xb4, 0x76, 0x80, 0x29, 0xb3, 0x71, 0x40, 0x6c, 0xbc, 0x51, 0x6b, 0x99, 0x9a, 0x21, 0xef, - 0x5f, 0x90, 0xf7, 0x3b, 0xb4, 0xcd, 0x20, 0x3a, 0xb4, 0x2d, 0x6f, 0x2c, 0x8a, 0x1b, 0x4d, 0xfe, - 0xab, 0x26, 0x7e, 0xc8, 0x5b, 0xf3, 0x6d, 0xb3, 0x6d, 0x8a, 0xeb, 0xec, 0x5f, 0xf2, 0xea, 0x6a, - 0x8c, 0xd7, 0x2d, 0xb3, 0xd3, 0xd1, 0xec, 0x0e, 0x31, 0x6c, 0x47, 0xff, 0x52, 0x8c, 0x64, 0x07, - 0x5b, 0x87, 0xc4, 0x4e, 0x11, 0x32, 0x2d, 0x95, 0x58, 0x69, 0x96, 0xba, 0xd8, 0xc2, 0x1d, 0x47, - 0xe8, 0x72, 0xac, 0xd0, 0x89, 0xc7, 0xab, 0xca, 0xef, 0x15, 0x98, 0xbb, 0x45, 0xdb, 0x3b, 0x16, - 0xc1, 0x36, 0xd9, 0xa6, 0x87, 0x0d, 0xf2, 0xb0, 0x47, 0xa8, 0x8d, 0x76, 0x20, 0x8f, 0xe9, 0x61, - 0x93, 0xe3, 0x16, 0x94, 0xb2, 0xb2, 0x3a, 0xb5, 0x59, 0xae, 0x46, 0x27, 0xa0, 0xba, 0x4d, 0x0f, - 0xbf, 0xca, 0xe4, 0xea, 0xa3, 0x1f, 0xfd, 0x73, 0xe5, 0x4c, 0x63, 0x12, 0xcb, 0xdf, 0xe8, 0x26, - 0x20, 0x6e, 0xa0, 0xd9, 0x62, 0xe6, 0x35, 0xd3, 0x68, 0xde, 0x27, 0xa4, 0x30, 0xc2, 0xad, 0x2d, - 0x56, 0x65, 0x74, 0x59, 0x8e, 0xaa, 0x32, 0x47, 0xd5, 0x1d, 0x53, 0x33, 0x1a, 0x67, 0xb9, 0xd2, - 0x8e, 0xd4, 0xd9, 0x25, 0x64, 0x6b, 0xf6, 0xbb, 0xcf, 0x9f, 0xac, 0xb9, 0x0e, 0x55, 0x36, 0x60, - 0xde, 0xef, 0x34, 0xed, 0x9a, 0x06, 0x25, 0x68, 0x11, 0x26, 0x05, 0xa0, 0xa6, 0x72, 0xa7, 0x47, - 0x1b, 0x13, 0xfc, 0xf7, 0x9e, 0xea, 0x27, 0x5a, 0xd7, 0x54, 0x0f, 0xd1, 0x03, 0x4d, 0xcd, 0x46, - 0xb4, 0xae, 0xa9, 0x3e, 0xa2, 0x07, 0xf2, 0xf7, 0x8b, 0x26, 0xda, 0x77, 0xc8, 0x47, 0x94, 0x3b, - 0x9d, 0x4e, 0xf4, 0xe3, 0x11, 0x58, 0x60, 0x3a, 0x7c, 0x01, 0xee, 0xf6, 0x0c, 0x95, 0x3a, 0x54, - 0x37, 0x61, 0x02, 0xb7, 0x5a, 0x66, 0xcf, 0xb0, 0xb9, 0x4e, 0xbe, 0x5e, 0xf8, 0xfb, 0x1f, 0xd6, - 0xe7, 0xa5, 0x77, 0xdb, 0xaa, 0x6a, 0x11, 0x4a, 0xef, 0xd8, 0x96, 0x66, 0xb4, 0x1b, 0x8e, 0x20, - 0x5a, 0x82, 0xbc, 0x58, 0xa0, 0x0c, 0x89, 0x11, 0x9a, 0x69, 0x4c, 0x8a, 0x0b, 0x7b, 0x2a, 0x3a, - 0x81, 0x71, 0xdc, 0xe1, 0xf6, 0x72, 0xe5, 0x5c, 0x22, 0xd5, 0xfa, 0x2e, 0x8b, 0xd8, 0x6f, 0xfe, - 0xb5, 0xb2, 0xda, 0xd6, 0xec, 0x07, 0xbd, 0x83, 0x6a, 0xcb, 0xec, 0xc8, 0xed, 0x25, 0xff, 0xb7, - 0x4e, 0xd5, 0xc3, 0x9a, 0x7d, 0xd2, 0x25, 0x94, 0x2b, 0xd0, 0x1f, 0x3f, 0x7f, 0xb2, 0x36, 0xad, - 0x93, 0x36, 0x6e, 0x9d, 0x34, 0xd9, 0xce, 0xa5, 0xbf, 0x7a, 0xfe, 0x64, 0x4d, 0x69, 0x48, 0x40, - 0xf4, 0x16, 0x4c, 0xfb, 0x62, 0x3d, 0x9a, 0x16, 0xeb, 0xa9, 0x96, 0x1b, 0x66, 0xc6, 0x8a, 0x1c, - 0x11, 0xc3, 0x6e, 0xda, 0xb8, 0x5d, 0x18, 0x63, 0xb1, 0x68, 0x4c, 0xf2, 0x0b, 0x77, 0x71, 0x7b, - 0x6b, 0x9a, 0xe5, 0xc0, 0x09, 0x40, 0xa5, 0x00, 0xe7, 0x83, 0xd1, 0x14, 0x39, 0xa8, 0x3c, 0x14, - 0x71, 0x66, 0xab, 0x44, 0xe7, 0xcb, 0xc0, 0x89, 0xf3, 0x15, 0x18, 0xa7, 0x5a, 0xdb, 0x90, 0xeb, - 0x29, 0x29, 0xcc, 0x52, 0xce, 0x97, 0xce, 0x11, 0x5f, 0x3a, 0xb7, 0xa6, 0x98, 0x37, 0x52, 0xce, - 0x71, 0xc6, 0x0b, 0x29, 0x9d, 0xf9, 0x5b, 0x0e, 0xd0, 0x2d, 0xda, 0xde, 0xd5, 0x74, 0xbd, 0xae, - 0xb9, 0x29, 0x67, 0xae, 0x10, 0x5d, 0xcf, 0xe4, 0x0a, 0x97, 0x4b, 0x4e, 0xf8, 0xfb, 0x0a, 0x4c, - 0xdb, 0xa6, 0x8d, 0xf5, 0x26, 0xa6, 0x94, 0xd8, 0xf4, 0xe5, 0xe5, 0x7d, 0x8a, 0xc3, 0x6e, 0x73, - 0x54, 0x54, 0x81, 0x99, 0xfe, 0x16, 0x69, 0x6a, 0x2a, 0x2d, 0x8c, 0x96, 0x73, 0xab, 0xa3, 0x8d, - 0x29, 0x67, 0x3f, 0xee, 0xa9, 0x14, 0x7d, 0x0d, 0x8a, 0x82, 0x51, 0x93, 0x12, 0xdb, 0xd6, 0x09, - 0x7b, 0xe8, 0x35, 0xef, 0xeb, 0xd8, 0xe6, 0xcb, 0x65, 0x2c, 0x6d, 0xb9, 0x5c, 0x10, 0xca, 0x77, - 0xfa, 0xba, 0xbb, 0x3a, 0xb6, 0xd9, 0xd2, 0xb9, 0x0d, 0xe7, 0xfb, 0xcf, 0x21, 0xff, 0x76, 0x1f, - 0x4f, 0xb3, 0x39, 0xe7, 0x3c, 0x18, 0xbd, 0x3b, 0x5e, 0xe6, 0x97, 0xa3, 0x55, 0x16, 0xf8, 0x33, - 0xca, 0x4d, 0xa2, 0x4c, 0xee, 0x5f, 0xdd, 0xe4, 0x6e, 0xd3, 0xc3, 0x7e, 0x72, 0xab, 0x30, 0x76, - 0xd0, 0x3b, 0xc9, 0x90, 0x5b, 0x21, 0x96, 0x9c, 0xda, 0x77, 0x40, 0x84, 0xb8, 0xd9, 0xb5, 0xb4, - 0x16, 0x29, 0xe4, 0x52, 0xc8, 0xc8, 0x47, 0x20, 0x70, 0x9d, 0x7d, 0xa6, 0xc2, 0xb2, 0xe2, 0x46, - 0xc6, 0x93, 0x15, 0x87, 0x35, 0xcb, 0xca, 0x8f, 0x14, 0x58, 0xe0, 0xce, 0xf8, 0xb2, 0x42, 0x08, - 0x2d, 0x8c, 0xbd, 0xac, 0x95, 0x34, 0xc7, 0xf1, 0x3d, 0x89, 0x25, 0x84, 0xb2, 0xac, 0xba, 0x2b, - 0x6a, 0xc0, 0xac, 0x3a, 0xab, 0xce, 0x9b, 0x55, 0x60, 0x59, 0x15, 0x61, 0xf7, 0x24, 0x55, 0x24, - 0x4f, 0x26, 0xf5, 0x53, 0x85, 0x6f, 0xe6, 0x5b, 0x3c, 0x01, 0xc2, 0x1d, 0x4f, 0x62, 0xb1, 0xda, - 0xd1, 0x8c, 0xf4, 0xc4, 0x72, 0xb1, 0xe4, 0xc4, 0x86, 0xd2, 0x92, 0x0b, 0xa7, 0x25, 0xcb, 0x86, - 0xba, 0x0c, 0xb3, 0xe4, 0xb8, 0x4b, 0x5a, 0x76, 0xb3, 0x8b, 0x2d, 0x5b, 0xc3, 0x3a, 0xdf, 0x44, - 0x93, 0x8d, 0x19, 0x71, 0x75, 0x5f, 0x5c, 0x94, 0xcc, 0xb9, 0x5f, 0x95, 0x45, 0xb8, 0x10, 0x62, - 0x28, 0xd9, 0xff, 0x32, 0x07, 0xe5, 0xfe, 0xbd, 0x9d, 0x7e, 0xb1, 0x34, 0xc4, 0x38, 0xec, 0xc0, - 0xb8, 0x66, 0x74, 0x7b, 0xfd, 0x87, 0xd6, 0xe5, 0xd8, 0x72, 0x46, 0x3c, 0xf9, 0xb7, 0xf9, 0x41, - 0x23, 0xd7, 0xb9, 0x54, 0x45, 0x37, 0x60, 0xc2, 0xec, 0xd9, 0xdc, 0xca, 0xe8, 0xe0, 0x56, 0x1c, - 0x5d, 0x74, 0x0d, 0x46, 0x3d, 0x8b, 0x7e, 0x20, 0x1b, 0x5c, 0x91, 0x19, 0x30, 0xf0, 0x11, 0x2d, - 0x8c, 0x27, 0x1b, 0xb8, 0x4d, 0x6c, 0xfe, 0xc8, 0xe4, 0x1b, 0xd4, 0x31, 0xc0, 0x14, 0xfd, 0x27, - 0xe0, 0x44, 0xe0, 0x04, 0xf4, 0xe6, 0xf0, 0x12, 0x5c, 0x4c, 0xc8, 0x93, 0xcc, 0xe6, 0xbf, 0x15, - 0xa8, 0xf4, 0xa5, 0x1a, 0x44, 0x27, 0x98, 0x12, 0x57, 0x98, 0x0e, 0x25, 0x9f, 0xef, 0x02, 0xd8, - 0x66, 0xd3, 0x12, 0x60, 0xa7, 0xc9, 0x69, 0xde, 0x36, 0xa5, 0xab, 0xfe, 0x68, 0x8c, 0x26, 0x44, - 0xe3, 0x32, 0x5c, 0x4a, 0xe4, 0x29, 0xe3, 0xf1, 0x67, 0x6f, 0x3c, 0xee, 0x10, 0x9b, 0x6f, 0xa2, - 0x1b, 0xc7, 0x36, 0xb1, 0x0c, 0xac, 0xef, 0x5d, 0x1f, 0x4a, 0x3c, 0xbc, 0x35, 0x44, 0xce, 0x57, - 0x43, 0xa0, 0x15, 0x98, 0x22, 0x12, 0x9c, 0xdd, 0x15, 0x04, 0xc1, 0xb9, 0xb4, 0xa7, 0xc6, 0x52, - 0x8c, 0x72, 0x5d, 0x52, 0xfc, 0x60, 0x04, 0x0a, 0x7d, 0xb9, 0xaf, 0x6b, 0xf6, 0x03, 0xd5, 0xc2, - 0x8f, 0x86, 0x42, 0x6c, 0x99, 0x27, 0x1a, 0x0b, 0x3d, 0x4e, 0x2d, 0xcf, 0x72, 0x27, 0x0d, 0x79, - 0x8a, 0xd0, 0xd1, 0x97, 0x5c, 0x84, 0xfa, 0xc2, 0xb6, 0x04, 0x8b, 0x11, 0xe1, 0x90, 0xc1, 0xfa, - 0x58, 0x81, 0xe5, 0xfe, 0xdd, 0x7b, 0x5d, 0x15, 0xdb, 0xe4, 0x3a, 0xb1, 0xb1, 0xa6, 0x0f, 0x67, - 0x6b, 0x34, 0x60, 0x56, 0xde, 0x54, 0x05, 0x8a, 0x3c, 0xce, 0x63, 0xb7, 0x87, 0x70, 0x4c, 0xba, - 0x24, 0xb7, 0xc7, 0x4c, 0xc7, 0x7b, 0xd1, 0xc7, 0xb5, 0x0c, 0xa5, 0x38, 0x36, 0x92, 0xf0, 0x6f, - 0xc3, 0x84, 0x6f, 0x18, 0xf8, 0x40, 0x27, 0xaa, 0x5b, 0x99, 0xfa, 0x08, 0x17, 0xe3, 0x08, 0x17, - 0x14, 0x87, 0xf2, 0x4a, 0x88, 0x72, 0x7d, 0xa4, 0xa0, 0x78, 0x68, 0xaf, 0xc3, 0x59, 0xdc, 0x6a, - 0x91, 0xae, 0xad, 0x19, 0x6d, 0x71, 0x96, 0x09, 0xe2, 0x93, 0x5c, 0xee, 0x95, 0xfe, 0x3d, 0xbe, - 0xa4, 0xa9, 0xa8, 0xf3, 0x1d, 0x27, 0x2a, 0xaf, 0x85, 0x38, 0xf5, 0x1d, 0x16, 0x9c, 0xb6, 0x46, - 0x0a, 0x4a, 0xe5, 0xb1, 0x02, 0x97, 0x03, 0x62, 0xdb, 0x7e, 0xb3, 0x43, 0x49, 0xe8, 0xe7, 0xe2, - 0x98, 0x85, 0x59, 0x79, 0xf3, 0xb4, 0x0a, 0xff, 0x97, 0xe6, 0xac, 0x9b, 0xaf, 0x72, 0x40, 0xf4, - 0x1e, 0x75, 0xaa, 0xa4, 0xa1, 0x50, 0xda, 0x84, 0x05, 0xac, 0xeb, 0xe6, 0xa3, 0x66, 0x8f, 0xfa, - 0xaa, 0x41, 0xc9, 0x6b, 0x8e, 0xdf, 0x74, 0x7d, 0x60, 0xb7, 0x62, 0xcf, 0xa5, 0xb0, 0xc3, 0x92, - 0xd6, 0x5f, 0x14, 0x58, 0x8b, 0x8b, 0xc0, 0xb0, 0xcf, 0xa7, 0x37, 0x60, 0xc1, 0xcd, 0x99, 0xa7, - 0x1d, 0x24, 0x09, 0xce, 0xe3, 0x08, 0x47, 0x7c, 0x0c, 0xd7, 0xe1, 0xf5, 0x4c, 0xbe, 0x4b, 0xae, - 0xbf, 0x53, 0xe0, 0xff, 0x03, 0xf2, 0x7b, 0x86, 0x4d, 0xac, 0x0e, 0x51, 0x35, 0x6c, 0x9d, 0x5c, - 0x27, 0x86, 0xd9, 0x19, 0x0a, 0xd1, 0x75, 0x40, 0x9a, 0x07, 0xa8, 0xa9, 0x32, 0x24, 0xf9, 0x9c, - 0x3e, 0xa7, 0x05, 0x5d, 0xf0, 0x51, 0x5c, 0x83, 0xd5, 0x74, 0x97, 0x25, 0xbf, 0x5f, 0x8f, 0x78, - 0x32, 0x7e, 0x0b, 0x1b, 0xb8, 0x4d, 0xf6, 0x89, 0xd5, 0xd1, 0x28, 0xd5, 0x4c, 0x83, 0x0e, 0xeb, - 0xe4, 0xb1, 0xc8, 0x91, 0x79, 0x48, 0x9a, 0x58, 0xd7, 0x79, 0x89, 0x91, 0x6f, 0xe4, 0xc5, 0x95, - 0x6d, 0x5d, 0x47, 0xbb, 0x90, 0xe7, 0x15, 0x08, 0xfb, 0x2d, 0x0f, 0x9f, 0x4b, 0x09, 0x05, 0x08, - 0xa1, 0xf4, 0xa6, 0x85, 0xfb, 0xe5, 0xc7, 0x24, 0x2b, 0x3f, 0x98, 0x2a, 0xba, 0x0e, 0x93, 0xb6, - 0xd9, 0x6c, 0xb3, 0x7b, 0xb2, 0x22, 0x1c, 0xc0, 0xcc, 0x84, 0x6d, 0xf2, 0x9f, 0xbe, 0xb8, 0xbe, - 0xe6, 0x29, 0x3f, 0x22, 0x42, 0xe5, 0x44, 0x34, 0xe7, 0x79, 0xe6, 0x09, 0xb1, 0x06, 0x79, 0xb8, - 0x6d, 0xdb, 0x43, 0x7b, 0x8a, 0x9d, 0xe3, 0xaf, 0x56, 0xa4, 0xc9, 0x5e, 0x48, 0xc4, 0x99, 0x2e, - 0xa3, 0x3a, 0xdb, 0x72, 0x7a, 0x79, 0x77, 0xd9, 0xc1, 0x8e, 0x6a, 0x30, 0xef, 0x17, 0xb5, 0x48, - 0xc7, 0x3c, 0x12, 0x51, 0xce, 0x37, 0xce, 0x79, 0xa4, 0x1b, 0xfc, 0x86, 0xc7, 0x36, 0x7b, 0x91, - 0x91, 0xb6, 0xc7, 0xbc, 0xb6, 0xeb, 0x9a, 0x1a, 0xb4, 0x2d, 0x45, 0xa5, 0xed, 0x71, 0xaf, 0x6d, - 0x2e, 0x2d, 0x6d, 0x5f, 0x85, 0x82, 0x54, 0x70, 0xb7, 0xb1, 0x03, 0x31, 0xc1, 0x95, 0x16, 0xc4, - 0x7d, 0x77, 0x5b, 0x0a, 0xa4, 0xb7, 0x61, 0x29, 0x52, 0x51, 0x02, 0x4e, 0x72, 0xdd, 0x42, 0x58, - 0x57, 0xe0, 0xfa, 0x32, 0x7a, 0x11, 0x56, 0x62, 0x53, 0x25, 0xd3, 0xf9, 0x1e, 0x7f, 0xdb, 0x12, - 0xbd, 0xc2, 0x7d, 0xd1, 0xe5, 0x75, 0xd2, 0x78, 0x0d, 0x26, 0x64, 0xdf, 0x57, 0xb6, 0x38, 0x57, - 0xe2, 0x16, 0x98, 0x54, 0x74, 0x16, 0x97, 0xd4, 0xaa, 0x14, 0x79, 0xb1, 0x17, 0xb0, 0xed, 0xc3, - 0x15, 0xcf, 0xa6, 0xe1, 0xe0, 0x06, 0x6c, 0x4b, 0xdc, 0xc7, 0x0a, 0x07, 0x6e, 0x90, 0x6f, 0xf2, - 0xd7, 0x4f, 0x1f, 0xf0, 0x15, 0x18, 0xb7, 0xb1, 0xd5, 0x26, 0xe9, 0x9d, 0x4e, 0x29, 0xc7, 0x3b, - 0x65, 0x66, 0xcf, 0x6a, 0x89, 0xb6, 0x6d, 0x72, 0xa7, 0x8c, 0xcb, 0x05, 0xab, 0xea, 0x5c, 0xa8, - 0xaa, 0x16, 0xad, 0x1d, 0x61, 0x5f, 0x32, 0x09, 0x38, 0xeb, 0xd4, 0xd2, 0x4a, 0xf8, 0x26, 0x3d, - 0x3d, 0x95, 0x4d, 0x98, 0x10, 0x2e, 0xd2, 0xc2, 0x08, 0x5b, 0x62, 0x49, 0x7d, 0x5e, 0x29, 0xe8, - 0xf7, 0x55, 0xd4, 0xb2, 0x41, 0x77, 0xa4, 0xb3, 0xdf, 0x12, 0x4b, 0x81, 0xf7, 0x20, 0x23, 0x7c, - 0x95, 0x41, 0x54, 0x32, 0x06, 0xf1, 0x22, 0x4c, 0x7b, 0x82, 0x28, 0x1d, 0x6e, 0x4c, 0xb9, 0x51, - 0x74, 0x5c, 0x13, 0xf2, 0xd2, 0xb5, 0x20, 0xba, 0x74, 0xed, 0x4f, 0xa2, 0xea, 0xdc, 0xe1, 0xab, - 0x4a, 0xde, 0xbd, 0xcb, 0x29, 0x9d, 0xde, 0xc1, 0x40, 0x96, 0x47, 0x82, 0x59, 0x46, 0x57, 0x01, - 0x0c, 0xf2, 0xa8, 0x29, 0x73, 0x94, 0x4b, 0x31, 0x9b, 0x37, 0xc8, 0x23, 0xe1, 0x92, 0x9f, 0x97, - 0x28, 0xa9, 0x23, 0x3d, 0x97, 0xe4, 0x7e, 0xa6, 0x70, 0xea, 0x37, 0xcd, 0x23, 0xb1, 0x0d, 0x9d, - 0x97, 0x50, 0x41, 0xec, 0x4d, 0xc8, 0xe3, 0x9e, 0xfd, 0xc0, 0xb4, 0x34, 0xfb, 0x24, 0x95, 0x9b, - 0x2b, 0x8a, 0xde, 0x82, 0x71, 0xf1, 0x7c, 0x96, 0xd3, 0x8a, 0x52, 0xf2, 0x2b, 0x82, 0xd3, 0x0e, - 0x11, 0x3a, 0xce, 0x5c, 0xc6, 0xb1, 0x56, 0x79, 0x15, 0x8a, 0x51, 0x2e, 0x4a, 0x06, 0x7f, 0x9c, - 0xe1, 0x1b, 0xf6, 0xa6, 0x79, 0x24, 0x9e, 0x60, 0xbb, 0x84, 0xd0, 0xcf, 0xea, 0x7f, 0xe2, 0x81, - 0x73, 0x0f, 0x2e, 0x60, 0x55, 0x6d, 0xde, 0x27, 0xa4, 0xe9, 0x39, 0x4d, 0xee, 0xeb, 0x38, 0xc3, - 0xc0, 0x42, 0x10, 0x9d, 0xc3, 0xaa, 0xba, 0x4b, 0x48, 0x7f, 0xd2, 0xb4, 0xab, 0x63, 0x1b, 0x7d, - 0x03, 0x8a, 0xe2, 0x09, 0x1e, 0x69, 0x79, 0x34, 0x9b, 0xe5, 0xf3, 0xc2, 0x44, 0xc8, 0x78, 0xd8, - 0x67, 0x76, 0x4a, 0x71, 0xcb, 0x63, 0xa7, 0xf0, 0xb9, 0xae, 0xa9, 0xf1, 0x3e, 0xf7, 0x2d, 0x8f, - 0x9f, 0xce, 0x67, 0xc7, 0x78, 0x0b, 0x4a, 0x8e, 0xcf, 0xd1, 0x3d, 0x77, 0x7e, 0x4c, 0x66, 0x00, - 0x28, 0x0a, 0xd7, 0xef, 0x44, 0xf4, 0xde, 0x91, 0x06, 0x17, 0x3d, 0x0c, 0x62, 0x70, 0x26, 0xb3, - 0xe1, 0x2c, 0xf7, 0x89, 0x44, 0x42, 0x19, 0x50, 0x8e, 0xe7, 0x63, 0x61, 0x5b, 0x33, 0x69, 0x21, - 0xcf, 0x91, 0x62, 0x47, 0x85, 0xbb, 0x84, 0x34, 0x98, 0xa0, 0x04, 0x7c, 0x35, 0x9a, 0x18, 0x17, - 0xa1, 0xc8, 0x86, 0x4b, 0x89, 0xd4, 0x24, 0x24, 0x0c, 0x04, 0xb9, 0x12, 0xcb, 0x51, 0xa2, 0x62, - 0x58, 0x76, 0x58, 0x86, 0x5b, 0xf2, 0x2c, 0x98, 0x53, 0xd9, 0x82, 0xb9, 0x28, 0xb8, 0xd5, 0x03, - 0x6d, 0x75, 0x16, 0xc8, 0x36, 0x94, 0x3d, 0xc4, 0xa2, 0x51, 0xa6, 0xb3, 0xa1, 0xbc, 0xda, 0xa7, - 0x13, 0x05, 0xa4, 0xc3, 0x4a, 0x2c, 0x17, 0x19, 0xbd, 0x99, 0x81, 0xa2, 0xb7, 0x14, 0x49, 0x4a, - 0x46, 0xce, 0x82, 0x4a, 0x12, 0x2d, 0x09, 0x38, 0x3b, 0x10, 0x60, 0x29, 0x8e, 0x9f, 0xc4, 0xf4, - 0xec, 0xb1, 0x70, 0x4d, 0xc9, 0x03, 0xf9, 0xca, 0x40, 0x7b, 0x6c, 0x27, 0x50, 0x75, 0x46, 0xec, - 0xb1, 0x18, 0x9c, 0xb3, 0x83, 0xee, 0xb1, 0x48, 0xa8, 0x77, 0xa1, 0x42, 0x89, 0x2d, 0x70, 0x5c, - 0x00, 0x4f, 0x14, 0x0f, 0xb4, 0x2e, 0x2d, 0x9c, 0xe3, 0x4f, 0xf4, 0x12, 0x25, 0x36, 0xb3, 0x13, - 0x68, 0x3f, 0xf3, 0x82, 0x51, 0xeb, 0x52, 0x74, 0x1b, 0x5e, 0xeb, 0x19, 0x19, 0xac, 0x21, 0xfe, - 0xe6, 0x5d, 0xe6, 0xb2, 0x09, 0xf6, 0x42, 0xc7, 0x9a, 0xa8, 0xdd, 0x02, 0xe7, 0x96, 0x3c, 0xd4, - 0xbe, 0xe3, 0xdc, 0xdb, 0xd1, 0x4d, 0xfa, 0x82, 0x0e, 0xe5, 0xa4, 0x43, 0x2d, 0xe4, 0xdc, 0x52, - 0xbf, 0x2c, 0xf0, 0x3a, 0x20, 0xbd, 0xfb, 0x45, 0xbf, 0x68, 0x10, 0xaf, 0xd7, 0xfb, 0xfc, 0x13, - 0x91, 0x17, 0x50, 0x34, 0x88, 0x6f, 0x4d, 0xd2, 0x8a, 0x06, 0x01, 0xe7, 0x14, 0x0d, 0x42, 0x67, - 0xeb, 0xac, 0x9f, 0x40, 0x41, 0xa9, 0x94, 0x9d, 0xb2, 0xc1, 0xef, 0xa4, 0xa7, 0xef, 0xf6, 0x53, - 0x31, 0x2c, 0xfb, 0xdf, 0x21, 0x11, 0xcc, 0x82, 0x18, 0x75, 0x45, 0xf9, 0xbf, 0xf9, 0x9f, 0x65, - 0xc8, 0xdd, 0xa2, 0x6d, 0x74, 0x1f, 0xf2, 0xfd, 0xa3, 0x1e, 0xbd, 0x1e, 0x5b, 0x67, 0x85, 0x3f, - 0xc6, 0x29, 0x7e, 0x3e, 0x9b, 0xb0, 0xfc, 0x36, 0xa4, 0x8f, 0x53, 0xd7, 0xd4, 0x0c, 0x38, 0xee, - 0xb7, 0x30, 0x19, 0x70, 0xbc, 0xdf, 0xa0, 0xe8, 0x30, 0xe5, 0xf9, 0x2c, 0x02, 0xad, 0x27, 0x29, - 0x87, 0x3e, 0x46, 0x29, 0x56, 0xb3, 0x8a, 0x7b, 0xd0, 0xdc, 0xef, 0x1e, 0x92, 0xd1, 0x42, 0x9f, - 0x64, 0x24, 0xa3, 0x85, 0x3f, 0xa7, 0x40, 0x2d, 0x98, 0x74, 0xa6, 0xf0, 0x68, 0x2d, 0x41, 0x37, - 0xf0, 0xbd, 0x45, 0xf1, 0xf5, 0x4c, 0xb2, 0x7e, 0x90, 0x6d, 0x7a, 0x98, 0x0e, 0xe2, 0x99, 0xfb, - 0xa7, 0x82, 0x78, 0xc7, 0xcc, 0xc8, 0x84, 0x69, 0xef, 0x00, 0x16, 0x25, 0x45, 0x22, 0x62, 0x16, - 0x5d, 0xac, 0x65, 0x96, 0x97, 0x80, 0x1f, 0xb0, 0xad, 0x1a, 0x39, 0x2e, 0x44, 0x5f, 0x4c, 0xb5, - 0x15, 0x33, 0x09, 0x2e, 0x7e, 0xe9, 0x14, 0x9a, 0xd2, 0x9f, 0x1f, 0xb2, 0x97, 0xeb, 0x98, 0x81, - 0x1d, 0xda, 0x4a, 0xb5, 0x1b, 0x3b, 0xcd, 0x2c, 0x7e, 0xf9, 0x54, 0xba, 0x21, 0xaf, 0xc2, 0x33, - 0xb6, 0x0c, 0x5e, 0xc5, 0xce, 0x14, 0x33, 0x78, 0x15, 0x3f, 0xd4, 0x43, 0x3d, 0x98, 0xf5, 0x4f, - 0xb0, 0xd0, 0x95, 0x54, 0x73, 0x81, 0xd9, 0x5f, 0x71, 0x63, 0x00, 0x0d, 0x09, 0xfb, 0xbe, 0x02, - 0x73, 0x11, 0xd3, 0x24, 0xf4, 0x85, 0x54, 0x53, 0x51, 0xb3, 0xb4, 0xe2, 0x9b, 0x83, 0xaa, 0x49, - 0x37, 0x7e, 0x10, 0x70, 0x43, 0x0e, 0x80, 0x32, 0xbb, 0xe1, 0x9f, 0x70, 0x65, 0x76, 0x23, 0x30, - 0x67, 0xaa, 0xe4, 0xbe, 0x3f, 0xa2, 0xa0, 0x9f, 0x28, 0xb0, 0x94, 0x30, 0xb8, 0x41, 0x6f, 0x67, - 0x34, 0x1e, 0x3d, 0x9d, 0x2a, 0x7e, 0xe5, 0xb4, 0xea, 0xa1, 0x4d, 0x1e, 0x9c, 0xbd, 0x64, 0xd8, - 0xe4, 0x31, 0xf3, 0xa5, 0x0c, 0x9b, 0x3c, 0x6e, 0xd0, 0x83, 0x1e, 0x2b, 0x50, 0x4e, 0x9b, 0x94, - 0xa0, 0xfa, 0xa0, 0xa4, 0x23, 0x36, 0xfd, 0xce, 0x67, 0xb2, 0x21, 0xbd, 0xfd, 0xb9, 0x02, 0xcb, - 0x89, 0x43, 0x0f, 0x74, 0x2d, 0x23, 0x4c, 0xdc, 0x84, 0xa7, 0xf8, 0xce, 0xe9, 0x0d, 0x48, 0x27, - 0x3f, 0x54, 0xe0, 0x42, 0xcc, 0x04, 0x01, 0xa5, 0x67, 0x2a, 0x6e, 0x40, 0x53, 0xdc, 0x3a, 0x8d, - 0xaa, 0x74, 0xe9, 0x7b, 0x0a, 0xcc, 0x47, 0xb5, 0xc0, 0xd1, 0x9b, 0x19, 0x8d, 0x06, 0xc6, 0x1b, - 0xc5, 0xab, 0x03, 0xeb, 0x49, 0x4f, 0x2c, 0x98, 0xf1, 0x35, 0xc3, 0x51, 0x2d, 0xb5, 0x74, 0xf2, - 0x77, 0xa8, 0x8b, 0x57, 0xb2, 0x2b, 0xb8, 0x98, 0xbe, 0x46, 0x78, 0x22, 0x66, 0x54, 0x3b, 0x3e, - 0x11, 0x33, 0xb2, 0xc7, 0xce, 0x30, 0x7d, 0x6d, 0xe0, 0x44, 0xcc, 0xa8, 0x4e, 0x7c, 0x22, 0x66, - 0x64, 0x37, 0x9c, 0x1d, 0x42, 0xfe, 0xd6, 0x33, 0xca, 0x6c, 0x83, 0x66, 0x39, 0x84, 0xa2, 0xfb, - 0xda, 0x0c, 0xd6, 0xdf, 0x56, 0x4e, 0x84, 0x8d, 0xec, 0x7f, 0x27, 0xc2, 0x46, 0xf7, 0xac, 0xf9, - 0xd9, 0x17, 0xd1, 0xf6, 0x4d, 0x3c, 0x74, 0xe2, 0x1b, 0xdc, 0x89, 0x87, 0x4e, 0x42, 0x77, 0x19, - 0x1d, 0xc3, 0x2b, 0x81, 0xb6, 0x2d, 0x4a, 0x22, 0x13, 0xdd, 0x85, 0x2e, 0x6e, 0x0e, 0xa2, 0xe2, - 0x2e, 0x31, 0xdf, 0x9b, 0x75, 0xe2, 0x12, 0x8b, 0xea, 0x1d, 0x27, 0x2e, 0xb1, 0xc8, 0x97, 0x76, - 0x96, 0x6b, 0xff, 0x0b, 0x33, 0x4a, 0xb1, 0x11, 0x7e, 0xb9, 0x2f, 0x6e, 0x0c, 0xa0, 0x21, 0x61, - 0xbf, 0xcd, 0x83, 0xec, 0x7d, 0x49, 0x4c, 0x0b, 0x72, 0xc4, 0x0b, 0x6f, 0x5a, 0x90, 0xa3, 0xde, - 0x41, 0x45, 0x4d, 0x61, 0xc2, 0xb4, 0x0f, 0x3b, 0xe9, 0x55, 0x20, 0x0a, 0xb8, 0x96, 0x59, 0x5e, - 0xa0, 0xd6, 0xc9, 0x47, 0x4f, 0x4b, 0xca, 0x27, 0x4f, 0x4b, 0xca, 0xa7, 0x4f, 0x4b, 0xca, 0x87, - 0xcf, 0x4a, 0x67, 0x3e, 0x79, 0x56, 0x3a, 0xf3, 0x8f, 0x67, 0xa5, 0x33, 0xb0, 0xa8, 0x99, 0x31, - 0xc6, 0xf6, 0x95, 0xf7, 0xaa, 0x9e, 0xcf, 0xb3, 0x5c, 0xa1, 0x75, 0xcd, 0xf4, 0xfc, 0xaa, 0x1d, - 0xf7, 0xff, 0xaa, 0xe5, 0x60, 0x9c, 0xff, 0x29, 0xcb, 0x1b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, - 0x91, 0x2f, 0xfa, 0x5a, 0x42, 0x34, 0x00, 0x00, + // 2830 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0x1c, 0x57, + 0x15, 0xcf, 0x78, 0xfd, 0xb5, 0xc7, 0x1f, 0x4d, 0xae, 0xed, 0x64, 0x3d, 0xae, 0xd7, 0x9b, 0x4d, + 0x03, 0xc6, 0xc5, 0xbb, 0xb1, 0x2b, 0x5a, 0x30, 0x2d, 0xa9, 0xd7, 0x89, 0x23, 0x57, 0x4a, 0xb0, + 0x36, 0x09, 0x48, 0xe5, 0x61, 0x75, 0xbd, 0x73, 0xb3, 0x19, 0x3c, 0x3b, 0xb3, 0x99, 0x3b, 0xeb, + 0xd8, 0x12, 0x08, 0x84, 0x2a, 0x01, 0x0f, 0x95, 0x2a, 0x21, 0x5e, 0x10, 0x42, 0x02, 0x24, 0x04, + 0xe4, 0x81, 0x20, 0x10, 0xe2, 0xe3, 0x91, 0x97, 0x3e, 0xf4, 0xa1, 0xe2, 0x89, 0x27, 0xa8, 0x12, + 0x89, 0xfc, 0x17, 0x08, 0xdd, 0x8f, 0xd9, 0x9d, 0xef, 0x99, 0x75, 0xb3, 0x11, 0x2f, 0x6d, 0x76, + 0xe6, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xee, 0x9d, 0x7b, 0xe6, 0x9c, 0x31, 0xac, 0x74, 0x6c, 0xeb, + 0x88, 0x98, 0xd8, 0x6c, 0x92, 0x2a, 0x39, 0x6e, 0xde, 0xc7, 0x66, 0x8b, 0x54, 0x8f, 0x36, 0xaa, + 0xce, 0x71, 0xa5, 0x63, 0x5b, 0x8e, 0x85, 0xce, 0xf7, 0x05, 0x2a, 0xae, 0x40, 0xe5, 0x68, 0x43, + 0x3d, 0x87, 0xdb, 0xba, 0x69, 0x55, 0xf9, 0x7f, 0x85, 0xa8, 0x5a, 0x6c, 0x5a, 0xb4, 0x6d, 0xd1, + 0xea, 0x01, 0xa6, 0xcc, 0xc6, 0x01, 0x71, 0xf0, 0x46, 0xb5, 0x69, 0xe9, 0xa6, 0xbc, 0x7f, 0x41, + 0xde, 0x6f, 0xd3, 0x16, 0x83, 0x68, 0xd3, 0x96, 0xbc, 0xb1, 0x28, 0x6e, 0x34, 0xf8, 0xaf, 0xaa, + 0xf8, 0x21, 0x6f, 0xcd, 0xb7, 0xac, 0x96, 0x25, 0xae, 0xb3, 0x7f, 0xc9, 0xab, 0xab, 0x31, 0x5e, + 0x37, 0xad, 0x76, 0x5b, 0x77, 0xda, 0xc4, 0x74, 0x5c, 0xfd, 0x4b, 0x31, 0x92, 0x6d, 0x6c, 0x1f, + 0x12, 0x27, 0x45, 0xc8, 0xb2, 0x35, 0x62, 0xa7, 0x59, 0xea, 0x60, 0x1b, 0xb7, 0x5d, 0xa1, 0xcb, + 0xb1, 0x42, 0x27, 0x1e, 0xaf, 0xca, 0x7f, 0x50, 0x60, 0xee, 0x26, 0x6d, 0xed, 0xd8, 0x04, 0x3b, + 0x64, 0x9b, 0x1e, 0xd6, 0xc9, 0x83, 0x2e, 0xa1, 0x0e, 0xda, 0x81, 0x3c, 0xa6, 0x87, 0x0d, 0x8e, + 0x5b, 0x50, 0x4a, 0xca, 0xea, 0xd4, 0x66, 0xa9, 0x12, 0x9d, 0x80, 0xca, 0x36, 0x3d, 0xfc, 0x2a, + 0x93, 0xab, 0x8d, 0x7e, 0xf8, 0xaf, 0x95, 0x33, 0xf5, 0x49, 0x2c, 0x7f, 0xa3, 0x1b, 0x80, 0xb8, + 0x81, 0x46, 0x93, 0x99, 0xd7, 0x2d, 0xb3, 0x71, 0x8f, 0x90, 0xc2, 0x08, 0xb7, 0xb6, 0x58, 0x91, + 0xd1, 0x65, 0x39, 0xaa, 0xc8, 0x1c, 0x55, 0x76, 0x2c, 0xdd, 0xac, 0x9f, 0xe5, 0x4a, 0x3b, 0x52, + 0x67, 0x97, 0x90, 0xad, 0xd9, 0xef, 0x3d, 0x7b, 0xbc, 0xd6, 0x77, 0xa8, 0xbc, 0x01, 0xf3, 0x7e, + 0xa7, 0x69, 0xc7, 0x32, 0x29, 0x41, 0x8b, 0x30, 0x29, 0x00, 0x75, 0x8d, 0x3b, 0x3d, 0x5a, 0x9f, + 0xe0, 0xbf, 0xf7, 0x34, 0x3f, 0xd1, 0x9a, 0xae, 0x79, 0x88, 0x1e, 0xe8, 0x5a, 0x36, 0xa2, 0x35, + 0x5d, 0xf3, 0x11, 0x3d, 0x90, 0xbf, 0x9f, 0x37, 0xd1, 0x9e, 0x43, 0x3e, 0xa2, 0xdc, 0xe9, 0x74, + 0xa2, 0x1f, 0x8d, 0xc0, 0x02, 0xd3, 0xe1, 0x0b, 0x70, 0xb7, 0x6b, 0x6a, 0xd4, 0xa5, 0xba, 0x09, + 0x13, 0xb8, 0xd9, 0xb4, 0xba, 0xa6, 0xc3, 0x75, 0xf2, 0xb5, 0xc2, 0x3f, 0xfe, 0xb8, 0x3e, 0x2f, + 0xbd, 0xdb, 0xd6, 0x34, 0x9b, 0x50, 0x7a, 0xdb, 0xb1, 0x75, 0xb3, 0x55, 0x77, 0x05, 0xd1, 0x12, + 0xe4, 0xc5, 0x02, 0x65, 0x48, 0x8c, 0xd0, 0x4c, 0x7d, 0x52, 0x5c, 0xd8, 0xd3, 0xd0, 0x09, 0x8c, + 0xe3, 0x36, 0xb7, 0x97, 0x2b, 0xe5, 0x12, 0xa9, 0xd6, 0x76, 0x59, 0xc4, 0x7e, 0xfb, 0xef, 0x95, + 0xd5, 0x96, 0xee, 0xdc, 0xef, 0x1e, 0x54, 0x9a, 0x56, 0x5b, 0x6e, 0x2f, 0xf9, 0xbf, 0x75, 0xaa, + 0x1d, 0x56, 0x9d, 0x93, 0x0e, 0xa1, 0x5c, 0x81, 0xfe, 0xe4, 0xd9, 0xe3, 0xb5, 0x69, 0x83, 0xb4, + 0x70, 0xf3, 0xa4, 0xc1, 0x76, 0x2e, 0xfd, 0xf5, 0xb3, 0xc7, 0x6b, 0x4a, 0x5d, 0x02, 0xa2, 0x37, + 0x61, 0xda, 0x17, 0xeb, 0xd1, 0xb4, 0x58, 0x4f, 0x35, 0xfb, 0x61, 0x66, 0xac, 0xc8, 0x11, 0x31, + 0x9d, 0x86, 0x83, 0x5b, 0x85, 0x31, 0x16, 0x8b, 0xfa, 0x24, 0xbf, 0x70, 0x07, 0xb7, 0xb6, 0xa6, + 0x59, 0x0e, 0xdc, 0x00, 0x94, 0x0b, 0x70, 0x3e, 0x18, 0x4d, 0x91, 0x83, 0xf2, 0x03, 0x11, 0x67, + 0xb6, 0x4a, 0x0c, 0xbe, 0x0c, 0xdc, 0x38, 0x5f, 0x81, 0x71, 0xaa, 0xb7, 0x4c, 0xb9, 0x9e, 0x92, + 0xc2, 0x2c, 0xe5, 0x7c, 0xe9, 0x1c, 0xf1, 0xa5, 0x73, 0x6b, 0x8a, 0x79, 0x23, 0xe5, 0x5c, 0x67, + 0xbc, 0x90, 0xd2, 0x99, 0xbf, 0xe7, 0x00, 0xdd, 0xa4, 0xad, 0x5d, 0xdd, 0x30, 0x6a, 0x7a, 0x3f, + 0xe5, 0xcc, 0x15, 0x62, 0x18, 0x99, 0x5c, 0xe1, 0x72, 0xc9, 0x09, 0x7f, 0x4f, 0x81, 0x69, 0xc7, + 0x72, 0xb0, 0xd1, 0xc0, 0x94, 0x12, 0x87, 0xbe, 0xb8, 0xbc, 0x4f, 0x71, 0xd8, 0x6d, 0x8e, 0x8a, + 0xca, 0x30, 0xd3, 0xdb, 0x22, 0x0d, 0x5d, 0xa3, 0x85, 0xd1, 0x52, 0x6e, 0x75, 0xb4, 0x3e, 0xe5, + 0xee, 0xc7, 0x3d, 0x8d, 0xa2, 0xaf, 0x81, 0x2a, 0x18, 0x35, 0x28, 0x71, 0x1c, 0x83, 0xb0, 0x87, + 0x5e, 0xe3, 0x9e, 0x81, 0x1d, 0xbe, 0x5c, 0xc6, 0xd2, 0x96, 0xcb, 0x05, 0xa1, 0x7c, 0xbb, 0xa7, + 0xbb, 0x6b, 0x60, 0x87, 0x2d, 0x9d, 0x5b, 0x70, 0xbe, 0xf7, 0x1c, 0xf2, 0x6f, 0xf7, 0xf1, 0x34, + 0x9b, 0x73, 0xee, 0x83, 0xd1, 0xbb, 0xe3, 0x65, 0x7e, 0x39, 0x5a, 0x79, 0x81, 0x3f, 0xa3, 0xfa, + 0x49, 0x94, 0xc9, 0xfd, 0x5b, 0x3f, 0xb9, 0xdb, 0xf4, 0xb0, 0x97, 0xdc, 0x0a, 0x8c, 0x1d, 0x74, + 0x4f, 0x32, 0xe4, 0x56, 0x88, 0x25, 0xa7, 0xf6, 0x6d, 0x10, 0x21, 0x6e, 0x74, 0x6c, 0xbd, 0x49, + 0x0a, 0xb9, 0x14, 0x32, 0xf2, 0x11, 0x08, 0x5c, 0x67, 0x9f, 0xa9, 0xb0, 0xac, 0xf4, 0x23, 0xe3, + 0xc9, 0x8a, 0xcb, 0x9a, 0x65, 0xe5, 0xc7, 0x0a, 0x2c, 0x70, 0x67, 0x7c, 0x59, 0x21, 0x84, 0x16, + 0xc6, 0x5e, 0xd4, 0x4a, 0x9a, 0xe3, 0xf8, 0x9e, 0xc4, 0x12, 0x42, 0x59, 0x56, 0xfb, 0x2b, 0x6a, + 0xc0, 0xac, 0xba, 0xab, 0xce, 0x9b, 0x55, 0x60, 0x59, 0x15, 0x61, 0xf7, 0x24, 0x55, 0x24, 0x4f, + 0x26, 0xf5, 0x13, 0x85, 0x6f, 0xe6, 0x9b, 0x3c, 0x01, 0xc2, 0x1d, 0x4f, 0x62, 0xb1, 0xd6, 0xd6, + 0xcd, 0xf4, 0xc4, 0x72, 0xb1, 0xe4, 0xc4, 0x86, 0xd2, 0x92, 0x0b, 0xa7, 0x25, 0xcb, 0x86, 0xba, + 0x0c, 0xb3, 0xe4, 0xb8, 0x43, 0x9a, 0x4e, 0xa3, 0x83, 0x6d, 0x47, 0xc7, 0x06, 0xdf, 0x44, 0x93, + 0xf5, 0x19, 0x71, 0x75, 0x5f, 0x5c, 0x94, 0xcc, 0xb9, 0x5f, 0xe5, 0x45, 0xb8, 0x10, 0x62, 0x28, + 0xd9, 0xff, 0x2a, 0x07, 0xa5, 0xde, 0xbd, 0x9d, 0x5e, 0xb1, 0x34, 0xc4, 0x38, 0xec, 0xc0, 0xb8, + 0x6e, 0x76, 0xba, 0xbd, 0x87, 0xd6, 0xe5, 0xd8, 0x72, 0x46, 0x3c, 0xf9, 0xb7, 0xf9, 0x41, 0x23, + 0xd7, 0xb9, 0x54, 0x45, 0xd7, 0x61, 0xc2, 0xea, 0x3a, 0xdc, 0xca, 0xe8, 0xe0, 0x56, 0x5c, 0x5d, + 0x74, 0x15, 0x46, 0x3d, 0x8b, 0x7e, 0x20, 0x1b, 0x5c, 0x91, 0x19, 0x30, 0xf1, 0x11, 0x2d, 0x8c, + 0x27, 0x1b, 0xb8, 0x45, 0x1c, 0xfe, 0xc8, 0xe4, 0x1b, 0xd4, 0x35, 0xc0, 0x14, 0xfd, 0x27, 0xe0, + 0x44, 0xe0, 0x04, 0xf4, 0xe6, 0xf0, 0x12, 0x5c, 0x4c, 0xc8, 0x93, 0xcc, 0xe6, 0x7f, 0x14, 0x28, + 0xf7, 0xa4, 0xea, 0xc4, 0x20, 0x98, 0x92, 0xbe, 0x30, 0x1d, 0x4a, 0x3e, 0xdf, 0x01, 0x70, 0xac, + 0x86, 0x2d, 0xc0, 0x4e, 0x93, 0xd3, 0xbc, 0x63, 0x49, 0x57, 0xfd, 0xd1, 0x18, 0x4d, 0x88, 0xc6, + 0x65, 0xb8, 0x94, 0xc8, 0x53, 0xc6, 0xe3, 0x2f, 0xde, 0x78, 0xdc, 0x26, 0x0e, 0xdf, 0x44, 0xd7, + 0x8f, 0x1d, 0x62, 0x9b, 0xd8, 0xd8, 0xbb, 0x36, 0x94, 0x78, 0x78, 0x6b, 0x88, 0x9c, 0xaf, 0x86, + 0x40, 0x2b, 0x30, 0x45, 0x24, 0x38, 0xbb, 0x2b, 0x08, 0x82, 0x7b, 0x69, 0x4f, 0x8b, 0xa5, 0x18, + 0xe5, 0xba, 0xa4, 0xf8, 0xfe, 0x08, 0x14, 0x7a, 0x72, 0x5f, 0xd7, 0x9d, 0xfb, 0x9a, 0x8d, 0x1f, + 0x0e, 0x85, 0xd8, 0x32, 0x4f, 0x34, 0x16, 0x7a, 0x9c, 0x5a, 0x9e, 0xe5, 0x4e, 0x1a, 0xf2, 0x14, + 0xa1, 0xa3, 0x2f, 0xb8, 0x08, 0xf5, 0x85, 0x6d, 0x09, 0x16, 0x23, 0xc2, 0x21, 0x83, 0xf5, 0x91, + 0x02, 0xcb, 0xbd, 0xbb, 0x77, 0x3b, 0x1a, 0x76, 0xc8, 0x35, 0xe2, 0x60, 0xdd, 0x18, 0xce, 0xd6, + 0xa8, 0xc3, 0xac, 0xbc, 0xa9, 0x09, 0x14, 0x79, 0x9c, 0xc7, 0x6e, 0x0f, 0xe1, 0x98, 0x74, 0x49, + 0x6e, 0x8f, 0x99, 0xb6, 0xf7, 0xa2, 0x8f, 0x6b, 0x09, 0x8a, 0x71, 0x6c, 0x24, 0xe1, 0xdf, 0x85, + 0x09, 0x5f, 0x37, 0xf1, 0x81, 0x41, 0xb4, 0x7e, 0x65, 0xea, 0x23, 0xac, 0xc6, 0x11, 0x2e, 0x28, + 0x2e, 0xe5, 0x95, 0x10, 0xe5, 0xda, 0x48, 0x41, 0xf1, 0xd0, 0x5e, 0x87, 0xb3, 0xb8, 0xd9, 0x24, + 0x1d, 0x47, 0x37, 0x5b, 0xe2, 0x2c, 0x13, 0xc4, 0x27, 0xb9, 0xdc, 0x4b, 0xbd, 0x7b, 0x7c, 0x49, + 0x53, 0x51, 0xe7, 0xbb, 0x4e, 0x94, 0x5f, 0x09, 0x71, 0xea, 0x39, 0x2c, 0x38, 0x6d, 0x8d, 0x14, + 0x94, 0xf2, 0x23, 0x05, 0x2e, 0x07, 0xc4, 0xb6, 0xfd, 0x66, 0x87, 0x92, 0xd0, 0xcf, 0xc5, 0x31, + 0x0b, 0xb3, 0xf2, 0xe6, 0x69, 0x15, 0x3e, 0x93, 0xe6, 0x6c, 0x3f, 0x5f, 0xa5, 0x80, 0xe8, 0x5d, + 0xea, 0x56, 0x49, 0x43, 0xa1, 0xb4, 0x09, 0x0b, 0xd8, 0x30, 0xac, 0x87, 0x8d, 0x2e, 0xf5, 0x55, + 0x83, 0x92, 0xd7, 0x1c, 0xbf, 0xd9, 0xf7, 0x81, 0xdd, 0x8a, 0x3d, 0x97, 0xc2, 0x0e, 0x4b, 0x5a, + 0x7f, 0x55, 0x60, 0x2d, 0x2e, 0x02, 0xc3, 0x3e, 0x9f, 0x5e, 0x83, 0x85, 0x7e, 0xce, 0x3c, 0xed, + 0x20, 0x49, 0x70, 0x1e, 0x47, 0x38, 0xe2, 0x63, 0xb8, 0x0e, 0xaf, 0x66, 0xf2, 0x5d, 0x72, 0xfd, + 0xbd, 0x02, 0x9f, 0x0d, 0xc8, 0xef, 0x99, 0x0e, 0xb1, 0xdb, 0x44, 0xd3, 0xb1, 0x7d, 0x72, 0x8d, + 0x98, 0x56, 0x7b, 0x28, 0x44, 0xd7, 0x01, 0xe9, 0x1e, 0xa0, 0x86, 0xc6, 0x90, 0xe4, 0x73, 0xfa, + 0x9c, 0x1e, 0x74, 0xc1, 0x47, 0x71, 0x0d, 0x56, 0xd3, 0x5d, 0x96, 0xfc, 0x7e, 0x33, 0xe2, 0xc9, + 0xf8, 0x4d, 0x6c, 0xe2, 0x16, 0xd9, 0x27, 0x76, 0x5b, 0xa7, 0x54, 0xb7, 0x4c, 0x3a, 0xac, 0x93, + 0xc7, 0x26, 0x47, 0xd6, 0x21, 0x69, 0x60, 0xc3, 0xe0, 0x25, 0x46, 0xbe, 0x9e, 0x17, 0x57, 0xb6, + 0x0d, 0x03, 0xed, 0x42, 0x9e, 0x57, 0x20, 0xec, 0xb7, 0x3c, 0x7c, 0x2e, 0x25, 0x14, 0x20, 0x84, + 0xd2, 0x1b, 0x36, 0xee, 0x95, 0x1f, 0x93, 0xac, 0xfc, 0x60, 0xaa, 0xe8, 0x1a, 0x4c, 0x3a, 0x56, + 0xa3, 0xc5, 0xee, 0xc9, 0x8a, 0x70, 0x00, 0x33, 0x13, 0x8e, 0xc5, 0x7f, 0xfa, 0xe2, 0xfa, 0x8a, + 0xa7, 0xfc, 0x88, 0x08, 0x95, 0x1b, 0xd1, 0x9c, 0xe7, 0x99, 0x27, 0xc4, 0xea, 0xe4, 0xc1, 0xb6, + 0xe3, 0x0c, 0xed, 0x29, 0x76, 0x8e, 0xbf, 0x5a, 0x91, 0x06, 0x7b, 0x21, 0x11, 0x67, 0xba, 0x8c, + 0xea, 0x6c, 0xd3, 0xed, 0xe5, 0xdd, 0x61, 0x07, 0x3b, 0xaa, 0xc2, 0xbc, 0x5f, 0xd4, 0x26, 0x6d, + 0xeb, 0x48, 0x44, 0x39, 0x5f, 0x3f, 0xe7, 0x91, 0xae, 0xf3, 0x1b, 0x1e, 0xdb, 0xec, 0x45, 0x46, + 0xda, 0x1e, 0xf3, 0xda, 0xae, 0xe9, 0x5a, 0xd0, 0xb6, 0x14, 0x95, 0xb6, 0xc7, 0xbd, 0xb6, 0xb9, + 0xb4, 0xb4, 0xfd, 0x06, 0x14, 0xa4, 0x42, 0x7f, 0x1b, 0xbb, 0x10, 0x13, 0x5c, 0x69, 0x41, 0xdc, + 0xef, 0x6f, 0x4b, 0x81, 0xf4, 0x16, 0x2c, 0x45, 0x2a, 0x4a, 0xc0, 0x49, 0xae, 0x5b, 0x08, 0xeb, + 0x0a, 0x5c, 0x5f, 0x46, 0x2f, 0xc2, 0x4a, 0x6c, 0xaa, 0x64, 0x3a, 0xdf, 0xe5, 0x6f, 0x5b, 0xa2, + 0x57, 0xb8, 0x2f, 0xba, 0xbc, 0x6e, 0x1a, 0xaf, 0xc2, 0x84, 0xec, 0xfb, 0xca, 0x16, 0xe7, 0x4a, + 0xdc, 0x02, 0x93, 0x8a, 0xee, 0xe2, 0x92, 0x5a, 0x65, 0x95, 0x17, 0x7b, 0x01, 0xdb, 0x3e, 0x5c, + 0xf1, 0x6c, 0x1a, 0x0e, 0x6e, 0xc0, 0xb6, 0xc4, 0x7d, 0xa4, 0x70, 0xe0, 0x3a, 0xf9, 0x26, 0x7f, + 0xfd, 0xf4, 0x01, 0x5f, 0x81, 0x71, 0x07, 0xdb, 0x2d, 0x92, 0xde, 0xe9, 0x94, 0x72, 0xbc, 0x53, + 0x66, 0x75, 0xed, 0xa6, 0x68, 0xdb, 0x26, 0x77, 0xca, 0xb8, 0x5c, 0xb0, 0xaa, 0xce, 0x85, 0xaa, + 0x6a, 0xd1, 0xda, 0x11, 0xf6, 0x25, 0x93, 0x80, 0xb3, 0x6e, 0x2d, 0xad, 0x84, 0x6f, 0xd2, 0xd3, + 0x53, 0xd9, 0x84, 0x09, 0xe1, 0x22, 0x2d, 0x8c, 0xb0, 0x25, 0x96, 0xd4, 0xe7, 0x95, 0x82, 0x7e, + 0x5f, 0x45, 0x2d, 0x1b, 0x74, 0x47, 0x3a, 0xfb, 0x2d, 0xb1, 0x14, 0x78, 0x0f, 0x32, 0xc2, 0x57, + 0x19, 0x44, 0x25, 0x63, 0x10, 0x2f, 0xc2, 0xb4, 0x27, 0x88, 0xd2, 0xe1, 0xfa, 0x54, 0x3f, 0x8a, + 0xae, 0x6b, 0x42, 0x5e, 0xba, 0x16, 0x44, 0x97, 0xae, 0xfd, 0x59, 0x54, 0x9d, 0x3b, 0x7c, 0x55, + 0xc9, 0xbb, 0x77, 0x38, 0xa5, 0xd3, 0x3b, 0x18, 0xc8, 0xf2, 0x48, 0x30, 0xcb, 0xe8, 0x0d, 0x00, + 0x93, 0x3c, 0x6c, 0xc8, 0x1c, 0xe5, 0x52, 0xcc, 0xe6, 0x4d, 0xf2, 0x50, 0xb8, 0xe4, 0xe7, 0x25, + 0x4a, 0xea, 0x48, 0xcf, 0x25, 0xb9, 0x9f, 0x2b, 0x9c, 0xfa, 0x0d, 0xeb, 0x48, 0x6c, 0x43, 0xf7, + 0x25, 0x54, 0x10, 0x7b, 0x1d, 0xf2, 0xb8, 0xeb, 0xdc, 0xb7, 0x6c, 0xdd, 0x39, 0x49, 0xe5, 0xd6, + 0x17, 0x45, 0x6f, 0xc2, 0xb8, 0x78, 0x3e, 0xcb, 0x69, 0x45, 0x31, 0xf9, 0x15, 0xc1, 0x6d, 0x87, + 0x08, 0x1d, 0x77, 0x2e, 0xe3, 0x5a, 0x2b, 0xbf, 0x0c, 0x6a, 0x94, 0x8b, 0x92, 0xc1, 0x9f, 0x66, + 0xf8, 0x86, 0xbd, 0x61, 0x1d, 0x89, 0x27, 0xd8, 0x2e, 0x21, 0xf4, 0xd3, 0xfa, 0x9f, 0x78, 0xe0, + 0xdc, 0x85, 0x0b, 0x58, 0xd3, 0x1a, 0xf7, 0x08, 0x69, 0x78, 0x4e, 0x93, 0x7b, 0x06, 0xce, 0x30, + 0xb0, 0x10, 0x44, 0xe7, 0xb0, 0xa6, 0xed, 0x12, 0xd2, 0x9b, 0x34, 0xed, 0x1a, 0xd8, 0x41, 0xdf, + 0x00, 0x55, 0x3c, 0xc1, 0x23, 0x2d, 0x8f, 0x66, 0xb3, 0x7c, 0x5e, 0x98, 0x08, 0x19, 0x0f, 0xfb, + 0xcc, 0x4e, 0x29, 0x6e, 0x79, 0xec, 0x14, 0x3e, 0xd7, 0x74, 0x2d, 0xde, 0xe7, 0x9e, 0xe5, 0xf1, + 0xd3, 0xf9, 0xec, 0x1a, 0x6f, 0x42, 0xd1, 0xf5, 0x39, 0xba, 0xe7, 0xce, 0x8f, 0xc9, 0x0c, 0x00, + 0xaa, 0x70, 0xfd, 0x76, 0x44, 0xef, 0x1d, 0xe9, 0x70, 0xd1, 0xc3, 0x20, 0x06, 0x67, 0x32, 0x1b, + 0xce, 0x72, 0x8f, 0x48, 0x24, 0x94, 0x09, 0xa5, 0x78, 0x3e, 0x36, 0x76, 0x74, 0x8b, 0x16, 0xf2, + 0x1c, 0x29, 0x76, 0x54, 0xb8, 0x4b, 0x48, 0x9d, 0x09, 0x4a, 0xc0, 0x97, 0xa3, 0x89, 0x71, 0x11, + 0x8a, 0x1c, 0xb8, 0x94, 0x48, 0x4d, 0x42, 0xc2, 0x40, 0x90, 0x2b, 0xb1, 0x1c, 0x25, 0x2a, 0x86, + 0x65, 0x97, 0x65, 0xb8, 0x25, 0xcf, 0x82, 0x39, 0x95, 0x2d, 0x98, 0x8b, 0x82, 0x5b, 0x2d, 0xd0, + 0x56, 0x67, 0x81, 0x6c, 0x41, 0xc9, 0x43, 0x2c, 0x1a, 0x65, 0x3a, 0x1b, 0xca, 0xcb, 0x3d, 0x3a, + 0x51, 0x40, 0x06, 0xac, 0xc4, 0x72, 0x91, 0xd1, 0x9b, 0x19, 0x28, 0x7a, 0x4b, 0x91, 0xa4, 0x64, + 0xe4, 0x6c, 0x28, 0x27, 0xd1, 0x92, 0x80, 0xb3, 0x03, 0x01, 0x16, 0xe3, 0xf8, 0x49, 0x4c, 0xcf, + 0x1e, 0x0b, 0xd7, 0x94, 0x3c, 0x90, 0x2f, 0x0d, 0xb4, 0xc7, 0x76, 0x02, 0x55, 0x67, 0xc4, 0x1e, + 0x8b, 0xc1, 0x39, 0x3b, 0xe8, 0x1e, 0x8b, 0x84, 0x7a, 0x07, 0xca, 0x94, 0x38, 0x02, 0xa7, 0x0f, + 0xe0, 0x89, 0xe2, 0x81, 0xde, 0xa1, 0x85, 0x73, 0xfc, 0x89, 0x5e, 0xa4, 0xc4, 0x61, 0x76, 0x02, + 0xed, 0x67, 0x5e, 0x30, 0xea, 0x1d, 0x8a, 0x6e, 0xc1, 0x2b, 0x5d, 0x33, 0x83, 0x35, 0xc4, 0xdf, + 0xbc, 0x4b, 0x5c, 0x36, 0xc1, 0x5e, 0xe8, 0x58, 0x13, 0xb5, 0x5b, 0xe0, 0xdc, 0x92, 0x87, 0xda, + 0x77, 0xdc, 0x7b, 0x3b, 0x86, 0x45, 0x9f, 0xd3, 0xa1, 0x9c, 0x74, 0xa8, 0x85, 0x9c, 0x5b, 0xea, + 0x95, 0x05, 0x5e, 0x07, 0xa4, 0x77, 0xbf, 0xec, 0x15, 0x0d, 0xe2, 0xf5, 0x7a, 0x9f, 0x7f, 0x22, + 0xf2, 0x1c, 0x8a, 0x06, 0xf1, 0xad, 0x49, 0x5a, 0xd1, 0x20, 0xe0, 0xdc, 0xa2, 0x41, 0xe8, 0x6c, + 0x9d, 0xf5, 0x13, 0x28, 0x28, 0xe5, 0x92, 0x5b, 0x36, 0xf8, 0x9d, 0xf4, 0xf4, 0xdd, 0x7e, 0x26, + 0x86, 0x65, 0xff, 0x3f, 0x24, 0x82, 0x59, 0x10, 0xa3, 0xae, 0x28, 0xff, 0x37, 0xff, 0xbb, 0x0c, + 0xb9, 0x9b, 0xb4, 0x85, 0xee, 0x41, 0xbe, 0x77, 0xd4, 0xa3, 0x57, 0x63, 0xeb, 0xac, 0xf0, 0xc7, + 0x38, 0xea, 0xe7, 0xb3, 0x09, 0xcb, 0x6f, 0x43, 0x7a, 0x38, 0x35, 0x5d, 0xcb, 0x80, 0xd3, 0xff, + 0x16, 0x26, 0x03, 0x8e, 0xf7, 0x1b, 0x14, 0x03, 0xa6, 0x3c, 0x9f, 0x45, 0xa0, 0xf5, 0x24, 0xe5, + 0xd0, 0xc7, 0x28, 0x6a, 0x25, 0xab, 0xb8, 0x07, 0xad, 0xff, 0xdd, 0x43, 0x32, 0x5a, 0xe8, 0x93, + 0x8c, 0x64, 0xb4, 0xf0, 0xe7, 0x14, 0xa8, 0x09, 0x93, 0xee, 0x14, 0x1e, 0xad, 0x25, 0xe8, 0x06, + 0xbe, 0xb7, 0x50, 0x5f, 0xcd, 0x24, 0xeb, 0x07, 0xd9, 0xa6, 0x87, 0xe9, 0x20, 0x9e, 0xb9, 0x7f, + 0x2a, 0x88, 0x77, 0xcc, 0x8c, 0x2c, 0x98, 0xf6, 0x0e, 0x60, 0x51, 0x52, 0x24, 0x22, 0x66, 0xd1, + 0x6a, 0x35, 0xb3, 0xbc, 0x04, 0x7c, 0x9f, 0x6d, 0xd5, 0xc8, 0x71, 0x21, 0xfa, 0x62, 0xaa, 0xad, + 0x98, 0x49, 0xb0, 0xfa, 0xa5, 0x53, 0x68, 0x4a, 0x7f, 0x7e, 0xc4, 0x5e, 0xae, 0x63, 0x06, 0x76, + 0x68, 0x2b, 0xd5, 0x6e, 0xec, 0x34, 0x53, 0xfd, 0xf2, 0xa9, 0x74, 0x43, 0x5e, 0x85, 0x67, 0x6c, + 0x19, 0xbc, 0x8a, 0x9d, 0x29, 0x66, 0xf0, 0x2a, 0x7e, 0xa8, 0x87, 0xba, 0x30, 0xeb, 0x9f, 0x60, + 0xa1, 0x2b, 0xa9, 0xe6, 0x02, 0xb3, 0x3f, 0x75, 0x63, 0x00, 0x0d, 0x09, 0xfb, 0x9e, 0x02, 0x73, + 0x11, 0xd3, 0x24, 0xf4, 0x85, 0x54, 0x53, 0x51, 0xb3, 0x34, 0xf5, 0xf5, 0x41, 0xd5, 0xa4, 0x1b, + 0x3f, 0x0c, 0xb8, 0x21, 0x07, 0x40, 0x99, 0xdd, 0xf0, 0x4f, 0xb8, 0x32, 0xbb, 0x11, 0x98, 0x33, + 0x95, 0x73, 0x3f, 0x18, 0x51, 0xd0, 0x4f, 0x15, 0x58, 0x4a, 0x18, 0xdc, 0xa0, 0xb7, 0x32, 0x1a, + 0x8f, 0x9e, 0x4e, 0xa9, 0x5f, 0x39, 0xad, 0x7a, 0x68, 0x93, 0x07, 0x67, 0x2f, 0x19, 0x36, 0x79, + 0xcc, 0x7c, 0x29, 0xc3, 0x26, 0x8f, 0x1b, 0xf4, 0xa0, 0x47, 0x0a, 0x94, 0xd2, 0x26, 0x25, 0xa8, + 0x36, 0x28, 0xe9, 0x88, 0x4d, 0xbf, 0xf3, 0xa9, 0x6c, 0x48, 0x6f, 0x7f, 0xa1, 0xc0, 0x72, 0xe2, + 0xd0, 0x03, 0x5d, 0xcd, 0x08, 0x13, 0x37, 0xe1, 0x51, 0xdf, 0x3e, 0xbd, 0x01, 0xe9, 0xe4, 0x07, + 0x0a, 0x5c, 0x88, 0x99, 0x20, 0xa0, 0xf4, 0x4c, 0xc5, 0x0d, 0x68, 0xd4, 0xad, 0xd3, 0xa8, 0x4a, + 0x97, 0xbe, 0xaf, 0xc0, 0x7c, 0x54, 0x0b, 0x1c, 0xbd, 0x9e, 0xd1, 0x68, 0x60, 0xbc, 0xa1, 0xbe, + 0x31, 0xb0, 0x9e, 0xf4, 0xc4, 0x86, 0x19, 0x5f, 0x33, 0x1c, 0x55, 0x53, 0x4b, 0x27, 0x7f, 0x87, + 0x5a, 0xbd, 0x92, 0x5d, 0xa1, 0x8f, 0xe9, 0x6b, 0x84, 0x27, 0x62, 0x46, 0xb5, 0xe3, 0x13, 0x31, + 0x23, 0x7b, 0xec, 0x0c, 0xd3, 0xd7, 0x06, 0x4e, 0xc4, 0x8c, 0xea, 0xc4, 0x27, 0x62, 0x46, 0x76, + 0xc3, 0xd9, 0x21, 0xe4, 0x6f, 0x3d, 0xa3, 0xcc, 0x36, 0x68, 0x96, 0x43, 0x28, 0xba, 0xaf, 0xcd, + 0x60, 0xfd, 0x6d, 0xe5, 0x44, 0xd8, 0xc8, 0xfe, 0x77, 0x22, 0x6c, 0x74, 0xcf, 0x9a, 0x9f, 0x7d, + 0x11, 0x6d, 0xdf, 0xc4, 0x43, 0x27, 0xbe, 0xc1, 0x9d, 0x78, 0xe8, 0x24, 0x74, 0x97, 0xd1, 0x31, + 0xbc, 0x14, 0x68, 0xdb, 0xa2, 0x24, 0x32, 0xd1, 0x5d, 0x68, 0x75, 0x73, 0x10, 0x95, 0xfe, 0x12, + 0xf3, 0xbd, 0x59, 0x27, 0x2e, 0xb1, 0xa8, 0xde, 0x71, 0xe2, 0x12, 0x8b, 0x7c, 0x69, 0x67, 0xb9, + 0xf6, 0xbf, 0x30, 0xa3, 0x14, 0x1b, 0xe1, 0x97, 0x7b, 0x75, 0x63, 0x00, 0x0d, 0x09, 0xfb, 0x6d, + 0x1e, 0x64, 0xef, 0x4b, 0x62, 0x5a, 0x90, 0x23, 0x5e, 0x78, 0xd3, 0x82, 0x1c, 0xf5, 0x0e, 0x2a, + 0x6a, 0x0a, 0x0b, 0xa6, 0x7d, 0xd8, 0x49, 0xaf, 0x02, 0x51, 0xc0, 0xd5, 0xcc, 0xf2, 0x02, 0x55, + 0x1d, 0xfb, 0xee, 0xb3, 0xc7, 0x6b, 0x4a, 0x8d, 0x7c, 0xf8, 0xa4, 0xa8, 0x7c, 0xfc, 0xa4, 0xa8, + 0x7c, 0xf2, 0xa4, 0xa8, 0x7c, 0xf0, 0xb4, 0x78, 0xe6, 0xe3, 0xa7, 0xc5, 0x33, 0xff, 0x7c, 0x5a, + 0x3c, 0x03, 0x8b, 0xba, 0x15, 0x63, 0x73, 0x5f, 0x79, 0xb7, 0xe2, 0xf9, 0x4a, 0xab, 0x2f, 0xb4, + 0xae, 0x5b, 0x9e, 0x5f, 0xd5, 0xe3, 0xde, 0x1f, 0xb7, 0x1c, 0x8c, 0xf3, 0xbf, 0x68, 0x79, 0xed, + 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x40, 0x23, 0x7a, 0x49, 0x34, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/ibchooks/ibc_middleware_test.go b/x/ibchooks/ibc_middleware_test.go index 38e1af349f..2da8c2aacd 100644 --- a/x/ibchooks/ibc_middleware_test.go +++ b/x/ibchooks/ibc_middleware_test.go @@ -13,6 +13,8 @@ import ( dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -77,19 +79,22 @@ type HooksTestSuite struct { path *ibctesting.Path } -func SetupSimApp() (ibctesting.TestingApp, map[string]json.RawMessage) { - pioconfig.SetProvenanceConfig(sdk.DefaultBondDenom, 0) - db := dbm.NewMemDB() - provenanceApp := app.New(log.NewNopLogger(), db, nil, true, map[int64]bool{}, app.DefaultNodeHome, 5, simtestutil.EmptyAppOptions{}) - genesis := provenanceApp.DefaultGenesis() - return provenanceApp, genesis -} - -func init() { - ibctesting.DefaultTestingAppInit = SetupSimApp +func SetupSimAppFn(t *testing.T) func() (ibctesting.TestingApp, map[string]json.RawMessage) { + return func() (ibctesting.TestingApp, map[string]json.RawMessage) { + pioconfig.SetProvenanceConfig(sdk.DefaultBondDenom, 0) + db := dbm.NewMemDB() + appOpts := simtestutil.AppOptionsMap{ + flags.FlagHome: t.TempDir(), + server.FlagInvCheckPeriod: 5, + } + provenanceApp := app.New(log.NewNopLogger(), db, nil, true, appOpts) + genesis := provenanceApp.DefaultGenesis() + return provenanceApp, genesis + } } func (suite *HooksTestSuite) SetupTest() { + ibctesting.DefaultTestingAppInit = SetupSimAppFn(suite.T()) suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) suite.chainA = &testutil.TestChain{ TestChain: suite.coordinator.GetChain(ibctesting.GetChainID(1)), diff --git a/x/ibchooks/marker_hooks_test.go b/x/ibchooks/marker_hooks_test.go index 37f81be808..52007cec33 100644 --- a/x/ibchooks/marker_hooks_test.go +++ b/x/ibchooks/marker_hooks_test.go @@ -40,11 +40,8 @@ type MarkerHooksTestSuite struct { path *ibctesting.Path } -func init() { - ibctesting.DefaultTestingAppInit = SetupSimApp -} - func (suite *MarkerHooksTestSuite) SetupTest() { + ibctesting.DefaultTestingAppInit = SetupSimAppFn(suite.T()) suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) suite.chainA = &testutil.TestChain{ TestChain: suite.coordinator.GetChain(ibctesting.GetChainID(1)), diff --git a/x/ibchooks/types/tx.pb.go b/x/ibchooks/types/tx.pb.go index ad74435351..5efa4dcd6a 100644 --- a/x/ibchooks/types/tx.pb.go +++ b/x/ibchooks/types/tx.pb.go @@ -246,37 +246,38 @@ func init() { func init() { proto.RegisterFile("provenance/ibchooks/v1/tx.proto", fileDescriptor_f2b3b50a1b9e4ff4) } var fileDescriptor_f2b3b50a1b9e4ff4 = []byte{ - // 480 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0xb1, 0x6e, 0x13, 0x31, - 0x18, 0x8e, 0x69, 0x95, 0x2a, 0x2e, 0x04, 0xc9, 0x2a, 0xc9, 0x25, 0xc3, 0xb5, 0x0a, 0x42, 0x54, - 0x48, 0xb9, 0x53, 0x0b, 0x62, 0xa8, 0x58, 0x12, 0xc4, 0xc0, 0x10, 0xa9, 0xba, 0x8a, 0x01, 0x96, - 0xc8, 0xe7, 0x58, 0x8e, 0x75, 0x3d, 0xfb, 0xb0, 0x7d, 0xa1, 0x5d, 0x79, 0x02, 0x9e, 0x80, 0x67, - 0x60, 0xe0, 0x21, 0x3a, 0x56, 0x4c, 0x88, 0x01, 0xa1, 0x64, 0xe0, 0x35, 0xd0, 0x9d, 0x1d, 0x2e, - 0x15, 0x0d, 0xca, 0xe6, 0xff, 0xf3, 0xf7, 0xff, 0xdf, 0xf7, 0x7f, 0x36, 0xdc, 0xcf, 0x94, 0x9c, - 0x51, 0x81, 0x05, 0xa1, 0x21, 0x8f, 0xc9, 0x54, 0xca, 0x44, 0x87, 0xb3, 0xa3, 0xd0, 0x5c, 0x04, - 0x99, 0x92, 0x46, 0xa2, 0x56, 0x45, 0x08, 0x96, 0x84, 0x60, 0x76, 0xd4, 0x6d, 0x13, 0xa9, 0x53, - 0xa9, 0xc3, 0x54, 0xb3, 0x82, 0x9f, 0x6a, 0x66, 0x1b, 0xba, 0x1d, 0x7b, 0x31, 0x2e, 0xab, 0xd0, - 0x16, 0xee, 0x6a, 0x8f, 0x49, 0x26, 0x2d, 0x5e, 0x9c, 0x1c, 0xfa, 0x70, 0x8d, 0x85, 0x0c, 0x2b, - 0x9c, 0xba, 0xd6, 0xde, 0x07, 0x78, 0x6f, 0xa4, 0xd9, 0xab, 0x94, 0x9b, 0xd7, 0xc3, 0x97, 0x03, - 0x92, 0xa0, 0x16, 0xac, 0x6b, 0x2a, 0x26, 0x54, 0x79, 0xe0, 0x00, 0x1c, 0x36, 0x22, 0x57, 0xa1, - 0xc7, 0xf0, 0x7e, 0x86, 0x49, 0x42, 0xcd, 0x58, 0xd3, 0xf7, 0x39, 0x15, 0x84, 0x7a, 0x77, 0x0e, - 0xc0, 0xe1, 0x76, 0xd4, 0xb4, 0xf0, 0x99, 0x43, 0x91, 0x07, 0x77, 0xc8, 0x14, 0x0b, 0x41, 0xcf, - 0xbd, 0xad, 0x72, 0xc2, 0xb2, 0x3c, 0xd9, 0xfd, 0xf8, 0xfb, 0xcb, 0x13, 0x37, 0xaf, 0xf7, 0x16, - 0x3e, 0xb8, 0x21, 0x1c, 0x51, 0x9d, 0x49, 0xa1, 0x69, 0x21, 0x44, 0xa4, 0x30, 0x0a, 0x13, 0x33, - 0x56, 0x54, 0xe7, 0xe7, 0xc6, 0x39, 0x69, 0x2e, 0xe1, 0xa8, 0x44, 0x51, 0x1b, 0xee, 0xf0, 0x98, - 0x8c, 0x31, 0x49, 0x4a, 0x27, 0x8d, 0xa8, 0xce, 0x63, 0x32, 0x20, 0x49, 0xef, 0x33, 0x80, 0xad, - 0x91, 0x66, 0x6f, 0xb2, 0x09, 0x36, 0xf4, 0xb4, 0xdc, 0x36, 0x2a, 0xdc, 0x69, 0x83, 0x9e, 0xc3, - 0x06, 0xce, 0xcd, 0x54, 0x2a, 0x6e, 0x2e, 0xed, 0xd8, 0xa1, 0xf7, 0xed, 0x6b, 0x7f, 0xcf, 0xc5, - 0x39, 0x98, 0x4c, 0x14, 0xd5, 0xfa, 0xcc, 0x28, 0x2e, 0x58, 0x54, 0x51, 0xd1, 0x0b, 0x58, 0xb7, - 0xb1, 0x95, 0x52, 0xbb, 0xc7, 0x7e, 0x70, 0xfb, 0xf3, 0x05, 0x56, 0x6e, 0xb8, 0x7d, 0xf5, 0x73, - 0xbf, 0x16, 0xb9, 0x9e, 0x93, 0x66, 0xb1, 0x78, 0x35, 0xad, 0xd7, 0x81, 0xed, 0x7f, 0xfc, 0xd9, - 0xed, 0x8f, 0x7f, 0x00, 0xb8, 0x35, 0xd2, 0x0c, 0xc5, 0x10, 0xae, 0x3c, 0xca, 0xa3, 0x75, 0x72, - 0x37, 0x22, 0xec, 0xf6, 0x37, 0xa2, 0xfd, 0x4d, 0x5a, 0xc2, 0xbb, 0xab, 0x1e, 0x50, 0xf0, 0x9f, - 0xf6, 0x5b, 0xc2, 0xec, 0x86, 0x1b, 0xf3, 0xad, 0xe0, 0x30, 0xb9, 0x9a, 0xfb, 0xe0, 0x7a, 0xee, - 0x83, 0x5f, 0x73, 0x1f, 0x7c, 0x5a, 0xf8, 0xb5, 0xeb, 0x85, 0x5f, 0xfb, 0xbe, 0xf0, 0x6b, 0xb0, - 0xc3, 0xe5, 0x9a, 0x61, 0xa7, 0xe0, 0xdd, 0x33, 0xc6, 0xcd, 0x34, 0x8f, 0x03, 0x22, 0xd3, 0xb0, - 0x22, 0xf5, 0xb9, 0x5c, 0xa9, 0xc2, 0x8b, 0xea, 0x8f, 0x9b, 0xcb, 0x8c, 0xea, 0xb8, 0x5e, 0x7e, - 0xf0, 0xa7, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0xa1, 0xc2, 0xfa, 0x8a, 0x03, 0x00, 0x00, + // 487 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4d, 0x6e, 0x13, 0x31, + 0x18, 0x8d, 0x69, 0x49, 0x15, 0x17, 0x82, 0x64, 0x95, 0xfc, 0xcc, 0x62, 0x5a, 0x05, 0x21, 0xaa, + 0x4a, 0x99, 0x51, 0x0b, 0x62, 0x51, 0xb1, 0x49, 0x10, 0x0b, 0x16, 0x91, 0xaa, 0xa9, 0x58, 0xc0, + 0x26, 0xf2, 0x38, 0x96, 0x63, 0x4d, 0xc7, 0x1e, 0x6c, 0x27, 0xb4, 0x3b, 0xc4, 0x09, 0x38, 0x01, + 0x67, 0xe8, 0x82, 0x43, 0x74, 0x59, 0xb1, 0x62, 0x85, 0x20, 0x59, 0xf4, 0x1a, 0x68, 0xc6, 0x0e, + 0x93, 0x8a, 0xa6, 0xea, 0xce, 0xdf, 0xf3, 0xfb, 0xbe, 0xf7, 0xbe, 0x67, 0xc3, 0xed, 0x4c, 0xc9, + 0x29, 0x15, 0x58, 0x10, 0x1a, 0xf2, 0x98, 0x8c, 0xa5, 0x4c, 0x74, 0x38, 0xdd, 0x0f, 0xcd, 0x69, + 0x90, 0x29, 0x69, 0x24, 0x6a, 0x94, 0x84, 0x60, 0x41, 0x08, 0xa6, 0xfb, 0x5e, 0x93, 0x48, 0x9d, + 0x4a, 0x1d, 0xa6, 0x9a, 0xe5, 0xfc, 0x54, 0x33, 0xdb, 0xe0, 0xb5, 0xed, 0xc5, 0xb0, 0xa8, 0x42, + 0x5b, 0xb8, 0xab, 0x2d, 0x26, 0x99, 0xb4, 0x78, 0x7e, 0x72, 0xe8, 0x93, 0x15, 0x16, 0x32, 0xac, + 0x70, 0xea, 0x5a, 0x3b, 0x9f, 0xe0, 0xc3, 0x81, 0x66, 0x6f, 0x52, 0x6e, 0xde, 0xf6, 0x5f, 0xf7, + 0x48, 0x82, 0x1a, 0xb0, 0xaa, 0xa9, 0x18, 0x51, 0xd5, 0x02, 0x3b, 0x60, 0xb7, 0x16, 0xb9, 0x0a, + 0x3d, 0x83, 0x8f, 0x32, 0x4c, 0x12, 0x6a, 0x86, 0x9a, 0x7e, 0x9c, 0x50, 0x41, 0x68, 0xeb, 0xde, + 0x0e, 0xd8, 0x5d, 0x8f, 0xea, 0x16, 0x3e, 0x76, 0x28, 0x6a, 0xc1, 0x0d, 0x32, 0xc6, 0x42, 0xd0, + 0x93, 0xd6, 0x5a, 0x31, 0x61, 0x51, 0x1e, 0x6e, 0x7e, 0xb9, 0x3a, 0xdf, 0x73, 0xf3, 0x3a, 0xef, + 0xe1, 0xe3, 0x6b, 0xc2, 0x11, 0xd5, 0x99, 0x14, 0x9a, 0xe6, 0x42, 0x44, 0x0a, 0xa3, 0x30, 0x31, + 0x43, 0x45, 0xf5, 0xe4, 0xc4, 0x38, 0x27, 0xf5, 0x05, 0x1c, 0x15, 0x28, 0x6a, 0xc2, 0x0d, 0x1e, + 0x93, 0x21, 0x26, 0x49, 0xe1, 0xa4, 0x16, 0x55, 0x79, 0x4c, 0x7a, 0x24, 0xe9, 0x7c, 0x03, 0xb0, + 0x31, 0xd0, 0xec, 0x5d, 0x36, 0xc2, 0x86, 0x1e, 0x15, 0xdb, 0x46, 0xb9, 0x3b, 0x6d, 0xd0, 0x4b, + 0x58, 0xc3, 0x13, 0x33, 0x96, 0x8a, 0x9b, 0x33, 0x3b, 0xb6, 0xdf, 0xfa, 0xf1, 0xbd, 0xbb, 0xe5, + 0xe2, 0xec, 0x8d, 0x46, 0x8a, 0x6a, 0x7d, 0x6c, 0x14, 0x17, 0x2c, 0x2a, 0xa9, 0xe8, 0x15, 0xac, + 0xda, 0xd8, 0x0a, 0xa9, 0xcd, 0x03, 0x3f, 0xb8, 0xf9, 0xf9, 0x02, 0x2b, 0xd7, 0x5f, 0xbf, 0xf8, + 0xb5, 0x5d, 0x89, 0x5c, 0xcf, 0x61, 0x3d, 0x5f, 0xbc, 0x9c, 0xd6, 0x69, 0xc3, 0xe6, 0x7f, 0xfe, + 0xec, 0xf6, 0x07, 0x7f, 0x00, 0x5c, 0x1b, 0x68, 0x86, 0x62, 0x08, 0x97, 0x1e, 0xe5, 0xe9, 0x2a, + 0xb9, 0x6b, 0x11, 0x7a, 0xdd, 0x3b, 0xd1, 0xfe, 0x25, 0x2d, 0xe1, 0x83, 0x65, 0x0f, 0x28, 0xb8, + 0xa5, 0xfd, 0x86, 0x30, 0xbd, 0xf0, 0xce, 0x7c, 0x2b, 0xe8, 0xdd, 0xff, 0x7c, 0x75, 0xbe, 0x07, + 0xfa, 0xc9, 0xc5, 0xcc, 0x07, 0x97, 0x33, 0x1f, 0xfc, 0x9e, 0xf9, 0xe0, 0xeb, 0xdc, 0xaf, 0x5c, + 0xce, 0xfd, 0xca, 0xcf, 0xb9, 0x5f, 0x81, 0x6d, 0x2e, 0x57, 0xcc, 0x3c, 0x02, 0x1f, 0x5e, 0x30, + 0x6e, 0xc6, 0x93, 0x38, 0x20, 0x32, 0x0d, 0x4b, 0x52, 0x97, 0xcb, 0xa5, 0x2a, 0x3c, 0x2d, 0xbf, + 0xba, 0x39, 0xcb, 0xa8, 0x8e, 0xab, 0xc5, 0x3f, 0x7f, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x9d, + 0x6e, 0x18, 0xc3, 0x91, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/ibcratelimit/module/ibc_middleware_test.go b/x/ibcratelimit/module/ibc_middleware_test.go index 56967ddf82..77a89ca5d8 100644 --- a/x/ibcratelimit/module/ibc_middleware_test.go +++ b/x/ibcratelimit/module/ibc_middleware_test.go @@ -12,11 +12,14 @@ import ( "github.com/stretchr/testify/suite" + abci "github.com/cometbft/cometbft/abci/types" + "cosmossdk.io/log" sdkmath "cosmossdk.io/math" - abci "github.com/cometbft/cometbft/abci/types" dbm "github.com/cosmos/cosmos-db" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" @@ -51,17 +54,23 @@ func TestMiddlewareTestSuite(t *testing.T) { suite.Run(t, new(MiddlewareTestSuite)) } -func SetupSimApp() (ibctesting.TestingApp, map[string]json.RawMessage) { - pioconfig.SetProvenanceConfig(sdk.DefaultBondDenom, 0) - db := dbm.NewMemDB() - provenanceApp := app.New(log.NewNopLogger(), db, nil, true, map[int64]bool{}, app.DefaultNodeHome, 5, simtestutil.EmptyAppOptions{}) - genesis := provenanceApp.DefaultGenesis() - return provenanceApp, genesis +func (suite *MiddlewareTestSuite) SetupSimAppFn() func() (ibctesting.TestingApp, map[string]json.RawMessage) { + return func() (ibctesting.TestingApp, map[string]json.RawMessage) { + pioconfig.SetProvenanceConfig(sdk.DefaultBondDenom, 0) + db := dbm.NewMemDB() + appOpts := simtestutil.AppOptionsMap{ + flags.FlagHome: suite.T().TempDir(), + server.FlagInvCheckPeriod: 5, + } + provenanceApp := app.New(log.NewNopLogger(), db, nil, true, appOpts) + genesis := provenanceApp.DefaultGenesis() + return provenanceApp, genesis + } } func (suite *MiddlewareTestSuite) SetupTest() { SkipIfWSL(suite.T()) - ibctesting.DefaultTestingAppInit = SetupSimApp + ibctesting.DefaultTestingAppInit = suite.SetupSimAppFn() suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2) suite.chainA = &testutil.TestChain{ diff --git a/x/ibcratelimit/tx.pb.go b/x/ibcratelimit/tx.pb.go index b25768d847..9aa2311365 100644 --- a/x/ibcratelimit/tx.pb.go +++ b/x/ibcratelimit/tx.pb.go @@ -232,7 +232,7 @@ func init() { } var fileDescriptor_e09935355436fc3e = []byte{ - // 389 bytes of a gzipped FileDescriptorProto + // 396 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x2e, 0x28, 0xca, 0x2f, 0x4b, 0xcd, 0x4b, 0xcc, 0x4b, 0x4e, 0xd5, 0xcf, 0x4c, 0x4a, 0x2e, 0x4a, 0x2c, 0x49, 0xcd, 0xc9, 0xcc, 0xcd, 0x2c, 0xd1, 0x2f, 0x33, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, @@ -249,15 +249,15 @@ var fileDescriptor_e09935355436fc3e = []byte{ 0xaa, 0xcf, 0x4a, 0xa0, 0xe9, 0xf9, 0x06, 0x2d, 0x64, 0xcb, 0x95, 0x14, 0xb8, 0xa4, 0xb0, 0x39, 0xb4, 0xb8, 0x20, 0x3f, 0xaf, 0x38, 0xd5, 0x8a, 0x49, 0x82, 0x51, 0x69, 0x11, 0x23, 0x97, 0x98, 0x6f, 0x71, 0xfa, 0xe0, 0xf2, 0x08, 0x1f, 0xaa, 0x47, 0x94, 0x24, 0xb9, 0xc4, 0x31, 0xdc, 0x08, - 0xf1, 0x83, 0x51, 0x1b, 0x13, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x50, 0x2b, 0x23, 0x17, 0x3f, 0x9a, + 0xf1, 0x83, 0x51, 0x2f, 0x13, 0x17, 0xb3, 0x6f, 0x71, 0xba, 0x50, 0x2b, 0x23, 0x17, 0x3f, 0x9a, 0x3f, 0x85, 0x4c, 0xf1, 0x59, 0x8c, 0x33, 0x02, 0xa5, 0xcc, 0x48, 0xd5, 0x06, 0x71, 0x8a, 0x12, 0x73, 0x07, 0x13, 0xa3, 0x50, 0x39, 0x17, 0x0f, 0x8a, 0x1b, 0x8c, 0x08, 0x18, 0x86, 0xcd, 0x01, - 0xc6, 0x24, 0xe9, 0x81, 0xd8, 0xee, 0x94, 0x7b, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, - 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, - 0x0c, 0x5c, 0xb2, 0x99, 0xf9, 0x78, 0x0c, 0x0c, 0x60, 0x8c, 0x32, 0x4a, 0xcf, 0x2c, 0xc9, 0x28, - 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x47, 0x28, 0xd4, 0xcd, 0xcc, 0x47, 0xe2, 0xe9, 0x57, 0xa0, - 0xe4, 0x89, 0x24, 0x36, 0x70, 0x56, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x07, 0x07, 0xc0, - 0x65, 0xc0, 0x03, 0x00, 0x00, + 0xc6, 0x24, 0xe9, 0x81, 0xd8, 0x2e, 0xc5, 0xda, 0xf0, 0x7c, 0x83, 0x16, 0xa3, 0x53, 0xee, 0x89, + 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, + 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x70, 0xc9, 0x66, 0xe6, 0xe3, 0x31, 0x37, 0x80, + 0x31, 0xca, 0x28, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x57, 0x1f, 0xa1, 0x50, + 0x37, 0x33, 0x1f, 0x89, 0xa7, 0x5f, 0x81, 0x92, 0x35, 0x92, 0xd8, 0xc0, 0x39, 0xc2, 0x18, 0x10, + 0x00, 0x00, 0xff, 0xff, 0xd9, 0x8d, 0x1a, 0xad, 0xc7, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/marker/types/tx.pb.go b/x/marker/types/tx.pb.go index 727caa653b..98b2615e41 100644 --- a/x/marker/types/tx.pb.go +++ b/x/marker/types/tx.pb.go @@ -2963,154 +2963,155 @@ func init() { func init() { proto.RegisterFile("provenance/marker/v1/tx.proto", fileDescriptor_bcb203fb73175ed3) } var fileDescriptor_bcb203fb73175ed3 = []byte{ - // 2352 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xdf, 0x6f, 0x1b, 0x59, - 0xf5, 0xef, 0x38, 0xae, 0x1b, 0x1f, 0xb7, 0x69, 0x73, 0x9b, 0x26, 0x13, 0x67, 0xf3, 0xb3, 0x4d, - 0xeb, 0xed, 0x77, 0xe3, 0x69, 0xbc, 0x5f, 0xba, 0xdd, 0xb0, 0x12, 0x72, 0x92, 0x4d, 0xa9, 0xc0, - 0xa8, 0x72, 0x16, 0x10, 0xbc, 0x58, 0xe3, 0x99, 0x9b, 0xc9, 0x28, 0xf6, 0x8c, 0x3b, 0xf7, 0xda, - 0x69, 0x56, 0xe2, 0x85, 0x7d, 0xda, 0x27, 0x96, 0x7d, 0x40, 0x08, 0xf1, 0xc0, 0x13, 0x42, 0x3c, - 0xad, 0xd0, 0x8a, 0x3f, 0x00, 0x09, 0xb1, 0x80, 0x40, 0xab, 0xe5, 0x05, 0xf1, 0xb0, 0xa0, 0x56, - 0xb0, 0x88, 0x3f, 0x02, 0xd0, 0xdc, 0x7b, 0x67, 0xec, 0xb1, 0x67, 0xae, 0x9d, 0xc4, 0xd5, 0xf2, - 0xd2, 0x66, 0xee, 0x39, 0xe7, 0x9e, 0xf3, 0x39, 0xf7, 0x9c, 0x7b, 0xcf, 0x39, 0x09, 0x2c, 0xb6, - 0x3c, 0xb7, 0x83, 0x1d, 0xdd, 0x31, 0xb0, 0xd6, 0xd4, 0xbd, 0x23, 0xec, 0x69, 0x9d, 0x4d, 0x8d, - 0x3e, 0x2d, 0xb6, 0x3c, 0x97, 0xba, 0x68, 0xa6, 0x4b, 0x2e, 0x72, 0x72, 0xb1, 0xb3, 0x99, 0x9f, - 0xd6, 0x9b, 0xb6, 0xe3, 0x6a, 0xec, 0x5f, 0xce, 0x98, 0x9f, 0xb7, 0x5c, 0xd7, 0x6a, 0x60, 0x8d, - 0x7d, 0xd5, 0xdb, 0x07, 0x9a, 0xee, 0x9c, 0x04, 0x24, 0xc3, 0x25, 0x4d, 0x97, 0xd4, 0xd8, 0x97, - 0xc6, 0x3f, 0x04, 0x69, 0xc6, 0x72, 0x2d, 0x97, 0xaf, 0xfb, 0x3f, 0x89, 0xd5, 0x25, 0xce, 0xa3, - 0xd5, 0x75, 0x82, 0xb5, 0xce, 0x66, 0x1d, 0x53, 0x7d, 0x53, 0x33, 0x5c, 0xdb, 0x19, 0xa0, 0x3b, - 0x47, 0x21, 0xdd, 0xff, 0x10, 0xf4, 0x39, 0x41, 0x6f, 0x12, 0xcb, 0x07, 0xd3, 0x24, 0x96, 0x20, - 0xac, 0xdb, 0x75, 0x43, 0xd3, 0x5b, 0xad, 0x86, 0x6d, 0xe8, 0xd4, 0x76, 0x1d, 0xa2, 0x51, 0x4f, - 0x77, 0xc8, 0x41, 0x14, 0x74, 0x7e, 0x35, 0xd6, 0x27, 0x02, 0x3e, 0x67, 0xb9, 0x1d, 0xcb, 0xa2, - 0x1b, 0x06, 0x26, 0xc4, 0xf2, 0x74, 0x87, 0x72, 0xbe, 0xb5, 0xdf, 0x2b, 0xa0, 0x56, 0x88, 0xf5, - 0xd0, 0x5f, 0x2a, 0x37, 0x1a, 0xee, 0xb1, 0x2f, 0x51, 0xc5, 0x4f, 0xda, 0x98, 0x50, 0x34, 0x03, - 0x17, 0x4d, 0xec, 0xb8, 0x4d, 0x55, 0x59, 0x51, 0x0a, 0xd9, 0x2a, 0xff, 0x40, 0xb7, 0xe0, 0x8a, - 0x6e, 0x36, 0x6d, 0xc7, 0x26, 0xd4, 0xd3, 0xa9, 0xeb, 0xa9, 0x29, 0x46, 0x8d, 0x2e, 0x22, 0x15, - 0x2e, 0x31, 0x3d, 0x18, 0xab, 0x13, 0x8c, 0x1e, 0x7c, 0xa2, 0x37, 0x21, 0xab, 0x07, 0x9a, 0xd4, - 0xf4, 0x8a, 0x52, 0xc8, 0x95, 0x66, 0x8a, 0xfc, 0x74, 0x8a, 0xc1, 0xe9, 0x14, 0xcb, 0xce, 0xc9, - 0xf6, 0xf4, 0xef, 0x3e, 0xdc, 0xb8, 0xb2, 0x87, 0x71, 0x68, 0xd7, 0xa3, 0x6a, 0x57, 0x72, 0x0b, - 0x7d, 0xf7, 0xb3, 0x0f, 0xee, 0x46, 0x95, 0xae, 0x2d, 0xc0, 0x7c, 0x0c, 0x18, 0xd2, 0x72, 0x1d, - 0x82, 0xd7, 0xfe, 0x93, 0x86, 0xeb, 0x15, 0x62, 0x95, 0x4d, 0xb3, 0xc2, 0x1c, 0x12, 0xa0, 0x7c, - 0x0d, 0x32, 0x7a, 0xd3, 0x6d, 0x3b, 0x94, 0xc1, 0xcc, 0x95, 0xe6, 0x8b, 0x22, 0x04, 0xfc, 0xe3, - 0x2d, 0x8a, 0xe3, 0x2b, 0xee, 0xb8, 0xb6, 0xb3, 0x9d, 0xfe, 0xe8, 0xd3, 0xe5, 0x0b, 0x55, 0xc1, - 0xee, 0x43, 0x6c, 0xea, 0x8e, 0x6e, 0x61, 0x2f, 0x80, 0x28, 0x3e, 0xd1, 0x2a, 0x5c, 0x3e, 0xf0, - 0xdc, 0x66, 0x4d, 0x37, 0x4d, 0x0f, 0x13, 0xc2, 0x50, 0x66, 0xab, 0x39, 0x7f, 0xad, 0xcc, 0x97, - 0xd0, 0x16, 0x64, 0x08, 0xd5, 0x69, 0x9b, 0xa8, 0x17, 0x57, 0x94, 0xc2, 0x54, 0x69, 0xad, 0x18, - 0x17, 0xc9, 0x45, 0x6e, 0xea, 0x3e, 0xe3, 0xac, 0x0a, 0x09, 0x54, 0x86, 0x1c, 0xe7, 0xa8, 0xd1, - 0x93, 0x16, 0x56, 0x33, 0x6c, 0x83, 0x15, 0xd9, 0x06, 0x6f, 0x9d, 0xb4, 0x70, 0x15, 0x9a, 0xe1, - 0xcf, 0xe8, 0xcb, 0x90, 0xe3, 0xc1, 0x50, 0x6b, 0xd8, 0x84, 0xaa, 0x97, 0x56, 0x26, 0x0a, 0xb9, - 0xd2, 0x6a, 0xfc, 0x16, 0x65, 0xc6, 0xc8, 0xbc, 0x2a, 0x3c, 0x00, 0x5c, 0xf6, 0xab, 0x36, 0xa1, - 0x3e, 0x56, 0xd2, 0x6e, 0xb5, 0x1a, 0x27, 0xb5, 0x03, 0xfb, 0x29, 0x36, 0xd5, 0xc9, 0x15, 0xa5, - 0x30, 0x59, 0xcd, 0xf1, 0xb5, 0x3d, 0x7f, 0x09, 0x3d, 0x00, 0x95, 0x9d, 0x5b, 0xcd, 0x72, 0x3b, - 0xd8, 0x63, 0xdb, 0xd7, 0x0c, 0xd7, 0xa1, 0x9e, 0xdb, 0x50, 0xb3, 0x8c, 0x7d, 0x96, 0xd1, 0x1f, - 0x86, 0xe4, 0x1d, 0x4e, 0x45, 0x25, 0xb8, 0xc1, 0x25, 0x0f, 0x5c, 0xcf, 0xc0, 0x66, 0x2d, 0x48, - 0x07, 0x15, 0x98, 0xd8, 0x75, 0x46, 0xdc, 0x63, 0xb4, 0xb7, 0x04, 0x09, 0x69, 0x70, 0xdd, 0xc3, - 0x4f, 0xda, 0xb6, 0x87, 0xcd, 0x9a, 0x4e, 0xa9, 0x67, 0xd7, 0xdb, 0x14, 0x13, 0x35, 0xb7, 0x32, - 0x51, 0xc8, 0x56, 0x51, 0x40, 0x2a, 0x87, 0x14, 0xb4, 0x0c, 0xd9, 0x36, 0x31, 0x6b, 0x06, 0x76, - 0x28, 0x51, 0x2f, 0xaf, 0x28, 0x85, 0xf4, 0x76, 0x4a, 0x55, 0xaa, 0x93, 0x6d, 0x62, 0xee, 0xf8, - 0x6b, 0x68, 0x16, 0x32, 0x1d, 0xb7, 0xd1, 0x6e, 0x62, 0xf5, 0x8a, 0x4f, 0xad, 0x8a, 0x2f, 0xb4, - 0xc0, 0x05, 0x9b, 0x76, 0xa3, 0x41, 0xd4, 0x29, 0x46, 0xf2, 0x85, 0x2a, 0xfe, 0xf7, 0xd6, 0xb4, - 0x1f, 0x9f, 0x91, 0x30, 0x58, 0x9b, 0x85, 0x99, 0x68, 0x00, 0x8a, 0xc8, 0xfc, 0xa9, 0x12, 0x44, - 0x26, 0x77, 0xf5, 0x38, 0xf2, 0xef, 0x4b, 0x90, 0xe1, 0x87, 0xa4, 0x4e, 0x9c, 0xee, 0x6c, 0x85, - 0x58, 0x6c, 0x7e, 0x85, 0x00, 0x02, 0x3b, 0x05, 0x80, 0xef, 0x2b, 0x30, 0x5b, 0x21, 0xd6, 0x2e, - 0x6e, 0x60, 0x8a, 0xc7, 0x87, 0xe1, 0x0e, 0x5c, 0xf5, 0x70, 0xd3, 0xed, 0xf8, 0x07, 0x29, 0x32, - 0x89, 0x27, 0xda, 0x94, 0x58, 0x16, 0xc9, 0x14, 0x6b, 0xeb, 0x3c, 0xcc, 0x0d, 0x98, 0x24, 0xcc, - 0x35, 0x01, 0x55, 0x88, 0xb5, 0x67, 0x3b, 0x7a, 0xc3, 0x7e, 0x7b, 0x1c, 0xb7, 0x5d, 0xac, 0x01, - 0x37, 0xd8, 0xa1, 0x76, 0xb5, 0x44, 0x94, 0x97, 0x0d, 0x6a, 0x77, 0x74, 0xfa, 0x82, 0x95, 0x77, - 0xb5, 0x08, 0xe5, 0x75, 0xb8, 0x56, 0x21, 0xd6, 0x8e, 0x1f, 0x04, 0x8d, 0x17, 0xa5, 0xfa, 0x3a, - 0x4c, 0xf7, 0xe8, 0x88, 0x28, 0xe6, 0xa7, 0xf1, 0x62, 0x15, 0x07, 0x3a, 0x84, 0xe2, 0x77, 0x14, - 0x98, 0xaa, 0x10, 0xab, 0x62, 0x3b, 0xf4, 0xdc, 0x17, 0xfe, 0xd9, 0x4d, 0x9b, 0x86, 0xab, 0xa1, - 0x11, 0x51, 0xc3, 0xb6, 0xdb, 0x9e, 0xf3, 0xb9, 0x1b, 0xc6, 0x8d, 0x10, 0x86, 0xfd, 0x5b, 0x61, - 0x11, 0xfa, 0x4d, 0x9b, 0x1e, 0x9a, 0x9e, 0x7e, 0x3c, 0x8e, 0x44, 0x5e, 0x04, 0xa0, 0x6e, 0x5f, - 0x0e, 0x67, 0xa9, 0x1b, 0xbc, 0x85, 0x27, 0x21, 0xee, 0x34, 0xbb, 0xab, 0x24, 0xb8, 0xf7, 0x7c, - 0xdc, 0x3f, 0xff, 0xeb, 0x72, 0xc1, 0xb2, 0xe9, 0x61, 0xbb, 0x5e, 0x34, 0xdc, 0xa6, 0xa8, 0xd8, - 0xc4, 0x7f, 0x1b, 0xc4, 0x3c, 0xd2, 0xfc, 0x67, 0x91, 0x30, 0x01, 0xf2, 0x23, 0xff, 0x16, 0x6e, - 0x60, 0x4b, 0x37, 0x4e, 0x6a, 0x7e, 0x89, 0x46, 0x7e, 0xf6, 0xd9, 0x07, 0x77, 0x95, 0xc0, 0x73, - 0x92, 0xdc, 0xe9, 0xe2, 0x17, 0x7e, 0xf9, 0x2d, 0xf7, 0x4b, 0xf0, 0xce, 0x8c, 0xff, 0xd0, 0x26, - 0xe2, 0x5c, 0x37, 0x42, 0x29, 0x11, 0xf5, 0xee, 0xc5, 0x3e, 0xef, 0x4a, 0x20, 0x76, 0xa1, 0x08, - 0x88, 0xff, 0x50, 0xe0, 0x46, 0x85, 0x58, 0x8f, 0xea, 0x46, 0x3f, 0xca, 0xf7, 0x15, 0x98, 0x0c, - 0x1f, 0x5f, 0x0e, 0xf4, 0xe5, 0xa2, 0x5d, 0x37, 0x8a, 0xbd, 0xd5, 0x6a, 0x31, 0xe0, 0x60, 0x85, - 0x47, 0x77, 0xff, 0xed, 0xaf, 0xf8, 0xc0, 0xff, 0xf2, 0xe9, 0xf2, 0xce, 0xe0, 0xa9, 0xd9, 0x75, - 0x63, 0xc3, 0x72, 0xb5, 0xce, 0x03, 0xad, 0xe9, 0x9a, 0xed, 0x06, 0x26, 0x7e, 0xfd, 0xdb, 0x53, - 0xf7, 0xf2, 0xa3, 0xec, 0x35, 0x36, 0xb4, 0xe3, 0x1c, 0x61, 0xaf, 0xb2, 0xf7, 0x2a, 0x82, 0x53, - 0xb8, 0xe0, 0x0f, 0x0a, 0xe4, 0x2b, 0xc4, 0xda, 0xc7, 0x74, 0xd7, 0x0f, 0xf0, 0x0a, 0xa6, 0xba, - 0xa9, 0x53, 0x3d, 0xf0, 0x43, 0x1b, 0x26, 0x9b, 0x62, 0x49, 0xb8, 0x61, 0xb1, 0x7b, 0xde, 0xce, - 0x51, 0x78, 0xde, 0x81, 0xdc, 0xf6, 0x96, 0x80, 0x5e, 0x92, 0x06, 0xec, 0x53, 0xde, 0x2b, 0x08, - 0xb0, 0x81, 0xce, 0x50, 0xd5, 0x39, 0x90, 0x2e, 0xc2, 0x42, 0x2c, 0x1c, 0x01, 0xf7, 0x4f, 0x69, - 0xb8, 0xc9, 0x9f, 0xf4, 0xe0, 0xa1, 0x0a, 0xde, 0x8c, 0xff, 0x85, 0x22, 0xb9, 0xaf, 0xd0, 0xbd, - 0x78, 0xfe, 0x42, 0x37, 0x33, 0xbe, 0x42, 0xf7, 0xd2, 0xe9, 0x0a, 0xdd, 0xc9, 0xb3, 0x15, 0xba, - 0xd9, 0x53, 0x17, 0xba, 0x30, 0x5a, 0xa1, 0x9b, 0x93, 0x16, 0xba, 0x97, 0x93, 0x0b, 0xdd, 0x2b, - 0xc3, 0x0b, 0xdd, 0xdb, 0x70, 0x4b, 0x1e, 0x54, 0x22, 0xfa, 0xfe, 0xa8, 0xc0, 0x8a, 0x1f, 0x9d, - 0xcc, 0x85, 0x8f, 0x1c, 0xc3, 0xc3, 0x3a, 0xc1, 0x8f, 0x3d, 0xb7, 0xe5, 0x12, 0xbd, 0x71, 0xee, - 0xd0, 0x5b, 0x87, 0x29, 0xaa, 0x7b, 0x16, 0xa6, 0x61, 0x88, 0x89, 0xac, 0xe1, 0xab, 0x41, 0x90, - 0xdd, 0x87, 0xac, 0xde, 0xa6, 0x87, 0xae, 0x67, 0xd3, 0x13, 0x1e, 0xa3, 0xdb, 0xea, 0x27, 0x1f, - 0x6e, 0xcc, 0x08, 0x2d, 0x82, 0x6d, 0x9f, 0x7a, 0xb6, 0x63, 0x55, 0xbb, 0xac, 0x5b, 0xe8, 0x9f, - 0x3f, 0x59, 0x56, 0x7c, 0xec, 0xdd, 0xb5, 0xb5, 0x9b, 0xb0, 0x2a, 0xc1, 0x23, 0x50, 0x7f, 0xd2, - 0x8b, 0x7a, 0x17, 0xc7, 0xa3, 0xae, 0x8f, 0x8e, 0x5a, 0x13, 0x57, 0xcc, 0x9d, 0x11, 0xdf, 0xc4, - 0xd0, 0x41, 0x11, 0xe4, 0xa9, 0xf1, 0x21, 0x1f, 0xc4, 0x24, 0x90, 0xff, 0x20, 0x05, 0x6b, 0x15, - 0x62, 0x7d, 0xbd, 0x65, 0x8a, 0xd2, 0x37, 0x1a, 0xa0, 0xf2, 0x52, 0xe3, 0x0d, 0xc8, 0xf3, 0xb2, - 0xbf, 0x16, 0x17, 0xf5, 0x29, 0x16, 0xf5, 0x2a, 0xe7, 0x18, 0xdc, 0x1a, 0xdd, 0x87, 0x39, 0xdd, - 0x34, 0x63, 0x45, 0x27, 0x98, 0xe8, 0x0d, 0xdd, 0x34, 0x63, 0xe4, 0x1e, 0x02, 0x0a, 0x72, 0xb1, - 0xd6, 0x75, 0x56, 0x7a, 0x88, 0xb3, 0xa6, 0x03, 0x99, 0x72, 0xe8, 0xb4, 0x85, 0xc0, 0x69, 0x31, - 0xfb, 0xad, 0xad, 0xb3, 0x5b, 0x38, 0xd9, 0x2f, 0xc2, 0x7f, 0xbf, 0x54, 0x60, 0x29, 0xe4, 0x8b, - 0xde, 0x06, 0x72, 0xdf, 0x25, 0x5e, 0x2f, 0xa9, 0xe4, 0xeb, 0x65, 0x9c, 0x79, 0xb1, 0x0a, 0xcb, - 0x89, 0x76, 0x0b, 0x6c, 0xef, 0xf2, 0x49, 0xd4, 0x3e, 0xa6, 0x65, 0xc3, 0xf0, 0xc3, 0x73, 0xb7, - 0xe7, 0xd9, 0x8d, 0x47, 0x35, 0x03, 0x17, 0x3b, 0x7a, 0xa3, 0x8d, 0x45, 0x5e, 0xf3, 0x0f, 0x74, - 0x0f, 0x32, 0xc4, 0xb6, 0x9c, 0xe0, 0xc1, 0x91, 0x18, 0x2d, 0xf8, 0xb6, 0xae, 0x06, 0x16, 0x8b, - 0x05, 0x31, 0x47, 0xea, 0x37, 0x45, 0x18, 0xfa, 0x2f, 0x05, 0x5e, 0x0a, 0xc1, 0xec, 0x63, 0xc7, - 0xdc, 0xc5, 0xce, 0x89, 0xff, 0x42, 0xc8, 0x8d, 0xbd, 0x0f, 0x73, 0x22, 0x7c, 0x4d, 0xec, 0xd8, - 0xdd, 0x96, 0x36, 0x8c, 0xdd, 0x1b, 0x9c, 0xbc, 0xcb, 0xa8, 0xe5, 0x80, 0x88, 0xee, 0xc1, 0x8c, - 0x1f, 0xb8, 0x03, 0x42, 0x3c, 0x6a, 0x91, 0x6e, 0x9a, 0xfd, 0x12, 0x91, 0x83, 0x4b, 0x9f, 0xef, - 0xe0, 0x96, 0x61, 0x31, 0x01, 0xab, 0xf0, 0xc6, 0xaf, 0x14, 0x56, 0x60, 0x94, 0x4d, 0xf3, 0x6b, - 0x98, 0x96, 0x09, 0xc1, 0xf4, 0x1b, 0xfe, 0x29, 0x8c, 0xa5, 0xff, 0xdf, 0x87, 0x6b, 0x8e, 0x7f, - 0x7b, 0xfb, 0xbb, 0xd6, 0xd8, 0xe1, 0x06, 0xd3, 0x8c, 0x9b, 0xf1, 0x0f, 0x78, 0xc4, 0x04, 0xf1, - 0x1a, 0x4c, 0x39, 0x11, 0xbb, 0x62, 0x8b, 0xa4, 0x25, 0x76, 0xa2, 0x31, 0x18, 0x04, 0xc8, 0xdf, - 0x28, 0xec, 0xde, 0xf2, 0x03, 0xa2, 0x57, 0xae, 0xff, 0xce, 0x8e, 0xc7, 0xda, 0x9d, 0xc4, 0xa4, - 0xce, 0x34, 0x89, 0x19, 0x6b, 0x22, 0xf2, 0x8b, 0x26, 0x19, 0x88, 0x00, 0xfc, 0x0b, 0x05, 0xd6, - 0x2b, 0xc4, 0xaa, 0xb2, 0x88, 0x3c, 0x03, 0xe6, 0x98, 0xc9, 0x0d, 0x0f, 0xf2, 0xbe, 0xc9, 0xcd, - 0x58, 0xb1, 0x15, 0xe0, 0xf6, 0x30, 0x9b, 0x05, 0xbc, 0x5f, 0xf3, 0x7b, 0x74, 0xe7, 0x50, 0x77, - 0x2c, 0xcc, 0x87, 0xab, 0xa3, 0xe1, 0x2a, 0x03, 0x38, 0xf8, 0xb8, 0x26, 0x26, 0xb7, 0xa9, 0x91, - 0x27, 0xb7, 0x59, 0x07, 0x1f, 0xf3, 0x1f, 0x5f, 0xc0, 0xb5, 0x1a, 0x0f, 0x43, 0x40, 0x7d, 0x2f, - 0xc5, 0x8a, 0x8d, 0xa0, 0x9b, 0x7d, 0x93, 0x18, 0x9e, 0x7b, 0x3c, 0x1a, 0x58, 0x23, 0x2c, 0x41, - 0x52, 0xc3, 0xda, 0xf2, 0x7b, 0xa7, 0x6d, 0xcb, 0x25, 0x45, 0xda, 0xc4, 0xd0, 0x22, 0x2d, 0x3d, - 0x8e, 0x52, 0x25, 0xc9, 0x23, 0xc2, 0x6f, 0xcf, 0xc3, 0x94, 0x8f, 0x34, 0x4e, 0xfd, 0x9e, 0xfb, - 0x9c, 0xfa, 0xc1, 0xb3, 0x56, 0x6e, 0x53, 0x49, 0xd7, 0x41, 0x02, 0x48, 0xe1, 0x8c, 0x1f, 0xf3, - 0xf9, 0x2e, 0x7f, 0x06, 0x1e, 0xeb, 0x9e, 0xde, 0x0c, 0xef, 0xf7, 0x88, 0x25, 0xca, 0xc8, 0x96, - 0xa0, 0x2d, 0xc8, 0xb4, 0xd8, 0x46, 0xcc, 0xfc, 0x5c, 0xe9, 0xa5, 0xf8, 0x2c, 0xe2, 0xca, 0x82, - 0x0b, 0x91, 0x4b, 0x0c, 0xa0, 0xe0, 0xa3, 0xde, 0xa8, 0x75, 0xdc, 0xf2, 0xd2, 0xdf, 0xe7, 0x61, - 0xa2, 0x42, 0x2c, 0x54, 0x83, 0xc9, 0xa0, 0x17, 0x41, 0x85, 0x84, 0x84, 0x1d, 0x18, 0x09, 0xe7, - 0x5f, 0x1e, 0x81, 0x93, 0x2b, 0xf2, 0x15, 0x04, 0x4d, 0x8e, 0x44, 0x41, 0xdf, 0xd8, 0x57, 0xa2, - 0xa0, 0x7f, 0x74, 0x8b, 0xbe, 0x05, 0x19, 0x3e, 0x53, 0x45, 0xb7, 0x13, 0x85, 0x22, 0x83, 0xdd, - 0xfc, 0x9d, 0xa1, 0x7c, 0xdd, 0xad, 0xf9, 0xd4, 0x54, 0xb2, 0x75, 0x64, 0x74, 0x2b, 0xd9, 0x3a, - 0x3a, 0x7e, 0x45, 0xfb, 0x90, 0xae, 0xd8, 0x0e, 0x45, 0xb7, 0x12, 0x05, 0x7a, 0x26, 0xb3, 0xf9, - 0xf5, 0x21, 0x5c, 0xdd, 0x4d, 0xb7, 0xdb, 0x9e, 0x23, 0xd9, 0xb4, 0x67, 0xaa, 0x2a, 0xd9, 0xb4, - 0x77, 0xec, 0x89, 0xea, 0x90, 0x0d, 0x7f, 0xb1, 0x81, 0x24, 0xe7, 0xd2, 0xf7, 0x4b, 0x9a, 0xfc, - 0xdd, 0x51, 0x58, 0x85, 0x8e, 0x23, 0xb8, 0xdc, 0xfb, 0x0b, 0x09, 0xf4, 0xca, 0x10, 0x37, 0x46, - 0x35, 0x6d, 0x8c, 0xc8, 0xdd, 0x8d, 0xc8, 0xe0, 0x8e, 0x93, 0x44, 0x64, 0xdf, 0x98, 0x57, 0x12, - 0x91, 0xfd, 0x03, 0x51, 0xe1, 0x31, 0xfe, 0xce, 0xc9, 0x3d, 0x16, 0x99, 0x25, 0xc9, 0x3d, 0x16, - 0x9d, 0x10, 0xf8, 0x20, 0xc2, 0x86, 0x24, 0x19, 0x44, 0x5f, 0x13, 0x24, 0x01, 0xd1, 0xdf, 0x76, - 0xa0, 0x43, 0xc8, 0xf5, 0x8c, 0x01, 0xd1, 0xff, 0x25, 0x4a, 0x0e, 0x0e, 0x45, 0xf3, 0xaf, 0x8c, - 0xc6, 0x2c, 0x34, 0x1d, 0xc3, 0xb5, 0xfe, 0x8b, 0x16, 0xdd, 0x4b, 0xdc, 0x21, 0x61, 0x00, 0x99, - 0xdf, 0x3c, 0x85, 0x84, 0x50, 0xfc, 0x04, 0xa6, 0xa2, 0xbf, 0x12, 0x47, 0xc5, 0xc4, 0x4d, 0x62, - 0xff, 0x10, 0x20, 0xaf, 0x8d, 0xcc, 0x2f, 0x54, 0xbe, 0xaf, 0xc0, 0x7c, 0xe2, 0xf8, 0x07, 0xbd, - 0x2e, 0x0b, 0x00, 0xe9, 0x1c, 0x32, 0xbf, 0x75, 0x16, 0x51, 0x61, 0xd4, 0xbb, 0x0a, 0xcc, 0xc6, - 0x8f, 0x66, 0xd0, 0xfd, 0x64, 0xaf, 0xca, 0x66, 0x53, 0xf9, 0xd7, 0x4e, 0x2d, 0x37, 0x60, 0x4b, - 0xff, 0xb0, 0x64, 0xa8, 0x2d, 0x09, 0x13, 0xa3, 0xa1, 0xb6, 0x24, 0x4d, 0x65, 0xd0, 0xf7, 0x14, - 0x50, 0x93, 0x46, 0x0f, 0xe8, 0x41, 0xe2, 0xae, 0x43, 0xa6, 0x38, 0xf9, 0xd7, 0xcf, 0x20, 0x29, - 0x2c, 0x7a, 0x47, 0x81, 0x99, 0xb8, 0x61, 0x01, 0xfa, 0xff, 0x21, 0x7b, 0xc6, 0xce, 0x44, 0xf2, - 0x5f, 0x38, 0xa5, 0x54, 0x37, 0x6f, 0xa2, 0x23, 0x00, 0x49, 0xde, 0xc4, 0x8e, 0x2d, 0x24, 0x79, - 0x13, 0x3f, 0x5b, 0x40, 0xdf, 0x01, 0x34, 0xd8, 0x6b, 0xa3, 0xd2, 0x10, 0xfb, 0x63, 0x86, 0x10, - 0xf9, 0x57, 0x4f, 0x25, 0x23, 0xd4, 0xbf, 0x0d, 0xd3, 0x03, 0x4d, 0x30, 0xda, 0x94, 0xa5, 0x5c, - 0x6c, 0xd3, 0x9f, 0x2f, 0x9d, 0x46, 0xa4, 0x27, 0x0a, 0x93, 0xfa, 0x52, 0x49, 0x14, 0x0e, 0xe9, - 0xc9, 0x25, 0x51, 0x38, 0xac, 0x09, 0x46, 0x3f, 0x54, 0x60, 0x41, 0xd2, 0x4d, 0xa2, 0x2f, 0x26, - 0x6e, 0x3d, 0xbc, 0x6f, 0xce, 0xbf, 0x71, 0x36, 0xe1, 0x9e, 0x04, 0x89, 0x6b, 0xfb, 0x24, 0x09, - 0x22, 0x69, 0x76, 0x25, 0x09, 0x22, 0xeb, 0x2d, 0xd9, 0x25, 0x16, 0xdf, 0x46, 0x49, 0x2e, 0x31, - 0x69, 0x27, 0x2a, 0xb9, 0xc4, 0xe4, 0xfd, 0x5a, 0x10, 0x3e, 0xb1, 0x7d, 0x8c, 0x3c, 0x7c, 0x64, - 0xfd, 0x9d, 0x3c, 0x7c, 0xa4, 0x4d, 0x93, 0x5f, 0xec, 0xf5, 0xb6, 0x24, 0x92, 0x62, 0x2f, 0xa6, - 0xaf, 0x92, 0x14, 0x7b, 0x71, 0x7d, 0xce, 0xb6, 0xf5, 0xd1, 0xb3, 0x25, 0xe5, 0xe3, 0x67, 0x4b, - 0xca, 0xdf, 0x9e, 0x2d, 0x29, 0xef, 0x3d, 0x5f, 0xba, 0xf0, 0xf1, 0xf3, 0xa5, 0x0b, 0x7f, 0x7e, - 0xbe, 0x74, 0x01, 0xe6, 0x6c, 0x37, 0x76, 0xab, 0xc7, 0xca, 0xb7, 0x7b, 0x7b, 0xd0, 0x2e, 0xcb, - 0x86, 0xed, 0xf6, 0x7c, 0x69, 0x4f, 0x83, 0xbf, 0x1f, 0x64, 0xcd, 0x68, 0x3d, 0xc3, 0xfe, 0x44, - 0xef, 0xd5, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x33, 0xf6, 0xca, 0x98, 0x29, 0x00, 0x00, + // 2359 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x5f, 0x6f, 0x1b, 0x59, + 0x15, 0xef, 0x38, 0x8e, 0x37, 0x3e, 0x6e, 0xd3, 0xe6, 0x36, 0x6d, 0x27, 0x93, 0xcd, 0xdf, 0x36, + 0xad, 0xb7, 0x6c, 0xec, 0xc6, 0x0b, 0xdd, 0x6e, 0x58, 0x09, 0x39, 0xc9, 0xa6, 0x54, 0x60, 0x54, + 0x39, 0x0b, 0x08, 0x5e, 0xac, 0xf1, 0xcc, 0xcd, 0x64, 0x14, 0x7b, 0xc6, 0x9d, 0x7b, 0xed, 0x34, + 0x2b, 0x21, 0x21, 0xf6, 0x69, 0x9f, 0x58, 0xf6, 0x01, 0x21, 0xc4, 0x03, 0x4f, 0x08, 0xf1, 0x54, + 0xa1, 0x15, 0x1f, 0x00, 0x09, 0xb1, 0x80, 0x40, 0xab, 0xe5, 0x05, 0xf1, 0xb0, 0xa0, 0x56, 0xa2, + 0x08, 0xf1, 0x19, 0x00, 0xcd, 0xbd, 0x77, 0xc6, 0x1e, 0x7b, 0xe6, 0xda, 0x49, 0x5c, 0x2d, 0x2f, + 0x6d, 0xe6, 0x9e, 0x73, 0xee, 0x39, 0xbf, 0x73, 0xcf, 0xb9, 0xf7, 0x9c, 0x93, 0xc0, 0x42, 0xcb, + 0x73, 0x3b, 0xd8, 0xd1, 0x1d, 0x03, 0x17, 0x9b, 0xba, 0x77, 0x88, 0xbd, 0x62, 0x67, 0xa3, 0x48, + 0x1f, 0x17, 0x5a, 0x9e, 0x4b, 0x5d, 0x34, 0xdb, 0x25, 0x17, 0x38, 0xb9, 0xd0, 0xd9, 0xd0, 0x66, + 0xf4, 0xa6, 0xed, 0xb8, 0x45, 0xf6, 0x2f, 0x67, 0xd4, 0xe6, 0x2c, 0xd7, 0xb5, 0x1a, 0xb8, 0xc8, + 0xbe, 0xea, 0xed, 0xfd, 0xa2, 0xee, 0x1c, 0x07, 0x24, 0xc3, 0x25, 0x4d, 0x97, 0xd4, 0xd8, 0x57, + 0x91, 0x7f, 0x08, 0xd2, 0xac, 0xe5, 0x5a, 0x2e, 0x5f, 0xf7, 0x7f, 0x12, 0xab, 0x8b, 0x9c, 0xa7, + 0x58, 0xd7, 0x09, 0x2e, 0x76, 0x36, 0xea, 0x98, 0xea, 0x1b, 0x45, 0xc3, 0xb5, 0x9d, 0x01, 0xba, + 0x73, 0x18, 0xd2, 0xfd, 0x0f, 0x41, 0xbf, 0x26, 0xe8, 0x4d, 0x62, 0xf9, 0x60, 0x9a, 0xc4, 0x12, + 0x84, 0x35, 0xbb, 0x6e, 0x14, 0xf5, 0x56, 0xab, 0x61, 0x1b, 0x3a, 0xb5, 0x5d, 0x87, 0x14, 0xa9, + 0xa7, 0x3b, 0x64, 0x3f, 0x0a, 0x5a, 0x5b, 0x89, 0xf5, 0x89, 0x80, 0xcf, 0x59, 0x6e, 0xc6, 0xb2, + 0xe8, 0x86, 0x81, 0x09, 0xb1, 0x3c, 0xdd, 0xa1, 0x9c, 0x6f, 0xf5, 0x0f, 0x0a, 0xa8, 0x15, 0x62, + 0xdd, 0xf7, 0x97, 0xca, 0x8d, 0x86, 0x7b, 0xe4, 0x4b, 0x54, 0xf1, 0xa3, 0x36, 0x26, 0x14, 0xcd, + 0xc2, 0xa4, 0x89, 0x1d, 0xb7, 0xa9, 0x2a, 0xcb, 0x4a, 0x3e, 0x5b, 0xe5, 0x1f, 0xe8, 0x06, 0x5c, + 0xd0, 0xcd, 0xa6, 0xed, 0xd8, 0x84, 0x7a, 0x3a, 0x75, 0x3d, 0x35, 0xc5, 0xa8, 0xd1, 0x45, 0xa4, + 0xc2, 0x4b, 0x4c, 0x0f, 0xc6, 0xea, 0x04, 0xa3, 0x07, 0x9f, 0xe8, 0x2d, 0xc8, 0xea, 0x81, 0x26, + 0x35, 0xbd, 0xac, 0xe4, 0x73, 0xa5, 0xd9, 0x02, 0x3f, 0x9d, 0x42, 0x70, 0x3a, 0x85, 0xb2, 0x73, + 0xbc, 0x35, 0xf3, 0xfb, 0x0f, 0xd7, 0x2f, 0xec, 0x62, 0x1c, 0xda, 0xf5, 0xa0, 0xda, 0x95, 0xdc, + 0x44, 0xdf, 0x7b, 0xfe, 0xe4, 0x76, 0x54, 0xe9, 0xea, 0x3c, 0xcc, 0xc5, 0x80, 0x21, 0x2d, 0xd7, + 0x21, 0x78, 0xf5, 0xbf, 0x69, 0xb8, 0x5c, 0x21, 0x56, 0xd9, 0x34, 0x2b, 0xcc, 0x21, 0x01, 0xca, + 0xd7, 0x21, 0xa3, 0x37, 0xdd, 0xb6, 0x43, 0x19, 0xcc, 0x5c, 0x69, 0xae, 0x20, 0x42, 0xc0, 0x3f, + 0xde, 0x82, 0x38, 0xbe, 0xc2, 0xb6, 0x6b, 0x3b, 0x5b, 0xe9, 0x8f, 0x3e, 0x5d, 0x3a, 0x57, 0x15, + 0xec, 0x3e, 0xc4, 0xa6, 0xee, 0xe8, 0x16, 0xf6, 0x02, 0x88, 0xe2, 0x13, 0xad, 0xc0, 0xf9, 0x7d, + 0xcf, 0x6d, 0xd6, 0x74, 0xd3, 0xf4, 0x30, 0x21, 0x0c, 0x65, 0xb6, 0x9a, 0xf3, 0xd7, 0xca, 0x7c, + 0x09, 0x6d, 0x42, 0x86, 0x50, 0x9d, 0xb6, 0x89, 0x3a, 0xb9, 0xac, 0xe4, 0xa7, 0x4b, 0xab, 0x85, + 0xb8, 0x48, 0x2e, 0x70, 0x53, 0xf7, 0x18, 0x67, 0x55, 0x48, 0xa0, 0x32, 0xe4, 0x38, 0x47, 0x8d, + 0x1e, 0xb7, 0xb0, 0x9a, 0x61, 0x1b, 0x2c, 0xcb, 0x36, 0x78, 0xfb, 0xb8, 0x85, 0xab, 0xd0, 0x0c, + 0x7f, 0x46, 0x5f, 0x86, 0x1c, 0x0f, 0x86, 0x5a, 0xc3, 0x26, 0x54, 0x7d, 0x69, 0x79, 0x22, 0x9f, + 0x2b, 0xad, 0xc4, 0x6f, 0x51, 0x66, 0x8c, 0xcc, 0xab, 0xc2, 0x03, 0xc0, 0x65, 0xbf, 0x6a, 0x13, + 0xea, 0x63, 0x25, 0xed, 0x56, 0xab, 0x71, 0x5c, 0xdb, 0xb7, 0x1f, 0x63, 0x53, 0x9d, 0x5a, 0x56, + 0xf2, 0x53, 0xd5, 0x1c, 0x5f, 0xdb, 0xf5, 0x97, 0xd0, 0x3d, 0x50, 0xd9, 0xb9, 0xd5, 0x2c, 0xb7, + 0x83, 0x3d, 0xb6, 0x7d, 0xcd, 0x70, 0x1d, 0xea, 0xb9, 0x0d, 0x35, 0xcb, 0xd8, 0xaf, 0x32, 0xfa, + 0xfd, 0x90, 0xbc, 0xcd, 0xa9, 0xa8, 0x04, 0x57, 0xb8, 0xe4, 0xbe, 0xeb, 0x19, 0xd8, 0xac, 0x05, + 0xe9, 0xa0, 0x02, 0x13, 0xbb, 0xcc, 0x88, 0xbb, 0x8c, 0xf6, 0xb6, 0x20, 0xa1, 0x22, 0x5c, 0xf6, + 0xf0, 0xa3, 0xb6, 0xed, 0x61, 0xb3, 0xa6, 0x53, 0xea, 0xd9, 0xf5, 0x36, 0xc5, 0x44, 0xcd, 0x2d, + 0x4f, 0xe4, 0xb3, 0x55, 0x14, 0x90, 0xca, 0x21, 0x05, 0x2d, 0x41, 0xb6, 0x4d, 0xcc, 0x9a, 0x81, + 0x1d, 0x4a, 0xd4, 0xf3, 0xcb, 0x4a, 0x3e, 0xbd, 0x95, 0x52, 0x95, 0xea, 0x54, 0x9b, 0x98, 0xdb, + 0xfe, 0x1a, 0xba, 0x0a, 0x99, 0x8e, 0xdb, 0x68, 0x37, 0xb1, 0x7a, 0xc1, 0xa7, 0x56, 0xc5, 0x17, + 0x9a, 0xe7, 0x82, 0x4d, 0xbb, 0xd1, 0x20, 0xea, 0x34, 0x23, 0xf9, 0x42, 0x15, 0xff, 0x7b, 0x73, + 0xc6, 0x8f, 0xcf, 0x48, 0x18, 0xac, 0x5e, 0x85, 0xd9, 0x68, 0x00, 0x8a, 0xc8, 0xfc, 0x99, 0x12, + 0x44, 0x26, 0x77, 0xf5, 0x38, 0xf2, 0xef, 0x4b, 0x90, 0xe1, 0x87, 0xa4, 0x4e, 0x9c, 0xec, 0x6c, + 0x85, 0x58, 0x6c, 0x7e, 0x85, 0x00, 0x02, 0x3b, 0x05, 0x80, 0x1f, 0x28, 0x70, 0xb5, 0x42, 0xac, + 0x1d, 0xdc, 0xc0, 0x14, 0x8f, 0x0f, 0xc3, 0x2d, 0xb8, 0xe8, 0xe1, 0xa6, 0xdb, 0xf1, 0x0f, 0x52, + 0x64, 0x12, 0x4f, 0xb4, 0x69, 0xb1, 0x2c, 0x92, 0x29, 0xd6, 0xd6, 0x39, 0xb8, 0x36, 0x60, 0x92, + 0x30, 0xd7, 0x04, 0x54, 0x21, 0xd6, 0xae, 0xed, 0xe8, 0x0d, 0xfb, 0x9d, 0x71, 0xdc, 0x76, 0xb1, + 0x06, 0x5c, 0x61, 0x87, 0xda, 0xd5, 0x12, 0x51, 0x5e, 0x36, 0xa8, 0xdd, 0xd1, 0xe9, 0x0b, 0x56, + 0xde, 0xd5, 0x22, 0x94, 0xd7, 0xe1, 0x52, 0x85, 0x58, 0xdb, 0x7e, 0x10, 0x34, 0x5e, 0x94, 0xea, + 0xcb, 0x30, 0xd3, 0xa3, 0x23, 0xa2, 0x98, 0x9f, 0xc6, 0x8b, 0x55, 0x1c, 0xe8, 0x10, 0x8a, 0xdf, + 0x55, 0x60, 0xba, 0x42, 0xac, 0x8a, 0xed, 0xd0, 0x33, 0x5f, 0xf8, 0xa7, 0x37, 0x6d, 0x06, 0x2e, + 0x86, 0x46, 0x44, 0x0d, 0xdb, 0x6a, 0x7b, 0xce, 0x67, 0x6e, 0x18, 0x37, 0x42, 0x18, 0xf6, 0x1f, + 0x85, 0x45, 0xe8, 0x37, 0x6d, 0x7a, 0x60, 0x7a, 0xfa, 0xd1, 0x38, 0x12, 0x79, 0x01, 0x80, 0xba, + 0x7d, 0x39, 0x9c, 0xa5, 0x6e, 0xf0, 0x16, 0x1e, 0x87, 0xb8, 0xd3, 0xec, 0xae, 0x92, 0xe0, 0xde, + 0xf5, 0x71, 0xff, 0xe2, 0x6f, 0x4b, 0x79, 0xcb, 0xa6, 0x07, 0xed, 0x7a, 0xc1, 0x70, 0x9b, 0xa2, + 0x62, 0x13, 0xff, 0xad, 0x13, 0xf3, 0xb0, 0xe8, 0x3f, 0x8b, 0x84, 0x09, 0x90, 0x1f, 0xfb, 0xb7, + 0x70, 0x03, 0x5b, 0xba, 0x71, 0x5c, 0xf3, 0x4b, 0x34, 0xf2, 0xf3, 0xe7, 0x4f, 0x6e, 0x2b, 0x81, + 0xe7, 0x24, 0xb9, 0xd3, 0xc5, 0x2f, 0xfc, 0xf2, 0x3b, 0xee, 0x97, 0xe0, 0x9d, 0x19, 0xff, 0xa1, + 0x4d, 0xc4, 0xb9, 0x6e, 0x84, 0x52, 0x22, 0xea, 0xdd, 0xc9, 0x3e, 0xef, 0x4a, 0x20, 0x76, 0xa1, + 0x08, 0x88, 0xff, 0x50, 0xe0, 0x4a, 0x85, 0x58, 0x0f, 0xea, 0x46, 0x3f, 0xca, 0x0f, 0x14, 0x98, + 0x0a, 0x1f, 0x5f, 0x0e, 0xf4, 0x95, 0x82, 0x5d, 0x37, 0x0a, 0xbd, 0xd5, 0x6a, 0x21, 0xe0, 0x60, + 0x85, 0x47, 0x77, 0xff, 0xad, 0xaf, 0xf8, 0xc0, 0xff, 0xfa, 0xe9, 0xd2, 0xf6, 0xe0, 0xa9, 0xd9, + 0x75, 0x63, 0xdd, 0x72, 0x8b, 0x9d, 0x7b, 0xc5, 0xa6, 0x6b, 0xb6, 0x1b, 0x98, 0xf8, 0xf5, 0x6f, + 0x4f, 0xdd, 0xcb, 0x8f, 0xb2, 0xd7, 0xd8, 0xd0, 0x8e, 0x33, 0x84, 0xbd, 0xca, 0xde, 0xab, 0x08, + 0x4e, 0xe1, 0x82, 0x3f, 0x2a, 0xa0, 0x55, 0x88, 0xb5, 0x87, 0xe9, 0x8e, 0x1f, 0xe0, 0x15, 0x4c, + 0x75, 0x53, 0xa7, 0x7a, 0xe0, 0x87, 0x36, 0x4c, 0x35, 0xc5, 0x92, 0x70, 0xc3, 0x42, 0xf7, 0xbc, + 0x9d, 0xc3, 0xf0, 0xbc, 0x03, 0xb9, 0xad, 0x4d, 0x01, 0xbd, 0x24, 0x0d, 0xd8, 0xc7, 0xbc, 0x57, + 0x10, 0x60, 0x03, 0x9d, 0xa1, 0xaa, 0x33, 0x20, 0x5d, 0x80, 0xf9, 0x58, 0x38, 0x02, 0xee, 0x9f, + 0xd3, 0x70, 0x9d, 0x3f, 0xe9, 0xc1, 0x43, 0x15, 0xbc, 0x19, 0xff, 0x0f, 0x45, 0x72, 0x5f, 0xa1, + 0x3b, 0x79, 0xf6, 0x42, 0x37, 0x33, 0xbe, 0x42, 0xf7, 0xa5, 0x93, 0x15, 0xba, 0x53, 0xa7, 0x2b, + 0x74, 0xb3, 0x27, 0x2e, 0x74, 0x61, 0xb4, 0x42, 0x37, 0x27, 0x2d, 0x74, 0xcf, 0x27, 0x17, 0xba, + 0x17, 0x86, 0x17, 0xba, 0x37, 0xe1, 0x86, 0x3c, 0xa8, 0x44, 0xf4, 0xfd, 0x49, 0x81, 0x65, 0x3f, + 0x3a, 0x99, 0x0b, 0x1f, 0x38, 0x86, 0x87, 0x75, 0x82, 0x1f, 0x7a, 0x6e, 0xcb, 0x25, 0x7a, 0xe3, + 0xcc, 0xa1, 0xb7, 0x06, 0xd3, 0x54, 0xf7, 0x2c, 0x4c, 0xc3, 0x10, 0x13, 0x59, 0xc3, 0x57, 0x83, + 0x20, 0xbb, 0x0b, 0x59, 0xbd, 0x4d, 0x0f, 0x5c, 0xcf, 0xa6, 0xc7, 0x3c, 0x46, 0xb7, 0xd4, 0x4f, + 0x3e, 0x5c, 0x9f, 0x15, 0x5a, 0x04, 0xdb, 0x1e, 0xf5, 0x6c, 0xc7, 0xaa, 0x76, 0x59, 0x37, 0xd1, + 0x3f, 0x7f, 0xba, 0xa4, 0xf8, 0xd8, 0xbb, 0x6b, 0xab, 0xd7, 0x61, 0x45, 0x82, 0x47, 0xa0, 0xfe, + 0xa4, 0x17, 0xf5, 0x0e, 0x8e, 0x47, 0x5d, 0x1f, 0x1d, 0x75, 0x51, 0x5c, 0x31, 0xb7, 0x46, 0x7c, + 0x13, 0x43, 0x07, 0x45, 0x90, 0xa7, 0xc6, 0x87, 0x7c, 0x10, 0x93, 0x40, 0xfe, 0xc3, 0x14, 0xac, + 0x56, 0x88, 0xf5, 0xf5, 0x96, 0x29, 0x4a, 0xdf, 0x68, 0x80, 0xca, 0x4b, 0x8d, 0x37, 0x41, 0xe3, + 0x65, 0x7f, 0x2d, 0x2e, 0xea, 0x53, 0x2c, 0xea, 0x55, 0xce, 0x31, 0xb8, 0x35, 0xba, 0x0b, 0xd7, + 0x74, 0xd3, 0x8c, 0x15, 0x9d, 0x60, 0xa2, 0x57, 0x74, 0xd3, 0x8c, 0x91, 0xbb, 0x0f, 0x28, 0xc8, + 0xc5, 0x5a, 0xd7, 0x59, 0xe9, 0x21, 0xce, 0x9a, 0x09, 0x64, 0xca, 0xa1, 0xd3, 0xe6, 0x03, 0xa7, + 0xc5, 0xec, 0xb7, 0xba, 0xc6, 0x6e, 0xe1, 0x64, 0xbf, 0x08, 0xff, 0xfd, 0x4a, 0x81, 0xc5, 0x90, + 0x2f, 0x7a, 0x1b, 0xc8, 0x7d, 0x97, 0x78, 0xbd, 0xa4, 0x92, 0xaf, 0x97, 0x71, 0xe6, 0xc5, 0x0a, + 0x2c, 0x25, 0xda, 0x2d, 0xb0, 0xbd, 0xc7, 0x27, 0x51, 0x7b, 0x98, 0x96, 0x0d, 0xc3, 0x0f, 0xcf, + 0x9d, 0x9e, 0x67, 0x37, 0x1e, 0xd5, 0x2c, 0x4c, 0x76, 0xf4, 0x46, 0x1b, 0x8b, 0xbc, 0xe6, 0x1f, + 0xe8, 0x0e, 0x64, 0x88, 0x6d, 0x39, 0xc1, 0x83, 0x23, 0x31, 0x5a, 0xf0, 0x6d, 0x5e, 0x0c, 0x2c, + 0x16, 0x0b, 0x62, 0x8e, 0xd4, 0x6f, 0x8a, 0x30, 0xf4, 0x5f, 0x0a, 0xbc, 0x1c, 0x82, 0xd9, 0xc3, + 0x8e, 0xb9, 0x83, 0x9d, 0x63, 0xff, 0x85, 0x90, 0x1b, 0x7b, 0x17, 0xae, 0x89, 0xf0, 0x35, 0xb1, + 0x63, 0x77, 0x5b, 0xda, 0x30, 0x76, 0xaf, 0x70, 0xf2, 0x0e, 0xa3, 0x96, 0x03, 0x22, 0xba, 0x03, + 0xb3, 0x7e, 0xe0, 0x0e, 0x08, 0xf1, 0xa8, 0x45, 0xba, 0x69, 0xf6, 0x4b, 0x44, 0x0e, 0x2e, 0x7d, + 0xb6, 0x83, 0x5b, 0x82, 0x85, 0x04, 0xac, 0xc2, 0x1b, 0xbf, 0x56, 0x58, 0x81, 0x51, 0x36, 0xcd, + 0xaf, 0x61, 0x5a, 0x26, 0x04, 0xd3, 0x6f, 0xf8, 0xa7, 0x30, 0x96, 0xfe, 0x7f, 0x0f, 0x2e, 0x39, + 0xfe, 0xed, 0xed, 0xef, 0x5a, 0x63, 0x87, 0x1b, 0x4c, 0x33, 0xae, 0xc7, 0x3f, 0xe0, 0x11, 0x13, + 0xc4, 0x6b, 0x30, 0xed, 0x44, 0xec, 0x8a, 0x2d, 0x92, 0x16, 0xd9, 0x89, 0xc6, 0x60, 0x10, 0x20, + 0x7f, 0xab, 0xb0, 0x7b, 0xcb, 0x0f, 0x88, 0x5e, 0xb9, 0xfe, 0x3b, 0x3b, 0x1e, 0x6b, 0x77, 0x12, + 0x93, 0x3a, 0xd5, 0x24, 0x66, 0xac, 0x89, 0xc8, 0x2f, 0x9a, 0x64, 0x20, 0x02, 0xf0, 0x2f, 0x15, + 0x58, 0xab, 0x10, 0xab, 0xca, 0x22, 0xf2, 0x14, 0x98, 0x63, 0x26, 0x37, 0x3c, 0xc8, 0xfb, 0x26, + 0x37, 0x63, 0xc5, 0x96, 0x87, 0x9b, 0xc3, 0x6c, 0x16, 0xf0, 0x7e, 0xc3, 0xef, 0xd1, 0xed, 0x03, + 0xdd, 0xb1, 0x30, 0x1f, 0xae, 0x8e, 0x86, 0xab, 0x0c, 0xe0, 0xe0, 0xa3, 0x9a, 0x98, 0xdc, 0xa6, + 0x46, 0x9e, 0xdc, 0x66, 0x1d, 0x7c, 0xc4, 0x7f, 0x7c, 0x01, 0xd7, 0x6a, 0x3c, 0x0c, 0x01, 0xf5, + 0xfd, 0x14, 0x2b, 0x36, 0x82, 0x6e, 0xf6, 0x2d, 0x62, 0x78, 0xee, 0xd1, 0x68, 0x60, 0x8d, 0xb0, + 0x04, 0x49, 0x0d, 0x6b, 0xcb, 0xef, 0x9c, 0xb4, 0x2d, 0x97, 0x14, 0x69, 0x13, 0x43, 0x8b, 0xb4, + 0xf4, 0x38, 0x4a, 0x95, 0x24, 0x8f, 0x08, 0xbf, 0x3d, 0x0b, 0x53, 0x3e, 0xd2, 0x38, 0xf5, 0x7b, + 0xee, 0x33, 0xea, 0x07, 0x4f, 0x5b, 0xb9, 0x4d, 0x27, 0x5d, 0x07, 0x09, 0x20, 0x85, 0x33, 0x7e, + 0xc2, 0xe7, 0xbb, 0xfc, 0x19, 0x78, 0xa8, 0x7b, 0x7a, 0x33, 0xbc, 0xdf, 0x23, 0x96, 0x28, 0x23, + 0x5b, 0x82, 0x36, 0x21, 0xd3, 0x62, 0x1b, 0x31, 0xf3, 0x73, 0xa5, 0x97, 0xe3, 0xb3, 0x88, 0x2b, + 0x0b, 0x2e, 0x44, 0x2e, 0x31, 0x80, 0x82, 0x8f, 0x7a, 0xa3, 0xd6, 0x71, 0xcb, 0x4b, 0xff, 0x9e, + 0x83, 0x89, 0x0a, 0xb1, 0x50, 0x0d, 0xa6, 0x82, 0x5e, 0x04, 0xe5, 0x13, 0x12, 0x76, 0x60, 0x24, + 0xac, 0xbd, 0x32, 0x02, 0x27, 0x57, 0xe4, 0x2b, 0x08, 0x9a, 0x1c, 0x89, 0x82, 0xbe, 0xb1, 0xaf, + 0x44, 0x41, 0xff, 0xe8, 0x16, 0x7d, 0x0b, 0x32, 0x7c, 0xa6, 0x8a, 0x6e, 0x26, 0x0a, 0x45, 0x06, + 0xbb, 0xda, 0xad, 0xa1, 0x7c, 0xdd, 0xad, 0xf9, 0xd4, 0x54, 0xb2, 0x75, 0x64, 0x74, 0x2b, 0xd9, + 0x3a, 0x3a, 0x7e, 0x45, 0x7b, 0x90, 0xae, 0xd8, 0x0e, 0x45, 0x37, 0x12, 0x05, 0x7a, 0x26, 0xb3, + 0xda, 0xda, 0x10, 0xae, 0xee, 0xa6, 0x5b, 0x6d, 0xcf, 0x91, 0x6c, 0xda, 0x33, 0x55, 0x95, 0x6c, + 0xda, 0x3b, 0xf6, 0x44, 0x75, 0xc8, 0x86, 0xbf, 0xd8, 0x40, 0x92, 0x73, 0xe9, 0xfb, 0x25, 0x8d, + 0x76, 0x7b, 0x14, 0x56, 0xa1, 0xe3, 0x10, 0xce, 0xf7, 0xfe, 0x42, 0x02, 0xbd, 0x3a, 0xc4, 0x8d, + 0x51, 0x4d, 0xeb, 0x23, 0x72, 0x77, 0x23, 0x32, 0xb8, 0xe3, 0x24, 0x11, 0xd9, 0x37, 0xe6, 0x95, + 0x44, 0x64, 0xff, 0x40, 0x54, 0x78, 0x8c, 0xbf, 0x73, 0x72, 0x8f, 0x45, 0x66, 0x49, 0x72, 0x8f, + 0x45, 0x27, 0x04, 0x3e, 0x88, 0xb0, 0x21, 0x49, 0x06, 0xd1, 0xd7, 0x04, 0x49, 0x40, 0xf4, 0xb7, + 0x1d, 0xe8, 0x00, 0x72, 0x3d, 0x63, 0x40, 0xf4, 0xb9, 0x44, 0xc9, 0xc1, 0xa1, 0xa8, 0xf6, 0xea, + 0x68, 0xcc, 0x42, 0xd3, 0x11, 0x5c, 0xea, 0xbf, 0x68, 0xd1, 0x9d, 0xc4, 0x1d, 0x12, 0x06, 0x90, + 0xda, 0xc6, 0x09, 0x24, 0x84, 0xe2, 0x47, 0x30, 0x1d, 0xfd, 0x95, 0x38, 0x2a, 0x24, 0x6e, 0x12, + 0xfb, 0x87, 0x00, 0x5a, 0x71, 0x64, 0x7e, 0xa1, 0xf2, 0x03, 0x05, 0xe6, 0x12, 0xc7, 0x3f, 0xe8, + 0x0d, 0x59, 0x00, 0x48, 0xe7, 0x90, 0xda, 0xe6, 0x69, 0x44, 0x85, 0x51, 0xef, 0x29, 0x70, 0x35, + 0x7e, 0x34, 0x83, 0xee, 0x26, 0x7b, 0x55, 0x36, 0x9b, 0xd2, 0x5e, 0x3f, 0xb1, 0xdc, 0x80, 0x2d, + 0xfd, 0xc3, 0x92, 0xa1, 0xb6, 0x24, 0x4c, 0x8c, 0x86, 0xda, 0x92, 0x34, 0x95, 0x41, 0xdf, 0x57, + 0x40, 0x4d, 0x1a, 0x3d, 0xa0, 0x7b, 0x89, 0xbb, 0x0e, 0x99, 0xe2, 0x68, 0x6f, 0x9c, 0x42, 0x52, + 0x58, 0xf4, 0xae, 0x02, 0xb3, 0x71, 0xc3, 0x02, 0xf4, 0xf9, 0x21, 0x7b, 0xc6, 0xce, 0x44, 0xb4, + 0x2f, 0x9c, 0x50, 0xaa, 0x9b, 0x37, 0xd1, 0x11, 0x80, 0x24, 0x6f, 0x62, 0xc7, 0x16, 0x92, 0xbc, + 0x89, 0x9f, 0x2d, 0xa0, 0xef, 0x00, 0x1a, 0xec, 0xb5, 0x51, 0x69, 0x88, 0xfd, 0x31, 0x43, 0x08, + 0xed, 0xb5, 0x13, 0xc9, 0x08, 0xf5, 0xef, 0xc0, 0xcc, 0x40, 0x13, 0x8c, 0x36, 0x64, 0x29, 0x17, + 0xdb, 0xf4, 0x6b, 0xa5, 0x93, 0x88, 0xf4, 0x44, 0x61, 0x52, 0x5f, 0x2a, 0x89, 0xc2, 0x21, 0x3d, + 0xb9, 0x24, 0x0a, 0x87, 0x35, 0xc1, 0xe8, 0x47, 0x0a, 0xcc, 0x4b, 0xba, 0x49, 0xf4, 0xc5, 0xc4, + 0xad, 0x87, 0xf7, 0xcd, 0xda, 0x9b, 0xa7, 0x13, 0xee, 0x49, 0x90, 0xb8, 0xb6, 0x4f, 0x92, 0x20, + 0x92, 0x66, 0x57, 0x92, 0x20, 0xb2, 0xde, 0x92, 0x5d, 0x62, 0xf1, 0x6d, 0x94, 0xe4, 0x12, 0x93, + 0x76, 0xa2, 0x92, 0x4b, 0x4c, 0xde, 0xaf, 0x05, 0xe1, 0x13, 0xdb, 0xc7, 0xc8, 0xc3, 0x47, 0xd6, + 0xdf, 0xc9, 0xc3, 0x47, 0xda, 0x34, 0xf9, 0xc5, 0x5e, 0x6f, 0x4b, 0x22, 0x29, 0xf6, 0x62, 0xfa, + 0x2a, 0x49, 0xb1, 0x17, 0xd7, 0xe7, 0x68, 0x93, 0xdf, 0x7d, 0xfe, 0xe4, 0xb6, 0xb2, 0x65, 0x7d, + 0xf4, 0x74, 0x51, 0xf9, 0xf8, 0xe9, 0xa2, 0xf2, 0xf7, 0xa7, 0x8b, 0xca, 0xfb, 0xcf, 0x16, 0xcf, + 0x7d, 0xfc, 0x6c, 0xf1, 0xdc, 0x5f, 0x9e, 0x2d, 0x9e, 0x83, 0x6b, 0xb6, 0x1b, 0xbb, 0xe3, 0x43, + 0xe5, 0xdb, 0xbd, 0xad, 0x68, 0x97, 0x65, 0xdd, 0x76, 0x7b, 0xbe, 0x8a, 0x8f, 0x83, 0x3f, 0x23, + 0x64, 0x3d, 0x69, 0x3d, 0xc3, 0xfe, 0x52, 0xef, 0xb5, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x5c, + 0x2e, 0xee, 0x73, 0x9f, 0x29, 0x00, 0x00, } func (this *MsgSupplyIncreaseProposalRequest) Equal(that interface{}) bool { diff --git a/x/metadata/types/tx.pb.go b/x/metadata/types/tx.pb.go index 4e6b901a54..727728cdc3 100644 --- a/x/metadata/types/tx.pb.go +++ b/x/metadata/types/tx.pb.go @@ -2391,141 +2391,141 @@ func init() { func init() { proto.RegisterFile("provenance/metadata/v1/tx.proto", fileDescriptor_3a3a0892f91e3036) } var fileDescriptor_3a3a0892f91e3036 = []byte{ - // 2132 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xdd, 0x6f, 0x1c, 0x57, - 0x15, 0xf7, 0xd8, 0x89, 0xed, 0x3d, 0xb6, 0x63, 0xe7, 0xc6, 0x89, 0xd7, 0x13, 0xb2, 0xeb, 0x6e, - 0x93, 0xd6, 0xb8, 0xc9, 0x2e, 0x71, 0x8d, 0x70, 0xf3, 0x01, 0xd8, 0x8d, 0xa0, 0xae, 0xba, 0x24, - 0xda, 0x6d, 0x1a, 0x15, 0x09, 0x2d, 0x93, 0x99, 0xeb, 0xcd, 0xd0, 0xdd, 0xb9, 0xcb, 0xdc, 0x59, - 0x37, 0x69, 0x44, 0x24, 0x90, 0xf8, 0x10, 0x0f, 0xa8, 0x08, 0xa9, 0xa2, 0x02, 0xa1, 0x4a, 0x48, - 0x88, 0x47, 0x24, 0xde, 0x78, 0xe1, 0x35, 0x4f, 0xa8, 0x12, 0x2f, 0xa8, 0x48, 0x15, 0x4a, 0x1e, - 0x80, 0x7f, 0x81, 0x07, 0x40, 0x73, 0xe7, 0xce, 0xc7, 0xdd, 0x9d, 0x7b, 0x67, 0x76, 0x5d, 0x92, - 0x4a, 0x3c, 0x58, 0xf2, 0xbd, 0x73, 0xbe, 0x7e, 0xe7, 0x9e, 0x7b, 0xee, 0xb9, 0xe7, 0x2e, 0x94, - 0x7b, 0x2e, 0x39, 0xc0, 0x8e, 0xe1, 0x98, 0xb8, 0xd6, 0xc5, 0x9e, 0x61, 0x19, 0x9e, 0x51, 0x3b, - 0xb8, 0x58, 0xf3, 0xee, 0x56, 0x7b, 0x2e, 0xf1, 0x08, 0x3a, 0x15, 0x13, 0x54, 0x43, 0x82, 0xea, - 0xc1, 0x45, 0x7d, 0xc5, 0x24, 0xb4, 0x4b, 0x68, 0xad, 0x4b, 0xdb, 0x3e, 0x7d, 0x97, 0xb6, 0x03, - 0x06, 0x7d, 0xb9, 0x4d, 0xda, 0x84, 0xfd, 0x5b, 0xf3, 0xff, 0xe3, 0xb3, 0xe7, 0x24, 0x7a, 0x22, - 0x91, 0x01, 0xd9, 0xba, 0x84, 0x8c, 0xdc, 0xfe, 0x16, 0x36, 0x3d, 0xea, 0x11, 0x17, 0x73, 0xca, - 0xb3, 0x12, 0xca, 0xde, 0x36, 0xf6, 0xff, 0x38, 0x55, 0x45, 0x42, 0x45, 0x4d, 0xd2, 0x0b, 0x69, - 0x36, 0x64, 0x34, 0x3d, 0x6c, 0xda, 0xfb, 0xb6, 0x69, 0x78, 0x36, 0x71, 0x02, 0xda, 0xca, 0x47, - 0x1a, 0x2c, 0xd7, 0x69, 0xfb, 0x96, 0x6b, 0x7b, 0xb8, 0xe9, 0xcb, 0x68, 0xe0, 0x6f, 0xf7, 0x31, - 0xf5, 0xd0, 0x4b, 0x70, 0x94, 0xc9, 0x2c, 0x6a, 0x6b, 0xda, 0xfa, 0xdc, 0xe6, 0x99, 0x6a, 0xba, - 0xdb, 0xaa, 0x8c, 0x69, 0xf7, 0xc8, 0xc3, 0x8f, 0xcb, 0x13, 0x8d, 0x80, 0x03, 0x15, 0x61, 0x86, - 0xda, 0x6d, 0x07, 0xbb, 0xb4, 0x38, 0xb9, 0x36, 0xb5, 0x5e, 0x68, 0x84, 0x43, 0x74, 0x06, 0x80, - 0x91, 0xb4, 0xfa, 0x7d, 0xdb, 0x2a, 0x4e, 0xad, 0x69, 0xeb, 0x85, 0x46, 0x81, 0xcd, 0xdc, 0xec, - 0xdb, 0x16, 0x3a, 0x0d, 0x05, 0xdf, 0xc6, 0xe0, 0xeb, 0x11, 0xf6, 0x75, 0xd6, 0x9f, 0x08, 0x3f, - 0xf6, 0xa9, 0xd5, 0xea, 0xda, 0x9d, 0x0e, 0x2d, 0x1e, 0x5d, 0xd3, 0xd6, 0x8f, 0x34, 0x66, 0xfb, - 0xd4, 0xaa, 0xfb, 0xe3, 0x4b, 0xcb, 0x3f, 0xfa, 0xa0, 0x3c, 0xf1, 0x8f, 0x0f, 0xca, 0x13, 0xdf, - 0xfb, 0xfb, 0xef, 0x36, 0x42, 0x75, 0x95, 0x6f, 0xc2, 0xc9, 0x01, 0x6c, 0xb4, 0x47, 0x1c, 0x8a, - 0xd1, 0x57, 0x61, 0x21, 0xb0, 0xc3, 0xb6, 0x5a, 0xb6, 0xb3, 0x4f, 0x38, 0xc8, 0x67, 0x95, 0x20, - 0xf7, 0xac, 0x3d, 0x67, 0x9f, 0x34, 0xe6, 0x68, 0x3c, 0xa8, 0xdc, 0x67, 0x1a, 0xae, 0xe1, 0x0e, - 0x1e, 0x70, 0xdf, 0x26, 0xcc, 0x86, 0x1a, 0x98, 0xf0, 0xf9, 0xdd, 0x15, 0xdf, 0x45, 0x1f, 0x7d, - 0x5c, 0x5e, 0xac, 0x73, 0xc1, 0x3b, 0x96, 0xe5, 0x62, 0x4a, 0x1b, 0x33, 0x5c, 0xa0, 0xdc, 0x6f, - 0x12, 0x78, 0x45, 0x38, 0x35, 0xa8, 0x3c, 0xc0, 0x57, 0xf9, 0xb5, 0x06, 0x9f, 0xa9, 0xd3, 0xf6, - 0x8e, 0x65, 0xb1, 0xf9, 0x6b, 0xbe, 0x36, 0xd3, 0xf4, 0x95, 0x1d, 0xc2, 0xbc, 0x32, 0xcc, 0xf9, - 0xf3, 0x2d, 0x83, 0x49, 0xe2, 0x26, 0x82, 0x15, 0xc9, 0x4e, 0xda, 0x3f, 0x95, 0xc7, 0xfe, 0x32, - 0x9c, 0x91, 0x18, 0xc9, 0x61, 0xfc, 0x46, 0x83, 0xb2, 0x88, 0xf0, 0x53, 0x8a, 0xa4, 0x02, 0x6b, - 0x72, 0x3b, 0x39, 0x98, 0x3f, 0x68, 0xb0, 0x92, 0x80, 0x7b, 0xfd, 0x6d, 0x07, 0xbb, 0x87, 0x01, - 0x71, 0x19, 0xa6, 0xc9, 0xdb, 0x51, 0xb0, 0x28, 0x76, 0xe8, 0x0d, 0xc3, 0xf5, 0xee, 0xf1, 0x1d, - 0xca, 0x59, 0x46, 0x06, 0xa8, 0x43, 0x71, 0xd8, 0x76, 0x0e, 0xec, 0xe7, 0x1a, 0xe8, 0x22, 0xfa, - 0x43, 0x63, 0x3b, 0x25, 0x60, 0x2b, 0x8c, 0x6d, 0xf6, 0x19, 0x38, 0x9d, 0x6a, 0x19, 0xb7, 0xfc, - 0xf7, 0x1a, 0xfb, 0x7e, 0xb3, 0x67, 0x19, 0x1e, 0x7e, 0xc3, 0xe8, 0xf4, 0x83, 0xef, 0x51, 0x6c, - 0x6d, 0x41, 0x21, 0x34, 0x9d, 0x16, 0xb5, 0xb5, 0x29, 0x95, 0xed, 0xb3, 0xdc, 0x76, 0x8a, 0xaa, - 0x70, 0xe2, 0xc0, 0x97, 0xd5, 0x62, 0x46, 0xb7, 0x8c, 0x80, 0xa0, 0x38, 0xc9, 0xf2, 0xd9, 0xf1, - 0x83, 0x48, 0x0d, 0xe7, 0x1c, 0x19, 0x54, 0x89, 0xed, 0xed, 0x14, 0xa3, 0x39, 0xaa, 0xef, 0x07, - 0xa8, 0xea, 0x76, 0xdb, 0x15, 0x28, 0x42, 0x54, 0x3a, 0xcc, 0xe2, 0xbb, 0x36, 0xf5, 0x6c, 0xa7, - 0xcd, 0x16, 0xa4, 0xd0, 0x88, 0xc6, 0xfe, 0xb7, 0x9e, 0x4b, 0x7a, 0x84, 0x62, 0x8b, 0x1b, 0x1c, - 0x8d, 0xc7, 0xb4, 0x33, 0xc5, 0x0c, 0x6e, 0xe7, 0x0f, 0x27, 0x59, 0xfe, 0x0a, 0xd2, 0x33, 0xa6, - 0xd4, 0x26, 0x4e, 0x68, 0xe2, 0x97, 0x60, 0x86, 0x06, 0x33, 0x3c, 0x33, 0x97, 0xa5, 0x99, 0x39, + // 2139 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x5f, 0x6c, 0x1c, 0x47, + 0x19, 0xf7, 0xda, 0x89, 0xed, 0xfb, 0x6c, 0xc7, 0xce, 0xc4, 0x89, 0xcf, 0x1b, 0x72, 0xe7, 0x5e, + 0x93, 0xd6, 0xb8, 0xc9, 0x1d, 0x71, 0x8d, 0x70, 0xf3, 0x07, 0xb0, 0x1b, 0x41, 0x5d, 0xf5, 0x48, + 0x74, 0xd7, 0x34, 0x2a, 0x12, 0x3a, 0x36, 0xbb, 0xe3, 0xcb, 0x52, 0xdf, 0xce, 0xb1, 0xb3, 0xe7, + 0x26, 0x8d, 0x88, 0x00, 0x89, 0x3f, 0xe2, 0x01, 0x15, 0x21, 0x55, 0x54, 0x20, 0x54, 0x09, 0x09, + 0xf1, 0x58, 0x89, 0x37, 0x5e, 0x78, 0xcd, 0x13, 0xaa, 0xc4, 0x0b, 0x2a, 0x52, 0x85, 0x92, 0x87, + 0xf2, 0xc8, 0x33, 0x0f, 0x80, 0x76, 0x76, 0xf6, 0xcf, 0xdc, 0xed, 0xcc, 0xee, 0x9d, 0x4b, 0x5c, + 0xa9, 0x0f, 0x96, 0x3c, 0xb3, 0xdf, 0xbf, 0xdf, 0x37, 0xdf, 0x7c, 0xf3, 0xcd, 0x37, 0x07, 0xe5, + 0xae, 0x4b, 0xf6, 0xb1, 0x63, 0x38, 0x26, 0xae, 0x75, 0xb0, 0x67, 0x58, 0x86, 0x67, 0xd4, 0xf6, + 0x2f, 0xd6, 0xbc, 0xbb, 0xd5, 0xae, 0x4b, 0x3c, 0x82, 0x4e, 0xc5, 0x04, 0xd5, 0x90, 0xa0, 0xba, + 0x7f, 0x51, 0x5f, 0x32, 0x09, 0xed, 0x10, 0x5a, 0xeb, 0xd0, 0xb6, 0x4f, 0xdf, 0xa1, 0xed, 0x80, + 0x41, 0x5f, 0x6c, 0x93, 0x36, 0x61, 0xff, 0xd6, 0xfc, 0xff, 0xf8, 0xec, 0x39, 0x89, 0x9e, 0x48, + 0x64, 0x40, 0xb6, 0x2a, 0x21, 0x23, 0xb7, 0xbf, 0x83, 0x4d, 0x8f, 0x7a, 0xc4, 0xc5, 0x9c, 0xf2, + 0xac, 0x84, 0xb2, 0xbb, 0x89, 0xfd, 0x3f, 0x4e, 0x55, 0x91, 0x50, 0x51, 0x93, 0x74, 0x43, 0x9a, + 0x35, 0x19, 0x4d, 0x17, 0x9b, 0xf6, 0xae, 0x6d, 0x1a, 0x9e, 0x4d, 0x9c, 0x80, 0xb6, 0xf2, 0xa1, + 0x06, 0x8b, 0x75, 0xda, 0xbe, 0xe5, 0xda, 0x1e, 0x6e, 0xfa, 0x32, 0x1a, 0xf8, 0xbb, 0x3d, 0x4c, + 0x3d, 0xf4, 0x02, 0x1c, 0x65, 0x32, 0x8b, 0xda, 0x8a, 0xb6, 0x3a, 0xb3, 0x7e, 0xa6, 0x9a, 0xee, + 0xb6, 0x2a, 0x63, 0xda, 0x3e, 0xf2, 0xf0, 0xa3, 0xf2, 0x58, 0x23, 0xe0, 0x40, 0x45, 0x98, 0xa2, + 0x76, 0xdb, 0xc1, 0x2e, 0x2d, 0x8e, 0xaf, 0x4c, 0xac, 0x16, 0x1a, 0xe1, 0x10, 0x9d, 0x01, 0x60, + 0x24, 0xad, 0x5e, 0xcf, 0xb6, 0x8a, 0x13, 0x2b, 0xda, 0x6a, 0xa1, 0x51, 0x60, 0x33, 0x37, 0x7b, + 0xb6, 0x85, 0x4e, 0x43, 0xc1, 0xb7, 0x31, 0xf8, 0x7a, 0x84, 0x7d, 0x9d, 0xf6, 0x27, 0xc2, 0x8f, + 0x3d, 0x6a, 0xb5, 0x3a, 0xf6, 0xde, 0x1e, 0x2d, 0x1e, 0x5d, 0xd1, 0x56, 0x8f, 0x34, 0xa6, 0x7b, + 0xd4, 0xaa, 0xfb, 0xe3, 0x4b, 0x8b, 0x3f, 0x7d, 0xaf, 0x3c, 0xf6, 0xcf, 0xf7, 0xca, 0x63, 0x3f, + 0xfc, 0xf8, 0xfd, 0xb5, 0x50, 0x5d, 0xe5, 0xdb, 0x70, 0xb2, 0x0f, 0x1b, 0xed, 0x12, 0x87, 0x62, + 0xf4, 0x75, 0x98, 0x0b, 0xec, 0xb0, 0xad, 0x96, 0xed, 0xec, 0x12, 0x0e, 0xf2, 0x69, 0x25, 0xc8, + 0x1d, 0x6b, 0xc7, 0xd9, 0x25, 0x8d, 0x19, 0x1a, 0x0f, 0x2a, 0xf7, 0x99, 0x86, 0x6b, 0x78, 0x0f, + 0xf7, 0xb9, 0x6f, 0x1d, 0xa6, 0x43, 0x0d, 0x4c, 0xf8, 0xec, 0xf6, 0x92, 0xef, 0xa2, 0x0f, 0x3f, + 0x2a, 0xcf, 0xd7, 0xb9, 0xe0, 0x2d, 0xcb, 0x72, 0x31, 0xa5, 0x8d, 0x29, 0x2e, 0x50, 0xee, 0x37, + 0x09, 0xbc, 0x22, 0x9c, 0xea, 0x57, 0x1e, 0xe0, 0xab, 0xfc, 0x4e, 0x83, 0xcf, 0xd5, 0x69, 0x7b, + 0xcb, 0xb2, 0xd8, 0xfc, 0x35, 0x5f, 0x9b, 0x69, 0xfa, 0xca, 0x0e, 0x60, 0x5e, 0x19, 0x66, 0xfc, + 0xf9, 0x96, 0xc1, 0x24, 0x71, 0x13, 0xc1, 0x8a, 0x64, 0x27, 0xed, 0x9f, 0xc8, 0x63, 0x7f, 0x19, + 0xce, 0x48, 0x8c, 0xe4, 0x30, 0x7e, 0xaf, 0x41, 0x59, 0x44, 0xf8, 0x29, 0x45, 0x52, 0x81, 0x15, + 0xb9, 0x9d, 0x1c, 0xcc, 0x9f, 0x34, 0x58, 0x4a, 0xc0, 0xbd, 0xfe, 0xa6, 0x83, 0xdd, 0x83, 0x80, + 0xb8, 0x0c, 0x93, 0xe4, 0xcd, 0x28, 0x58, 0x14, 0x3b, 0xf4, 0x86, 0xe1, 0x7a, 0xf7, 0xf8, 0x0e, + 0xe5, 0x2c, 0x43, 0x03, 0xd4, 0xa1, 0x38, 0x68, 0x3b, 0x07, 0xf6, 0x2b, 0x0d, 0x74, 0x11, 0xfd, + 0x81, 0xb1, 0x9d, 0x12, 0xb0, 0x15, 0x46, 0x36, 0xfb, 0x0c, 0x9c, 0x4e, 0xb5, 0x8c, 0x5b, 0xfe, + 0x47, 0x8d, 0x7d, 0xbf, 0xd9, 0xb5, 0x0c, 0x0f, 0xbf, 0x66, 0xec, 0xf5, 0x82, 0xef, 0x51, 0x6c, + 0x6d, 0x40, 0x21, 0x34, 0x9d, 0x16, 0xb5, 0x95, 0x09, 0x95, 0xed, 0xd3, 0xdc, 0x76, 0x8a, 0xaa, + 0x70, 0x62, 0xdf, 0x97, 0xd5, 0x62, 0x46, 0xb7, 0x8c, 0x80, 0xa0, 0x38, 0xce, 0xf2, 0xd9, 0xf1, + 0xfd, 0x48, 0x0d, 0xe7, 0x1c, 0x1a, 0x54, 0x89, 0xed, 0xed, 0x14, 0xa3, 0x39, 0xaa, 0x1f, 0x05, + 0xa8, 0xea, 0x76, 0xdb, 0x15, 0x28, 0x42, 0x54, 0x3a, 0x4c, 0xe3, 0xbb, 0x36, 0xf5, 0x6c, 0xa7, + 0xcd, 0x16, 0xa4, 0xd0, 0x88, 0xc6, 0xfe, 0xb7, 0xae, 0x4b, 0xba, 0x84, 0x62, 0x8b, 0x1b, 0x1c, + 0x8d, 0x47, 0xb4, 0x33, 0xc5, 0x0c, 0x6e, 0xe7, 0x4f, 0xc6, 0x59, 0xfe, 0x0a, 0xd2, 0x33, 0xa6, + 0xd4, 0x26, 0x4e, 0x68, 0xe2, 0x57, 0x60, 0x8a, 0x06, 0x33, 0x3c, 0x33, 0x97, 0xa5, 0x99, 0x39, 0x20, 0xe3, 0xe1, 0x1d, 0x72, 0x29, 0x8e, 0xa0, 0x16, 0x9c, 0xe4, 0x44, 0x7e, 0xf2, 0x37, 0x49, - 0xb7, 0x47, 0x1c, 0xec, 0x78, 0x94, 0x9d, 0x46, 0x73, 0x9b, 0x2f, 0x64, 0x28, 0xda, 0xb3, 0x5e, - 0x8e, 0x58, 0x1a, 0x27, 0xe8, 0xf0, 0xa4, 0xf2, 0x10, 0x93, 0x78, 0xea, 0x27, 0x1a, 0x9c, 0x48, - 0x91, 0x8f, 0xca, 0xc2, 0x71, 0xc9, 0xd6, 0xea, 0x95, 0x89, 0xe4, 0x81, 0x19, 0x11, 0xf8, 0x41, - 0x16, 0x2c, 0x58, 0x44, 0xe0, 0x87, 0x17, 0x7a, 0x06, 0xe6, 0x43, 0xb4, 0x89, 0x23, 0x77, 0x8e, - 0xcf, 0xf9, 0x32, 0x76, 0x11, 0x2c, 0x85, 0x41, 0x8e, 0x1d, 0xcf, 0xde, 0xb7, 0xb1, 0x5b, 0xb9, - 0xc3, 0x52, 0x95, 0xb8, 0x32, 0xfc, 0xe8, 0xac, 0xc3, 0x62, 0xc2, 0x7f, 0x89, 0xc3, 0xf3, 0x5c, - 0xa6, 0xe7, 0xd8, 0xf1, 0xb9, 0x40, 0x93, 0xc3, 0xca, 0x9f, 0x27, 0xe3, 0x33, 0xba, 0x81, 0x4d, - 0xe2, 0x5a, 0x61, 0x0c, 0x5c, 0x81, 0x69, 0x97, 0x4d, 0x70, 0xf9, 0x25, 0x99, 0xfc, 0x80, 0x2d, - 0x4c, 0x70, 0x01, 0xcf, 0xd3, 0x0c, 0x80, 0xf3, 0x80, 0x4c, 0xe2, 0x78, 0xae, 0x61, 0x7a, 0xad, - 0xc1, 0x48, 0x58, 0x0a, 0xbf, 0x34, 0xc3, 0xb2, 0xe6, 0x2a, 0xcc, 0xf4, 0x0c, 0xd7, 0xb3, 0xb1, - 0x5f, 0xd4, 0xe4, 0xce, 0xe3, 0x21, 0x8f, 0x24, 0xa0, 0xac, 0x78, 0x67, 0x85, 0x4e, 0xe5, 0xcb, - 0xf7, 0x2a, 0x1c, 0x0b, 0x3c, 0x34, 0xb0, 0x7a, 0x67, 0xd5, 0xde, 0xe5, 0x8b, 0x37, 0xef, 0x26, - 0x46, 0x95, 0x07, 0x89, 0xfa, 0x43, 0x5c, 0xbb, 0x2d, 0x28, 0x44, 0x5a, 0xb2, 0x92, 0xfe, 0x6c, - 0x28, 0x73, 0xe4, 0xfa, 0x67, 0x95, 0x45, 0xa9, 0xa8, 0x9f, 0xe7, 0x96, 0x87, 0x1a, 0x3c, 0x23, - 0x94, 0x7e, 0xcd, 0x64, 0xed, 0x1b, 0x9a, 0xf9, 0x06, 0x2c, 0x08, 0x35, 0x31, 0xf7, 0xc5, 0x86, - 0xb2, 0x0c, 0x14, 0x24, 0xf1, 0xe5, 0x10, 0xc5, 0x28, 0x82, 0x4f, 0x48, 0x0e, 0x53, 0xb9, 0x92, - 0xc3, 0x3b, 0x50, 0x51, 0x21, 0xe1, 0xeb, 0xfa, 0x3a, 0xa0, 0x60, 0x17, 0x33, 0xf1, 0xe2, 0xda, - 0x3e, 0x9f, 0x89, 0x87, 0x2f, 0xef, 0x22, 0x15, 0x27, 0xfc, 0xa3, 0xbd, 0x22, 0x1e, 0xa0, 0xa9, - 0x7e, 0xdc, 0x85, 0x25, 0xc1, 0x01, 0x39, 0x56, 0x7d, 0x51, 0x60, 0x18, 0x63, 0xf1, 0xcf, 0xc1, - 0xb3, 0x4a, 0xcb, 0x78, 0x20, 0xfc, 0x49, 0x83, 0xb3, 0xa1, 0xfb, 0x5e, 0x4e, 0xec, 0xbd, 0x21, - 0x0c, 0x6f, 0xa6, 0xc7, 0xc2, 0x05, 0x99, 0xef, 0x52, 0x85, 0x3d, 0x81, 0x70, 0xf8, 0x81, 0x06, - 0xe7, 0x32, 0x00, 0xf1, 0x90, 0xf8, 0x06, 0x9c, 0x14, 0xf3, 0x90, 0x18, 0x15, 0x1b, 0x79, 0x90, - 0xf1, 0xc0, 0x40, 0xe6, 0xd0, 0x5c, 0xe5, 0x5f, 0x81, 0x67, 0x77, 0x2c, 0x2b, 0xc9, 0xf0, 0x3a, - 0x89, 0x16, 0x23, 0xf4, 0x6c, 0x13, 0x56, 0x05, 0x3b, 0x46, 0x09, 0x93, 0x15, 0x33, 0x0d, 0xe2, - 0x9e, 0x85, 0xea, 0x70, 0x2a, 0x8e, 0x77, 0x41, 0xe2, 0xa4, 0x5a, 0xe2, 0x32, 0x1d, 0x0a, 0x96, - 0xbd, 0xd1, 0x6b, 0x9b, 0xe7, 0xd9, 0x22, 0xa8, 0xb0, 0xf3, 0xf8, 0xfb, 0x8f, 0x06, 0x9f, 0x8d, - 0xe2, 0x34, 0x49, 0xfc, 0x15, 0x97, 0x74, 0xff, 0x2f, 0x5c, 0x75, 0x1e, 0x36, 0xf2, 0x38, 0x80, - 0xfb, 0xeb, 0x17, 0x41, 0x78, 0x0f, 0x93, 0x7f, 0x2a, 0x92, 0xce, 0x3a, 0x3c, 0x97, 0x65, 0x1c, - 0xc7, 0xf1, 0x57, 0x2d, 0x4e, 0xdb, 0xc1, 0xd9, 0x94, 0x0a, 0xe2, 0x56, 0x7a, 0xd6, 0x79, 0x41, - 0x7d, 0x1a, 0x1f, 0x2a, 0xe7, 0xa4, 0x97, 0x27, 0x53, 0xe9, 0xe5, 0x89, 0xc4, 0x0f, 0x0f, 0x58, - 0xf2, 0x95, 0x83, 0xe3, 0x19, 0xe8, 0x16, 0x9c, 0xe0, 0x65, 0x40, 0x4a, 0xfe, 0x59, 0xcf, 0xc6, - 0xc8, 0xb3, 0xcf, 0x92, 0x3b, 0x30, 0x53, 0x79, 0x5f, 0x4b, 0x64, 0x7f, 0x85, 0x7b, 0x9f, 0x46, - 0x8c, 0x3c, 0xc7, 0xd2, 0xa2, 0xc2, 0x34, 0x1e, 0x21, 0xf7, 0x59, 0xf5, 0xb2, 0x6b, 0x3b, 0xd6, - 0xf5, 0xe6, 0x6b, 0xc4, 0x34, 0x3c, 0x12, 0xdd, 0xd0, 0x5e, 0x85, 0x99, 0x4e, 0x30, 0x93, 0x95, - 0xab, 0xaf, 0xb3, 0x36, 0x62, 0xd3, 0x23, 0x2e, 0xe6, 0x32, 0xc2, 0x02, 0x91, 0x0b, 0x18, 0x30, - 0x92, 0xcf, 0x56, 0xf6, 0xd9, 0x7d, 0x7e, 0x40, 0x79, 0x54, 0x22, 0x7e, 0x62, 0xda, 0x2b, 0xdf, - 0x81, 0xd5, 0xc8, 0x19, 0x4f, 0x01, 0xe6, 0x9d, 0x44, 0x67, 0xe2, 0x49, 0x00, 0xad, 0x13, 0xcb, - 0xde, 0xbf, 0xf7, 0xd4, 0x80, 0x0e, 0xa9, 0xff, 0x1f, 0x00, 0xfd, 0x95, 0xc6, 0x42, 0xa7, 0x89, - 0xbd, 0x1d, 0xd3, 0x24, 0x7d, 0xc7, 0xbb, 0x66, 0x78, 0x46, 0x7c, 0x67, 0x5b, 0x08, 0xa5, 0x05, - 0x57, 0xd2, 0x8c, 0xcd, 0x36, 0xdf, 0x4d, 0x4c, 0xa0, 0x65, 0x38, 0xca, 0xba, 0x23, 0xbc, 0xf3, - 0x10, 0x0c, 0x46, 0x3e, 0x6f, 0x4e, 0xb3, 0x95, 0x18, 0xb4, 0x8f, 0x6f, 0xba, 0xf7, 0x34, 0x28, - 0x85, 0x99, 0xeb, 0xc6, 0xb6, 0x90, 0xc3, 0x43, 0x0c, 0x0d, 0x98, 0x0f, 0xb3, 0xa0, 0x9f, 0x0a, - 0xb2, 0xb2, 0x55, 0x6f, 0x1b, 0x0b, 0x15, 0x13, 0xf7, 0x97, 0x20, 0x43, 0x91, 0x43, 0xa6, 0x7d, - 0x0c, 0x45, 0xad, 0xf2, 0x38, 0x68, 0x75, 0xa6, 0x1b, 0xf6, 0x44, 0x0a, 0x3a, 0xf4, 0x26, 0x2c, - 0xa7, 0x64, 0xeb, 0xb0, 0xbd, 0x98, 0x3f, 0x5d, 0x1f, 0x1f, 0x4c, 0xd7, 0x31, 0xca, 0x7f, 0x4f, - 0xb2, 0x46, 0xe9, 0x8d, 0x6d, 0x5c, 0xc7, 0x5d, 0xe2, 0xda, 0x46, 0xc7, 0x7e, 0x27, 0xc2, 0x1a, - 0x2e, 0xc0, 0xea, 0x40, 0xc3, 0xb0, 0x10, 0xf7, 0x05, 0x57, 0x61, 0xb6, 0xed, 0x92, 0x7e, 0x2f, - 0x2c, 0x5e, 0x0a, 0x8d, 0x19, 0x36, 0xde, 0xb3, 0xd0, 0x96, 0xb4, 0xca, 0x09, 0x8e, 0xb6, 0xf4, - 0x62, 0xe6, 0xcb, 0xe0, 0x5f, 0x3f, 0x6d, 0xcf, 0xe8, 0x50, 0x76, 0x43, 0x57, 0x5c, 0x84, 0xfd, - 0x85, 0x6e, 0x70, 0xda, 0x46, 0xc4, 0xe5, 0x4b, 0x08, 0x7d, 0xc9, 0x5e, 0x25, 0x32, 0x24, 0x44, - 0x60, 0x23, 0x2e, 0xf4, 0x0a, 0x80, 0x1f, 0x0d, 0x86, 0xd7, 0x77, 0x31, 0x2d, 0x4e, 0x67, 0x87, - 0x5b, 0x33, 0xa4, 0x6e, 0x62, 0xaf, 0x91, 0xe0, 0xf5, 0xc3, 0xcc, 0x76, 0x0e, 0xc8, 0x5b, 0xd8, - 0x2d, 0xce, 0x04, 0xde, 0xe1, 0xc3, 0x68, 0x01, 0x7e, 0x3a, 0xc9, 0xee, 0xc5, 0xb2, 0x05, 0xf8, - 0x84, 0x9f, 0x47, 0xd2, 0x9a, 0x45, 0x93, 0xe3, 0x37, 0x8b, 0xd0, 0x6b, 0xb0, 0x28, 0x36, 0x2f, - 0x82, 0x94, 0x90, 0xb7, 0x7b, 0xb1, 0x90, 0xec, 0x5e, 0xc4, 0x41, 0xf9, 0xc7, 0xa0, 0x5f, 0xba, - 0x63, 0x59, 0x5f, 0xc3, 0xde, 0x0e, 0xa5, 0xd8, 0x63, 0xcd, 0x4a, 0x9a, 0x23, 0x1e, 0xe5, 0x55, - 0xd6, 0x4d, 0x58, 0x72, 0xb0, 0xd7, 0x32, 0x7c, 0x71, 0x2d, 0x96, 0xc8, 0x42, 0x5b, 0xa5, 0xd0, - 0x05, 0xed, 0x3c, 0x8d, 0x1c, 0x73, 0x04, 0x93, 0x94, 0x9d, 0xd6, 0x14, 0x00, 0xc1, 0x7a, 0x6e, - 0xfe, 0xb3, 0x08, 0x53, 0x75, 0xda, 0x46, 0x36, 0x40, 0xdc, 0x47, 0x40, 0xe7, 0x65, 0x86, 0xa4, - 0xbd, 0x07, 0xea, 0x17, 0x72, 0x52, 0xf3, 0x10, 0xea, 0xc0, 0x5c, 0xe2, 0x6e, 0x8e, 0x54, 0xdc, - 0xc3, 0xaf, 0x67, 0x7a, 0x35, 0x2f, 0x39, 0xd7, 0xf6, 0x5d, 0x0d, 0xd0, 0xf0, 0x3b, 0x12, 0xda, - 0x52, 0x88, 0x91, 0xbe, 0x8d, 0xe9, 0x9f, 0x1f, 0x91, 0x8b, 0xdb, 0xf0, 0x63, 0x0d, 0x4e, 0xa6, - 0xbe, 0x00, 0xa1, 0x2f, 0xe4, 0x43, 0x33, 0x6c, 0xc9, 0xf6, 0xe8, 0x8c, 0xdc, 0x18, 0x17, 0x16, - 0x84, 0xc7, 0x1a, 0x54, 0xcb, 0x01, 0x2a, 0xf9, 0x4a, 0xa0, 0x7f, 0x2e, 0x3f, 0x03, 0xd7, 0x79, - 0x1f, 0x96, 0x06, 0x5f, 0x5a, 0xd0, 0x66, 0x3e, 0x04, 0x82, 0xe6, 0x17, 0x47, 0xe2, 0xe1, 0xca, - 0x1f, 0xc0, 0xf1, 0xa1, 0x17, 0x11, 0xa4, 0x92, 0x24, 0x7b, 0xf4, 0xd1, 0xb7, 0x46, 0x63, 0x8a, - 0xf5, 0x0f, 0xbd, 0x74, 0x28, 0xf5, 0xcb, 0x9e, 0x67, 0x94, 0xfa, 0xa5, 0x8f, 0x29, 0x88, 0xc0, - 0x7c, 0xb2, 0x5d, 0x8f, 0xaa, 0x99, 0xdb, 0x55, 0x78, 0x71, 0xd1, 0x6b, 0xb9, 0xe9, 0xe3, 0x0d, - 0x9e, 0xb8, 0xff, 0xa1, 0xcc, 0xf4, 0x20, 0x34, 0x88, 0xf5, 0x6a, 0x5e, 0xf2, 0x18, 0x5e, 0xf2, - 0x46, 0x85, 0xb2, 0x13, 0x84, 0xa8, 0xaf, 0x96, 0x9b, 0x9e, 0x2b, 0x7c, 0x57, 0x83, 0x15, 0x49, - 0xcf, 0x15, 0xbd, 0x94, 0x2b, 0x15, 0xa6, 0x5d, 0x48, 0xf5, 0x4b, 0xe3, 0xb0, 0x72, 0x93, 0x7e, - 0xa6, 0x41, 0x51, 0xd6, 0xef, 0x44, 0x97, 0xf2, 0x6d, 0x9a, 0x54, 0xa3, 0x2e, 0x8f, 0xc5, 0xcb, - 0xad, 0x7a, 0x5f, 0x03, 0x5d, 0xde, 0x8c, 0x44, 0x57, 0xb2, 0x00, 0xab, 0x7a, 0x3c, 0xfa, 0xd5, - 0x31, 0xb9, 0xb9, 0x6d, 0xbf, 0xd4, 0xe0, 0xb4, 0xa2, 0x59, 0x83, 0xae, 0x66, 0x02, 0x57, 0x5a, - 0xf7, 0xc5, 0x71, 0xd9, 0x13, 0xae, 0x93, 0xb7, 0x10, 0x95, 0xae, 0xcb, 0xec, 0xba, 0x2a, 0x5d, - 0x97, 0xdd, 0xb7, 0x44, 0xbf, 0xd5, 0xa0, 0x9c, 0xd1, 0xb3, 0x43, 0x3b, 0x23, 0xe1, 0x4f, 0x6b, - 0x78, 0xea, 0xbb, 0x87, 0x11, 0x91, 0xd8, 0x17, 0xb2, 0x56, 0x14, 0xba, 0x94, 0x2f, 0xd1, 0x8c, - 0xbc, 0x2f, 0x32, 0x7b, 0x5f, 0xef, 0x69, 0xb0, 0x2a, 0x6d, 0x02, 0xa1, 0xcb, 0x39, 0xf3, 0x51, - 0xaa, 0x5d, 0x57, 0xc6, 0x63, 0x8e, 0x4b, 0x03, 0xa1, 0xef, 0xa3, 0x2c, 0x0d, 0xd2, 0xda, 0x53, - 0xca, 0xd2, 0x20, 0xbd, 0xa5, 0x74, 0x17, 0x16, 0x07, 0x9a, 0x30, 0xe8, 0x62, 0x26, 0x88, 0x21, - 0xbd, 0x9b, 0xa3, 0xb0, 0xc4, 0x9a, 0x07, 0xba, 0x22, 0x4a, 0xcd, 0xe9, 0x0d, 0x1c, 0xa5, 0x66, - 0x59, 0xd3, 0xa5, 0x0f, 0xc7, 0xc4, 0x26, 0x04, 0x52, 0xf9, 0x2d, 0xb5, 0x9f, 0xa2, 0x5f, 0x1c, - 0x81, 0x23, 0x2e, 0x44, 0x86, 0x2e, 0x02, 0xca, 0x42, 0x44, 0x76, 0xef, 0xd1, 0xb7, 0x46, 0x63, - 0x0a, 0xf4, 0xef, 0xbe, 0xf5, 0xf0, 0x51, 0x49, 0xfb, 0xf0, 0x51, 0x49, 0xfb, 0xdb, 0xa3, 0x92, - 0xf6, 0xee, 0xe3, 0xd2, 0xc4, 0x87, 0x8f, 0x4b, 0x13, 0x7f, 0x79, 0x5c, 0x9a, 0x80, 0x55, 0x9b, - 0x48, 0x24, 0xde, 0xd0, 0xbe, 0xbe, 0xd5, 0xb6, 0xbd, 0x3b, 0xfd, 0xdb, 0x55, 0x93, 0x74, 0x6b, - 0x31, 0xd1, 0x05, 0x9b, 0x24, 0x46, 0xb5, 0xbb, 0xf1, 0xcf, 0x19, 0xbd, 0x7b, 0x3d, 0x4c, 0x6f, - 0x4f, 0xb3, 0x1f, 0x31, 0xbe, 0xf8, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x6d, 0xb7, 0x7d, - 0xf5, 0x29, 0x00, 0x00, + 0xa7, 0x4b, 0x1c, 0xec, 0x78, 0x94, 0x9d, 0x46, 0x33, 0xeb, 0xcf, 0x65, 0x28, 0xda, 0xb1, 0x5e, + 0x8c, 0x58, 0x1a, 0x27, 0xe8, 0xe0, 0xa4, 0xf2, 0x10, 0x93, 0x78, 0xea, 0xe7, 0x1a, 0x9c, 0x48, + 0x91, 0x8f, 0xca, 0xc2, 0x71, 0xc9, 0xd6, 0xea, 0xa5, 0xb1, 0xe4, 0x81, 0x19, 0x11, 0xf8, 0x41, + 0x16, 0x2c, 0x58, 0x44, 0xe0, 0x87, 0x17, 0x7a, 0x0a, 0x66, 0x43, 0xb4, 0x89, 0x23, 0x77, 0x86, + 0xcf, 0xf9, 0x32, 0xb6, 0x11, 0x2c, 0x84, 0x41, 0x8e, 0x1d, 0xcf, 0xde, 0xb5, 0xb1, 0x5b, 0xb9, + 0xc3, 0x52, 0x95, 0xb8, 0x32, 0xfc, 0xe8, 0xac, 0xc3, 0x7c, 0xc2, 0x7f, 0x89, 0xc3, 0xf3, 0x5c, + 0xa6, 0xe7, 0xd8, 0xf1, 0x39, 0x47, 0x93, 0xc3, 0xca, 0x5f, 0xc7, 0xe3, 0x33, 0xba, 0x81, 0x4d, + 0xe2, 0x5a, 0x61, 0x0c, 0x5c, 0x81, 0x49, 0x97, 0x4d, 0x70, 0xf9, 0x25, 0x99, 0xfc, 0x80, 0x2d, + 0x4c, 0x70, 0x01, 0xcf, 0x61, 0x06, 0xc0, 0x79, 0x40, 0x26, 0x71, 0x3c, 0xd7, 0x30, 0xbd, 0x56, + 0x7f, 0x24, 0x2c, 0x84, 0x5f, 0x9a, 0x61, 0x59, 0x73, 0x15, 0xa6, 0xba, 0x86, 0xeb, 0xd9, 0xd8, + 0x2f, 0x6a, 0x72, 0xe7, 0xf1, 0x90, 0x47, 0x12, 0x50, 0x56, 0xbc, 0xb3, 0x42, 0xa7, 0xf2, 0xe5, + 0x7b, 0x19, 0x8e, 0x05, 0x1e, 0xea, 0x5b, 0xbd, 0xb3, 0x6a, 0xef, 0xf2, 0xc5, 0x9b, 0x75, 0x13, + 0xa3, 0xca, 0x83, 0x44, 0xfd, 0x21, 0xae, 0xdd, 0x06, 0x14, 0x22, 0x2d, 0x59, 0x49, 0x7f, 0x3a, + 0x94, 0x39, 0x74, 0xfd, 0xb3, 0xcc, 0xa2, 0x54, 0xd4, 0xcf, 0x73, 0xcb, 0x43, 0x0d, 0x9e, 0x12, + 0x4a, 0xbf, 0x66, 0xb2, 0xf6, 0x0d, 0xcd, 0x7c, 0x0d, 0xe6, 0x84, 0x9a, 0x98, 0xfb, 0x62, 0x4d, + 0x59, 0x06, 0x0a, 0x92, 0xf8, 0x72, 0x88, 0x62, 0x14, 0xc1, 0x27, 0x24, 0x87, 0x89, 0x5c, 0xc9, + 0xe1, 0x2d, 0xa8, 0xa8, 0x90, 0xf0, 0x75, 0x7d, 0x15, 0x50, 0xb0, 0x8b, 0x99, 0x78, 0x71, 0x6d, + 0x9f, 0xcd, 0xc4, 0xc3, 0x97, 0x77, 0x9e, 0x8a, 0x13, 0xfe, 0xd1, 0x5e, 0x11, 0x0f, 0xd0, 0x54, + 0x3f, 0x6e, 0xc3, 0x82, 0xe0, 0x80, 0x1c, 0xab, 0x3e, 0x2f, 0x30, 0x8c, 0xb0, 0xf8, 0xe7, 0xe0, + 0x69, 0xa5, 0x65, 0x3c, 0x10, 0xfe, 0xa2, 0xc1, 0xd9, 0xd0, 0x7d, 0x2f, 0x26, 0xf6, 0xde, 0x00, + 0x86, 0xd7, 0xd3, 0x63, 0xe1, 0x82, 0xcc, 0x77, 0xa9, 0xc2, 0x9e, 0x40, 0x38, 0xfc, 0x58, 0x83, + 0x73, 0x19, 0x80, 0x78, 0x48, 0x7c, 0x0b, 0x4e, 0x8a, 0x79, 0x48, 0x8c, 0x8a, 0xb5, 0x3c, 0xc8, + 0x78, 0x60, 0x20, 0x73, 0x60, 0xae, 0xf2, 0xef, 0xc0, 0xb3, 0x5b, 0x96, 0x95, 0x64, 0x78, 0x95, + 0x44, 0x8b, 0x11, 0x7a, 0xb6, 0x09, 0xcb, 0x82, 0x1d, 0xc3, 0x84, 0xc9, 0x92, 0x99, 0x06, 0x71, + 0xc7, 0x42, 0x75, 0x38, 0x15, 0xc7, 0xbb, 0x20, 0x71, 0x5c, 0x2d, 0x71, 0x91, 0x0e, 0x04, 0xcb, + 0xce, 0xf0, 0xb5, 0xcd, 0xb3, 0x6c, 0x11, 0x54, 0xd8, 0x79, 0xfc, 0xfd, 0x57, 0x83, 0xcf, 0x47, + 0x71, 0x9a, 0x24, 0xfe, 0x9a, 0x4b, 0x3a, 0x9f, 0x09, 0x57, 0x9d, 0x87, 0xb5, 0x3c, 0x0e, 0xe0, + 0xfe, 0xfa, 0x75, 0x10, 0xde, 0x83, 0xe4, 0x9f, 0x8a, 0xa4, 0xb3, 0x0a, 0xcf, 0x64, 0x19, 0xc7, + 0x71, 0xfc, 0x5d, 0x8b, 0xd3, 0x76, 0x70, 0x36, 0xa5, 0x82, 0xb8, 0x95, 0x9e, 0x75, 0x9e, 0x53, + 0x9f, 0xc6, 0x07, 0xca, 0x39, 0xe9, 0xe5, 0xc9, 0x44, 0x7a, 0x79, 0x22, 0xf1, 0xc3, 0x03, 0x96, + 0x7c, 0xe5, 0xe0, 0x78, 0x06, 0xba, 0x05, 0x27, 0x78, 0x19, 0x90, 0x92, 0x7f, 0x56, 0xb3, 0x31, + 0xf2, 0xec, 0xb3, 0xe0, 0xf6, 0xcd, 0x54, 0xde, 0xd5, 0x12, 0xd9, 0x5f, 0xe1, 0xde, 0xc3, 0x88, + 0x91, 0x67, 0x58, 0x5a, 0x54, 0x98, 0xc6, 0x23, 0xe4, 0x3e, 0xab, 0x5e, 0xb6, 0x6d, 0xc7, 0xba, + 0xde, 0x7c, 0x85, 0x98, 0x86, 0x47, 0xa2, 0x1b, 0xda, 0xcb, 0x30, 0xb5, 0x17, 0xcc, 0x64, 0xe5, + 0xea, 0xeb, 0xac, 0x8d, 0xd8, 0xf4, 0x88, 0x8b, 0xb9, 0x8c, 0xb0, 0x40, 0xe4, 0x02, 0xfa, 0x8c, + 0xe4, 0xb3, 0x95, 0x5d, 0x76, 0x9f, 0xef, 0x53, 0x1e, 0x95, 0x88, 0x9f, 0x98, 0xf6, 0xca, 0xf7, + 0x60, 0x39, 0x72, 0xc6, 0x21, 0xc0, 0xbc, 0x93, 0xe8, 0x4c, 0x3c, 0x09, 0xa0, 0x75, 0x62, 0xd9, + 0xbb, 0xf7, 0x0e, 0x0d, 0xe8, 0x80, 0xfa, 0xff, 0x03, 0xd0, 0xdf, 0x6a, 0x2c, 0x74, 0x9a, 0xd8, + 0xdb, 0x32, 0x4d, 0xd2, 0x73, 0xbc, 0x6b, 0x86, 0x67, 0xc4, 0x77, 0xb6, 0xb9, 0x50, 0x5a, 0x70, + 0x25, 0xcd, 0xd8, 0x6c, 0xb3, 0x9d, 0xc4, 0x04, 0x5a, 0x84, 0xa3, 0xac, 0x3b, 0xc2, 0x3b, 0x0f, + 0xc1, 0x60, 0xe8, 0xf3, 0xe6, 0x34, 0x5b, 0x89, 0x7e, 0xfb, 0xf8, 0xa6, 0x7b, 0x47, 0x83, 0x52, + 0x98, 0xb9, 0x6e, 0x6c, 0x0a, 0x39, 0x3c, 0xc4, 0xd0, 0x80, 0xd9, 0x30, 0x0b, 0xfa, 0xa9, 0x20, + 0x2b, 0x5b, 0x75, 0x37, 0xb1, 0x50, 0x31, 0x71, 0x7f, 0x09, 0x32, 0x14, 0x39, 0x64, 0xd2, 0xc7, + 0x50, 0xd4, 0x2a, 0x8f, 0x83, 0x56, 0x67, 0xba, 0x61, 0x4f, 0xa4, 0xa0, 0x43, 0xaf, 0xc3, 0x62, + 0x4a, 0xb6, 0x0e, 0xdb, 0x8b, 0xf9, 0xd3, 0xf5, 0xf1, 0xfe, 0x74, 0x1d, 0xa3, 0xfc, 0xcf, 0x38, + 0x6b, 0x94, 0xde, 0xd8, 0xc4, 0x75, 0xdc, 0x21, 0xae, 0x6d, 0xec, 0xd9, 0x6f, 0x45, 0x58, 0xc3, + 0x05, 0x58, 0xee, 0x6b, 0x18, 0x16, 0xe2, 0xbe, 0xe0, 0x32, 0x4c, 0xb7, 0x5d, 0xd2, 0xeb, 0x86, + 0xc5, 0x4b, 0xa1, 0x31, 0xc5, 0xc6, 0x3b, 0x16, 0xda, 0x90, 0x56, 0x39, 0xc1, 0xd1, 0x96, 0x5e, + 0xcc, 0x7c, 0x15, 0xfc, 0xeb, 0xa7, 0xed, 0x19, 0x7b, 0x94, 0xdd, 0xd0, 0x15, 0x17, 0x61, 0x7f, + 0xa1, 0x1b, 0x9c, 0xb6, 0x11, 0x71, 0xf9, 0x12, 0x42, 0x5f, 0xb2, 0x57, 0x89, 0x0c, 0x09, 0x11, + 0xd8, 0x88, 0x0b, 0xbd, 0x04, 0xe0, 0x47, 0x83, 0xe1, 0xf5, 0x5c, 0x4c, 0x8b, 0x93, 0xd9, 0xe1, + 0xd6, 0x0c, 0xa9, 0x9b, 0xd8, 0x6b, 0x24, 0x78, 0xfd, 0x30, 0xb3, 0x9d, 0x7d, 0xf2, 0x06, 0x76, + 0x8b, 0x53, 0x81, 0x77, 0xf8, 0x30, 0x5a, 0x80, 0x5f, 0x8c, 0xb3, 0x7b, 0xb1, 0x6c, 0x01, 0x3e, + 0xe1, 0xe7, 0x91, 0xb4, 0x66, 0xd1, 0xf8, 0xe8, 0xcd, 0x22, 0xf4, 0x0a, 0xcc, 0x8b, 0xcd, 0x8b, + 0x20, 0x25, 0xe4, 0xed, 0x5e, 0xcc, 0x25, 0xbb, 0x17, 0x71, 0x50, 0xfe, 0x39, 0xe8, 0x97, 0x6e, + 0x59, 0xd6, 0x37, 0xb0, 0xb7, 0x45, 0x29, 0xf6, 0x58, 0xb3, 0x92, 0xe6, 0x88, 0x47, 0x79, 0x95, + 0x75, 0x13, 0x16, 0x1c, 0xec, 0xb5, 0x0c, 0x5f, 0x5c, 0x8b, 0x25, 0xb2, 0xd0, 0x56, 0x29, 0x74, + 0x41, 0x3b, 0x4f, 0x23, 0xc7, 0x1c, 0xc1, 0x24, 0x65, 0xa7, 0x35, 0x05, 0x40, 0xb0, 0x9e, 0xeb, + 0xff, 0x2a, 0xc2, 0x44, 0x9d, 0xb6, 0x91, 0x0d, 0x10, 0xf7, 0x11, 0xd0, 0x79, 0x99, 0x21, 0x69, + 0xef, 0x81, 0xfa, 0x85, 0x9c, 0xd4, 0x3c, 0x84, 0xf6, 0x60, 0x26, 0x71, 0x37, 0x47, 0x2a, 0xee, + 0xc1, 0xd7, 0x33, 0xbd, 0x9a, 0x97, 0x9c, 0x6b, 0xfb, 0x81, 0x06, 0x68, 0xf0, 0x1d, 0x09, 0x6d, + 0x28, 0xc4, 0x48, 0xdf, 0xc6, 0xf4, 0x2f, 0x0e, 0xc9, 0xc5, 0x6d, 0xf8, 0x99, 0x06, 0x27, 0x53, + 0x5f, 0x80, 0xd0, 0x97, 0xf2, 0xa1, 0x19, 0xb4, 0x64, 0x73, 0x78, 0x46, 0x6e, 0x8c, 0x0b, 0x73, + 0xc2, 0x63, 0x0d, 0xaa, 0xe5, 0x00, 0x95, 0x7c, 0x25, 0xd0, 0xbf, 0x90, 0x9f, 0x81, 0xeb, 0xbc, + 0x0f, 0x0b, 0xfd, 0x2f, 0x2d, 0x68, 0x3d, 0x1f, 0x02, 0x41, 0xf3, 0xf3, 0x43, 0xf1, 0x70, 0xe5, + 0x0f, 0xe0, 0xf8, 0xc0, 0x8b, 0x08, 0x52, 0x49, 0x92, 0x3d, 0xfa, 0xe8, 0x1b, 0xc3, 0x31, 0xc5, + 0xfa, 0x07, 0x5e, 0x3a, 0x94, 0xfa, 0x65, 0xcf, 0x33, 0x4a, 0xfd, 0xd2, 0xc7, 0x14, 0x44, 0x60, + 0x36, 0xd9, 0xae, 0x47, 0xd5, 0xcc, 0xed, 0x2a, 0xbc, 0xb8, 0xe8, 0xb5, 0xdc, 0xf4, 0xf1, 0x06, + 0x4f, 0xdc, 0xff, 0x50, 0x66, 0x7a, 0x10, 0x1a, 0xc4, 0x7a, 0x35, 0x2f, 0x79, 0x0c, 0x2f, 0x79, + 0xa3, 0x42, 0xd9, 0x09, 0x42, 0xd4, 0x57, 0xcb, 0x4d, 0xcf, 0x15, 0xbe, 0xad, 0xc1, 0x92, 0xa4, + 0xe7, 0x8a, 0x5e, 0xc8, 0x95, 0x0a, 0xd3, 0x2e, 0xa4, 0xfa, 0xa5, 0x51, 0x58, 0xb9, 0x49, 0xbf, + 0xd4, 0xa0, 0x28, 0xeb, 0x77, 0xa2, 0x4b, 0xf9, 0x36, 0x4d, 0xaa, 0x51, 0x97, 0x47, 0xe2, 0xe5, + 0x56, 0xbd, 0xab, 0x81, 0x2e, 0x6f, 0x46, 0xa2, 0x2b, 0x59, 0x80, 0x55, 0x3d, 0x1e, 0xfd, 0xea, + 0x88, 0xdc, 0xdc, 0xb6, 0xdf, 0x68, 0x70, 0x5a, 0xd1, 0xac, 0x41, 0x57, 0x33, 0x81, 0x2b, 0xad, + 0xfb, 0xf2, 0xa8, 0xec, 0x09, 0xd7, 0xc9, 0x5b, 0x88, 0x4a, 0xd7, 0x65, 0x76, 0x5d, 0x95, 0xae, + 0xcb, 0xee, 0x5b, 0xa2, 0x3f, 0x68, 0x50, 0xce, 0xe8, 0xd9, 0xa1, 0xad, 0xa1, 0xf0, 0xa7, 0x35, + 0x3c, 0xf5, 0xed, 0x83, 0x88, 0x48, 0xec, 0x0b, 0x59, 0x2b, 0x0a, 0x5d, 0xca, 0x97, 0x68, 0x86, + 0xde, 0x17, 0x99, 0xbd, 0xaf, 0x77, 0x34, 0x58, 0x96, 0x36, 0x81, 0xd0, 0xe5, 0x9c, 0xf9, 0x28, + 0xd5, 0xae, 0x2b, 0xa3, 0x31, 0xc7, 0xa5, 0x81, 0xd0, 0xf7, 0x51, 0x96, 0x06, 0x69, 0xed, 0x29, + 0x65, 0x69, 0x90, 0xde, 0x52, 0xba, 0x0b, 0xf3, 0x7d, 0x4d, 0x18, 0x74, 0x31, 0x13, 0xc4, 0x80, + 0xde, 0xf5, 0x61, 0x58, 0x62, 0xcd, 0x7d, 0x5d, 0x11, 0xa5, 0xe6, 0xf4, 0x06, 0x8e, 0x52, 0xb3, + 0xac, 0xe9, 0xd2, 0x83, 0x63, 0x62, 0x13, 0x02, 0xa9, 0xfc, 0x96, 0xda, 0x4f, 0xd1, 0x2f, 0x0e, + 0xc1, 0x11, 0x17, 0x22, 0x03, 0x17, 0x01, 0x65, 0x21, 0x22, 0xbb, 0xf7, 0xe8, 0x1b, 0xc3, 0x31, + 0x05, 0xfa, 0xf5, 0xa3, 0xdf, 0xff, 0xf8, 0xfd, 0x35, 0x6d, 0xfb, 0x8d, 0x87, 0x8f, 0x4a, 0xda, + 0x07, 0x8f, 0x4a, 0xda, 0x3f, 0x1e, 0x95, 0xb4, 0xb7, 0x1f, 0x97, 0xc6, 0x3e, 0x78, 0x5c, 0x1a, + 0xfb, 0xdb, 0xe3, 0xd2, 0x18, 0x2c, 0xdb, 0x44, 0x22, 0xf8, 0x86, 0xf6, 0xcd, 0x8d, 0xb6, 0xed, + 0xdd, 0xe9, 0xdd, 0xae, 0x9a, 0xa4, 0x53, 0x8b, 0x89, 0x2e, 0xd8, 0x24, 0x31, 0xaa, 0xdd, 0x8d, + 0x7f, 0xd5, 0xe8, 0xdd, 0xeb, 0x62, 0x7a, 0x7b, 0x92, 0xfd, 0x96, 0xf1, 0xf9, 0xff, 0x05, 0x00, + 0x00, 0xff, 0xff, 0x0e, 0x34, 0xe1, 0xb8, 0xfc, 0x29, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/msgfees/types/tx.pb.go b/x/msgfees/types/tx.pb.go index 18071f1c96..cfdcf8a48f 100644 --- a/x/msgfees/types/tx.pb.go +++ b/x/msgfees/types/tx.pb.go @@ -655,59 +655,59 @@ func init() { func init() { proto.RegisterFile("provenance/msgfees/v1/tx.proto", fileDescriptor_4c6bb65eaf858b5f) } var fileDescriptor_4c6bb65eaf858b5f = []byte{ - // 827 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcf, 0x6f, 0xe3, 0x44, - 0x14, 0xce, 0xa4, 0xa1, 0x52, 0x87, 0x52, 0x29, 0xa3, 0x00, 0x69, 0x28, 0x4e, 0xc8, 0x01, 0xda, - 0xa0, 0xd8, 0xa4, 0x29, 0x45, 0xaa, 0x04, 0x52, 0x53, 0x94, 0x5b, 0x50, 0x14, 0xe8, 0x85, 0x8b, - 0xe5, 0xd8, 0x53, 0x67, 0x44, 0x3c, 0x63, 0xfc, 0x9c, 0xa8, 0x91, 0x90, 0x90, 0x90, 0x90, 0x2a, - 0x4e, 0x9c, 0x41, 0x48, 0x3d, 0x21, 0xe0, 0xd4, 0x03, 0x7f, 0x44, 0x8f, 0xd5, 0x9e, 0xf6, 0xb4, - 0x5b, 0xb5, 0x52, 0xbb, 0xfb, 0x5f, 0xac, 0x6c, 0xcf, 0x26, 0x6d, 0x93, 0x38, 0xdb, 0x1f, 0x7b, - 0xdb, 0x4b, 0x32, 0xe3, 0xef, 0x7b, 0xef, 0x7d, 0xef, 0x3d, 0xbf, 0x19, 0x63, 0xc5, 0xf5, 0x44, - 0x9f, 0x72, 0x83, 0x9b, 0x54, 0x73, 0xc0, 0xde, 0xa3, 0x14, 0xb4, 0x7e, 0x45, 0xf3, 0xf7, 0x55, - 0xd7, 0x13, 0xbe, 0x20, 0xef, 0x8e, 0x70, 0x55, 0xe2, 0x6a, 0xbf, 0x92, 0x4b, 0x1b, 0x0e, 0xe3, - 0x42, 0x0b, 0x7f, 0x23, 0x66, 0x2e, 0x63, 0x0b, 0x5b, 0x84, 0x4b, 0x2d, 0x58, 0xc9, 0xa7, 0xcb, - 0xa6, 0x00, 0x47, 0x80, 0x1e, 0x01, 0xd1, 0x46, 0x42, 0x4a, 0xb4, 0xd3, 0xda, 0x06, 0x50, 0xad, - 0x5f, 0x69, 0x53, 0xdf, 0xa8, 0x68, 0xa6, 0x60, 0x5c, 0xe2, 0xef, 0x4b, 0xdc, 0x01, 0x3b, 0x90, - 0xe4, 0x80, 0x1d, 0x01, 0xc5, 0x0b, 0x84, 0x57, 0x1a, 0x60, 0x6f, 0x03, 0x50, 0x80, 0x9d, 0x1e, - 0xf8, 0xc2, 0x69, 0x80, 0x5d, 0xa7, 0xb4, 0x45, 0x7f, 0xec, 0x51, 0xf0, 0x09, 0xc1, 0x29, 0x6e, - 0x38, 0x34, 0x8b, 0x0a, 0x68, 0x75, 0xa1, 0x15, 0xae, 0xc9, 0x17, 0x78, 0xde, 0x70, 0x44, 0x8f, - 0xfb, 0xd9, 0x64, 0x01, 0xad, 0xbe, 0xbd, 0xbe, 0xac, 0x4a, 0x31, 0x41, 0x78, 0x55, 0x86, 0x57, - 0x77, 0x04, 0xe3, 0xb5, 0xd4, 0xf1, 0x93, 0x7c, 0xa2, 0x25, 0xe9, 0x64, 0x05, 0x2f, 0x78, 0xd4, - 0x64, 0x2e, 0xa3, 0xdc, 0xcf, 0xce, 0x85, 0x1e, 0x47, 0x0f, 0x82, 0x50, 0x7b, 0x9e, 0x70, 0xb2, - 0xa9, 0x28, 0x54, 0xb0, 0x26, 0x1b, 0xf8, 0xbd, 0x21, 0x41, 0x6f, 0x1b, 0xc0, 0x40, 0x77, 0x05, - 0xe3, 0x3e, 0x64, 0xdf, 0x0a, 0x59, 0x99, 0x21, 0x5a, 0x0b, 0xc0, 0x66, 0x88, 0x6d, 0xa5, 0x0f, - 0x0e, 0xf3, 0x89, 0x67, 0x87, 0xf9, 0xc4, 0x2f, 0x97, 0x47, 0xa5, 0xd0, 0x51, 0x31, 0x8f, 0x3f, - 0x9c, 0x92, 0x27, 0xb8, 0x82, 0x03, 0x2d, 0x5e, 0x24, 0xf1, 0x07, 0x01, 0xc3, 0xb2, 0x22, 0xa0, - 0xe9, 0x09, 0x57, 0x80, 0xd1, 0x7d, 0x59, 0x88, 0x02, 0x5e, 0x74, 0xc0, 0xd6, 0xfd, 0x81, 0x4b, - 0xf5, 0x9e, 0xd7, 0x95, 0x05, 0xc1, 0x0e, 0xd8, 0xdf, 0x0d, 0x5c, 0xba, 0xeb, 0x75, 0xc9, 0x01, - 0xc2, 0x4b, 0x86, 0x65, 0x31, 0x9f, 0x09, 0x6e, 0x74, 0xf5, 0x3d, 0x4a, 0x67, 0xd7, 0xa7, 0x1e, - 0xd4, 0xe7, 0xbf, 0xa7, 0xf9, 0x55, 0x9b, 0xf9, 0x9d, 0x5e, 0x5b, 0x35, 0x85, 0x23, 0x3b, 0x2b, - 0xff, 0xca, 0x60, 0xfd, 0xa0, 0x05, 0x41, 0x21, 0x34, 0x80, 0x3f, 0x2e, 0x8f, 0x4a, 0x8b, 0x5d, - 0x6a, 0x1b, 0xe6, 0x40, 0x0f, 0x1a, 0x0c, 0xff, 0x5c, 0x1e, 0x95, 0x50, 0xeb, 0x9d, 0x51, 0xe0, - 0x3a, 0xa5, 0x33, 0x0a, 0x3d, 0xbd, 0xa8, 0xa9, 0xe9, 0x45, 0x25, 0x9b, 0x78, 0xc1, 0xe8, 0xf9, - 0x1d, 0xe1, 0x31, 0x7f, 0x10, 0x55, 0xbf, 0x96, 0x7d, 0xf4, 0x7f, 0x39, 0x23, 0x73, 0xdb, 0xb6, - 0x2c, 0x8f, 0x02, 0x7c, 0xeb, 0x7b, 0x8c, 0xdb, 0xad, 0x11, 0x75, 0x6b, 0x29, 0x68, 0xc2, 0x68, - 0x5f, 0x54, 0xa2, 0x37, 0x6e, 0xbc, 0xce, 0xb2, 0x11, 0xcf, 0x93, 0x58, 0x69, 0x80, 0xbd, 0xeb, - 0x5a, 0x86, 0x4f, 0xdf, 0xf4, 0xe2, 0xb5, 0xf6, 0xe2, 0x23, 0x9c, 0x9f, 0x5a, 0x6a, 0xd9, 0x8e, - 0xdf, 0x50, 0xd8, 0x8e, 0x16, 0x75, 0x44, 0xff, 0xce, 0xed, 0xb8, 0xa6, 0x37, 0x79, 0x5f, 0xbd, - 0x93, 0xb5, 0x48, 0xbd, 0x7f, 0x22, 0xfc, 0xf1, 0x30, 0xa7, 0x6f, 0x3a, 0x06, 0x74, 0x9a, 0xd4, - 0xdb, 0x05, 0xab, 0xc1, 0xba, 0x37, 0x75, 0xaf, 0xe1, 0x34, 0x0f, 0x08, 0xba, 0x4b, 0x3d, 0xbd, - 0x07, 0x96, 0xee, 0xb0, 0x48, 0x7c, 0xaa, 0xb5, 0xc4, 0xaf, 0x59, 0x3e, 0x58, 0x02, 0x6b, 0xf8, - 0x93, 0x99, 0xe2, 0x64, 0x22, 0x7f, 0x23, 0x5c, 0x1a, 0x72, 0x77, 0x04, 0xef, 0x53, 0x0f, 0x98, - 0xe0, 0x75, 0x4a, 0xbf, 0xa6, 0x5c, 0x38, 0x37, 0x93, 0xf9, 0x0c, 0x67, 0xcc, 0x21, 0x29, 0x78, - 0xe1, 0x75, 0x2b, 0xa0, 0xc9, 0x66, 0x10, 0x73, 0xcc, 0xc1, 0x83, 0xe5, 0x54, 0xc6, 0x9f, 0xbe, - 0x92, 0xce, 0x28, 0xaf, 0xf5, 0xd3, 0x79, 0x3c, 0xd7, 0x00, 0x9b, 0xfc, 0x8c, 0xc9, 0xf8, 0x71, - 0x4c, 0xaa, 0xea, 0xc4, 0x5b, 0x52, 0x8d, 0xbb, 0xa4, 0x72, 0x1b, 0xb7, 0x33, 0x8a, 0x84, 0x90, - 0x9f, 0x70, 0x7a, 0xec, 0x14, 0x22, 0xeb, 0x31, 0xae, 0xa6, 0x5c, 0x0d, 0xb9, 0xea, 0xad, 0x6c, - 0x64, 0xf4, 0x5f, 0x11, 0xce, 0x4c, 0x1a, 0x3c, 0xf2, 0xf9, 0x74, 0x6f, 0x31, 0x67, 0x62, 0x6e, - 0xf3, 0xb6, 0x66, 0x57, 0x74, 0x4c, 0x1a, 0xa8, 0x38, 0x1d, 0x31, 0x87, 0x41, 0x9c, 0x8e, 0xb8, - 0xb9, 0x25, 0x7f, 0x21, 0xbc, 0x12, 0x37, 0x17, 0xe4, 0xcb, 0x59, 0x09, 0xc6, 0x0e, 0x7b, 0xee, - 0xab, 0xbb, 0x9a, 0x4b, 0x7d, 0xff, 0x22, 0x5c, 0x98, 0xf5, 0x8e, 0x93, 0xed, 0x59, 0x41, 0x66, - 0xce, 0x71, 0xae, 0x76, 0x1f, 0x17, 0x91, 0xd6, 0x1a, 0x3b, 0x3e, 0x53, 0xd0, 0xc9, 0x99, 0x82, - 0x4e, 0xcf, 0x14, 0xf4, 0xfb, 0xb9, 0x92, 0x38, 0x39, 0x57, 0x12, 0x8f, 0xcf, 0x95, 0x04, 0xce, - 0x32, 0x31, 0xd9, 0x7f, 0x13, 0x7d, 0x5f, 0xbd, 0x72, 0xef, 0x8d, 0x38, 0x65, 0x26, 0xae, 0xec, - 0xb4, 0xfd, 0xe1, 0xa7, 0x6d, 0x78, 0x11, 0xb6, 0xe7, 0xc3, 0xef, 0xc8, 0xea, 0x8b, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xa5, 0xdc, 0x57, 0x6b, 0xfd, 0x0a, 0x00, 0x00, + // 828 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcf, 0x6b, 0x3b, 0x45, + 0x14, 0xcf, 0xe4, 0x9b, 0x16, 0x3a, 0xd6, 0x42, 0x86, 0xa8, 0xe9, 0x5a, 0x37, 0x31, 0x07, 0x6d, + 0x23, 0xd9, 0x35, 0x4d, 0xad, 0x50, 0x50, 0x68, 0x2a, 0xb9, 0x45, 0x42, 0xb4, 0x17, 0x2f, 0xcb, + 0x66, 0x77, 0xba, 0x19, 0xcc, 0xce, 0xac, 0xfb, 0x36, 0xa1, 0x01, 0x41, 0x11, 0x84, 0xe2, 0xc9, + 0xb3, 0x22, 0xf4, 0x24, 0xea, 0xa9, 0x07, 0xff, 0x88, 0x1e, 0x8b, 0x27, 0x4f, 0x2a, 0x2d, 0x34, + 0xfa, 0x5f, 0xc8, 0xee, 0x8e, 0x49, 0xdb, 0x24, 0x1b, 0xfb, 0xc3, 0x9b, 0x97, 0x64, 0x66, 0x3f, + 0x9f, 0x79, 0xef, 0xf3, 0xde, 0xdb, 0x37, 0x6f, 0xb1, 0xea, 0xf9, 0x62, 0x40, 0xb9, 0xc9, 0x2d, + 0xaa, 0xbb, 0xe0, 0x1c, 0x51, 0x0a, 0xfa, 0xa0, 0xaa, 0x07, 0xc7, 0x9a, 0xe7, 0x8b, 0x40, 0x90, + 0x17, 0x26, 0xb8, 0x26, 0x71, 0x6d, 0x50, 0x55, 0xb2, 0xa6, 0xcb, 0xb8, 0xd0, 0xa3, 0xdf, 0x98, + 0xa9, 0xe4, 0x1c, 0xe1, 0x88, 0x68, 0xa9, 0x87, 0x2b, 0xf9, 0x74, 0xdd, 0x12, 0xe0, 0x0a, 0x30, + 0x62, 0x20, 0xde, 0x48, 0x48, 0x8d, 0x77, 0x7a, 0xc7, 0x04, 0xaa, 0x0f, 0xaa, 0x1d, 0x1a, 0x98, + 0x55, 0xdd, 0x12, 0x8c, 0x4b, 0xfc, 0x25, 0x89, 0xbb, 0xe0, 0x84, 0x92, 0x5c, 0x70, 0x62, 0xa0, + 0x74, 0x8d, 0xf0, 0x46, 0x13, 0x9c, 0x7d, 0x00, 0x0a, 0x70, 0xd0, 0x87, 0x40, 0xb8, 0x4d, 0x70, + 0x1a, 0x94, 0xb6, 0xe9, 0x27, 0x7d, 0x0a, 0x01, 0x21, 0x38, 0xc3, 0x4d, 0x97, 0xe6, 0x51, 0x11, + 0x6d, 0xae, 0xb4, 0xa3, 0x35, 0x79, 0x1b, 0x2f, 0x9b, 0xae, 0xe8, 0xf3, 0x20, 0x9f, 0x2e, 0xa2, + 0xcd, 0xe7, 0xb6, 0xd7, 0x35, 0x29, 0x26, 0x74, 0xaf, 0x49, 0xf7, 0xda, 0x81, 0x60, 0xbc, 0x9e, + 0x39, 0xff, 0xad, 0x90, 0x6a, 0x4b, 0x3a, 0xd9, 0xc0, 0x2b, 0x3e, 0xb5, 0x98, 0xc7, 0x28, 0x0f, + 0xf2, 0xcf, 0x22, 0x8b, 0x93, 0x07, 0xa1, 0xab, 0x23, 0x5f, 0xb8, 0xf9, 0x4c, 0xec, 0x2a, 0x5c, + 0x93, 0x1d, 0xfc, 0xe2, 0x98, 0x60, 0x74, 0x4c, 0x60, 0x60, 0x78, 0x82, 0xf1, 0x00, 0xf2, 0x4b, + 0x11, 0x2b, 0x37, 0x46, 0xeb, 0x21, 0xd8, 0x8a, 0xb0, 0xbd, 0xec, 0xc9, 0x69, 0x21, 0xf5, 0xe7, + 0x69, 0x21, 0xf5, 0xc5, 0xe8, 0xac, 0x1c, 0x19, 0x2a, 0x15, 0xf0, 0x2b, 0x73, 0xe2, 0x04, 0x4f, + 0x70, 0xa0, 0xa5, 0xeb, 0x34, 0x7e, 0x39, 0x64, 0xd8, 0x76, 0x0c, 0xb4, 0x7c, 0xe1, 0x09, 0x30, + 0x7b, 0xff, 0x24, 0xa2, 0x88, 0x57, 0x5d, 0x70, 0x8c, 0x60, 0xe8, 0x51, 0xa3, 0xef, 0xf7, 0x64, + 0x42, 0xb0, 0x0b, 0xce, 0x87, 0x43, 0x8f, 0x1e, 0xfa, 0x3d, 0x72, 0x82, 0xf0, 0x9a, 0x69, 0xdb, + 0x2c, 0x60, 0x82, 0x9b, 0x3d, 0xe3, 0x88, 0xd2, 0xc5, 0xf9, 0x69, 0x84, 0xf9, 0xf9, 0xe9, 0xf7, + 0xc2, 0xa6, 0xc3, 0x82, 0x6e, 0xbf, 0xa3, 0x59, 0xc2, 0x95, 0x95, 0x95, 0x7f, 0x15, 0xb0, 0x3f, + 0xd6, 0x43, 0xa7, 0x10, 0x1d, 0x80, 0x6f, 0x46, 0x67, 0xe5, 0xd5, 0x1e, 0x75, 0x4c, 0x6b, 0x68, + 0x84, 0x05, 0x86, 0x1f, 0x46, 0x67, 0x65, 0xd4, 0x7e, 0x7e, 0xe2, 0xb8, 0x41, 0xe9, 0x82, 0x44, + 0xcf, 0x4f, 0x6a, 0x66, 0x7e, 0x52, 0xc9, 0x2e, 0x5e, 0x31, 0xfb, 0x41, 0x57, 0xf8, 0x2c, 0x18, + 0xc6, 0xd9, 0xaf, 0xe7, 0x7f, 0xf9, 0xb9, 0x92, 0x93, 0xb1, 0xed, 0xdb, 0xb6, 0x4f, 0x01, 0x3e, + 0x08, 0x7c, 0xc6, 0x9d, 0xf6, 0x84, 0xba, 0xb7, 0x16, 0x16, 0x61, 0xb2, 0x2f, 0xa9, 0xf1, 0x1b, + 0x37, 0x9d, 0x67, 0x59, 0x88, 0xbf, 0xd2, 0x58, 0x6d, 0x82, 0x73, 0xe8, 0xd9, 0x66, 0x40, 0xff, + 0xaf, 0xc5, 0x7f, 0x5a, 0x8b, 0x57, 0x71, 0x61, 0x6e, 0xaa, 0x65, 0x39, 0xbe, 0x42, 0x51, 0x39, + 0xda, 0xd4, 0x15, 0x83, 0x07, 0x97, 0xe3, 0x96, 0xde, 0xf4, 0x63, 0xf5, 0xce, 0xd6, 0x22, 0xf5, + 0x7e, 0x8b, 0xf0, 0x6b, 0xe3, 0x98, 0xde, 0xef, 0x9a, 0xd0, 0x6d, 0x51, 0xff, 0x10, 0xec, 0x26, + 0xeb, 0xdd, 0xd5, 0xbd, 0x85, 0xb3, 0x3c, 0x24, 0x18, 0x1e, 0xf5, 0x8d, 0x3e, 0xd8, 0x86, 0xcb, + 0x62, 0xf1, 0x99, 0xf6, 0x1a, 0xbf, 0x75, 0xf2, 0xc9, 0x02, 0xd8, 0xc2, 0xaf, 0x2f, 0x14, 0x27, + 0x03, 0xf9, 0x1e, 0xe1, 0xf2, 0x98, 0x7b, 0x20, 0xf8, 0x80, 0xfa, 0xc0, 0x04, 0x6f, 0x50, 0xfa, + 0x1e, 0xe5, 0xc2, 0xbd, 0x1b, 0xcc, 0x9b, 0x38, 0x67, 0x8d, 0x49, 0xe1, 0x0b, 0x6f, 0xd8, 0x21, + 0x4d, 0x16, 0x83, 0x58, 0x53, 0x06, 0x9e, 0x2c, 0xa6, 0x0a, 0x7e, 0xe3, 0x5f, 0xe9, 0x8c, 0xe3, + 0xda, 0x1e, 0x2d, 0xe3, 0x67, 0x4d, 0x70, 0xc8, 0x67, 0x98, 0x4c, 0x5f, 0xc7, 0xa4, 0xa6, 0xcd, + 0x9c, 0x92, 0x5a, 0xd2, 0x90, 0x52, 0x76, 0xee, 0x77, 0x28, 0x16, 0x42, 0x3e, 0xc5, 0xd9, 0xa9, + 0x5b, 0x88, 0x6c, 0x27, 0x98, 0x9a, 0x33, 0x1a, 0x94, 0xda, 0xbd, 0xce, 0x48, 0xef, 0x5f, 0x22, + 0x9c, 0x9b, 0xd5, 0x78, 0xe4, 0xad, 0xf9, 0xd6, 0x12, 0xee, 0x44, 0x65, 0xf7, 0xbe, 0xc7, 0x6e, + 0xe8, 0x98, 0xd5, 0x50, 0x49, 0x3a, 0x12, 0x2e, 0x83, 0x24, 0x1d, 0x49, 0x7d, 0x4b, 0xbe, 0x43, + 0x78, 0x23, 0xa9, 0x2f, 0xc8, 0x3b, 0x8b, 0x02, 0x4c, 0x6c, 0x76, 0xe5, 0xdd, 0x87, 0x1e, 0x97, + 0xfa, 0x7e, 0x44, 0xb8, 0xb8, 0xe8, 0x1d, 0x27, 0xfb, 0x8b, 0x9c, 0x2c, 0xec, 0x63, 0xa5, 0xfe, + 0x18, 0x13, 0xb1, 0x56, 0x65, 0xe9, 0xf3, 0x70, 0x10, 0xd5, 0xd9, 0xf9, 0xa5, 0x8a, 0x2e, 0x2e, + 0x55, 0xf4, 0xc7, 0xa5, 0x8a, 0xbe, 0xbe, 0x52, 0x53, 0x17, 0x57, 0x6a, 0xea, 0xd7, 0x2b, 0x35, + 0x85, 0xf3, 0x4c, 0xcc, 0x76, 0xd3, 0x42, 0x1f, 0xd5, 0x6e, 0x8c, 0xbf, 0x09, 0xa7, 0xc2, 0xc4, + 0x8d, 0x9d, 0x7e, 0x3c, 0xfe, 0xc2, 0x8d, 0xe6, 0x61, 0x67, 0x39, 0xfa, 0x9c, 0xac, 0xfd, 0x1d, + 0x00, 0x00, 0xff, 0xff, 0x92, 0xa9, 0x86, 0xe4, 0x04, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/name/types/tx.pb.go b/x/name/types/tx.pb.go index 60b9498ea1..7d933c5318 100644 --- a/x/name/types/tx.pb.go +++ b/x/name/types/tx.pb.go @@ -482,42 +482,42 @@ func init() { func init() { proto.RegisterFile("provenance/name/v1/tx.proto", fileDescriptor_eacf6cd967218635) } var fileDescriptor_eacf6cd967218635 = []byte{ - // 550 bytes of a gzipped FileDescriptorProto + // 558 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0x31, 0x6f, 0xd3, 0x40, - 0x14, 0xc7, 0x7d, 0x50, 0x55, 0xf4, 0x40, 0x1d, 0xae, 0x0d, 0x49, 0x5c, 0xe1, 0xa0, 0x0c, 0x50, - 0x0a, 0xb1, 0x69, 0x91, 0x2a, 0x84, 0x58, 0x08, 0xac, 0x46, 0x55, 0x10, 0x0b, 0x0c, 0xe8, 0x6a, - 0x1f, 0x57, 0x4b, 0x9c, 0xcf, 0xdc, 0x5d, 0xa2, 0x66, 0x43, 0x4c, 0x8c, 0xcc, 0x88, 0xa1, 0x0b, - 0x3b, 0x03, 0x1f, 0xa2, 0x63, 0xc5, 0xc4, 0x84, 0x50, 0x32, 0xc0, 0xc7, 0x40, 0xf6, 0x1d, 0xd8, - 0x8d, 0x6d, 0x91, 0x2a, 0x6c, 0xf6, 0xbd, 0xf7, 0x7f, 0xff, 0x9f, 0xde, 0x7b, 0x77, 0x70, 0x23, - 0x11, 0x7c, 0x44, 0x62, 0x1c, 0x07, 0xc4, 0x8b, 0x31, 0x23, 0xde, 0x68, 0xdb, 0x53, 0x87, 0x6e, - 0x22, 0xb8, 0xe2, 0x08, 0xe5, 0x41, 0x37, 0x0d, 0xba, 0xa3, 0x6d, 0x7b, 0x9d, 0x72, 0xca, 0xb3, - 0xb0, 0x97, 0x7e, 0xe9, 0x4c, 0xbb, 0x19, 0x70, 0xc9, 0xb8, 0xf4, 0x98, 0xa4, 0x69, 0x05, 0x26, - 0xa9, 0x09, 0xb4, 0x75, 0xe0, 0x85, 0x56, 0xe8, 0x1f, 0x13, 0xba, 0x52, 0x61, 0x9d, 0xb9, 0x64, - 0xe1, 0xee, 0x27, 0x00, 0x91, 0x2f, 0x69, 0x3f, 0x8a, 0xc3, 0xc7, 0x98, 0x91, 0x01, 0x79, 0x3d, - 0x24, 0x52, 0xa1, 0xfb, 0x70, 0x39, 0xc1, 0x82, 0xc4, 0xaa, 0x05, 0xae, 0x82, 0xcd, 0x8b, 0x3b, - 0x8e, 0x5b, 0x86, 0x74, 0xb5, 0x20, 0xe0, 0x22, 0xec, 0x2f, 0x1d, 0x7f, 0xef, 0x58, 0x03, 0xa3, - 0x49, 0xd5, 0x22, 0x3b, 0x6f, 0x9d, 0x3b, 0x8b, 0x5a, 0x6b, 0xee, 0xad, 0xbd, 0x3b, 0xea, 0x58, - 0xbf, 0x8e, 0x3a, 0xd6, 0xdb, 0x9f, 0x9f, 0xb7, 0x4c, 0xc9, 0x6e, 0x03, 0xae, 0x9d, 0xc2, 0x94, - 0x09, 0x8f, 0x25, 0xe9, 0x46, 0x70, 0xdd, 0x97, 0xf4, 0x11, 0x79, 0x45, 0x14, 0x99, 0xe1, 0x37, - 0x04, 0x60, 0x61, 0x02, 0x7d, 0xd8, 0x6d, 0xc2, 0xc6, 0x8c, 0x95, 0x61, 0xf8, 0x00, 0x60, 0xcb, - 0x97, 0xf4, 0xa1, 0x20, 0x58, 0x91, 0x01, 0xe7, 0xaa, 0x08, 0xb2, 0x0b, 0x57, 0xf0, 0x50, 0x1d, - 0x70, 0x11, 0xa9, 0x71, 0xc6, 0xb2, 0xd2, 0x6f, 0x7d, 0xfd, 0xd2, 0x5b, 0x37, 0x33, 0x7a, 0x10, - 0x86, 0x82, 0x48, 0xf9, 0x44, 0x89, 0x28, 0xa6, 0x83, 0x3c, 0x15, 0xed, 0x9e, 0xad, 0x85, 0x7f, - 0xd1, 0x57, 0x53, 0xe4, 0xbc, 0x4e, 0x77, 0x03, 0xb6, 0x2b, 0xd8, 0x0c, 0xf9, 0x47, 0x90, 0xb5, - 0xcf, 0xe7, 0x61, 0xf4, 0x72, 0xfc, 0x3f, 0xa8, 0x17, 0x1b, 0xfc, 0x2c, 0xbb, 0xee, 0x78, 0x91, - 0x2e, 0xef, 0xf8, 0x65, 0x5f, 0xd2, 0xa7, 0x49, 0x88, 0x15, 0xd9, 0xc3, 0x02, 0x33, 0xb9, 0x28, - 0xf9, 0xdd, 0x6c, 0xe1, 0x31, 0x93, 0x86, 0xdc, 0xae, 0x22, 0xd7, 0x56, 0x85, 0x65, 0xc7, 0x4c, - 0x96, 0xa8, 0xdb, 0xb0, 0x59, 0x62, 0xd3, 0xdc, 0x3b, 0x6f, 0x96, 0xe0, 0x79, 0x5f, 0x52, 0xf4, - 0x1c, 0x5e, 0xf8, 0xb3, 0xc9, 0xe8, 0x5a, 0x95, 0x51, 0xf9, 0x46, 0xda, 0xd7, 0xff, 0x99, 0xa7, - 0x4d, 0x10, 0x86, 0x30, 0x5f, 0x52, 0xb4, 0x59, 0x23, 0x2b, 0x5d, 0x19, 0xfb, 0xc6, 0x1c, 0x99, - 0xb9, 0x45, 0x3e, 0x95, 0x5a, 0x8b, 0xd2, 0x5a, 0xd5, 0x5a, 0x94, 0x47, 0x8c, 0x18, 0x5c, 0x3d, - 0xbd, 0xb4, 0xe8, 0x56, 0x8d, 0xb8, 0xf2, 0xde, 0xd9, 0xbd, 0x39, 0xb3, 0x8d, 0x1d, 0x85, 0x97, - 0x8a, 0x13, 0x43, 0x5b, 0x35, 0xf2, 0x8a, 0x95, 0xb3, 0x6f, 0xce, 0x95, 0xab, 0x8d, 0xfa, 0xc1, - 0xf1, 0xc4, 0x01, 0x27, 0x13, 0x07, 0xfc, 0x98, 0x38, 0xe0, 0xfd, 0xd4, 0xb1, 0x4e, 0xa6, 0x8e, - 0xf5, 0x6d, 0xea, 0x58, 0xb0, 0x11, 0xf1, 0x8a, 0x42, 0x7b, 0xe0, 0xd9, 0x6d, 0x1a, 0xa9, 0x83, - 0xe1, 0xbe, 0x1b, 0x70, 0xe6, 0xe5, 0x09, 0xbd, 0x88, 0x17, 0xfe, 0xbc, 0x43, 0xfd, 0xb8, 0xab, - 0x71, 0x42, 0xe4, 0xfe, 0x72, 0xf6, 0xb6, 0xdf, 0xf9, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x43, 0x4d, - 0xdb, 0x12, 0x77, 0x06, 0x00, 0x00, + 0x14, 0xc7, 0x7d, 0x50, 0x2a, 0x7a, 0xa0, 0x0e, 0xd7, 0x84, 0x24, 0xae, 0x70, 0x50, 0x06, 0x28, + 0x81, 0xd8, 0xb4, 0x48, 0x15, 0x42, 0x2c, 0x04, 0x56, 0xa3, 0x2a, 0x88, 0x05, 0x06, 0x74, 0x8d, + 0x8f, 0xab, 0x25, 0xce, 0x67, 0xee, 0x2e, 0x51, 0xb3, 0x21, 0x16, 0x18, 0x99, 0x11, 0x43, 0x17, + 0xf6, 0x0e, 0x7c, 0x88, 0x8e, 0x15, 0x13, 0x13, 0x42, 0xc9, 0x50, 0x3e, 0x06, 0x8a, 0xef, 0xc0, + 0x6e, 0x6c, 0x8b, 0x54, 0x61, 0xb3, 0xef, 0xbd, 0xff, 0xfb, 0xff, 0xf4, 0xde, 0xbb, 0x83, 0xeb, + 0xb1, 0xe0, 0x43, 0x12, 0xe1, 0xa8, 0x4f, 0xbc, 0x08, 0x33, 0xe2, 0x0d, 0x37, 0x3d, 0xb5, 0xef, + 0xc6, 0x82, 0x2b, 0x8e, 0x50, 0x1a, 0x74, 0xa7, 0x41, 0x77, 0xb8, 0x69, 0x57, 0x28, 0xa7, 0x3c, + 0x09, 0x7b, 0xd3, 0x2f, 0x9d, 0x69, 0xd7, 0xfa, 0x5c, 0x32, 0x2e, 0x3d, 0x26, 0xe9, 0xb4, 0x02, + 0x93, 0xd4, 0x04, 0x1a, 0x3a, 0xf0, 0x52, 0x2b, 0xf4, 0x8f, 0x09, 0x5d, 0x2d, 0xb0, 0x4e, 0x5c, + 0x92, 0x70, 0xeb, 0x0b, 0x80, 0xc8, 0x97, 0xb4, 0x1b, 0x46, 0xc1, 0x13, 0xcc, 0x48, 0x8f, 0xbc, + 0x19, 0x10, 0xa9, 0xd0, 0x03, 0xb8, 0x1c, 0x63, 0x41, 0x22, 0x55, 0x07, 0xd7, 0xc0, 0xc6, 0xa5, + 0x2d, 0xc7, 0xcd, 0x43, 0xba, 0x5a, 0xd0, 0xe7, 0x22, 0xe8, 0x2e, 0x1d, 0xfd, 0x68, 0x5a, 0x3d, + 0xa3, 0x99, 0xaa, 0x45, 0x72, 0x5e, 0x3f, 0x77, 0x16, 0xb5, 0xd6, 0xdc, 0x5f, 0xfb, 0x70, 0xd0, + 0xb4, 0x7e, 0x1d, 0x34, 0xad, 0x77, 0x27, 0x87, 0x6d, 0x53, 0xb2, 0x55, 0x85, 0x6b, 0xa7, 0x30, + 0x65, 0xcc, 0x23, 0x49, 0x5a, 0x21, 0xac, 0xf8, 0x92, 0x3e, 0x26, 0xaf, 0x89, 0x22, 0x33, 0xfc, + 0x86, 0x00, 0x2c, 0x4c, 0xa0, 0x0f, 0x5b, 0x35, 0x58, 0x9d, 0xb1, 0x32, 0x0c, 0x9f, 0x00, 0xac, + 0xfb, 0x92, 0x3e, 0x12, 0x04, 0x2b, 0xd2, 0xe3, 0x5c, 0x65, 0x41, 0xb6, 0xe1, 0x0a, 0x1e, 0xa8, + 0x3d, 0x2e, 0x42, 0x35, 0x4a, 0x58, 0x56, 0xba, 0xf5, 0x6f, 0x5f, 0x3b, 0x15, 0x33, 0xa3, 0x87, + 0x41, 0x20, 0x88, 0x94, 0x4f, 0x95, 0x08, 0x23, 0xda, 0x4b, 0x53, 0xd1, 0xf6, 0xd9, 0x5a, 0xf8, + 0x17, 0x7d, 0x75, 0x8a, 0x9c, 0xd6, 0x69, 0xad, 0xc3, 0x46, 0x01, 0x9b, 0x21, 0xff, 0x0c, 0x92, + 0xf6, 0xf9, 0x3c, 0x08, 0x5f, 0x8d, 0xfe, 0x07, 0xf5, 0x62, 0x83, 0x9f, 0x65, 0xd7, 0x1d, 0xcf, + 0xd2, 0xa5, 0x1d, 0xbf, 0xe2, 0x4b, 0xfa, 0x2c, 0x0e, 0xb0, 0x22, 0x3b, 0x58, 0x60, 0x26, 0x17, + 0x25, 0xbf, 0x97, 0x2c, 0x3c, 0x66, 0xd2, 0x90, 0xdb, 0x45, 0xe4, 0xda, 0x2a, 0xb3, 0xec, 0x98, + 0xc9, 0x1c, 0x75, 0x03, 0xd6, 0x72, 0x6c, 0x9a, 0x7b, 0xeb, 0xfd, 0x12, 0x3c, 0xef, 0x4b, 0x8a, + 0x5e, 0xc0, 0x8b, 0x7f, 0x36, 0x19, 0x5d, 0x2f, 0x32, 0xca, 0xdf, 0x48, 0xfb, 0xc6, 0x3f, 0xf3, + 0xb4, 0x09, 0xc2, 0x10, 0xa6, 0x4b, 0x8a, 0x36, 0x4a, 0x64, 0xb9, 0x2b, 0x63, 0xdf, 0x9c, 0x23, + 0x33, 0xb5, 0x48, 0xa7, 0x52, 0x6a, 0x91, 0x5b, 0xab, 0x52, 0x8b, 0xfc, 0x88, 0x11, 0x83, 0xab, + 0xa7, 0x97, 0x16, 0xdd, 0x2e, 0x11, 0x17, 0xde, 0x3b, 0xbb, 0x33, 0x67, 0xb6, 0xb1, 0xa3, 0xf0, + 0x72, 0x76, 0x62, 0xa8, 0x5d, 0x22, 0x2f, 0x58, 0x39, 0xfb, 0xd6, 0x5c, 0xb9, 0xda, 0xc8, 0xbe, + 0xf0, 0xf6, 0xe4, 0xb0, 0x0d, 0xba, 0xfd, 0xa3, 0xb1, 0x03, 0x8e, 0xc7, 0x0e, 0xf8, 0x39, 0x76, + 0xc0, 0xc7, 0x89, 0x63, 0x1d, 0x4f, 0x1c, 0xeb, 0xfb, 0xc4, 0xb1, 0x60, 0x35, 0xe4, 0x05, 0xf5, + 0x76, 0xc0, 0xf3, 0x3b, 0x34, 0x54, 0x7b, 0x83, 0x5d, 0xb7, 0xcf, 0x99, 0x97, 0x26, 0x74, 0x42, + 0x9e, 0xf9, 0xf3, 0xf6, 0xf5, 0x1b, 0xaf, 0x46, 0x31, 0x91, 0xbb, 0xcb, 0xc9, 0x13, 0x7f, 0xf7, + 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, 0xc8, 0xa2, 0x05, 0x7e, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/oracle/types/tx.pb.go b/x/oracle/types/tx.pb.go index f2df603727..5830b9aa0b 100644 --- a/x/oracle/types/tx.pb.go +++ b/x/oracle/types/tx.pb.go @@ -243,36 +243,37 @@ func init() { func init() { proto.RegisterFile("provenance/oracle/v1/tx.proto", fileDescriptor_66a39dda41c6a784) } var fileDescriptor_66a39dda41c6a784 = []byte{ - // 458 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xae, 0xd9, 0x60, 0xcc, 0x9a, 0x40, 0xb2, 0x2a, 0x9a, 0x46, 0x22, 0x9b, 0x7a, 0x9a, 0x10, - 0x8d, 0x59, 0x91, 0x10, 0x20, 0x71, 0xa0, 0x3b, 0x47, 0x40, 0x2a, 0x84, 0xc4, 0x05, 0x79, 0x89, - 0xe5, 0x46, 0x2c, 0x76, 0xe6, 0xe7, 0x74, 0xed, 0x95, 0x5f, 0xc0, 0x91, 0x23, 0x3f, 0x81, 0x03, - 0x3f, 0x82, 0xe3, 0xb4, 0x13, 0x27, 0x84, 0xda, 0x03, 0xfb, 0x0d, 0x9c, 0x50, 0xe2, 0x96, 0x74, - 0x25, 0x4c, 0x3d, 0x25, 0xdf, 0xfb, 0x3e, 0x3f, 0xbf, 0xef, 0xe9, 0x33, 0xbe, 0x9b, 0x69, 0x35, - 0xe2, 0x92, 0xc9, 0x88, 0x53, 0xa5, 0x59, 0x74, 0xcc, 0xe9, 0xe8, 0x80, 0x9a, 0xb1, 0x9f, 0x69, - 0x65, 0x14, 0x69, 0x56, 0xb4, 0x6f, 0x69, 0x7f, 0x74, 0xe0, 0xb6, 0x22, 0x05, 0xa9, 0x02, 0x9a, - 0x82, 0x28, 0xd4, 0x29, 0x08, 0x2b, 0x77, 0xdb, 0x96, 0x78, 0x57, 0x22, 0x6a, 0xc1, 0x9c, 0x6a, - 0x0a, 0x25, 0x94, 0xad, 0x17, 0x7f, 0xb6, 0xda, 0x39, 0x47, 0xb8, 0x1d, 0x80, 0x18, 0x70, 0x19, - 0xbf, 0xca, 0xb9, 0x9e, 0xbc, 0x28, 0xef, 0x08, 0xf9, 0x49, 0xce, 0xc1, 0x90, 0x01, 0xbe, 0x7e, - 0x52, 0x54, 0x1d, 0xb4, 0x87, 0xf6, 0x77, 0xfa, 0xcf, 0x7e, 0xff, 0xd8, 0x7d, 0x22, 0x12, 0x33, - 0xcc, 0x8f, 0xfc, 0x48, 0xa5, 0xf4, 0x50, 0x41, 0xfa, 0x86, 0x41, 0x4a, 0x4f, 0x19, 0xa4, 0x31, - 0x1d, 0x97, 0x5f, 0x6a, 0x26, 0x19, 0x07, 0x3f, 0x64, 0xa7, 0x87, 0x4a, 0x1a, 0xcd, 0x22, 0x13, - 0x70, 0x00, 0x26, 0x78, 0x68, 0x7b, 0x11, 0x07, 0x6f, 0x45, 0x43, 0x26, 0x25, 0x3f, 0x76, 0x36, - 0xf6, 0xd0, 0xfe, 0x76, 0xb8, 0x80, 0xe4, 0x11, 0xde, 0x66, 0xb9, 0x19, 0x2a, 0x9d, 0x98, 0x89, - 0xb3, 0x59, 0x70, 0x7d, 0xe7, 0xfc, 0x6b, 0xb7, 0x39, 0xf7, 0xf1, 0x3c, 0x8e, 0x35, 0x07, 0x18, - 0x18, 0x9d, 0x48, 0x11, 0x56, 0xd2, 0xa7, 0xb7, 0x3e, 0xfc, 0xfa, 0x72, 0xaf, 0xc2, 0x9d, 0xc7, - 0xd8, 0xad, 0xf3, 0x04, 0x99, 0x92, 0xc0, 0x89, 0x8b, 0x6f, 0x42, 0xe1, 0x4f, 0x46, 0xbc, 0xf4, - 0xb5, 0x19, 0xfe, 0xc5, 0x9d, 0x4f, 0x08, 0xdf, 0x09, 0x40, 0xbc, 0xce, 0x62, 0x66, 0xf8, 0xe5, - 0x5d, 0xf4, 0xf0, 0x16, 0xb3, 0x03, 0x94, 0xa7, 0xae, 0x1a, 0x6d, 0x21, 0xbc, 0x6c, 0xe8, 0xda, - 0xfa, 0x86, 0xc8, 0xc5, 0xe7, 0x5d, 0xb4, 0x62, 0xaa, 0x8d, 0x5b, 0xff, 0x4c, 0x66, 0x1d, 0xf5, - 0x2e, 0x10, 0xde, 0x08, 0x40, 0x90, 0xf7, 0x78, 0x67, 0x99, 0x27, 0xf7, 0xfd, 0xba, 0xf4, 0xf8, - 0xf5, 0x06, 0xdd, 0xee, 0x9a, 0xea, 0xf9, 0x1a, 0x0d, 0xbe, 0xbd, 0xb2, 0x61, 0x42, 0xff, 0xdb, - 0xa1, 0x3e, 0x5f, 0xee, 0x83, 0xf5, 0x0f, 0xd8, 0x5b, 0xfb, 0xe2, 0xdb, 0xd4, 0x43, 0x67, 0x53, - 0x0f, 0xfd, 0x9c, 0x7a, 0xe8, 0xe3, 0xcc, 0x6b, 0x9c, 0xcd, 0xbc, 0xc6, 0xf7, 0x99, 0xd7, 0xc0, - 0xad, 0x44, 0xd5, 0x76, 0x7b, 0x89, 0xde, 0xf6, 0x96, 0x32, 0x5b, 0x49, 0xba, 0x89, 0x5a, 0x42, - 0x74, 0xbc, 0x78, 0x7e, 0x65, 0x7e, 0x8f, 0x6e, 0x94, 0xef, 0xe3, 0xe1, 0x9f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x26, 0xc3, 0x4d, 0xad, 0xa0, 0x03, 0x00, 0x00, + // 466 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x31, 0x6f, 0xd3, 0x40, + 0x14, 0xce, 0xd1, 0x96, 0xd2, 0x53, 0x05, 0xd2, 0x29, 0x22, 0x8e, 0x25, 0xdc, 0x2a, 0x53, 0x55, + 0x11, 0x1f, 0x0d, 0x12, 0x02, 0x24, 0x06, 0xd2, 0x39, 0x02, 0x1c, 0x21, 0x24, 0x16, 0x74, 0xb5, + 0x4f, 0x17, 0x8b, 0xfa, 0xce, 0xbd, 0x77, 0x4e, 0x93, 0x0d, 0xf1, 0x0b, 0x18, 0x19, 0xf9, 0x09, + 0x1d, 0xf8, 0x11, 0x8c, 0x55, 0x27, 0x26, 0x84, 0x92, 0xa1, 0x6c, 0xec, 0x4c, 0xc8, 0xbe, 0x04, + 0xa7, 0xc1, 0xa0, 0x4c, 0xf6, 0xf7, 0xbe, 0xef, 0xde, 0xbd, 0xef, 0xe9, 0x3b, 0x7c, 0x27, 0xd5, + 0x6a, 0xc8, 0x25, 0x93, 0x21, 0xa7, 0x4a, 0xb3, 0xf0, 0x98, 0xd3, 0xe1, 0x01, 0x35, 0x23, 0x3f, + 0xd5, 0xca, 0x28, 0x52, 0x2f, 0x69, 0xdf, 0xd2, 0xfe, 0xf0, 0xc0, 0x6d, 0x84, 0x0a, 0x12, 0x05, + 0x34, 0x01, 0x91, 0xab, 0x13, 0x10, 0x56, 0xee, 0x36, 0x2d, 0xf1, 0xa6, 0x40, 0xd4, 0x82, 0x19, + 0x55, 0x17, 0x4a, 0x28, 0x5b, 0xcf, 0xff, 0x6c, 0xb5, 0x75, 0x81, 0x70, 0xb3, 0x07, 0xa2, 0xcf, + 0x65, 0xf4, 0x22, 0xe3, 0x7a, 0xfc, 0xac, 0xb8, 0x23, 0xe0, 0x27, 0x19, 0x07, 0x43, 0xfa, 0x78, + 0xe3, 0x24, 0xaf, 0x3a, 0x68, 0x17, 0xed, 0x6d, 0x77, 0x9f, 0xfc, 0xfa, 0xb6, 0xf3, 0x48, 0xc4, + 0x66, 0x90, 0x1d, 0xf9, 0xa1, 0x4a, 0xe8, 0xa1, 0x82, 0xe4, 0x15, 0x83, 0x84, 0x9e, 0x32, 0x48, + 0x22, 0x3a, 0x2a, 0xbe, 0xd4, 0x8c, 0x53, 0x0e, 0x7e, 0xc0, 0x4e, 0x0f, 0x95, 0x34, 0x9a, 0x85, + 0xa6, 0xc7, 0x01, 0x98, 0xe0, 0x81, 0xed, 0x45, 0x1c, 0xbc, 0x19, 0x0e, 0x98, 0x94, 0xfc, 0xd8, + 0x59, 0xdb, 0x45, 0x7b, 0x5b, 0xc1, 0x1c, 0x92, 0x07, 0x78, 0x8b, 0x65, 0x66, 0xa0, 0x74, 0x6c, + 0xc6, 0xce, 0x7a, 0xce, 0x75, 0x9d, 0x8b, 0xcf, 0xed, 0xfa, 0xcc, 0xc7, 0xd3, 0x28, 0xd2, 0x1c, + 0xa0, 0x6f, 0x74, 0x2c, 0x45, 0x50, 0x4a, 0x1f, 0xdf, 0x7c, 0x7f, 0x79, 0xb6, 0x5f, 0xe2, 0xd6, + 0x43, 0xec, 0x56, 0x79, 0x82, 0x54, 0x49, 0xe0, 0xc4, 0xc5, 0x37, 0x20, 0xf7, 0x27, 0x43, 0x5e, + 0xf8, 0x5a, 0x0f, 0xfe, 0xe0, 0xd6, 0x47, 0x84, 0x6f, 0xf7, 0x40, 0xbc, 0x4c, 0x23, 0x66, 0xf8, + 0xd5, 0x5d, 0x74, 0xf0, 0x26, 0xb3, 0x03, 0x14, 0xa7, 0xfe, 0x37, 0xda, 0x5c, 0x78, 0xd5, 0xd0, + 0xb5, 0xd5, 0x0d, 0x91, 0x1f, 0x9f, 0x76, 0xd0, 0x92, 0xa9, 0x26, 0x6e, 0xfc, 0x35, 0x99, 0x75, + 0xd4, 0xf9, 0x89, 0xf0, 0x5a, 0x0f, 0x04, 0x79, 0x8b, 0xb7, 0x17, 0x79, 0x72, 0xd7, 0xaf, 0x4a, + 0x8f, 0x5f, 0x6d, 0xd0, 0x6d, 0xaf, 0xa8, 0x9e, 0xad, 0xd1, 0xe0, 0x5b, 0x4b, 0x1b, 0x26, 0xf4, + 0x9f, 0x1d, 0xaa, 0xf3, 0xe5, 0xde, 0x5b, 0xfd, 0x80, 0xbd, 0xd5, 0xdd, 0x78, 0x77, 0x79, 0xb6, + 0x8f, 0xba, 0xe2, 0xcb, 0xc4, 0x43, 0xe7, 0x13, 0x0f, 0x7d, 0x9f, 0x78, 0xe8, 0xc3, 0xd4, 0xab, + 0x9d, 0x4f, 0xbd, 0xda, 0xd7, 0xa9, 0x57, 0xc3, 0x8d, 0x58, 0x55, 0x36, 0x7d, 0x8e, 0x5e, 0x77, + 0x16, 0xa2, 0x5b, 0x4a, 0xda, 0xb1, 0x5a, 0x40, 0x74, 0x34, 0x7f, 0x85, 0x45, 0x8c, 0x8f, 0xae, + 0x17, 0xcf, 0xe4, 0xfe, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0x66, 0x84, 0x0f, 0xa7, 0x03, + 0x00, 0x00, } func (this *MsgUpdateOracleRequest) Equal(that interface{}) bool { diff --git a/x/quarantine/tx.pb.go b/x/quarantine/tx.pb.go index e8d8a2c37c..441d38972e 100644 --- a/x/quarantine/tx.pb.go +++ b/x/quarantine/tx.pb.go @@ -525,47 +525,48 @@ func init() { } var fileDescriptor_d2d4535ca5d9aa17 = []byte{ - // 640 bytes of a gzipped FileDescriptorProto + // 647 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x55, 0x3f, 0x6f, 0xd3, 0x40, - 0x14, 0xcf, 0x11, 0x68, 0x9b, 0x2b, 0x2d, 0xd4, 0xad, 0x20, 0xb5, 0x90, 0x1b, 0x05, 0x90, 0xa2, - 0x40, 0x6c, 0x52, 0x06, 0x04, 0x0b, 0x4a, 0x41, 0x20, 0x90, 0xa2, 0x4a, 0x86, 0x0e, 0x20, 0xa4, - 0xe8, 0x62, 0x5f, 0x8d, 0x45, 0x7d, 0xe7, 0xfa, 0xce, 0x55, 0xbb, 0xd2, 0x85, 0x91, 0x99, 0x81, - 0x19, 0xc1, 0xd2, 0xa1, 0x7c, 0x87, 0x8e, 0x15, 0x13, 0x13, 0xa0, 0x66, 0xc8, 0xd7, 0x40, 0xf1, - 0xdd, 0x39, 0x56, 0x1b, 0x92, 0x50, 0xb1, 0xb0, 0xc4, 0xe7, 0xf7, 0x7e, 0x7f, 0xde, 0x8b, 0xde, - 0xf3, 0xc1, 0xb2, 0x43, 0x59, 0x40, 0x99, 0xb5, 0x19, 0xa3, 0x08, 0x11, 0xee, 0x13, 0x6c, 0x6d, - 0xd5, 0xdb, 0x98, 0xa3, 0xba, 0xc5, 0xb7, 0xcd, 0x30, 0xa2, 0x9c, 0x6a, 0x8b, 0x02, 0x63, 0xf6, - 0x31, 0xa6, 0xc4, 0xe8, 0x73, 0x28, 0xf0, 0x09, 0xb5, 0x92, 0x5f, 0x81, 0xd6, 0xab, 0x52, 0xb1, - 0x8d, 0x18, 0xb6, 0x36, 0x63, 0x1c, 0xed, 0xa4, 0x8a, 0x21, 0xf2, 0x7c, 0x82, 0xb8, 0x4f, 0x89, - 0xc4, 0x1a, 0x59, 0xac, 0x42, 0x39, 0xd4, 0x57, 0xf9, 0xcb, 0x32, 0x1f, 0x30, 0xcf, 0xda, 0xaa, - 0xf7, 0x1e, 0xc7, 0x4c, 0x06, 0x94, 0x9d, 0xa9, 0x52, 0x60, 0x65, 0xf9, 0xad, 0xe4, 0xcd, 0x92, - 0xbd, 0x88, 0xd4, 0x82, 0x47, 0x3d, 0x2a, 0xe2, 0xbd, 0x93, 0x88, 0x96, 0x9f, 0xc3, 0xa9, 0x26, - 0xf3, 0x56, 0x43, 0xfe, 0x84, 0x68, 0x77, 0x20, 0xe4, 0xb4, 0x85, 0x5c, 0x37, 0xc2, 0x8c, 0x15, - 0x41, 0x09, 0x54, 0x0a, 0x2b, 0xc5, 0x6f, 0xfb, 0xb5, 0x05, 0xa9, 0xd3, 0x10, 0x99, 0x67, 0x3c, - 0xf2, 0x89, 0x67, 0x17, 0x38, 0x95, 0x81, 0x7b, 0x17, 0xde, 0x76, 0xf7, 0xaa, 0x19, 0x6e, 0x59, - 0x83, 0x17, 0x95, 0xaa, 0x8d, 0x59, 0x48, 0x09, 0xc3, 0xe5, 0x35, 0x58, 0x10, 0xb1, 0xd5, 0x98, - 0xff, 0x43, 0xab, 0x79, 0x38, 0x97, 0xca, 0xa6, 0x5e, 0xfb, 0x20, 0x31, 0x6b, 0x38, 0x0e, 0x0e, - 0x4f, 0x6f, 0xa6, 0xdd, 0x87, 0xb3, 0xeb, 0x11, 0x0d, 0x14, 0x15, 0xb3, 0xe2, 0x99, 0x52, 0x7e, - 0x28, 0x79, 0xa6, 0x87, 0x6f, 0x28, 0xb8, 0x76, 0x05, 0x16, 0x42, 0x1c, 0x05, 0x88, 0x60, 0xc2, - 0x8b, 0xf9, 0x12, 0xa8, 0x4c, 0xd9, 0xfd, 0xc0, 0xc9, 0x5e, 0x3e, 0x82, 0xa4, 0x19, 0x51, 0xb6, - 0x6a, 0x46, 0x7b, 0x07, 0xe0, 0xec, 0x7a, 0x4c, 0x5c, 0xd6, 0x8a, 0xf0, 0x06, 0x46, 0x0c, 0xbb, - 0x45, 0x50, 0xca, 0x57, 0xa6, 0x97, 0x17, 0x4d, 0x59, 0x43, 0x6f, 0xa4, 0xd4, 0x98, 0x9a, 0x0f, - 0xa8, 0x4f, 0x56, 0x1e, 0x1d, 0xfc, 0x58, 0xca, 0x7d, 0xfe, 0xb9, 0x54, 0xf1, 0x7c, 0xfe, 0x3a, - 0x6e, 0x9b, 0x0e, 0x0d, 0xe4, 0x34, 0xc8, 0x47, 0x8d, 0xb9, 0x6f, 0x2c, 0xbe, 0x13, 0x62, 0x96, - 0x10, 0xd8, 0x87, 0xee, 0x5e, 0xf5, 0xfc, 0x06, 0xf6, 0x90, 0xb3, 0xd3, 0xea, 0x0d, 0x25, 0xfb, - 0xd4, 0xdd, 0xab, 0x02, 0x7b, 0x26, 0x31, 0xb6, 0xa5, 0x6f, 0xf9, 0x2b, 0x80, 0xb0, 0xc9, 0xbc, - 0x87, 0xd8, 0xd9, 0xf0, 0x09, 0xfe, 0x7f, 0xfe, 0xd8, 0x05, 0xa8, 0xf5, 0xcb, 0x4e, 0xa7, 0xe4, - 0x0b, 0x80, 0x97, 0x9a, 0xcc, 0x5b, 0x0b, 0x5d, 0xc4, 0x71, 0x23, 0xe6, 0x54, 0x65, 0xd8, 0xe9, - 0x3b, 0x7b, 0x0c, 0x27, 0xe3, 0x44, 0x4f, 0xb4, 0x34, 0xbd, 0x5c, 0x33, 0xff, 0xf8, 0x45, 0x31, - 0xb3, 0x9e, 0xa2, 0x0a, 0x5b, 0xb1, 0x4f, 0xf6, 0x50, 0x82, 0xc6, 0xe0, 0x62, 0xd5, 0x61, 0x79, - 0xf7, 0x2c, 0xcc, 0x37, 0x99, 0xa7, 0xbd, 0x80, 0xe7, 0xc4, 0x42, 0x5f, 0x1d, 0xe2, 0xad, 0xf6, - 0x53, 0xbf, 0x31, 0x06, 0x28, 0x9d, 0xc5, 0x57, 0x70, 0x42, 0x6e, 0xf0, 0xb5, 0x91, 0xb4, 0xd5, - 0x98, 0xeb, 0x37, 0xc7, 0x41, 0x65, 0xd5, 0xe5, 0xca, 0x8e, 0x50, 0x17, 0xa8, 0x51, 0xea, 0xc7, - 0xf6, 0xa8, 0x05, 0x27, 0xd5, 0xe0, 0x5e, 0x1f, 0x4e, 0x94, 0x30, 0xbd, 0x36, 0x16, 0x2c, 0x35, - 0xd8, 0x05, 0x70, 0x7e, 0xd0, 0x30, 0xd5, 0x87, 0xcb, 0x0c, 0xa0, 0xe8, 0x77, 0xff, 0x9a, 0xa2, - 0x0e, 0x2b, 0x4f, 0x0f, 0x8e, 0x0c, 0x70, 0x78, 0x64, 0x80, 0x5f, 0x47, 0x06, 0x78, 0xdf, 0x31, - 0x72, 0x87, 0x1d, 0x23, 0xf7, 0xbd, 0x63, 0xe4, 0x5e, 0xde, 0xca, 0x7c, 0x0c, 0xc2, 0x88, 0x6e, - 0x61, 0x82, 0x88, 0x83, 0x6b, 0x3e, 0xcd, 0xbc, 0x59, 0xdb, 0x99, 0x4b, 0xa5, 0x3d, 0x91, 0x5c, - 0x12, 0xb7, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xbf, 0x3e, 0x70, 0x53, 0x3a, 0x07, 0x00, 0x00, + 0x14, 0xcf, 0x11, 0xfa, 0x27, 0x57, 0x5a, 0xa8, 0x5b, 0x41, 0x6a, 0x21, 0x37, 0x0a, 0x20, 0x45, + 0x81, 0xd8, 0xa4, 0x0c, 0x08, 0x16, 0x94, 0x82, 0x40, 0x20, 0x45, 0x95, 0x0c, 0x1d, 0x40, 0x48, + 0xd1, 0xc5, 0xbe, 0x1a, 0x8b, 0xfa, 0xce, 0xf5, 0x9d, 0xab, 0x76, 0x43, 0xb0, 0x20, 0x26, 0x66, + 0x06, 0x66, 0x04, 0x4b, 0x87, 0xf2, 0x1d, 0x3a, 0x56, 0x4c, 0x4c, 0x80, 0xda, 0xa1, 0x5f, 0x03, + 0xd9, 0x77, 0xe7, 0x5a, 0x6d, 0x48, 0x42, 0xc5, 0xc2, 0x12, 0x9f, 0xdf, 0xfb, 0xfd, 0x79, 0x2f, + 0x7a, 0xcf, 0x07, 0xab, 0x0e, 0x65, 0x01, 0x65, 0xd6, 0x5a, 0x8c, 0x22, 0x44, 0xb8, 0x4f, 0xb0, + 0xb5, 0xde, 0xec, 0x62, 0x8e, 0x9a, 0x16, 0xdf, 0x30, 0xc3, 0x88, 0x72, 0xaa, 0xcd, 0x09, 0x8c, + 0x79, 0x88, 0x31, 0x25, 0x46, 0x9f, 0x46, 0x81, 0x4f, 0xa8, 0x95, 0xfe, 0x0a, 0xb4, 0x5e, 0x97, + 0x8a, 0x5d, 0xc4, 0xb0, 0xb5, 0x16, 0xe3, 0x68, 0x33, 0x53, 0x0c, 0x91, 0xe7, 0x13, 0xc4, 0x7d, + 0x4a, 0x24, 0xd6, 0xc8, 0x63, 0x15, 0xca, 0xa1, 0xbe, 0xca, 0x5f, 0x90, 0xf9, 0x80, 0x79, 0xd6, + 0x7a, 0x33, 0x79, 0x1c, 0x31, 0xe9, 0x51, 0x76, 0xae, 0x4a, 0x81, 0x95, 0xe5, 0x77, 0xd2, 0x37, + 0x4b, 0xf6, 0x22, 0x52, 0xb3, 0x1e, 0xf5, 0xa8, 0x88, 0x27, 0x27, 0x11, 0xad, 0x3e, 0x81, 0xe3, + 0x6d, 0xe6, 0x2d, 0x85, 0xfc, 0x21, 0xd1, 0x6e, 0x42, 0xc8, 0x69, 0x07, 0xb9, 0x6e, 0x84, 0x19, + 0x2b, 0x83, 0x0a, 0xa8, 0x95, 0x16, 0xcb, 0xdf, 0xb6, 0x1b, 0xb3, 0x52, 0xa7, 0x25, 0x32, 0x8f, + 0x79, 0xe4, 0x13, 0xcf, 0x2e, 0x71, 0x2a, 0x03, 0xb7, 0xcf, 0xbe, 0x3e, 0xd8, 0xaa, 0xe7, 0xb8, + 0x55, 0x0d, 0x9e, 0x53, 0xaa, 0x36, 0x66, 0x21, 0x25, 0x0c, 0x57, 0x97, 0x61, 0x49, 0xc4, 0x96, + 0x62, 0xfe, 0x0f, 0xad, 0x66, 0xe0, 0x74, 0x26, 0x9b, 0x79, 0x6d, 0x83, 0xd4, 0xac, 0xe5, 0x38, + 0x38, 0x3c, 0xb9, 0x99, 0x76, 0x07, 0x4e, 0xad, 0x44, 0x34, 0x50, 0x54, 0xcc, 0xca, 0xa7, 0x2a, + 0xc5, 0xbe, 0xe4, 0xc9, 0x04, 0xdf, 0x52, 0x70, 0xed, 0x22, 0x2c, 0x85, 0x38, 0x0a, 0x10, 0xc1, + 0x84, 0x97, 0x8b, 0x15, 0x50, 0x1b, 0xb7, 0x0f, 0x03, 0xc7, 0x7b, 0xf9, 0x08, 0xd2, 0x66, 0x44, + 0xd9, 0xaa, 0x19, 0xed, 0x2d, 0x80, 0x53, 0x2b, 0x31, 0x71, 0x59, 0x27, 0xc2, 0xab, 0x18, 0x31, + 0xec, 0x96, 0x41, 0xa5, 0x58, 0x9b, 0x58, 0x98, 0x33, 0x65, 0x0d, 0xc9, 0x48, 0xa9, 0x31, 0x35, + 0xef, 0x52, 0x9f, 0x2c, 0xde, 0xdf, 0xf9, 0x31, 0x5f, 0xf8, 0xfc, 0x73, 0xbe, 0xe6, 0xf9, 0xfc, + 0x45, 0xdc, 0x35, 0x1d, 0x1a, 0xc8, 0x69, 0x90, 0x8f, 0x06, 0x73, 0x5f, 0x5a, 0x7c, 0x33, 0xc4, + 0x2c, 0x25, 0xb0, 0x0f, 0x07, 0x5b, 0xf5, 0x33, 0xab, 0xd8, 0x43, 0xce, 0x66, 0x27, 0x19, 0x4a, + 0xf6, 0xe9, 0x60, 0xab, 0x0e, 0xec, 0xc9, 0xd4, 0xd8, 0x96, 0xbe, 0xd5, 0xaf, 0x00, 0xc2, 0x36, + 0xf3, 0xee, 0x61, 0x67, 0xd5, 0x27, 0xf8, 0xff, 0xf9, 0x63, 0x67, 0xa1, 0x76, 0x58, 0x76, 0x36, + 0x25, 0x5f, 0x00, 0x3c, 0xdf, 0x66, 0xde, 0x72, 0xe8, 0x22, 0x8e, 0x5b, 0x31, 0xa7, 0x2a, 0xc3, + 0x4e, 0xde, 0xd9, 0x03, 0x38, 0x16, 0xa7, 0x7a, 0xa2, 0xa5, 0x89, 0x85, 0x86, 0xf9, 0xc7, 0x2f, + 0x8a, 0x99, 0xf7, 0x14, 0x55, 0xd8, 0x8a, 0x7d, 0xbc, 0x87, 0x0a, 0x34, 0x7a, 0x17, 0xab, 0x0e, + 0x0b, 0xef, 0x4e, 0xc3, 0x62, 0x9b, 0x79, 0xda, 0x53, 0x38, 0x22, 0x16, 0xfa, 0x52, 0x1f, 0x6f, + 0xb5, 0x9f, 0xfa, 0xd5, 0x21, 0x40, 0xd9, 0x2c, 0x3e, 0x87, 0xa3, 0x72, 0x83, 0x2f, 0x0f, 0xa4, + 0x2d, 0xc5, 0x5c, 0xbf, 0x36, 0x0c, 0x2a, 0xaf, 0x2e, 0x57, 0x76, 0x80, 0xba, 0x40, 0x0d, 0x52, + 0x3f, 0xb2, 0x47, 0x1d, 0x38, 0xa6, 0x06, 0xf7, 0x4a, 0x7f, 0xa2, 0x84, 0xe9, 0x8d, 0xa1, 0x60, + 0x99, 0xc1, 0x1b, 0x00, 0x67, 0x7a, 0x0d, 0x53, 0xb3, 0xbf, 0x4c, 0x0f, 0x8a, 0x7e, 0xeb, 0xaf, + 0x29, 0xea, 0xa0, 0x8f, 0xbc, 0x4a, 0x36, 0x77, 0xf1, 0xd1, 0xce, 0x9e, 0x01, 0x76, 0xf7, 0x0c, + 0xf0, 0x6b, 0xcf, 0x00, 0xef, 0xf7, 0x8d, 0xc2, 0xee, 0xbe, 0x51, 0xf8, 0xbe, 0x6f, 0x14, 0x9e, + 0x5d, 0xcf, 0x7d, 0x13, 0xc2, 0x88, 0xae, 0x63, 0x82, 0x88, 0x83, 0x1b, 0x3e, 0xcd, 0xbd, 0x59, + 0x1b, 0xb9, 0xbb, 0xa5, 0x3b, 0x9a, 0xde, 0x15, 0x37, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf1, + 0xc7, 0xe4, 0x22, 0x41, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/sanction/tx.pb.go b/x/sanction/tx.pb.go index 9f7bb3997e..4b8ba032bc 100644 --- a/x/sanction/tx.pb.go +++ b/x/sanction/tx.pb.go @@ -320,7 +320,7 @@ func init() { func init() { proto.RegisterFile("cosmos/sanction/v1beta1/tx.proto", fileDescriptor_7db49afb1d08944d) } var fileDescriptor_7db49afb1d08944d = []byte{ - // 393 bytes of a gzipped FileDescriptorProto + // 400 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0x2f, 0x4e, 0xcc, 0x4b, 0x2e, 0xc9, 0xcc, 0xcf, 0xd3, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x87, 0xa8, @@ -336,16 +336,16 @@ var fileDescriptor_7db49afb1d08944d = []byte{ 0x38, 0x97, 0x28, 0x8a, 0x83, 0xe0, 0x4e, 0x9d, 0xc4, 0xc8, 0xc5, 0x0f, 0x92, 0x29, 0x48, 0x49, 0x2c, 0x49, 0x0d, 0x48, 0x2c, 0x4a, 0xcc, 0x2d, 0x16, 0x32, 0xe7, 0x62, 0x2b, 0x00, 0xb3, 0x24, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xe4, 0xf5, 0x70, 0xc4, 0xb5, 0x1e, 0x44, 0x43, 0x10, 0x54, - 0x39, 0xd5, 0x5c, 0x2b, 0xc9, 0x25, 0x8e, 0xe6, 0x26, 0x98, 0x7b, 0x8d, 0xb6, 0x33, 0x71, 0x31, + 0x39, 0xd5, 0x5c, 0x2b, 0xc9, 0x25, 0x8e, 0xe6, 0x26, 0x98, 0x7b, 0x8d, 0xf6, 0x31, 0x71, 0x31, 0xfb, 0x16, 0xa7, 0x0b, 0xc5, 0x71, 0x71, 0xc0, 0x53, 0x81, 0x0a, 0x4e, 0xf7, 0x21, 0x45, 0x8e, 0x94, 0x0e, 0x31, 0xaa, 0x60, 0xf6, 0x08, 0xa5, 0x70, 0x71, 0x21, 0x45, 0x9f, 0x1a, 0x3e, 0xbd, 0x08, 0x75, 0x52, 0x7a, 0xc4, 0xa9, 0x83, 0xdb, 0x92, 0xc5, 0xc5, 0x83, 0x12, 0xf2, 0x1a, 0x78, - 0xf5, 0x23, 0xa9, 0x94, 0x32, 0x20, 0x56, 0x25, 0xcc, 0x2e, 0x27, 0x8f, 0x13, 0x8f, 0xe4, 0x18, - 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, - 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0xd2, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0x4b, 0xcd, 0x4b, 0xcc, 0x4b, 0x4e, 0xd5, 0xcd, 0xcc, 0x47, - 0xe2, 0xe9, 0x57, 0xc0, 0xb3, 0x69, 0x12, 0x1b, 0x38, 0x33, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x64, 0x49, 0xbb, 0x37, 0x25, 0x04, 0x00, 0x00, + 0xf5, 0x23, 0xa9, 0x94, 0x32, 0x20, 0x56, 0x25, 0xcc, 0x2e, 0x29, 0xd6, 0x86, 0xe7, 0x1b, 0xb4, + 0x18, 0x9d, 0x3c, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, + 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0x4a, 0x2f, 0x3d, + 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x57, 0xbf, 0xa0, 0x28, 0xbf, 0x2c, 0x35, 0x2f, + 0x31, 0x2f, 0x39, 0x55, 0x37, 0x33, 0x1f, 0x89, 0xa7, 0x5f, 0x01, 0xcf, 0xad, 0x49, 0x6c, 0xe0, + 0x3c, 0x69, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x1a, 0x51, 0x20, 0x2f, 0x2c, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/trigger/types/msgs.go b/x/trigger/types/msgs.go index c554dc34b4..2f5b731140 100644 --- a/x/trigger/types/msgs.go +++ b/x/trigger/types/msgs.go @@ -3,10 +3,7 @@ package types import ( "fmt" - "google.golang.org/protobuf/protoadapt" - - "cosmossdk.io/x/tx/signing" - + "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" sdktx "github.com/cosmos/cosmos-sdk/types/tx" @@ -79,12 +76,12 @@ func (msg MsgCreateTriggerRequest) ValidateBasic() error { authorities[string(addr)] = true } - sigCtx := simappparams.AppEncodingConfig.InterfaceRegistry.SigningContext() + cdc := simappparams.AppEncodingConfig.Marshaler for idx, action := range actions { if err = internalsdk.ValidateBasic(action); err != nil { return fmt.Errorf("action: %d: %w", idx, err) } - if err = hasSigners(sigCtx, authorities, action); err != nil { + if err = hasSigners(cdc, authorities, action); err != nil { return fmt.Errorf("action: %d: %w", idx, err) } } @@ -93,8 +90,8 @@ func (msg MsgCreateTriggerRequest) ValidateBasic() error { // hasSigners checks if the signers are all in the set of the entries // The keys in the available map are a cast of an AccAddress to a string. It is not the result of AccAddress.String(). -func hasSigners(sigCtx *signing.Context, available map[string]bool, action sdk.Msg) error { - signers, err := sigCtx.GetSigners(protoadapt.MessageV2Of(action)) +func hasSigners(codec codec.Codec, available map[string]bool, action sdk.Msg) error { + signers, _, err := codec.GetMsgV1Signers(action) if err != nil { return fmt.Errorf("could not get signers of %T: %w", action, err) } diff --git a/x/trigger/types/tx.pb.go b/x/trigger/types/tx.pb.go index 7b6f0bfb6b..e875e48a25 100644 --- a/x/trigger/types/tx.pb.go +++ b/x/trigger/types/tx.pb.go @@ -243,36 +243,36 @@ func init() { func init() { proto.RegisterFile("provenance/trigger/v1/tx.proto", fileDescriptor_4f001c93b8aeec1f) } var fileDescriptor_4f001c93b8aeec1f = []byte{ - // 455 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xbf, 0x6e, 0x13, 0x41, - 0x10, 0xc6, 0xbd, 0x36, 0x7f, 0x94, 0x8d, 0x12, 0x89, 0x95, 0x51, 0x2e, 0x46, 0x3a, 0x2c, 0x57, - 0x56, 0x24, 0xef, 0x92, 0x44, 0xa2, 0xb0, 0x44, 0x11, 0x03, 0x05, 0x45, 0x24, 0x74, 0x50, 0xd1, - 0xa0, 0xb3, 0xbd, 0x6c, 0x56, 0xc2, 0x3b, 0xc7, 0xce, 0xfa, 0x94, 0x6b, 0x79, 0x02, 0x1e, 0x81, - 0x47, 0xa0, 0xc8, 0x43, 0x20, 0xaa, 0x88, 0x0a, 0x51, 0x21, 0xbb, 0x80, 0x82, 0x87, 0x40, 0xbe, - 0xbd, 0xc3, 0x4e, 0x72, 0x89, 0xdc, 0xdd, 0xec, 0xfc, 0x66, 0xbe, 0x6f, 0xe6, 0x76, 0x69, 0x98, - 0x58, 0x48, 0xa5, 0x89, 0xcd, 0x48, 0x0a, 0x67, 0xb5, 0x52, 0xd2, 0x8a, 0x74, 0x5f, 0xb8, 0x53, - 0x9e, 0x58, 0x70, 0xc0, 0xee, 0x2f, 0xf3, 0xbc, 0xc8, 0xf3, 0x74, 0xbf, 0xb5, 0x33, 0x02, 0x9c, - 0x00, 0x8a, 0x09, 0xaa, 0x05, 0x3e, 0x41, 0xe5, 0xf9, 0xd6, 0xae, 0x4f, 0xbc, 0xcd, 0x23, 0xe1, - 0x83, 0x22, 0xd5, 0x54, 0xa0, 0xc0, 0x9f, 0x2f, 0xbe, 0xca, 0x02, 0x05, 0xa0, 0xde, 0x4b, 0x91, - 0x47, 0xc3, 0xe9, 0x3b, 0x11, 0x9b, 0xcc, 0xa7, 0x3a, 0x3f, 0x09, 0xdd, 0x39, 0x46, 0xf5, 0xd4, - 0xca, 0xd8, 0xc9, 0xd7, 0x5e, 0x3c, 0x92, 0x1f, 0xa6, 0x12, 0x1d, 0xeb, 0xd3, 0xcd, 0x78, 0xea, - 0x4e, 0xc0, 0x6a, 0xa7, 0x25, 0x06, 0xa4, 0xdd, 0xe8, 0x6e, 0x0c, 0x82, 0xef, 0x67, 0xbd, 0x66, - 0xa1, 0x79, 0x34, 0x1e, 0x5b, 0x89, 0xf8, 0xca, 0x59, 0x6d, 0x54, 0xb4, 0x0a, 0xb3, 0x27, 0xf4, - 0xb6, 0x4c, 0xa5, 0x71, 0x41, 0xbd, 0x4d, 0xba, 0x9b, 0x07, 0x4d, 0xee, 0x2d, 0xf0, 0xd2, 0x02, - 0x3f, 0x32, 0xd9, 0xe0, 0xde, 0xb7, 0xb3, 0xde, 0x56, 0x21, 0xfa, 0x7c, 0x41, 0xbf, 0x88, 0x7c, - 0x15, 0xe3, 0xf4, 0x6e, 0x3c, 0x72, 0x1a, 0x0c, 0x06, 0x8d, 0x76, 0xe3, 0xba, 0x06, 0x51, 0x09, - 0xf5, 0x9b, 0x7f, 0x3e, 0x3f, 0x24, 0x1f, 0x7f, 0x7f, 0xd9, 0x5b, 0x35, 0xd1, 0xd9, 0xa3, 0xc1, - 0xd5, 0xd9, 0x30, 0x01, 0x83, 0x92, 0x6d, 0xd3, 0xba, 0x1e, 0x07, 0xa4, 0x4d, 0xba, 0xb7, 0xa2, - 0xba, 0x1e, 0x77, 0xd2, 0x9c, 0x7d, 0x26, 0xd1, 0x59, 0xc8, 0x2e, 0x2d, 0xe2, 0x12, 0xcb, 0x1e, - 0xd3, 0x8d, 0x52, 0x26, 0xcb, 0x07, 0xbc, 0x69, 0x2d, 0x4b, 0xb4, 0xcf, 0x4a, 0x97, 0xcb, 0xb3, - 0xce, 0x03, 0xba, 0x5b, 0xa1, 0xeb, 0x4d, 0x1e, 0xfc, 0x25, 0xb4, 0x71, 0x8c, 0x8a, 0x25, 0x74, - 0xeb, 0xc2, 0x14, 0x8c, 0xf3, 0xca, 0x3b, 0xc3, 0xaf, 0xf9, 0x95, 0x2d, 0xb1, 0x36, 0x5f, 0xac, - 0x07, 0xe9, 0xf6, 0x45, 0x4f, 0xec, 0x86, 0x16, 0x95, 0x5b, 0x6b, 0x3d, 0x5a, 0xbf, 0xc0, 0x8b, - 0x0e, 0xf4, 0xd7, 0x59, 0x48, 0xce, 0x67, 0x21, 0xf9, 0x35, 0x0b, 0xc9, 0xa7, 0x79, 0x58, 0x3b, - 0x9f, 0x87, 0xb5, 0x1f, 0xf3, 0xb0, 0x46, 0x03, 0x0d, 0xd5, 0xdd, 0x5e, 0x92, 0x37, 0x87, 0x4a, - 0xbb, 0x93, 0xe9, 0x90, 0x8f, 0x60, 0x22, 0x96, 0x4c, 0x4f, 0xc3, 0x4a, 0x24, 0x4e, 0xff, 0xbf, - 0x3c, 0x97, 0x25, 0x12, 0x87, 0x77, 0xf2, 0x7b, 0x74, 0xf8, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x0c, - 0x75, 0x28, 0x17, 0x9c, 0x03, 0x00, 0x00, + // 463 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xb1, 0x6e, 0x13, 0x41, + 0x10, 0x86, 0xbd, 0x36, 0x01, 0x65, 0xa3, 0x44, 0x62, 0x65, 0x94, 0xcb, 0x21, 0x1d, 0x96, 0x2b, + 0xcb, 0x92, 0x77, 0x49, 0x22, 0x51, 0x58, 0xa2, 0x88, 0x81, 0x82, 0x22, 0x12, 0x3a, 0xa8, 0x68, + 0xd0, 0xd9, 0x5e, 0x36, 0x2b, 0xe1, 0x9b, 0x63, 0x67, 0x7d, 0xca, 0x75, 0x88, 0x27, 0xe0, 0x11, + 0x78, 0x84, 0x14, 0x79, 0x08, 0x44, 0x15, 0x51, 0x21, 0x2a, 0x64, 0x17, 0xa1, 0xe7, 0x05, 0x90, + 0x6f, 0xef, 0xb0, 0x93, 0x5c, 0xa2, 0x74, 0x37, 0x3b, 0xdf, 0xcc, 0xff, 0xcf, 0xdc, 0x2e, 0x0d, + 0x12, 0x03, 0xa9, 0x8c, 0xa3, 0x78, 0x24, 0x85, 0x35, 0x5a, 0x29, 0x69, 0x44, 0xba, 0x2b, 0xec, + 0x31, 0x4f, 0x0c, 0x58, 0x60, 0x0f, 0x96, 0x79, 0x5e, 0xe4, 0x79, 0xba, 0xeb, 0x6f, 0x8f, 0x00, + 0x27, 0x80, 0x62, 0x82, 0x6a, 0x81, 0x4f, 0x50, 0x39, 0xde, 0xdf, 0x71, 0x89, 0x77, 0x79, 0x24, + 0x5c, 0x50, 0xa4, 0x9a, 0x0a, 0x14, 0xb8, 0xf3, 0xc5, 0x57, 0x59, 0xa0, 0x00, 0xd4, 0x07, 0x29, + 0xf2, 0x68, 0x38, 0x7d, 0x2f, 0xa2, 0x38, 0x73, 0xa9, 0xf6, 0x2f, 0x42, 0xb7, 0x0f, 0x51, 0x3d, + 0x33, 0x32, 0xb2, 0xf2, 0x8d, 0x13, 0x0f, 0xe5, 0xc7, 0xa9, 0x44, 0xcb, 0xfa, 0x74, 0x23, 0x9a, + 0xda, 0x23, 0x30, 0xda, 0x6a, 0x89, 0x1e, 0x69, 0x35, 0x3a, 0xeb, 0x03, 0xef, 0xc7, 0x69, 0xaf, + 0x59, 0x68, 0x1e, 0x8c, 0xc7, 0x46, 0x22, 0xbe, 0xb6, 0x46, 0xc7, 0x2a, 0x5c, 0x85, 0xd9, 0x53, + 0xba, 0x26, 0x53, 0x19, 0x5b, 0xaf, 0xde, 0x22, 0x9d, 0x8d, 0xbd, 0x26, 0x77, 0x16, 0x78, 0x69, + 0x81, 0x1f, 0xc4, 0xd9, 0xe0, 0xfe, 0xf7, 0xd3, 0xde, 0x66, 0x21, 0xfa, 0x62, 0x41, 0xbf, 0x0c, + 0x5d, 0x15, 0xe3, 0xf4, 0x5e, 0x34, 0xb2, 0x1a, 0x62, 0xf4, 0x1a, 0xad, 0xc6, 0x75, 0x0d, 0xc2, + 0x12, 0xea, 0x37, 0xff, 0x7c, 0x7d, 0x44, 0x3e, 0x9f, 0x9f, 0x74, 0x57, 0x4d, 0xb4, 0xbb, 0xd4, + 0xbb, 0x3a, 0x1b, 0x26, 0x10, 0xa3, 0x64, 0x5b, 0xb4, 0xae, 0xc7, 0x1e, 0x69, 0x91, 0xce, 0x9d, + 0xb0, 0xae, 0xc7, 0xed, 0x34, 0x67, 0x9f, 0x4b, 0xb4, 0x06, 0xb2, 0x4b, 0x8b, 0xb8, 0xc4, 0xb2, + 0x27, 0x74, 0xbd, 0x94, 0xc9, 0xf2, 0x01, 0x6f, 0x5a, 0xcb, 0x12, 0xed, 0xb3, 0xd2, 0xe5, 0xf2, + 0xac, 0xfd, 0x90, 0xee, 0x54, 0xe8, 0x3a, 0x93, 0x7b, 0x7f, 0x09, 0x6d, 0x1c, 0xa2, 0x62, 0x09, + 0xdd, 0xbc, 0x30, 0x05, 0xe3, 0xbc, 0xf2, 0xce, 0xf0, 0x6b, 0x7e, 0xa5, 0x2f, 0x6e, 0xcd, 0x17, + 0xeb, 0x41, 0xba, 0x75, 0xd1, 0x13, 0xbb, 0xa1, 0x45, 0xe5, 0xd6, 0xfc, 0xc7, 0xb7, 0x2f, 0x70, + 0xa2, 0xfe, 0xda, 0xa7, 0xf3, 0x93, 0x2e, 0x19, 0xe8, 0x6f, 0xb3, 0x80, 0x9c, 0xcd, 0x02, 0xf2, + 0x7b, 0x16, 0x90, 0x2f, 0xf3, 0xa0, 0x76, 0x36, 0x0f, 0x6a, 0x3f, 0xe7, 0x41, 0x8d, 0x7a, 0x1a, + 0xaa, 0x9b, 0xbe, 0x22, 0x6f, 0xf7, 0x95, 0xb6, 0x47, 0xd3, 0x21, 0x1f, 0xc1, 0x44, 0x2c, 0x99, + 0x9e, 0x86, 0x95, 0x48, 0x1c, 0xff, 0x7f, 0x80, 0x36, 0x4b, 0x24, 0x0e, 0xef, 0xe6, 0xd7, 0x69, + 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xf4, 0x1d, 0xca, 0xa3, 0x03, 0x00, 0x00, } func (this *MsgCreateTriggerRequest) Equal(that interface{}) bool {