From f01d30c9bb4b781c659f35691365d477ea1fe5d7 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Wed, 26 Apr 2023 02:00:35 +0700 Subject: [PATCH 01/18] osmosis ibc hooks files --- x/ibc-hooks/.cargo/config | 2 + x/ibc-hooks/README.md | 185 ++++ x/ibc-hooks/client/cli/query.go | 75 ++ x/ibc-hooks/go.mod | 149 ++++ x/ibc-hooks/go.sum | 1434 +++++++++++++++++++++++++++++++ x/ibc-hooks/hooks.go | 144 ++++ x/ibc-hooks/ibc_module.go | 257 ++++++ x/ibc-hooks/ics4_middleware.go | 77 ++ x/ibc-hooks/keeper/keeper.go | 61 ++ x/ibc-hooks/sdkmodule.go | 138 +++ x/ibc-hooks/types/errors.go | 15 + x/ibc-hooks/types/keys.go | 8 + x/ibc-hooks/wasm_hook.go | 386 +++++++++ 13 files changed, 2931 insertions(+) create mode 100644 x/ibc-hooks/.cargo/config create mode 100644 x/ibc-hooks/README.md create mode 100644 x/ibc-hooks/client/cli/query.go create mode 100644 x/ibc-hooks/go.mod create mode 100644 x/ibc-hooks/go.sum create mode 100644 x/ibc-hooks/hooks.go create mode 100644 x/ibc-hooks/ibc_module.go create mode 100644 x/ibc-hooks/ics4_middleware.go create mode 100644 x/ibc-hooks/keeper/keeper.go create mode 100644 x/ibc-hooks/sdkmodule.go create mode 100644 x/ibc-hooks/types/errors.go create mode 100644 x/ibc-hooks/types/keys.go create mode 100644 x/ibc-hooks/wasm_hook.go diff --git a/x/ibc-hooks/.cargo/config b/x/ibc-hooks/.cargo/config new file mode 100644 index 00000000..946af0fa --- /dev/null +++ b/x/ibc-hooks/.cargo/config @@ -0,0 +1,2 @@ +[alias] +wasm = "build --release --lib --target wasm32-unknown-unknown" diff --git a/x/ibc-hooks/README.md b/x/ibc-hooks/README.md new file mode 100644 index 00000000..1955c925 --- /dev/null +++ b/x/ibc-hooks/README.md @@ -0,0 +1,185 @@ +# IBC-hooks + +## Wasm Hooks + +The wasm hook is an IBC middleware which is used to allow ICS-20 token transfers to initiate contract calls. +This allows cross-chain contract calls, that involve token movement. +This is useful for a variety of usecases. +One of primary importance is cross-chain swaps, which is an extremely powerful primitive. + +The mechanism enabling this is a `memo` field on every ICS20 transfer packet as of [IBC v3.4.0](https://medium.com/the-interchain-foundation/moving-beyond-simple-token-transfers-d42b2b1dc29b). +Wasm hooks is an IBC middleware that parses an ICS20 transfer, and if the `memo` field is of a particular form, executes a wasm contract call. We now detail the `memo` format for `wasm` contract calls, and the execution guarantees provided. + +### Cosmwasm Contract Execution Format + +Before we dive into the IBC metadata format, we show the cosmwasm execute message format, so the reader has a sense of what are the fields we need to be setting in. +The cosmwasm `MsgExecuteContract` is defined [here](https://github.com/CosmWasm/wasmd/blob/4fe2fbc8f322efdaf187e2e5c99ce32fd1df06f0/x/wasm/types/tx.pb.go#L340-L349 +) as the following type: + +```go +type MsgExecuteContract struct { + // Sender is the that actor that signed the messages + Sender string + // Contract is the address of the smart contract + Contract string + // Msg json encoded message to be passed to the contract + Msg RawContractMessage + // Funds coins that are transferred to the contract on execution + Funds sdk.Coins +} +``` + +So we detail where we want to get each of these fields from: + +* Sender: We cannot trust the sender of an IBC packet, the counterparty chain has full ability to lie about it. +We cannot risk this sender being confused for a particular user or module address on Osmosis. +So we replace the sender with an account to represent the sender prefixed by the channel and a wasm module prefix. +This is done by setting the sender to `Bech32(Hash("ibc-wasm-hook-intermediary" || channelID || sender))`, where the channelId is the channel id on the local chain. +* Contract: This field should be directly obtained from the ICS-20 packet metadata +* Msg: This field should be directly obtained from the ICS-20 packet metadata. +* Funds: This field is set to the amount of funds being sent over in the ICS 20 packet. One detail is that the denom in the packet is the counterparty chains representation of the denom, so we have to translate it to Osmosis' representation. + +So our constructed cosmwasm message that we execute will look like: + +```go +msg := MsgExecuteContract{ + // Sender is the that actor that signed the messages + Sender: "osmo1-hash-of-channel-and-sender", + // Contract is the address of the smart contract + Contract: packet.data.memo["wasm"]["ContractAddress"], + // Msg json encoded message to be passed to the contract + Msg: packet.data.memo["wasm"]["Msg"], + // Funds coins that are transferred to the contract on execution + Funds: sdk.NewCoin{Denom: ibc.ConvertSenderDenomToLocalDenom(packet.data.Denom), Amount: packet.data.Amount} +``` + +### ICS20 packet structure + +So given the details above, we propogate the implied ICS20 packet data structure. +ICS20 is JSON native, so we use JSON for the memo format. + +```json +{ + //... other ibc fields that we don't care about + "data":{ + "denom": "denom on counterparty chain (e.g. uatom)", // will be transformed to the local denom (ibc/...) + "amount": "1000", + "sender": "addr on counterparty chain", // will be transformed + "receiver": "contract addr or blank", + "memo": { + "wasm": { + "contract": "osmo1contractAddr", + "msg": { + "raw_message_fields": "raw_message_data", + } + } + } + } +} +``` + +An ICS20 packet is formatted correctly for wasmhooks iff the following all hold: + +* `memo` is not blank +* `memo` is valid JSON +* `memo` has at least one key, with value `"wasm"` +* `memo["wasm"]` has exactly two entries, `"contract"` and `"msg"` +* `memo["wasm"]["msg"]` is a valid JSON object +* `receiver == "" || receiver == memo["wasm"]["contract"]` + +We consider an ICS20 packet as directed towards wasmhooks iff all of the following hold: + +* `memo` is not blank +* `memo` is valid JSON +* `memo` has at least one key, with name `"wasm"` + +If an ICS20 packet is not directed towards wasmhooks, wasmhooks doesn't do anything. +If an ICS20 packet is directed towards wasmhooks, and is formated incorrectly, then wasmhooks returns an error. + +### Execution flow + +Pre wasm hooks: + +* Ensure the incoming IBC packet is cryptogaphically valid +* Ensure the incoming IBC packet is not timed out. + +In Wasm hooks, pre packet execution: + +* Ensure the packet is correctly formatted (as defined above) +* Edit the receiver to be the hardcoded IBC module account + +In wasm hooks, post packet execution: + +* Construct wasm message as defined before +* Execute wasm message +* if wasm message has error, return ErrAck +* otherwise continue through middleware + +## Ack callbacks + +A contract that sends an IBC transfer, may need to listen for the ACK from that packet. To allow +contracts to listen on the ack of specific packets, we provide Ack callbacks. + +### Design + +The sender of an IBC transfer packet may specify a callback for when the ack of that packet is received in the memo +field of the transfer packet. + +Crucially, _only_ the IBC packet sender can set the callback. + +### Use case + +The crosschain swaps implementation sends an IBC transfer. If the transfer were to fail, we want to allow the sender +to be able to retrieve their funds (which would otherwise be stuck in the contract). To do this, we allow users to +retrieve the funds after the timeout has passed, but without the ack information, we cannot guarantee that the send +hasn't failed (i.e.: returned an error ack notifying that the receiving change didn't accept it) + +### Implementation + +#### Callback information in memo + +For the callback to be processed, the transfer packet's memo should contain the following in its JSON: + +`{"ibc_callback": "osmo1contractAddr"}` + +The wasm hooks will keep the mapping from the packet's channel and sequence to the contract in storage. When an ack is +received, it will notify the specified contract via a sudo message. + +#### Interface for receiving the Acks and Timeouts + +The contract that awaits the callback should implement the following interface for a sudo message: + +```rust +#[cw_serde] +pub enum IBCLifecycleComplete { + #[serde(rename = "ibc_ack")] + IBCAck { + /// The source channel (osmosis side) of the IBC packet + channel: String, + /// The sequence number that the packet was sent with + sequence: u64, + /// String encoded version of the ack as seen by OnAcknowledgementPacket(..) + ack: String, + /// Weather an ack is a success of failure according to the transfer spec + success: bool, + }, + #[serde(rename = "ibc_timeout")] + IBCTimeout { + /// The source channel (osmosis side) of the IBC packet + channel: String, + /// The sequence number that the packet was sent with + sequence: u64, + }, +} + +/// Message type for `sudo` entry_point +#[cw_serde] +pub enum SudoMsg { + #[serde(rename = "ibc_lifecycle_complete")] + IBCLifecycleComplete(IBCLifecycleComplete), +} +``` + +# Testing strategy + +See go tests. \ No newline at end of file diff --git a/x/ibc-hooks/client/cli/query.go b/x/ibc-hooks/client/cli/query.go new file mode 100644 index 00000000..c17c6029 --- /dev/null +++ b/x/ibc-hooks/client/cli/query.go @@ -0,0 +1,75 @@ +package cli + +import ( + "fmt" + "github.com/cosmos/cosmos-sdk/client/flags" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/version" + "github.com/osmosis-labs/osmosis/x/ibc-hooks/keeper" + "github.com/spf13/cobra" + "strings" + + "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" +) + +func indexRunCmd(cmd *cobra.Command, args []string) error { + usageTemplate := `Usage:{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}} + +{{if .HasAvailableSubCommands}}Available Commands:{{range .Commands}}{{if .IsAvailableCommand}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +` + cmd.SetUsageTemplate(usageTemplate) + return cmd.Help() +} + +// GetQueryCmd returns the cli query commands for this module. +func GetQueryCmd() *cobra.Command { + cmd := &cobra.Command{ + Use: types.ModuleName, + Short: fmt.Sprintf("Querying commands for the %s module", types.ModuleName), + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + RunE: indexRunCmd, + } + + cmd.AddCommand( + GetCmdWasmSender(), + ) + return cmd +} + +// GetCmdPoolParams return pool params. +func GetCmdWasmSender() *cobra.Command { + cmd := &cobra.Command{ + Use: "wasm-sender ", + Short: "Generate the local address for a wasm hooks sender", + Long: strings.TrimSpace( + fmt.Sprintf(`Generate the local address for a wasm hooks sender. +Example: +$ %s query ibc-hooks wasm-hooks-sender channel-42 juno12smx2wdlyttvyzvzg54y2vnqwq2qjatezqwqxu +`, + version.AppName, + ), + ), + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) error { + channelID := args[0] + originalSender := args[1] + // ToDo: Make this flexible as an arg + prefix := sdk.GetConfig().GetBech32AccountAddrPrefix() + senderBech32, err := keeper.DeriveIntermediateSender(channelID, originalSender, prefix) + if err != nil { + return err + } + fmt.Println(senderBech32) + return nil + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/ibc-hooks/go.mod b/x/ibc-hooks/go.mod new file mode 100644 index 00000000..e1e89cdf --- /dev/null +++ b/x/ibc-hooks/go.mod @@ -0,0 +1,149 @@ +module github.com/osmosis-labs/osmosis/x/ibc-hooks + +go 1.20 + +require ( + github.com/CosmWasm/wasmd v0.31.0 + github.com/cosmos/cosmos-sdk v0.47.1 + github.com/cosmos/ibc-go/v4 v4.3.0 + github.com/gorilla/mux v1.8.0 + github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78 + github.com/spf13/cobra v1.6.1 + github.com/tendermint/tendermint v0.34.26 +) + +require ( + filippo.io/edwards25519 v1.0.0-rc.1 // indirect + github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect + github.com/99designs/keyring v1.2.1 // indirect + github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect + github.com/CosmWasm/wasmvm v1.2.1 // indirect + github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/armon/go-metrics v0.4.1 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect + github.com/btcsuite/btcd v0.22.2 // indirect + github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect + github.com/confio/ics23/go v0.9.0 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect + github.com/cosmos/go-bip39 v1.0.0 // indirect + github.com/cosmos/gogoproto v1.4.6 // indirect + github.com/cosmos/gorocksdb v1.2.0 // indirect + github.com/cosmos/iavl v0.19.5 // indirect + github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect + github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/danieljoos/wincred v1.1.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect + github.com/dgraph-io/badger/v3 v3.2103.2 // indirect + github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect + github.com/dvsekhvalnov/jose2go v1.5.0 // indirect + github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/go-kit/kit v0.12.0 // indirect + github.com/go-kit/log v0.2.1 // indirect + github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/gogo/gateway v1.1.0 // indirect + github.com/gogo/protobuf v1.3.3 // indirect + github.com/golang/glog v1.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/btree v1.1.2 // indirect + github.com/google/flatbuffers v1.12.1 // indirect + github.com/google/go-cmp v0.5.9 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/google/orderedcode v0.0.1 // indirect + github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect + github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/gtank/merlin v0.1.1 // indirect + github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/improbable-eng/grpc-web v0.15.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect + github.com/klauspost/compress v1.15.11 // indirect + github.com/lib/pq v1.10.7 // indirect + github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mtibben/percent v0.2.1 // indirect + github.com/nxadm/tail v1.4.8 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect + github.com/prometheus/common v0.37.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect + github.com/rakyll/statik v0.1.7 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rs/cors v1.8.2 // indirect + github.com/rs/zerolog v1.27.0 // indirect + github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/spf13/afero v1.9.3 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/viper v1.15.0 // indirect + github.com/stretchr/testify v1.8.2 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/tendermint/btcd v0.1.1 // indirect + github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect + github.com/tendermint/go-amino v0.16.0 // indirect + github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b // indirect + github.com/zondax/hid v0.9.1 // indirect + github.com/zondax/ledger-go v0.14.1 // indirect + go.etcd.io/bbolt v1.3.6 // indirect + go.opencensus.io v0.24.0 // indirect + golang.org/x/crypto v0.5.0 // indirect + golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 // indirect + golang.org/x/mod v0.9.0 // indirect + golang.org/x/net v0.8.0 // indirect + golang.org/x/sys v0.6.0 // indirect + golang.org/x/term v0.6.0 // indirect + golang.org/x/text v0.8.0 // indirect + google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa // indirect + google.golang.org/grpc v1.53.0 // indirect + google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + nhooyr.io/websocket v1.8.7 // indirect +) + +replace ( + // osmosis-patched wasmd + // ToDo: replace the commit hash with v0.31.0-osmo-v15 once the version is tagged + github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.31.0-osmo-v16 + // dragonberry + github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 + // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v16.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/43c58d9061e3b8e0f06c3d9efef8c728800ab554 + github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434 + // use cosmos-compatible protobufs + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.24 +) diff --git a/x/ibc-hooks/go.sum b/x/ibc-hooks/go.sum new file mode 100644 index 00000000..7629a479 --- /dev/null +++ b/x/ibc-hooks/go.sum @@ -0,0 +1,1434 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= +git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= +github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= +github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= +github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= +github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= +github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/CosmWasm/wasmvm v1.2.1 h1:si0tRsRDdUShV0k51Wn6zRKlmj3/WWP9Yr4cLmDTf+8= +github.com/CosmWasm/wasmvm v1.2.1/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= +github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= +github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= +github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= +github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= +github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= +github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= +github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= +github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= +github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd v0.22.2 h1:vBZ+lGGd1XubpOWO67ITJpAEsICWhA0YzqkcpkgNBfo= +github.com/btcsuite/btcd v0.22.2/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= +github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= +github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= +github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= +github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= +github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= +github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= +github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= +github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/consensys/gnark-crypto v0.5.3/go.mod h1:hOdPlWQV1gDLp7faZVeg8Y0iEPFaOUnCc4XeCCk96p0= +github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= +github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= +github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= +github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= +github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= +github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= +github.com/cosmos/gogoproto v1.4.6 h1:Ee7z15dWJaGlgM2rWrK8N2IX7PQcuccu8oG68jp5RL4= +github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= +github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= +github.com/cosmos/iavl v0.19.5 h1:rGA3hOrgNxgRM5wYcSCxgQBap7fW82WZgY78V9po/iY= +github.com/cosmos/iavl v0.19.5/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= +github.com/cosmos/ibc-go/v4 v4.3.0 h1:yOzVsyZzsv4XPBux8gq+D0LhZn45yGWKjvT+6Vyo5no= +github.com/cosmos/ibc-go/v4 v4.3.0/go.mod h1:CcLvIoi9NNtIbNsxs4KjBGjYhlwqtsmXy1AKARKiMzQ= +github.com/cosmos/interchain-accounts v0.2.6 h1:TV2M2g1/Rb9MCNw1YePdBKE0rcEczNj1RGHT+2iRYas= +github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= +github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= +github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= +github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= +github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= +github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= +github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= +github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= +github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= +github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= +github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= +github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= +github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= +github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= +github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= +github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= +github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= +github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= +github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= +github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= +github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= +github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= +github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= +github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= +github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= +github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= +github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= +github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= +github.com/informalsystems/tendermint v0.34.24 h1:2beNEg5tp+U5oj/Md+0xDBsMHGbdue31T3OrstS6xS0= +github.com/informalsystems/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c h1:XImQJfpJLmGEEd8ll5yPVyL/aEvmgGHW4WYTyNseLOM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= +github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= +github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= +github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= +github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= +github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434 h1:RetElHdhDl6f00Tjj7ii2r+HX2aa/u+dhgwQb5hKv8Y= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434/go.mod h1:ss3tUfPTwaa6NsoPZrCR7xOqLqCK0LwoNbc2Q8Zs5/Y= +github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78 h1:F7MljkYGSLD8p8GEZAQwgMkqWIRdwK8rDrJnnedyKBQ= +github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78/go.mod h1:zyBrzl2rsZWGbOU+/1hzA+xoQlCshzZuHe/5mzdb/zo= +github.com/osmosis-labs/wasmd v0.31.0-osmo-v16 h1:X747cZYdnqc/+RV48iPVeGprpVb/fUWSaKGsZUWrdbg= +github.com/osmosis-labs/wasmd v0.31.0-osmo-v16/go.mod h1:Rf8zW/GgBQyFRRB4s62VQHWA6sTlMFSjoDQQpoq64iI= +github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= +github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= +github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= +github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= +github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= +github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= +github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= +github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= +github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= +github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= +github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= +github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= +github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= +github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b h1:Y3ZPG6gdDCAV2sdGkD759ji/09GzaNu1X3qKTmZIbTo= +github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b/go.mod h1:ADqbS9NOSnBRK9R2RtYC61CdsHmVMD/yXAzcMuPexbU= +github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= +github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= +github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa h1:qQPhfbPO23fwm/9lQr91L1u62Zo6cm+zI+slZT+uf+o= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= +google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= +gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/x/ibc-hooks/hooks.go b/x/ibc-hooks/hooks.go new file mode 100644 index 00000000..1735a5af --- /dev/null +++ b/x/ibc-hooks/hooks.go @@ -0,0 +1,144 @@ +package ibc_hooks + +import ( + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + // ibc-go + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" +) + +type Hooks interface{} + +type OnChanOpenInitOverrideHooks interface { + OnChanOpenInitOverride(im IBCMiddleware, ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string) (string, error) +} +type OnChanOpenInitBeforeHooks interface { + OnChanOpenInitBeforeHook(ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string) +} +type OnChanOpenInitAfterHooks interface { + OnChanOpenInitAfterHook(ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, finalVersion string, err error) +} + +// OnChanOpenTry Hooks +type OnChanOpenTryOverrideHooks interface { + OnChanOpenTryOverride(im IBCMiddleware, ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, counterpartyVersion string) (string, error) +} +type OnChanOpenTryBeforeHooks interface { + OnChanOpenTryBeforeHook(ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, counterpartyVersion string) +} +type OnChanOpenTryAfterHooks interface { + OnChanOpenTryAfterHook(ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID, channelID string, channelCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, counterpartyVersion string, version string, err error) +} + +// OnChanOpenAck Hooks +type OnChanOpenAckOverrideHooks interface { + OnChanOpenAckOverride(im IBCMiddleware, ctx sdk.Context, portID, channelID string, counterpartyChannelID string, counterpartyVersion string) error +} +type OnChanOpenAckBeforeHooks interface { + OnChanOpenAckBeforeHook(ctx sdk.Context, portID, channelID string, counterpartyChannelID string, counterpartyVersion string) +} +type OnChanOpenAckAfterHooks interface { + OnChanOpenAckAfterHook(ctx sdk.Context, portID, channelID string, counterpartyChannelID string, counterpartyVersion string, err error) +} + +// OnChanOpenConfirm Hooks +type OnChanOpenConfirmOverrideHooks interface { + OnChanOpenConfirmOverride(im IBCMiddleware, ctx sdk.Context, portID, channelID string) error +} +type OnChanOpenConfirmBeforeHooks interface { + OnChanOpenConfirmBeforeHook(ctx sdk.Context, portID, channelID string) +} +type OnChanOpenConfirmAfterHooks interface { + OnChanOpenConfirmAfterHook(ctx sdk.Context, portID, channelID string, err error) +} + +// OnChanCloseInit Hooks +type OnChanCloseInitOverrideHooks interface { + OnChanCloseInitOverride(im IBCMiddleware, ctx sdk.Context, portID, channelID string) error +} +type OnChanCloseInitBeforeHooks interface { + OnChanCloseInitBeforeHook(ctx sdk.Context, portID, channelID string) +} +type OnChanCloseInitAfterHooks interface { + OnChanCloseInitAfterHook(ctx sdk.Context, portID, channelID string, err error) +} + +// OnChanCloseConfirm Hooks +type OnChanCloseConfirmOverrideHooks interface { + OnChanCloseConfirmOverride(im IBCMiddleware, ctx sdk.Context, portID, channelID string) error +} +type OnChanCloseConfirmBeforeHooks interface { + OnChanCloseConfirmBeforeHook(ctx sdk.Context, portID, channelID string) +} +type OnChanCloseConfirmAfterHooks interface { + OnChanCloseConfirmAfterHook(ctx sdk.Context, portID, channelID string, err error) +} + +// OnRecvPacket Hooks +type OnRecvPacketOverrideHooks interface { + OnRecvPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) ibcexported.Acknowledgement +} +type OnRecvPacketBeforeHooks interface { + OnRecvPacketBeforeHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) +} +type OnRecvPacketAfterHooks interface { + OnRecvPacketAfterHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, ack ibcexported.Acknowledgement) +} + +// OnAcknowledgementPacket Hooks +type OnAcknowledgementPacketOverrideHooks interface { + OnAcknowledgementPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) error +} +type OnAcknowledgementPacketBeforeHooks interface { + OnAcknowledgementPacketBeforeHook(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) +} +type OnAcknowledgementPacketAfterHooks interface { + OnAcknowledgementPacketAfterHook(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress, err error) +} + +// OnTimeoutPacket Hooks +type OnTimeoutPacketOverrideHooks interface { + OnTimeoutPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error +} +type OnTimeoutPacketBeforeHooks interface { + OnTimeoutPacketBeforeHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) +} +type OnTimeoutPacketAfterHooks interface { + OnTimeoutPacketAfterHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, err error) +} + +// SendPacket Hooks +type SendPacketOverrideHooks interface { + SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) error +} +type SendPacketBeforeHooks interface { + SendPacketBeforeHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) +} +type SendPacketAfterHooks interface { + SendPacketAfterHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, err error) +} + +// WriteAcknowledgement Hooks +type WriteAcknowledgementOverrideHooks interface { + WriteAcknowledgementOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement) error +} +type WriteAcknowledgementBeforeHooks interface { + WriteAcknowledgementBeforeHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement) +} +type WriteAcknowledgementAfterHooks interface { + WriteAcknowledgementAfterHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement, err error) +} + +// GetAppVersion Hooks +type GetAppVersionOverrideHooks interface { + GetAppVersionOverride(i ICS4Middleware, ctx sdk.Context, portID, channelID string) (string, bool) +} +type GetAppVersionBeforeHooks interface { + GetAppVersionBeforeHook(ctx sdk.Context, portID, channelID string) +} +type GetAppVersionAfterHooks interface { + GetAppVersionAfterHook(ctx sdk.Context, portID, channelID string, result string, success bool) +} diff --git a/x/ibc-hooks/ibc_module.go b/x/ibc-hooks/ibc_module.go new file mode 100644 index 00000000..94e542ae --- /dev/null +++ b/x/ibc-hooks/ibc_module.go @@ -0,0 +1,257 @@ +package ibc_hooks + +import ( + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + // ibc-go + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" +) + +var _ porttypes.Middleware = &IBCMiddleware{} + +type IBCMiddleware struct { + App porttypes.IBCModule + ICS4Middleware *ICS4Middleware +} + +func NewIBCMiddleware(app porttypes.IBCModule, ics4 *ICS4Middleware) IBCMiddleware { + return IBCMiddleware{ + App: app, + ICS4Middleware: ics4, + } +} + +// OnChanOpenInit implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanOpenInit( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID string, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + version string, +) (string, error) { + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenInitOverrideHooks); ok { + return hook.OnChanOpenInitOverride(im, ctx, order, connectionHops, portID, channelID, channelCap, counterparty, version) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenInitBeforeHooks); ok { + hook.OnChanOpenInitBeforeHook(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, version) + } + + finalVersion, err := im.App.OnChanOpenInit(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, version) + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenInitAfterHooks); ok { + hook.OnChanOpenInitAfterHook(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, version, finalVersion, err) + } + return version, err +} + +// OnChanOpenTry implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanOpenTry( + ctx sdk.Context, + order channeltypes.Order, + connectionHops []string, + portID, + channelID string, + channelCap *capabilitytypes.Capability, + counterparty channeltypes.Counterparty, + counterpartyVersion string, +) (string, error) { + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenTryOverrideHooks); ok { + return hook.OnChanOpenTryOverride(im, ctx, order, connectionHops, portID, channelID, channelCap, counterparty, counterpartyVersion) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenTryBeforeHooks); ok { + hook.OnChanOpenTryBeforeHook(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, counterpartyVersion) + } + + version, err := im.App.OnChanOpenTry(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, counterpartyVersion) + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenTryAfterHooks); ok { + hook.OnChanOpenTryAfterHook(ctx, order, connectionHops, portID, channelID, channelCap, counterparty, counterpartyVersion, version, err) + } + return version, err +} + +// OnChanOpenAck implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanOpenAck( + ctx sdk.Context, + portID, + channelID string, + counterpartyChannelID string, + counterpartyVersion string, +) error { + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenAckOverrideHooks); ok { + return hook.OnChanOpenAckOverride(im, ctx, portID, channelID, counterpartyChannelID, counterpartyVersion) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenAckBeforeHooks); ok { + hook.OnChanOpenAckBeforeHook(ctx, portID, channelID, counterpartyChannelID, counterpartyVersion) + } + err := im.App.OnChanOpenAck(ctx, portID, channelID, counterpartyChannelID, counterpartyVersion) + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenAckAfterHooks); ok { + hook.OnChanOpenAckAfterHook(ctx, portID, channelID, counterpartyChannelID, counterpartyVersion, err) + } + + return err +} + +// OnChanOpenConfirm implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanOpenConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenConfirmOverrideHooks); ok { + return hook.OnChanOpenConfirmOverride(im, ctx, portID, channelID) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenConfirmBeforeHooks); ok { + hook.OnChanOpenConfirmBeforeHook(ctx, portID, channelID) + } + err := im.App.OnChanOpenConfirm(ctx, portID, channelID) + if hook, ok := im.ICS4Middleware.Hooks.(OnChanOpenConfirmAfterHooks); ok { + hook.OnChanOpenConfirmAfterHook(ctx, portID, channelID, err) + } + return err +} + +// OnChanCloseInit implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanCloseInit( + ctx sdk.Context, + portID, + channelID string, +) error { + // Here we can remove the limits when a new channel is closed. For now, they can remove them manually on the contract + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseInitOverrideHooks); ok { + return hook.OnChanCloseInitOverride(im, ctx, portID, channelID) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseInitBeforeHooks); ok { + hook.OnChanCloseInitBeforeHook(ctx, portID, channelID) + } + err := im.App.OnChanCloseInit(ctx, portID, channelID) + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseInitAfterHooks); ok { + hook.OnChanCloseInitAfterHook(ctx, portID, channelID, err) + } + + return err +} + +// OnChanCloseConfirm implements the IBCMiddleware interface +func (im IBCMiddleware) OnChanCloseConfirm( + ctx sdk.Context, + portID, + channelID string, +) error { + // Here we can remove the limits when a new channel is closed. For now, they can remove them manually on the contract + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseConfirmOverrideHooks); ok { + return hook.OnChanCloseConfirmOverride(im, ctx, portID, channelID) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseConfirmBeforeHooks); ok { + hook.OnChanCloseConfirmBeforeHook(ctx, portID, channelID) + } + err := im.App.OnChanCloseConfirm(ctx, portID, channelID) + if hook, ok := im.ICS4Middleware.Hooks.(OnChanCloseConfirmAfterHooks); ok { + hook.OnChanCloseConfirmAfterHook(ctx, portID, channelID, err) + } + + return err +} + +// OnRecvPacket implements the IBCMiddleware interface +func (im IBCMiddleware) OnRecvPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) ibcexported.Acknowledgement { + if hook, ok := im.ICS4Middleware.Hooks.(OnRecvPacketOverrideHooks); ok { + return hook.OnRecvPacketOverride(im, ctx, packet, relayer) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnRecvPacketBeforeHooks); ok { + hook.OnRecvPacketBeforeHook(ctx, packet, relayer) + } + + ack := im.App.OnRecvPacket(ctx, packet, relayer) + + if hook, ok := im.ICS4Middleware.Hooks.(OnRecvPacketAfterHooks); ok { + hook.OnRecvPacketAfterHook(ctx, packet, relayer, ack) + } + + return ack +} + +// OnAcknowledgementPacket implements the IBCMiddleware interface +func (im IBCMiddleware) OnAcknowledgementPacket( + ctx sdk.Context, + packet channeltypes.Packet, + acknowledgement []byte, + relayer sdk.AccAddress, +) error { + if hook, ok := im.ICS4Middleware.Hooks.(OnAcknowledgementPacketOverrideHooks); ok { + return hook.OnAcknowledgementPacketOverride(im, ctx, packet, acknowledgement, relayer) + } + if hook, ok := im.ICS4Middleware.Hooks.(OnAcknowledgementPacketBeforeHooks); ok { + hook.OnAcknowledgementPacketBeforeHook(ctx, packet, acknowledgement, relayer) + } + + err := im.App.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) + + if hook, ok := im.ICS4Middleware.Hooks.(OnAcknowledgementPacketAfterHooks); ok { + hook.OnAcknowledgementPacketAfterHook(ctx, packet, acknowledgement, relayer, err) + } + + return err +} + +// OnTimeoutPacket implements the IBCMiddleware interface +func (im IBCMiddleware) OnTimeoutPacket( + ctx sdk.Context, + packet channeltypes.Packet, + relayer sdk.AccAddress, +) error { + if hook, ok := im.ICS4Middleware.Hooks.(OnTimeoutPacketOverrideHooks); ok { + return hook.OnTimeoutPacketOverride(im, ctx, packet, relayer) + } + + if hook, ok := im.ICS4Middleware.Hooks.(OnTimeoutPacketBeforeHooks); ok { + hook.OnTimeoutPacketBeforeHook(ctx, packet, relayer) + } + err := im.App.OnTimeoutPacket(ctx, packet, relayer) + if hook, ok := im.ICS4Middleware.Hooks.(OnTimeoutPacketAfterHooks); ok { + hook.OnTimeoutPacketAfterHook(ctx, packet, relayer, err) + } + + return err +} + +// SendPacket implements the ICS4 Wrapper interface +func (im IBCMiddleware) SendPacket( + ctx sdk.Context, + chanCap *capabilitytypes.Capability, + packet ibcexported.PacketI, +) error { + return im.ICS4Middleware.SendPacket(ctx, chanCap, packet) +} + +// WriteAcknowledgement implements the ICS4 Wrapper interface +func (im IBCMiddleware) WriteAcknowledgement( + ctx sdk.Context, + chanCap *capabilitytypes.Capability, + packet ibcexported.PacketI, + ack ibcexported.Acknowledgement, +) error { + return im.ICS4Middleware.WriteAcknowledgement(ctx, chanCap, packet, ack) +} + +func (im IBCMiddleware) GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool) { + return im.ICS4Middleware.GetAppVersion(ctx, portID, channelID) +} diff --git a/x/ibc-hooks/ics4_middleware.go b/x/ibc-hooks/ics4_middleware.go new file mode 100644 index 00000000..8e4f7307 --- /dev/null +++ b/x/ibc-hooks/ics4_middleware.go @@ -0,0 +1,77 @@ +package ibc_hooks + +import ( + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + // ibc-go + porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" +) + +var _ porttypes.ICS4Wrapper = &ICS4Middleware{} + +type ICS4Middleware struct { + channel porttypes.ICS4Wrapper + + // Hooks + Hooks Hooks +} + +func NewICS4Middleware(channel porttypes.ICS4Wrapper, hooks Hooks) ICS4Middleware { + return ICS4Middleware{ + channel: channel, + Hooks: hooks, + } +} + +func (i ICS4Middleware) SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error { + if hook, ok := i.Hooks.(SendPacketOverrideHooks); ok { + return hook.SendPacketOverride(i, ctx, channelCap, packet) + } + + if hook, ok := i.Hooks.(SendPacketBeforeHooks); ok { + hook.SendPacketBeforeHook(ctx, channelCap, packet) + } + + err := i.channel.SendPacket(ctx, channelCap, packet) + + if hook, ok := i.Hooks.(SendPacketAfterHooks); ok { + hook.SendPacketAfterHook(ctx, channelCap, packet, err) + } + + return err +} + +func (i ICS4Middleware) WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement) error { + if hook, ok := i.Hooks.(WriteAcknowledgementOverrideHooks); ok { + return hook.WriteAcknowledgementOverride(i, ctx, chanCap, packet, ack) + } + + if hook, ok := i.Hooks.(WriteAcknowledgementBeforeHooks); ok { + hook.WriteAcknowledgementBeforeHook(ctx, chanCap, packet, ack) + } + err := i.channel.WriteAcknowledgement(ctx, chanCap, packet, ack) + if hook, ok := i.Hooks.(WriteAcknowledgementAfterHooks); ok { + hook.WriteAcknowledgementAfterHook(ctx, chanCap, packet, ack, err) + } + + return err +} + +func (i ICS4Middleware) GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool) { + if hook, ok := i.Hooks.(GetAppVersionOverrideHooks); ok { + return hook.GetAppVersionOverride(i, ctx, portID, channelID) + } + + if hook, ok := i.Hooks.(GetAppVersionBeforeHooks); ok { + hook.GetAppVersionBeforeHook(ctx, portID, channelID) + } + version, err := i.channel.GetAppVersion(ctx, portID, channelID) + if hook, ok := i.Hooks.(GetAppVersionAfterHooks); ok { + hook.GetAppVersionAfterHook(ctx, portID, channelID, version, err) + } + + return version, err +} diff --git a/x/ibc-hooks/keeper/keeper.go b/x/ibc-hooks/keeper/keeper.go new file mode 100644 index 00000000..7562a0fd --- /dev/null +++ b/x/ibc-hooks/keeper/keeper.go @@ -0,0 +1,61 @@ +package keeper + +import ( + "fmt" + "github.com/cosmos/cosmos-sdk/types/address" + + "github.com/tendermint/tendermint/libs/log" + + "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type ( + Keeper struct { + storeKey sdk.StoreKey + } +) + +// NewKeeper returns a new instance of the x/ibchooks keeper +func NewKeeper( + storeKey sdk.StoreKey, +) Keeper { + return Keeper{ + storeKey: storeKey, + } +} + +// Logger returns a logger for the x/tokenfactory module +func (k Keeper) Logger(ctx sdk.Context) log.Logger { + return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +} + +func GetPacketKey(channel string, packetSequence uint64) []byte { + return []byte(fmt.Sprintf("%s::%d", channel, packetSequence)) +} + +// StorePacketCallback stores which contract will be listening for the ack or timeout of a packet +func (k Keeper) StorePacketCallback(ctx sdk.Context, channel string, packetSequence uint64, contract string) { + store := ctx.KVStore(k.storeKey) + store.Set(GetPacketKey(channel, packetSequence), []byte(contract)) +} + +// GetPacketCallback returns the bech32 addr of the contract that is expecting a callback from a packet +func (k Keeper) GetPacketCallback(ctx sdk.Context, channel string, packetSequence uint64) string { + store := ctx.KVStore(k.storeKey) + return string(store.Get(GetPacketKey(channel, packetSequence))) +} + +// DeletePacketCallback deletes the callback from storage once it has been processed +func (k Keeper) DeletePacketCallback(ctx sdk.Context, channel string, packetSequence uint64) { + store := ctx.KVStore(k.storeKey) + store.Delete(GetPacketKey(channel, packetSequence)) +} + +func DeriveIntermediateSender(channel, originalSender, bech32Prefix string) (string, error) { + senderStr := fmt.Sprintf("%s/%s", channel, originalSender) + senderHash32 := address.Hash(types.SenderPrefix, []byte(senderStr)) + sender := sdk.AccAddress(senderHash32[:]) + return sdk.Bech32ifyAddressBytes(bech32Prefix, sender) +} diff --git a/x/ibc-hooks/sdkmodule.go b/x/ibc-hooks/sdkmodule.go new file mode 100644 index 00000000..160e5945 --- /dev/null +++ b/x/ibc-hooks/sdkmodule.go @@ -0,0 +1,138 @@ +package ibc_hooks + +import ( + "encoding/json" + "fmt" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/gorilla/mux" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + + "github.com/osmosis-labs/osmosis/x/ibc-hooks/client/cli" + "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + + "github.com/osmosis-labs/osmosis/osmoutils" + + sdk "github.com/cosmos/cosmos-sdk/types" + abci "github.com/tendermint/tendermint/abci/types" +) + +var ( + _ module.AppModule = AppModule{} + _ module.AppModuleBasic = AppModuleBasic{} +) + +// AppModuleBasic defines the basic application module used by the ibc-hooks module. +type AppModuleBasic struct{} + +var _ module.AppModuleBasic = AppModuleBasic{} + +// Name returns the ibc-hooks module's name. +func (AppModuleBasic) Name() string { + return types.ModuleName +} + +// RegisterLegacyAminoCodec registers the ibc-hooks module's types on the given LegacyAmino codec. +func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {} + +// RegisterInterfaces registers the module's interface types. +func (b AppModuleBasic) RegisterInterfaces(_ cdctypes.InterfaceRegistry) {} + +// DefaultGenesis returns default genesis state as raw bytes for the +// module. +func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { + emptyString := "{}" + return []byte(emptyString) +} + +// ValidateGenesis performs genesis state validation for the ibc-hooks module. +func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error { + return nil +} + +// RegisterRESTRoutes registers the REST routes for the ibc-hooks module. +func (AppModuleBasic) RegisterRESTRoutes(clientCtx client.Context, rtr *mux.Router) {} + +// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the ibc-hooks module. +func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) {} + +// GetTxCmd returns no root tx command for the ibc-hooks module. +func (AppModuleBasic) GetTxCmd() *cobra.Command { return nil } + +// GetQueryCmd returns the root query command for the ibc-hooks module. +func (AppModuleBasic) GetQueryCmd() *cobra.Command { + return cli.GetQueryCmd() +} + +// ___________________________________________________________________________ + +// AppModule implements an application module for the ibc-hooks module. +type AppModule struct { + AppModuleBasic + + authKeeper osmoutils.AccountKeeper +} + +// NewAppModule creates a new AppModule object. +func NewAppModule(ak osmoutils.AccountKeeper) AppModule { + return AppModule{ + AppModuleBasic: AppModuleBasic{}, + authKeeper: ak, + } +} + +// Name returns the ibc-hooks module's name. +func (AppModule) Name() string { + return types.ModuleName +} + +// RegisterInvariants registers the ibc-hooks module invariants. +func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} + +// Route returns the message routing key for the ibc-hooks module. +func (AppModule) Route() sdk.Route { return sdk.Route{} } + +// QuerierRoute returns the module's querier route name. +func (AppModule) QuerierRoute() string { + return "" +} + +// LegacyQuerierHandler returns the x/ibc-hooks module's sdk.Querier. +func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { + return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { + return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) + } +} + +// RegisterServices registers a gRPC query service to respond to the +// module-specific gRPC queries. +func (am AppModule) RegisterServices(cfg module.Configurator) { +} + +// InitGenesis performs genesis initialization for the ibc-hooks module. It returns +// no validator updates. +func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) []abci.ValidatorUpdate { + return []abci.ValidatorUpdate{} +} + +func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { + return json.RawMessage([]byte("{}")) +} + +// BeginBlock returns the begin blocker for the ibc-hooks module. +func (am AppModule) BeginBlock(ctx sdk.Context, _ abci.RequestBeginBlock) { +} + +// EndBlock returns the end blocker for the ibc-hooks module. It returns no validator +// updates. +func (AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { + return []abci.ValidatorUpdate{} +} + +// ConsensusVersion implements AppModule/ConsensusVersion. +func (AppModule) ConsensusVersion() uint64 { return 1 } diff --git a/x/ibc-hooks/types/errors.go b/x/ibc-hooks/types/errors.go new file mode 100644 index 00000000..9683d397 --- /dev/null +++ b/x/ibc-hooks/types/errors.go @@ -0,0 +1,15 @@ +package types + +import sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + +var ( + ErrBadMetadataFormatMsg = "wasm metadata not properly formatted for: '%v'. %s" + ErrBadExecutionMsg = "cannot execute contract: %v" + + ErrMsgValidation = sdkerrors.Register("wasm-hooks", 2, "error in wasmhook message validation") + ErrMarshaling = sdkerrors.Register("wasm-hooks", 3, "cannot marshal the ICS20 packet") + ErrInvalidPacket = sdkerrors.Register("wasm-hooks", 4, "invalid packet data") + ErrBadResponse = sdkerrors.Register("wasm-hooks", 5, "cannot create response") + ErrWasmError = sdkerrors.Register("wasm-hooks", 6, "wasm error") + ErrBadSender = sdkerrors.Register("wasm-hooks", 7, "bad sender") +) diff --git a/x/ibc-hooks/types/keys.go b/x/ibc-hooks/types/keys.go new file mode 100644 index 00000000..9a3e7ded --- /dev/null +++ b/x/ibc-hooks/types/keys.go @@ -0,0 +1,8 @@ +package types + +const ( + ModuleName = "ibchooks" + StoreKey = "hooks-for-ibc" // not using the module name because of collisions with key "ibc" + IBCCallbackKey = "ibc_callback" + SenderPrefix = "ibc-wasm-hook-intermediary" +) diff --git a/x/ibc-hooks/wasm_hook.go b/x/ibc-hooks/wasm_hook.go new file mode 100644 index 00000000..06072c0b --- /dev/null +++ b/x/ibc-hooks/wasm_hook.go @@ -0,0 +1,386 @@ +package ibc_hooks + +import ( + "encoding/json" + "fmt" + + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + "github.com/osmosis-labs/osmosis/x/ibc-hooks/keeper" + + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + + "github.com/osmosis-labs/osmosis/osmoutils" + + sdk "github.com/cosmos/cosmos-sdk/types" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + + "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" +) + +type ContractAck struct { + ContractResult []byte `json:"contract_result"` + IbcAck []byte `json:"ibc_ack"` +} + +type WasmHooks struct { + ContractKeeper *wasmkeeper.PermissionedKeeper + ibcHooksKeeper *keeper.Keeper + bech32PrefixAccAddr string +} + +func NewWasmHooks(ibcHooksKeeper *keeper.Keeper, contractKeeper *wasmkeeper.PermissionedKeeper, bech32PrefixAccAddr string) WasmHooks { + return WasmHooks{ + ContractKeeper: contractKeeper, + ibcHooksKeeper: ibcHooksKeeper, + bech32PrefixAccAddr: bech32PrefixAccAddr, + } +} + +func (h WasmHooks) ProperlyConfigured() bool { + return h.ContractKeeper != nil && h.ibcHooksKeeper != nil +} + +func (h WasmHooks) OnRecvPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) ibcexported.Acknowledgement { + if !h.ProperlyConfigured() { + // Not configured + return im.App.OnRecvPacket(ctx, packet, relayer) + } + isIcs20, data := isIcs20Packet(packet) + if !isIcs20 { + return im.App.OnRecvPacket(ctx, packet, relayer) + } + + // Validate the memo + isWasmRouted, contractAddr, msgBytes, err := ValidateAndParseMemo(data.GetMemo(), data.Receiver) + if !isWasmRouted { + return im.App.OnRecvPacket(ctx, packet, relayer) + } + if err != nil { + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrMsgValidation, err.Error()) + } + if msgBytes == nil || contractAddr == nil { // This should never happen + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrMsgValidation) + } + + // Calculate the receiver / contract caller based on the packet's channel and sender + channel := packet.GetDestChannel() + sender := data.GetSender() + senderBech32, err := keeper.DeriveIntermediateSender(channel, sender, h.bech32PrefixAccAddr) + if err != nil { + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrBadSender, fmt.Sprintf("cannot convert sender address %s/%s to bech32: %s", channel, sender, err.Error())) + } + + // The funds sent on this packet need to be transferred to the intermediary account for the sender. + // For this, we override the ICS20 packet's Receiver (essentially hijacking the funds to this new address) + // and execute the underlying OnRecvPacket() call (which should eventually land on the transfer app's + // relay.go and send the sunds to the intermediary account. + // + // If that succeeds, we make the contract call + data.Receiver = senderBech32 + bz, err := json.Marshal(data) + if err != nil { + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrMarshaling, err.Error()) + } + packet.Data = bz + + // Execute the receive + ack := im.App.OnRecvPacket(ctx, packet, relayer) + if !ack.Success() { + return ack + } + + amount, ok := sdk.NewIntFromString(data.GetAmount()) + if !ok { + // This should never happen, as it should've been caught in the underlaying call to OnRecvPacket, + // but returning here for completeness + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrInvalidPacket, "Amount is not an int") + } + + // The packet's denom is the denom in the sender chain. This needs to be converted to the local denom. + denom := osmoutils.MustExtractDenomFromPacketOnRecv(packet) + funds := sdk.NewCoins(sdk.NewCoin(denom, amount)) + + // Execute the contract + execMsg := wasmtypes.MsgExecuteContract{ + Sender: senderBech32, + Contract: contractAddr.String(), + Msg: msgBytes, + Funds: funds, + } + response, err := h.execWasmMsg(ctx, &execMsg) + if err != nil { + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrWasmError, err.Error()) + } + + fullAck := ContractAck{ContractResult: response.Data, IbcAck: ack.Acknowledgement()} + bz, err = json.Marshal(fullAck) + if err != nil { + return osmoutils.NewEmitErrorAcknowledgement(ctx, types.ErrBadResponse, err.Error()) + } + + return channeltypes.NewResultAcknowledgement(bz) +} + +func (h WasmHooks) execWasmMsg(ctx sdk.Context, execMsg *wasmtypes.MsgExecuteContract) (*wasmtypes.MsgExecuteContractResponse, error) { + if err := execMsg.ValidateBasic(); err != nil { + return nil, fmt.Errorf(types.ErrBadExecutionMsg, err.Error()) + } + wasmMsgServer := wasmkeeper.NewMsgServerImpl(h.ContractKeeper) + return wasmMsgServer.ExecuteContract(sdk.WrapSDKContext(ctx), execMsg) +} + +func isIcs20Packet(packet channeltypes.Packet) (isIcs20 bool, ics20data transfertypes.FungibleTokenPacketData) { + var data transfertypes.FungibleTokenPacketData + if err := json.Unmarshal(packet.GetData(), &data); err != nil { + return false, data + } + return true, data +} + +// jsonStringHasKey parses the memo as a json object and checks if it contains the key. +func jsonStringHasKey(memo, key string) (found bool, jsonObject map[string]interface{}) { + jsonObject = make(map[string]interface{}) + + // If there is no memo, the packet was either sent with an earlier version of IBC, or the memo was + // intentionally left blank. Nothing to do here. Ignore the packet and pass it down the stack. + if len(memo) == 0 { + return false, jsonObject + } + + // the jsonObject must be a valid JSON object + err := json.Unmarshal([]byte(memo), &jsonObject) + if err != nil { + return false, jsonObject + } + + // If the key doesn't exist, there's nothing to do on this hook. Continue by passing the packet + // down the stack + _, ok := jsonObject[key] + if !ok { + return false, jsonObject + } + + return true, jsonObject +} + +func ValidateAndParseMemo(memo string, receiver string) (isWasmRouted bool, contractAddr sdk.AccAddress, msgBytes []byte, err error) { + isWasmRouted, metadata := jsonStringHasKey(memo, "wasm") + if !isWasmRouted { + return isWasmRouted, sdk.AccAddress{}, nil, nil + } + + wasmRaw := metadata["wasm"] + + // Make sure the wasm key is a map. If it isn't, ignore this packet + wasm, ok := wasmRaw.(map[string]interface{}) + if !ok { + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, "wasm metadata is not a valid JSON map object") + } + + // Get the contract + contract, ok := wasm["contract"].(string) + if !ok { + // The tokens will be returned + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, `Could not find key wasm["contract"]`) + } + + contractAddr, err = sdk.AccAddressFromBech32(contract) + if err != nil { + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, `wasm["contract"] is not a valid bech32 address`) + } + + // The contract and the receiver should be the same for the packet to be valid + if contract != receiver { + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, `wasm["contract"] should be the same as the receiver of the packet`) + } + + // Ensure the message key is provided + if wasm["msg"] == nil { + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, `Could not find key wasm["msg"]`) + } + + // Make sure the msg key is a map. If it isn't, return an error + _, ok = wasm["msg"].(map[string]interface{}) + if !ok { + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, `wasm["msg"] is not a map object`) + } + + // Get the message string by serializing the map + msgBytes, err = json.Marshal(wasm["msg"]) + if err != nil { + // The tokens will be returned + return isWasmRouted, sdk.AccAddress{}, nil, + fmt.Errorf(types.ErrBadMetadataFormatMsg, memo, err.Error()) + } + + return isWasmRouted, contractAddr, msgBytes, nil +} + +func (h WasmHooks) SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) error { + concretePacket, ok := packet.(channeltypes.Packet) + if !ok { + return i.channel.SendPacket(ctx, chanCap, packet) // continue + } + + isIcs20, data := isIcs20Packet(concretePacket) + if !isIcs20 { + return i.channel.SendPacket(ctx, chanCap, packet) // continue + } + + isCallbackRouted, metadata := jsonStringHasKey(data.GetMemo(), types.IBCCallbackKey) + if !isCallbackRouted { + return i.channel.SendPacket(ctx, chanCap, packet) // continue + } + + // We remove the callback metadata from the memo as it has already been processed. + + // If the only available key in the memo is the callback, we should remove the memo + // from the data completely so the packet is sent without it. + // This way receiver chains that are on old versions of IBC will be able to process the packet + + callbackRaw := metadata[types.IBCCallbackKey] // This will be used later. + delete(metadata, types.IBCCallbackKey) + bzMetadata, err := json.Marshal(metadata) + if err != nil { + return sdkerrors.Wrap(err, "Send packet with callback error") + } + stringMetadata := string(bzMetadata) + if stringMetadata == "{}" { + data.Memo = "" + } else { + data.Memo = stringMetadata + } + dataBytes, err := json.Marshal(data) + if err != nil { + return sdkerrors.Wrap(err, "Send packet with callback error") + } + + packetWithoutCallbackMemo := channeltypes.Packet{ + Sequence: concretePacket.Sequence, + SourcePort: concretePacket.SourcePort, + SourceChannel: concretePacket.SourceChannel, + DestinationPort: concretePacket.DestinationPort, + DestinationChannel: concretePacket.DestinationChannel, + Data: dataBytes, + TimeoutTimestamp: concretePacket.TimeoutTimestamp, + TimeoutHeight: concretePacket.TimeoutHeight, + } + + err = i.channel.SendPacket(ctx, chanCap, packetWithoutCallbackMemo) + if err != nil { + return err + } + + // Make sure the callback contract is a string and a valid bech32 addr. If it isn't, ignore this packet + contract, ok := callbackRaw.(string) + if !ok { + return nil + } + _, err = sdk.AccAddressFromBech32(contract) + if err != nil { + return nil + } + + h.ibcHooksKeeper.StorePacketCallback(ctx, packet.GetSourceChannel(), packet.GetSequence(), contract) + return nil +} + +func (h WasmHooks) OnAcknowledgementPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress) error { + err := im.App.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer) + if err != nil { + return err + } + + if !h.ProperlyConfigured() { + // Not configured. Return from the underlying implementation + return nil + } + + contract := h.ibcHooksKeeper.GetPacketCallback(ctx, packet.GetSourceChannel(), packet.GetSequence()) + if contract == "" { + // No callback configured + return nil + } + + contractAddr, err := sdk.AccAddressFromBech32(contract) + if err != nil { + return sdkerrors.Wrap(err, "Ack callback error") // The callback configured is not a bech32. Error out + } + + success := "false" + if !osmoutils.IsAckError(acknowledgement) { + success = "true" + } + + // Notify the sender that the ack has been received + ackAsJson, err := json.Marshal(acknowledgement) + if err != nil { + // If the ack is not a json object, error + return err + } + + sudoMsg := []byte(fmt.Sprintf( + `{"ibc_lifecycle_complete": {"ibc_ack": {"channel": "%s", "sequence": %d, "ack": %s, "success": %s}}}`, + packet.SourceChannel, packet.Sequence, ackAsJson, success)) + _, err = h.ContractKeeper.Sudo(ctx, contractAddr, sudoMsg) + if err != nil { + // error processing the callback + // ToDo: Open Question: Should we also delete the callback here? + return sdkerrors.Wrap(err, "Ack callback error") + } + h.ibcHooksKeeper.DeletePacketCallback(ctx, packet.GetSourceChannel(), packet.GetSequence()) + return nil +} + +func (h WasmHooks) OnTimeoutPacketOverride(im IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error { + err := im.App.OnTimeoutPacket(ctx, packet, relayer) + if err != nil { + return err + } + + if !h.ProperlyConfigured() { + // Not configured. Return from the underlying implementation + return nil + } + + contract := h.ibcHooksKeeper.GetPacketCallback(ctx, packet.GetSourceChannel(), packet.GetSequence()) + if contract == "" { + // No callback configured + return nil + } + + contractAddr, err := sdk.AccAddressFromBech32(contract) + if err != nil { + return sdkerrors.Wrap(err, "Timeout callback error") // The callback configured is not a bech32. Error out + } + + sudoMsg := []byte(fmt.Sprintf( + `{"ibc_lifecycle_complete": {"ibc_timeout": {"channel": "%s", "sequence": %d}}}`, + packet.SourceChannel, packet.Sequence)) + _, err = h.ContractKeeper.Sudo(ctx, contractAddr, sudoMsg) + if err != nil { + // error processing the callback. This could be because the contract doesn't implement the message type to + // process the callback. Retrying this will not help, so we can delete the callback from storage. + // Since the packet has timed out, we don't expect any other responses that may trigger the callback. + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + "ibc-timeout-callback-error", + sdk.NewAttribute("contract", contractAddr.String()), + sdk.NewAttribute("message", string(sudoMsg)), + sdk.NewAttribute("error", err.Error()), + ), + }) + } + h.ibcHooksKeeper.DeletePacketCallback(ctx, packet.GetSourceChannel(), packet.GetSequence()) + return nil +} From 1d797f14ed94df53ceb7518dbaa621738d1e06cc Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Sat, 27 May 2023 09:38:01 +0800 Subject: [PATCH 02/18] hooks... --- Makefile | 4 +- go.mod | 6 ++ go.sum | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 284 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index f62594c9..d5751c00 100644 --- a/Makefile +++ b/Makefile @@ -123,4 +123,6 @@ test-sim-custom-genesis-fast: @echo "Running custom genesis simulation..." @echo "By default, ${HOME}/.migalood/config/genesis.json will be used." @go test $(TEST_FLAGS) -mod=readonly $(SIMAPP) -run TestFullAppSimulation \ - -Enabled=true -NumBlocks=100 -BlockSize=200 -Commit=true -Seed=99 -Period=5 -v -timeout 24h \ No newline at end of file + -Enabled=true -NumBlocks=100 -BlockSize=200 -Commit=true -Seed=99 -Period=5 -v -timeout 24h + + diff --git a/go.mod b/go.mod index 989a610a..f9b5d1ee 100644 --- a/go.mod +++ b/go.mod @@ -177,6 +177,12 @@ require ( replace ( // use notional's wasmd fork with token factory github.com/CosmWasm/wasmd => github.com/notional-labs/wasmd v0.40.0-tf.rc4 + + // downgraded to avoid some annoying warning messages + // should be fixed after sdk 0.47.3 and gogoproto 1.4.10 + // https://github.com/cosmos/gogoproto/issues/66 + github.com/cosmos/gogoproto => github.com/cosmos/gogoproto v1.4.8 + // Fix upstream GHSA-h395-qcrw-5vmq vulnerability. // TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409 github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.8.1 diff --git a/go.sum b/go.sum index 1b188a79..f7885f06 100644 --- a/go.sum +++ b/go.sum @@ -30,28 +30,56 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -59,13 +87,29 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -73,102 +117,235 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE= cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -180,17 +357,46 @@ cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeL cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= @@ -323,6 +529,8 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -348,11 +556,14 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= @@ -388,9 +599,8 @@ github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= -github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= -github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= +github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ4= +github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= github.com/cosmos/ibc-go/v7 v7.0.1 h1:NIBNRWjlOoFvFQu1ZlgwkaSeHO5avf4C1YQiWegt8jw= @@ -474,7 +684,10 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= @@ -559,6 +772,7 @@ github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzw github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -699,6 +913,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -758,6 +974,7 @@ github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= @@ -851,6 +1068,8 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -995,6 +1214,7 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -1079,6 +1299,9 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -1194,6 +1417,7 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1212,6 +1436,7 @@ golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1226,6 +1451,7 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1242,6 +1468,7 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= @@ -1270,8 +1497,12 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1325,6 +1556,7 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1336,8 +1568,13 @@ golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1363,8 +1600,10 @@ golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1381,6 +1620,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1473,7 +1713,6 @@ golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1487,6 +1726,9 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1494,6 +1736,10 @@ golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXR golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1505,7 +1751,11 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1514,6 +1764,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1580,7 +1832,10 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1644,7 +1899,10 @@ google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaE google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= google.golang.org/api v0.110.0 h1:l+rh0KYUooe9JGbGVx71tbFo4SMbMTXK3I3ia2QSEeU= google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= @@ -1731,8 +1989,8 @@ google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2 google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= @@ -1765,7 +2023,16 @@ google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53B google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= @@ -1800,6 +2067,7 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= @@ -1809,6 +2077,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= From 7754dedb3c595a4dfa7e610d820ba813b0903b0c Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Sat, 27 May 2023 09:40:10 +0800 Subject: [PATCH 03/18] bring in the .proto builder from Juno --- proto/buf.gen.doc.yml | 5 + proto/buf.gen.gogo.yaml | 8 ++ proto/buf.gen.gogo.yml | 8 ++ proto/buf.lock | 28 +++++ proto/buf.yaml | 24 ++++ proto/gaia/globalfee/v1beta1/genesis.proto | 31 +++++ proto/gaia/globalfee/v1beta1/query.proto | 32 +++++ .../v1beta1/authorityMetadata.proto | 17 +++ .../tokenfactory/v1beta1/genesis.proto | 32 +++++ .../osmosis/tokenfactory/v1beta1/params.proto | 26 +++++ .../osmosis/tokenfactory/v1beta1/query.proto | 71 ++++++++++++ proto/osmosis/tokenfactory/v1beta1/tx.proto | 109 ++++++++++++++++++ 12 files changed, 391 insertions(+) create mode 100644 proto/buf.gen.doc.yml create mode 100644 proto/buf.gen.gogo.yaml create mode 100644 proto/buf.gen.gogo.yml create mode 100644 proto/buf.lock create mode 100644 proto/buf.yaml create mode 100644 proto/gaia/globalfee/v1beta1/genesis.proto create mode 100644 proto/gaia/globalfee/v1beta1/query.proto create mode 100755 proto/osmosis/tokenfactory/v1beta1/authorityMetadata.proto create mode 100755 proto/osmosis/tokenfactory/v1beta1/genesis.proto create mode 100755 proto/osmosis/tokenfactory/v1beta1/params.proto create mode 100755 proto/osmosis/tokenfactory/v1beta1/query.proto create mode 100755 proto/osmosis/tokenfactory/v1beta1/tx.proto diff --git a/proto/buf.gen.doc.yml b/proto/buf.gen.doc.yml new file mode 100644 index 00000000..6a18570d --- /dev/null +++ b/proto/buf.gen.doc.yml @@ -0,0 +1,5 @@ +version: v1 +plugins: + - name: doc + out: ../docs/proto + opt: ../docs/proto/protodoc-markdown.tmpl,proto-docs.md diff --git a/proto/buf.gen.gogo.yaml b/proto/buf.gen.gogo.yaml new file mode 100644 index 00000000..1d191083 --- /dev/null +++ b/proto/buf.gen.gogo.yaml @@ -0,0 +1,8 @@ +version: v1 +plugins: + - name: gocosmos + out: .. + opt: plugins=grpc,Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1 + - name: grpc-gateway + out: .. + opt: logtostderr=true,allow_colon_final_segments=true \ No newline at end of file diff --git a/proto/buf.gen.gogo.yml b/proto/buf.gen.gogo.yml new file mode 100644 index 00000000..855ea251 --- /dev/null +++ b/proto/buf.gen.gogo.yml @@ -0,0 +1,8 @@ +version: v1 +plugins: + - name: gocosmos + out: .. + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - name: grpc-gateway + out: .. + opt: logtostderr=true,allow_colon_final_segments=true \ No newline at end of file diff --git a/proto/buf.lock b/proto/buf.lock new file mode 100644 index 00000000..7906031c --- /dev/null +++ b/proto/buf.lock @@ -0,0 +1,28 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 1935555c206d4afb9e94615dfd0fad31 + digest: shake256:c74d91a3ac7ae07d579e90eee33abf9b29664047ac8816500cf22c081fec0d72d62c89ce0bebafc1f6fec7aa5315be72606717740ca95007248425102c365377 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 954f7b05f38440fc8250134b15adec47 + digest: shake256:2ab4404fd04a7d1d52df0e2d0f2d477a3d83ffd88d876957bf3fedfd702c8e52833d65b3ce1d89a3c5adf2aab512616b0e4f51d8463f07eda9a8a3317ee3ac54 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 34d970b699f84aa382f3c29773a60836 + digest: shake256:3d3bee5229ba579e7d19ffe6e140986a228b48a8c7fe74348f308537ab95e9135210e81812489d42cd8941d33ff71f11583174ccc5972e86e6112924b6ce9f04 + - remote: buf.build + owner: cosmos + repository: ics23 + commit: 55085f7c710a45f58fa09947208eb70b + digest: shake256:9bf0bc495b5a11c88d163d39ef521bc4b00bc1374a05758c91d82821bdc61f09e8c2c51dda8452529bf80137f34d852561eacbe9550a59015d51cecb0dacb628 + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 8d7204855ec14631a499bd7393ce1970 + digest: shake256:40bf4112960cad01281930beed85829910768e32e80e986791596853eccd42c0cbd9d96690b918f658020d2d427e16f8b6514e2ac7f4a10306fd32e77be44329 diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000..515035e5 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,24 @@ +version: v1 +name: buf.build/CosmosContracts/juno +deps: + - buf.build/cosmos/cosmos-sdk:v0.47.0 + - buf.build/cosmos/cosmos-proto:1935555c206d4afb9e94615dfd0fad31 + - buf.build/cosmos/gogo-proto:a14993478f40695898ed8a86931094b6656e8a5d + - buf.build/googleapis/googleapis:8d7204855ec14631a499bd7393ce1970 + - buf.build/cosmos/ics23:b1abd8678aab07165efd453c96796a179eb3131f +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + ignore: + - tendermint diff --git a/proto/gaia/globalfee/v1beta1/genesis.proto b/proto/gaia/globalfee/v1beta1/genesis.proto new file mode 100644 index 00000000..39493b0c --- /dev/null +++ b/proto/gaia/globalfee/v1beta1/genesis.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; +package gaia.globalfee.v1beta1; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/cosmos/gaia/x/globalfee/types"; + +// GenesisState - initial state of module +message GenesisState { + // Params of this module + Params params = 1 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "params,omitempty" + ]; +} + +// Params defines the set of module parameters. +message Params { + // Minimum stores the minimum gas price(s) for all TX on the chain. + // When multiple coins are defined then they are accepted alternatively. + // The list must be sorted by denoms asc. No duplicate denoms or zero amount + // values allowed. For more information see + // https://docs.cosmos.network/main/modules/auth#concepts + repeated cosmos.base.v1beta1.DecCoin minimum_gas_prices = 1 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "minimum_gas_prices,omitempty", + (gogoproto.moretags) = "yaml:\"minimum_gas_prices\"", + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" + ]; +} diff --git a/proto/gaia/globalfee/v1beta1/query.proto b/proto/gaia/globalfee/v1beta1/query.proto new file mode 100644 index 00000000..81f587c5 --- /dev/null +++ b/proto/gaia/globalfee/v1beta1/query.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; +package gaia.globalfee.v1beta1; + +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/cosmos/gaia/x/globalfee/types"; + +// Query defines the gRPC querier service. +service Query { + rpc MinimumGasPrices(QueryMinimumGasPricesRequest) + returns (QueryMinimumGasPricesResponse) { + option (google.api.http).get = + "/gaia/globalfee/v1beta1/minimum_gas_prices"; + } +} + +// QueryMinimumGasPricesRequest is the request type for the +// Query/MinimumGasPrices RPC method. +message QueryMinimumGasPricesRequest {} + +// QueryMinimumGasPricesResponse is the response type for the +// Query/MinimumGasPrices RPC method. +message QueryMinimumGasPricesResponse { + repeated cosmos.base.v1beta1.DecCoin minimum_gas_prices = 1 [ + (gogoproto.nullable) = false, + (gogoproto.jsontag) = "minimum_gas_prices,omitempty", + (gogoproto.moretags) = "yaml:\"minimum_gas_prices\"", + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" + ]; +} diff --git a/proto/osmosis/tokenfactory/v1beta1/authorityMetadata.proto b/proto/osmosis/tokenfactory/v1beta1/authorityMetadata.proto new file mode 100755 index 00000000..d1cfb4f4 --- /dev/null +++ b/proto/osmosis/tokenfactory/v1beta1/authorityMetadata.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; +package osmosis.tokenfactory.v1beta1; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/CosmosContracts/juno/x/tokenfactory/types"; + +// DenomAuthorityMetadata specifies metadata for addresses that have specific +// capabilities over a token factory denom. Right now there is only one Admin +// permission, but is planned to be extended to the future. +message DenomAuthorityMetadata { + option (gogoproto.equal) = true; + + // Can be empty for no admin, or a valid osmosis address + string admin = 1 [ (gogoproto.moretags) = "yaml:\"admin\"" ]; +} \ No newline at end of file diff --git a/proto/osmosis/tokenfactory/v1beta1/genesis.proto b/proto/osmosis/tokenfactory/v1beta1/genesis.proto new file mode 100755 index 00000000..09df7e3f --- /dev/null +++ b/proto/osmosis/tokenfactory/v1beta1/genesis.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; +package osmosis.tokenfactory.v1beta1; + +import "gogoproto/gogo.proto"; +import "osmosis/tokenfactory/v1beta1/authorityMetadata.proto"; +import "osmosis/tokenfactory/v1beta1/params.proto"; + +option go_package = "github.com/CosmosContracts/juno/x/tokenfactory/types"; + +// GenesisState defines the tokenfactory module's genesis state. +message GenesisState { + // params defines the paramaters of the module. + Params params = 1 [ (gogoproto.nullable) = false ]; + + repeated GenesisDenom factory_denoms = 2 [ + (gogoproto.moretags) = "yaml:\"factory_denoms\"", + (gogoproto.nullable) = false + ]; +} + +// GenesisDenom defines a tokenfactory denom that is defined within genesis +// state. The structure contains DenomAuthorityMetadata which defines the +// denom's admin. +message GenesisDenom { + option (gogoproto.equal) = true; + + string denom = 1 [ (gogoproto.moretags) = "yaml:\"denom\"" ]; + DenomAuthorityMetadata authority_metadata = 2 [ + (gogoproto.moretags) = "yaml:\"authority_metadata\"", + (gogoproto.nullable) = false + ]; +} \ No newline at end of file diff --git a/proto/osmosis/tokenfactory/v1beta1/params.proto b/proto/osmosis/tokenfactory/v1beta1/params.proto new file mode 100755 index 00000000..a6c8edc2 --- /dev/null +++ b/proto/osmosis/tokenfactory/v1beta1/params.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; +package osmosis.tokenfactory.v1beta1; + +import "gogoproto/gogo.proto"; +import "osmosis/tokenfactory/v1beta1/authorityMetadata.proto"; +import "cosmos_proto/cosmos.proto"; +import "cosmos/base/v1beta1/coin.proto"; + +option go_package = "github.com/CosmosContracts/juno/x/tokenfactory/types"; + +// Params defines the parameters for the tokenfactory module. +message Params { + repeated cosmos.base.v1beta1.Coin denom_creation_fee = 1 [ + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins", + (gogoproto.moretags) = "yaml:\"denom_creation_fee\"", + (gogoproto.nullable) = false + ]; + + // if denom_creation_fee is an empty array, then this field is used to add more gas consumption + // to the base cost. + // https://github.com/CosmWasm/token-factory/issues/11 + uint64 denom_creation_gas_consume = 2 [ + (gogoproto.moretags) = "yaml:\"denom_creation_gas_consume\"", + (gogoproto.nullable) = true + ]; +} \ No newline at end of file diff --git a/proto/osmosis/tokenfactory/v1beta1/query.proto b/proto/osmosis/tokenfactory/v1beta1/query.proto new file mode 100755 index 00000000..9491e95c --- /dev/null +++ b/proto/osmosis/tokenfactory/v1beta1/query.proto @@ -0,0 +1,71 @@ +syntax = "proto3"; +package osmosis.tokenfactory.v1beta1; + +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; +import "cosmos/base/query/v1beta1/pagination.proto"; +import "osmosis/tokenfactory/v1beta1/authorityMetadata.proto"; +import "osmosis/tokenfactory/v1beta1/params.proto"; + +option go_package = "github.com/CosmosContracts/juno/x/tokenfactory/types"; + +// Query defines the gRPC querier service. +service Query { + // Params defines a gRPC query method that returns the tokenfactory module's + // parameters. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/osmosis/tokenfactory/v1beta1/params"; + } + + // DenomAuthorityMetadata defines a gRPC query method for fetching + // DenomAuthorityMetadata for a particular denom. + rpc DenomAuthorityMetadata(QueryDenomAuthorityMetadataRequest) + returns (QueryDenomAuthorityMetadataResponse) { + option (google.api.http).get = + "/osmosis/tokenfactory/v1beta1/denoms/{denom}/authority_metadata"; + } + + // DenomsFromCreator defines a gRPC query method for fetching all + // denominations created by a specific admin/creator. + rpc DenomsFromCreator(QueryDenomsFromCreatorRequest) + returns (QueryDenomsFromCreatorResponse) { + option (google.api.http).get = + "/osmosis/tokenfactory/v1beta1/denoms_from_creator/{creator}"; + } +} + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. + Params params = 1 [ (gogoproto.nullable) = false ]; +} + +// QueryDenomAuthorityMetadataRequest defines the request structure for the +// DenomAuthorityMetadata gRPC query. +message QueryDenomAuthorityMetadataRequest { + string denom = 1 [ (gogoproto.moretags) = "yaml:\"denom\"" ]; +} + +// QueryDenomAuthorityMetadataResponse defines the response structure for the +// DenomAuthorityMetadata gRPC query. +message QueryDenomAuthorityMetadataResponse { + DenomAuthorityMetadata authority_metadata = 1 [ + (gogoproto.moretags) = "yaml:\"authority_metadata\"", + (gogoproto.nullable) = false + ]; +} + +// QueryDenomsFromCreatorRequest defines the request structure for the +// DenomsFromCreator gRPC query. +message QueryDenomsFromCreatorRequest { + string creator = 1 [ (gogoproto.moretags) = "yaml:\"creator\"" ]; +} + +// QueryDenomsFromCreatorRequest defines the response structure for the +// DenomsFromCreator gRPC query. +message QueryDenomsFromCreatorResponse { + repeated string denoms = 1 [ (gogoproto.moretags) = "yaml:\"denoms\"" ]; +} diff --git a/proto/osmosis/tokenfactory/v1beta1/tx.proto b/proto/osmosis/tokenfactory/v1beta1/tx.proto new file mode 100755 index 00000000..3aa1a19a --- /dev/null +++ b/proto/osmosis/tokenfactory/v1beta1/tx.proto @@ -0,0 +1,109 @@ +syntax = "proto3"; +package osmosis.tokenfactory.v1beta1; + +import "gogoproto/gogo.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/bank/v1beta1/bank.proto"; + +option go_package = "github.com/CosmosContracts/juno/x/tokenfactory/types"; + +// Msg defines the tokefactory module's gRPC message service. +service Msg { + rpc CreateDenom(MsgCreateDenom) returns (MsgCreateDenomResponse); + rpc Mint(MsgMint) returns (MsgMintResponse); + rpc Burn(MsgBurn) returns (MsgBurnResponse); + rpc ChangeAdmin(MsgChangeAdmin) returns (MsgChangeAdminResponse); + rpc SetDenomMetadata(MsgSetDenomMetadata) + returns (MsgSetDenomMetadataResponse); + rpc ForceTransfer(MsgForceTransfer) returns (MsgForceTransferResponse); +} + +// MsgCreateDenom defines the message structure for the CreateDenom gRPC service +// method. It allows an account to create a new denom. It requires a sender +// address and a sub denomination. The (sender_address, sub_denomination) tuple +// must be unique and cannot be re-used. +// +// The resulting denom created is defined as +// . The resulting denom's admin is +// originally set to be the creator, but this can be changed later. The token +// denom does not indicate the current admin. +message MsgCreateDenom { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + // subdenom can be up to 44 "alphanumeric" characters long. + string subdenom = 2 [ (gogoproto.moretags) = "yaml:\"subdenom\"" ]; +} + +// MsgCreateDenomResponse is the return value of MsgCreateDenom +// It returns the full string of the newly created denom +message MsgCreateDenomResponse { + string new_token_denom = 1 + [ (gogoproto.moretags) = "yaml:\"new_token_denom\"" ]; +} + +// MsgMint is the sdk.Msg type for allowing an admin account to mint +// more of a token. For now, we only support minting to the sender account +message MsgMint { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + cosmos.base.v1beta1.Coin amount = 2 [ + (gogoproto.moretags) = "yaml:\"amount\"", + (gogoproto.nullable) = false + ]; + string mintToAddress = 3 + [ (gogoproto.moretags) = "yaml:\"mint_to_address\"" ]; +} + +message MsgMintResponse {} + +// MsgBurn is the sdk.Msg type for allowing an admin account to burn +// a token. For now, we only support burning from the sender account. +message MsgBurn { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + cosmos.base.v1beta1.Coin amount = 2 [ + (gogoproto.moretags) = "yaml:\"amount\"", + (gogoproto.nullable) = false + ]; + string burnFromAddress = 3 + [ (gogoproto.moretags) = "yaml:\"burn_from_address\"" ]; +} + +message MsgBurnResponse {} + +// MsgChangeAdmin is the sdk.Msg type for allowing an admin account to reassign +// adminship of a denom to a new account +message MsgChangeAdmin { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + string denom = 2 [ (gogoproto.moretags) = "yaml:\"denom\"" ]; + string new_admin = 3 [ (gogoproto.moretags) = "yaml:\"new_admin\"" ]; +} + +// MsgChangeAdminResponse defines the response structure for an executed +// MsgChangeAdmin message. +message MsgChangeAdminResponse {} + +// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set +// the denom's bank metadata +message MsgSetDenomMetadata { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + cosmos.bank.v1beta1.Metadata metadata = 2 [ + (gogoproto.moretags) = "yaml:\"metadata\"", + (gogoproto.nullable) = false + ]; +} + +// MsgSetDenomMetadataResponse defines the response structure for an executed +// MsgSetDenomMetadata message. +message MsgSetDenomMetadataResponse {} + +message MsgForceTransfer { + string sender = 1 [ (gogoproto.moretags) = "yaml:\"sender\"" ]; + cosmos.base.v1beta1.Coin amount = 2 [ + (gogoproto.moretags) = "yaml:\"amount\"", + (gogoproto.nullable) = false + ]; + string transferFromAddress = 3 + [ (gogoproto.moretags) = "yaml:\"transfer_from_address\"" ]; + string transferToAddress = 4 + [ (gogoproto.moretags) = "yaml:\"transfer_to_address\"" ]; +} + +message MsgForceTransferResponse {} \ No newline at end of file From cc000a09d94a7597b41f21ba3b8086aba5353f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Tue, 27 Jun 2023 17:55:47 +0700 Subject: [PATCH 04/18] update imports --- x/ibc-hooks/client/cli/query.go | 4 ++-- x/ibc-hooks/go.mod | 2 +- x/ibc-hooks/hooks.go | 4 ++-- x/ibc-hooks/ibc_module.go | 6 +++--- x/ibc-hooks/ics4_middleware.go | 4 ++-- x/ibc-hooks/keeper/keeper.go | 2 +- x/ibc-hooks/sdkmodule.go | 4 ++-- x/ibc-hooks/wasm_hook.go | 10 +++++----- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/x/ibc-hooks/client/cli/query.go b/x/ibc-hooks/client/cli/query.go index c17c6029..930ce8e6 100644 --- a/x/ibc-hooks/client/cli/query.go +++ b/x/ibc-hooks/client/cli/query.go @@ -5,11 +5,11 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/keeper" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/keeper" "github.com/spf13/cobra" "strings" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" ) func indexRunCmd(cmd *cobra.Command, args []string) error { diff --git a/x/ibc-hooks/go.mod b/x/ibc-hooks/go.mod index e1e89cdf..7810866c 100644 --- a/x/ibc-hooks/go.mod +++ b/x/ibc-hooks/go.mod @@ -1,4 +1,4 @@ -module github.com/osmosis-labs/osmosis/x/ibc-hooks +module github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks go 1.20 diff --git a/x/ibc-hooks/hooks.go b/x/ibc-hooks/hooks.go index 1735a5af..49081b2c 100644 --- a/x/ibc-hooks/hooks.go +++ b/x/ibc-hooks/hooks.go @@ -6,8 +6,8 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" // ibc-go - channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" ) type Hooks interface{} diff --git a/x/ibc-hooks/ibc_module.go b/x/ibc-hooks/ibc_module.go index 94e542ae..50430eb0 100644 --- a/x/ibc-hooks/ibc_module.go +++ b/x/ibc-hooks/ibc_module.go @@ -6,9 +6,9 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" // ibc-go - channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" - ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" ) var _ porttypes.Middleware = &IBCMiddleware{} diff --git a/x/ibc-hooks/ics4_middleware.go b/x/ibc-hooks/ics4_middleware.go index 8e4f7307..5aeeeca3 100644 --- a/x/ibc-hooks/ics4_middleware.go +++ b/x/ibc-hooks/ics4_middleware.go @@ -6,8 +6,8 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" // ibc-go - porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" - ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" ) var _ porttypes.ICS4Wrapper = &ICS4Middleware{} diff --git a/x/ibc-hooks/keeper/keeper.go b/x/ibc-hooks/keeper/keeper.go index 7562a0fd..ca36216f 100644 --- a/x/ibc-hooks/keeper/keeper.go +++ b/x/ibc-hooks/keeper/keeper.go @@ -6,7 +6,7 @@ import ( "github.com/tendermint/tendermint/libs/log" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" sdk "github.com/cosmos/cosmos-sdk/types" ) diff --git a/x/ibc-hooks/sdkmodule.go b/x/ibc-hooks/sdkmodule.go index 160e5945..36b5f17c 100644 --- a/x/ibc-hooks/sdkmodule.go +++ b/x/ibc-hooks/sdkmodule.go @@ -11,8 +11,8 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/client/cli" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/client/cli" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" diff --git a/x/ibc-hooks/wasm_hook.go b/x/ibc-hooks/wasm_hook.go index 06072c0b..4ed388a0 100644 --- a/x/ibc-hooks/wasm_hook.go +++ b/x/ibc-hooks/wasm_hook.go @@ -7,18 +7,18 @@ import ( wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/keeper" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" "github.com/osmosis-labs/osmosis/osmoutils" sdk "github.com/cosmos/cosmos-sdk/types" - transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" - "github.com/osmosis-labs/osmosis/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" ) type ContractAck struct { From f51fa12d06583e1e79437a3afe96ca49ee38de19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Wed, 28 Jun 2023 12:44:56 +0700 Subject: [PATCH 05/18] remove go.mod and upgrade to sdk47 --- osmosis-types/osmoutils/ibc.go | 71 ++ x/ibc-hooks/client/cli/query.go | 7 +- x/ibc-hooks/go.mod | 149 ---- x/ibc-hooks/go.sum | 1434 ------------------------------- x/ibc-hooks/hooks.go | 12 +- x/ibc-hooks/ibc_module.go | 17 +- x/ibc-hooks/ics4_middleware.go | 23 +- x/ibc-hooks/keeper/keeper.go | 10 +- x/ibc-hooks/sdkmodule.go | 24 +- x/ibc-hooks/wasm_hook.go | 61 +- 10 files changed, 168 insertions(+), 1640 deletions(-) create mode 100644 osmosis-types/osmoutils/ibc.go delete mode 100644 x/ibc-hooks/go.mod delete mode 100644 x/ibc-hooks/go.sum diff --git a/osmosis-types/osmoutils/ibc.go b/osmosis-types/osmoutils/ibc.go new file mode 100644 index 00000000..774e6312 --- /dev/null +++ b/osmosis-types/osmoutils/ibc.go @@ -0,0 +1,71 @@ +package osmoutils + +import ( + "encoding/json" + + sdk "github.com/cosmos/cosmos-sdk/types" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" +) + +// NewEmitErrorAcknowledgement creates a new error acknowledgement after having emitted an event with the +// details of the error. +func NewEmitErrorAcknowledgement(ctx sdk.Context, err error, errorContexts ...string) channeltypes.Acknowledgement { + attributes := make([]sdk.Attribute, len(errorContexts)+1) + attributes[0] = sdk.NewAttribute("error", err.Error()) + for i, s := range errorContexts { + attributes[i+1] = sdk.NewAttribute("error-context", s) + } + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + "ibc-acknowledgement-error", + attributes..., + ), + }) + + return channeltypes.NewErrorAcknowledgement(err) +} + +// MustExtractDenomFromPacketOnRecv takes a packet with a valid ICS20 token data in the Data field and returns the +// denom as represented in the local chain. +// If the data cannot be unmarshalled this function will panic +func MustExtractDenomFromPacketOnRecv(packet ibcexported.PacketI) string { + var data transfertypes.FungibleTokenPacketData + if err := json.Unmarshal(packet.GetData(), &data); err != nil { + panic("unable to unmarshal ICS20 packet data") + } + + var denom string + if transfertypes.ReceiverChainIsSource(packet.GetSourcePort(), packet.GetSourceChannel(), data.Denom) { + // remove prefix added by sender chain + voucherPrefix := transfertypes.GetDenomPrefix(packet.GetSourcePort(), packet.GetSourceChannel()) + + unprefixedDenom := data.Denom[len(voucherPrefix):] + + // coin denomination used in sending from the escrow address + denom = unprefixedDenom + + // The denomination used to send the coins is either the native denom or the hash of the path + // if the denomination is not native. + denomTrace := transfertypes.ParseDenomTrace(unprefixedDenom) + if denomTrace.Path != "" { + denom = denomTrace.IBCDenom() + } + } else { + prefixedDenom := transfertypes.GetDenomPrefix(packet.GetDestPort(), packet.GetDestChannel()) + data.Denom + denom = transfertypes.ParseDenomTrace(prefixedDenom).IBCDenom() + } + return denom +} + +// IsAckError checks an IBC acknowledgement to see if it's an error. +// This is a replacement for ack.Success() which is currently not working on some circumstances +func IsAckError(acknowledgement []byte) bool { + var ackErr channeltypes.Acknowledgement_Error + if err := json.Unmarshal(acknowledgement, &ackErr); err == nil && len(ackErr.Error) > 0 { + return true + } + return false +} diff --git a/x/ibc-hooks/client/cli/query.go b/x/ibc-hooks/client/cli/query.go index 930ce8e6..e95e842b 100644 --- a/x/ibc-hooks/client/cli/query.go +++ b/x/ibc-hooks/client/cli/query.go @@ -2,14 +2,15 @@ package cli import ( "fmt" + "strings" + + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/keeper" "github.com/spf13/cobra" - "strings" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) func indexRunCmd(cmd *cobra.Command, args []string) error { diff --git a/x/ibc-hooks/go.mod b/x/ibc-hooks/go.mod deleted file mode 100644 index 7810866c..00000000 --- a/x/ibc-hooks/go.mod +++ /dev/null @@ -1,149 +0,0 @@ -module github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks - -go 1.20 - -require ( - github.com/CosmWasm/wasmd v0.31.0 - github.com/cosmos/cosmos-sdk v0.47.1 - github.com/cosmos/ibc-go/v4 v4.3.0 - github.com/gorilla/mux v1.8.0 - github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78 - github.com/spf13/cobra v1.6.1 - github.com/tendermint/tendermint v0.34.26 -) - -require ( - filippo.io/edwards25519 v1.0.0-rc.1 // indirect - github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.1 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.2.1 // indirect - github.com/Workiva/go-datastructures v1.0.53 // indirect - github.com/armon/go-metrics v0.4.1 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect - github.com/btcsuite/btcd v0.22.2 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect - github.com/confio/ics23/go v0.9.0 // indirect - github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect - github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.6 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.5 // indirect - github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect - github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v3 v3.2103.2 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect - github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/goccy/go-json v0.10.2 // indirect - github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect - github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/flatbuffers v1.12.1 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/orderedcode v0.0.1 // indirect - github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect - github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.11 // indirect - github.com/lib/pq v1.10.7 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect - github.com/minio/highwayhash v1.0.2 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/mtibben/percent v0.2.1 // indirect - github.com/nxadm/tail v1.4.8 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.27.0 // indirect - github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.15.0 // indirect - github.com/stretchr/testify v1.8.2 // indirect - github.com/subosito/gotenv v1.4.2 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect - github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b // indirect - github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.1 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.24.0 // indirect - golang.org/x/crypto v0.5.0 // indirect - golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 // indirect - golang.org/x/mod v0.9.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/term v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect - google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa // indirect - google.golang.org/grpc v1.53.0 // indirect - google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.7 // indirect -) - -replace ( - // osmosis-patched wasmd - // ToDo: replace the commit hash with v0.31.0-osmo-v15 once the version is tagged - github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.31.0-osmo-v16 - // dragonberry - github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 - // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v16.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/43c58d9061e3b8e0f06c3d9efef8c728800ab554 - github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434 - // use cosmos-compatible protobufs - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/tendermint/tendermint => github.com/informalsystems/tendermint v0.34.24 -) diff --git a/x/ibc-hooks/go.sum b/x/ibc-hooks/go.sum deleted file mode 100644 index 7629a479..00000000 --- a/x/ibc-hooks/go.sum +++ /dev/null @@ -1,1434 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= -git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= -git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmvm v1.2.1 h1:si0tRsRDdUShV0k51Wn6zRKlmj3/WWP9Yr4cLmDTf+8= -github.com/CosmWasm/wasmvm v1.2.1/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= -github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= -github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= -github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= -github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= -github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= -github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd v0.22.2 h1:vBZ+lGGd1XubpOWO67ITJpAEsICWhA0YzqkcpkgNBfo= -github.com/btcsuite/btcd v0.22.2/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= -github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= -github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= -github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= -github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= -github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= -github.com/consensys/gnark-crypto v0.5.3/go.mod h1:hOdPlWQV1gDLp7faZVeg8Y0iEPFaOUnCc4XeCCk96p0= -github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= -github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= -github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= -github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= -github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.6 h1:Ee7z15dWJaGlgM2rWrK8N2IX7PQcuccu8oG68jp5RL4= -github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.5 h1:rGA3hOrgNxgRM5wYcSCxgQBap7fW82WZgY78V9po/iY= -github.com/cosmos/iavl v0.19.5/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v4 v4.3.0 h1:yOzVsyZzsv4XPBux8gq+D0LhZn45yGWKjvT+6Vyo5no= -github.com/cosmos/ibc-go/v4 v4.3.0/go.mod h1:CcLvIoi9NNtIbNsxs4KjBGjYhlwqtsmXy1AKARKiMzQ= -github.com/cosmos/interchain-accounts v0.2.6 h1:TV2M2g1/Rb9MCNw1YePdBKE0rcEczNj1RGHT+2iRYas= -github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= -github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= -github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= -github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= -github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= -github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= -github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= -github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= -github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= -github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= -github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= -github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= -github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= -github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= -github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= -github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= -github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= -github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= -github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= -github.com/informalsystems/tendermint v0.34.24 h1:2beNEg5tp+U5oj/Md+0xDBsMHGbdue31T3OrstS6xS0= -github.com/informalsystems/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= -github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c h1:XImQJfpJLmGEEd8ll5yPVyL/aEvmgGHW4WYTyNseLOM= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= -github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= -github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= -github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= -github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= -github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= -github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434 h1:RetElHdhDl6f00Tjj7ii2r+HX2aa/u+dhgwQb5hKv8Y= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20230326212251-7a2cf2993434/go.mod h1:ss3tUfPTwaa6NsoPZrCR7xOqLqCK0LwoNbc2Q8Zs5/Y= -github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78 h1:F7MljkYGSLD8p8GEZAQwgMkqWIRdwK8rDrJnnedyKBQ= -github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230329102328-d2e229f9cb78/go.mod h1:zyBrzl2rsZWGbOU+/1hzA+xoQlCshzZuHe/5mzdb/zo= -github.com/osmosis-labs/wasmd v0.31.0-osmo-v16 h1:X747cZYdnqc/+RV48iPVeGprpVb/fUWSaKGsZUWrdbg= -github.com/osmosis-labs/wasmd v0.31.0-osmo-v16/go.mod h1:Rf8zW/GgBQyFRRB4s62VQHWA6sTlMFSjoDQQpoq64iI= -github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= -github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= -github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= -github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= -github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= -github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= -github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b h1:Y3ZPG6gdDCAV2sdGkD759ji/09GzaNu1X3qKTmZIbTo= -github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b/go.mod h1:ADqbS9NOSnBRK9R2RtYC61CdsHmVMD/yXAzcMuPexbU= -github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= -github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= -github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= -github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= -github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= -github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 h1:BEABXpNXLEz0WxtA+6CQIz2xkg80e+1zrhWyMcq8VzE= -golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa h1:qQPhfbPO23fwm/9lQr91L1u62Zo6cm+zI+slZT+uf+o= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= -nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/x/ibc-hooks/hooks.go b/x/ibc-hooks/hooks.go index 49081b2c..07d48a9f 100644 --- a/x/ibc-hooks/hooks.go +++ b/x/ibc-hooks/hooks.go @@ -4,10 +4,11 @@ import ( // external libraries sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" // ibc-go - channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" ) type Hooks interface{} @@ -111,14 +112,15 @@ type OnTimeoutPacketAfterHooks interface { } // SendPacket Hooks + type SendPacketOverrideHooks interface { - SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) error + SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte) (uint64, error) } type SendPacketBeforeHooks interface { - SendPacketBeforeHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) + SendPacketBeforeHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte) } type SendPacketAfterHooks interface { - SendPacketAfterHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, err error) + SendPacketAfterHook(ctx sdk.Context, chanCap *capabilitytypes.Capability, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte, err error) } // WriteAcknowledgement Hooks diff --git a/x/ibc-hooks/ibc_module.go b/x/ibc-hooks/ibc_module.go index 50430eb0..fea66edb 100644 --- a/x/ibc-hooks/ibc_module.go +++ b/x/ibc-hooks/ibc_module.go @@ -6,9 +6,10 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" // ibc-go - channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" - porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" - ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" ) var _ porttypes.Middleware = &IBCMiddleware{} @@ -237,9 +238,13 @@ func (im IBCMiddleware) OnTimeoutPacket( func (im IBCMiddleware) SendPacket( ctx sdk.Context, chanCap *capabilitytypes.Capability, - packet ibcexported.PacketI, -) error { - return im.ICS4Middleware.SendPacket(ctx, chanCap, packet) + sourcePort string, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, + data []byte, +) (uint64, error) { + return im.ICS4Middleware.SendPacket(ctx, chanCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data) } // WriteAcknowledgement implements the ICS4 Wrapper interface diff --git a/x/ibc-hooks/ics4_middleware.go b/x/ibc-hooks/ics4_middleware.go index 5aeeeca3..8db1f001 100644 --- a/x/ibc-hooks/ics4_middleware.go +++ b/x/ibc-hooks/ics4_middleware.go @@ -6,8 +6,9 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" // ibc-go - porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" - ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" ) var _ porttypes.ICS4Wrapper = &ICS4Middleware{} @@ -26,22 +27,28 @@ func NewICS4Middleware(channel porttypes.ICS4Wrapper, hooks Hooks) ICS4Middlewar } } -func (i ICS4Middleware) SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error { +func (i ICS4Middleware) SendPacket(ctx sdk.Context, + channelCap *capabilitytypes.Capability, + sourcePort string, + sourceChannel string, + timeoutHeight clienttypes.Height, + timeoutTimestamp uint64, + data []byte) (sequence uint64, err error) { if hook, ok := i.Hooks.(SendPacketOverrideHooks); ok { - return hook.SendPacketOverride(i, ctx, channelCap, packet) + return hook.SendPacketOverride(i, ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data) } if hook, ok := i.Hooks.(SendPacketBeforeHooks); ok { - hook.SendPacketBeforeHook(ctx, channelCap, packet) + hook.SendPacketBeforeHook(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data) } - err := i.channel.SendPacket(ctx, channelCap, packet) + sequence, err = i.channel.SendPacket(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data) if hook, ok := i.Hooks.(SendPacketAfterHooks); ok { - hook.SendPacketAfterHook(ctx, channelCap, packet, err) + hook.SendPacketAfterHook(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data, err) } - return err + return sequence, err } func (i ICS4Middleware) WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement) error { diff --git a/x/ibc-hooks/keeper/keeper.go b/x/ibc-hooks/keeper/keeper.go index ca36216f..f4c8e4fe 100644 --- a/x/ibc-hooks/keeper/keeper.go +++ b/x/ibc-hooks/keeper/keeper.go @@ -2,24 +2,26 @@ package keeper import ( "fmt" + "github.com/cosmos/cosmos-sdk/types/address" - "github.com/tendermint/tendermint/libs/log" + "github.com/cometbft/cometbft/libs/log" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" + storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" ) type ( Keeper struct { - storeKey sdk.StoreKey + storeKey storetypes.StoreKey } ) // NewKeeper returns a new instance of the x/ibchooks keeper func NewKeeper( - storeKey sdk.StoreKey, + storeKey storetypes.StoreKey, ) Keeper { return Keeper{ storeKey: storeKey, diff --git a/x/ibc-hooks/sdkmodule.go b/x/ibc-hooks/sdkmodule.go index 36b5f17c..cf8a5b77 100644 --- a/x/ibc-hooks/sdkmodule.go +++ b/x/ibc-hooks/sdkmodule.go @@ -2,7 +2,6 @@ package ibc_hooks import ( "encoding/json" - "fmt" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -11,15 +10,14 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/client/cli" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/client/cli" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/osmosis-labs/osmosis/osmoutils" - + abci "github.com/cometbft/cometbft/abci/types" sdk "github.com/cosmos/cosmos-sdk/types" - abci "github.com/tendermint/tendermint/abci/types" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" ) var ( @@ -75,11 +73,11 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { type AppModule struct { AppModuleBasic - authKeeper osmoutils.AccountKeeper + authKeeper authkeeper.AccountKeeper } // NewAppModule creates a new AppModule object. -func NewAppModule(ak osmoutils.AccountKeeper) AppModule { +func NewAppModule(ak authkeeper.AccountKeeper) AppModule { return AppModule{ AppModuleBasic: AppModuleBasic{}, authKeeper: ak, @@ -94,21 +92,11 @@ func (AppModule) Name() string { // RegisterInvariants registers the ibc-hooks module invariants. func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} -// Route returns the message routing key for the ibc-hooks module. -func (AppModule) Route() sdk.Route { return sdk.Route{} } - // QuerierRoute returns the module's querier route name. func (AppModule) QuerierRoute() string { return "" } -// LegacyQuerierHandler returns the x/ibc-hooks module's sdk.Querier. -func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return func(sdk.Context, []string, abci.RequestQuery) ([]byte, error) { - return nil, fmt.Errorf("legacy querier not supported for the x/%s module", types.ModuleName) - } -} - // RegisterServices registers a gRPC query service to respond to the // module-specific gRPC queries. func (am AppModule) RegisterServices(cfg module.Configurator) { diff --git a/x/ibc-hooks/wasm_hook.go b/x/ibc-hooks/wasm_hook.go index 4ed388a0..8f84409c 100644 --- a/x/ibc-hooks/wasm_hook.go +++ b/x/ibc-hooks/wasm_hook.go @@ -5,20 +5,22 @@ import ( "fmt" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/keeper" + errorsmod "cosmossdk.io/errors" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - "github.com/osmosis-labs/osmosis/osmoutils" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/osmosis-types/osmoutils" sdk "github.com/cosmos/cosmos-sdk/types" - transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" - channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types" - ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" - "github.com/White-Whale-Defi-Platform/migaloo-chain/x/ibc-hooks/types" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) type ContractAck struct { @@ -27,6 +29,7 @@ type ContractAck struct { } type WasmHooks struct { + WasmKeeper *wasmkeeper.Keeper ContractKeeper *wasmkeeper.PermissionedKeeper ibcHooksKeeper *keeper.Keeper bech32PrefixAccAddr string @@ -129,7 +132,7 @@ func (h WasmHooks) execWasmMsg(ctx sdk.Context, execMsg *wasmtypes.MsgExecuteCon if err := execMsg.ValidateBasic(); err != nil { return nil, fmt.Errorf(types.ErrBadExecutionMsg, err.Error()) } - wasmMsgServer := wasmkeeper.NewMsgServerImpl(h.ContractKeeper) + wasmMsgServer := wasmkeeper.NewMsgServerImpl(h.WasmKeeper) return wasmMsgServer.ExecuteContract(sdk.WrapSDKContext(ctx), execMsg) } @@ -227,19 +230,45 @@ func ValidateAndParseMemo(memo string, receiver string) (isWasmRouted bool, cont } func (h WasmHooks) SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI) error { + height := clienttypes.Height{ + RevisionNumber: packet.GetTimeoutHeight().GetRevisionHeight(), + RevisionHeight: packet.GetTimeoutHeight().GetRevisionHeight(), + } + concretePacket, ok := packet.(channeltypes.Packet) if !ok { - return i.channel.SendPacket(ctx, chanCap, packet) // continue + if _, err := i.channel.SendPacket(ctx, chanCap, + packet.GetSourcePort(), + packet.GetSourceChannel(), + height, + packet.GetTimeoutTimestamp(), + packet.GetData()); err != nil { + return err + } } isIcs20, data := isIcs20Packet(concretePacket) if !isIcs20 { - return i.channel.SendPacket(ctx, chanCap, packet) // continue + if _, err := i.channel.SendPacket(ctx, chanCap, + packet.GetSourcePort(), + packet.GetSourceChannel(), + height, + packet.GetTimeoutTimestamp(), + packet.GetData()); err != nil { + return err + } } isCallbackRouted, metadata := jsonStringHasKey(data.GetMemo(), types.IBCCallbackKey) if !isCallbackRouted { - return i.channel.SendPacket(ctx, chanCap, packet) // continue + if _, err := i.channel.SendPacket(ctx, chanCap, + packet.GetSourcePort(), + packet.GetSourceChannel(), + height, + packet.GetTimeoutTimestamp(), + packet.GetData()); err != nil { + return err + } } // We remove the callback metadata from the memo as it has already been processed. @@ -252,7 +281,7 @@ func (h WasmHooks) SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap delete(metadata, types.IBCCallbackKey) bzMetadata, err := json.Marshal(metadata) if err != nil { - return sdkerrors.Wrap(err, "Send packet with callback error") + return errorsmod.Wrap(err, "Send packet with callback error") } stringMetadata := string(bzMetadata) if stringMetadata == "{}" { @@ -262,7 +291,7 @@ func (h WasmHooks) SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap } dataBytes, err := json.Marshal(data) if err != nil { - return sdkerrors.Wrap(err, "Send packet with callback error") + return errorsmod.Wrap(err, "Send packet with callback error") } packetWithoutCallbackMemo := channeltypes.Packet{ @@ -276,7 +305,13 @@ func (h WasmHooks) SendPacketOverride(i ICS4Middleware, ctx sdk.Context, chanCap TimeoutHeight: concretePacket.TimeoutHeight, } - err = i.channel.SendPacket(ctx, chanCap, packetWithoutCallbackMemo) + _, err = i.channel.SendPacket(ctx, chanCap, + packetWithoutCallbackMemo.GetSourcePort(), + packetWithoutCallbackMemo.GetSourceChannel(), + height, + packetWithoutCallbackMemo.GetTimeoutTimestamp(), + packetWithoutCallbackMemo.GetData(), + ) if err != nil { return err } From e0ab67cebd1e9027c291bf61e4d4adcb1f4c17d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Wed, 28 Jun 2023 16:02:22 +0700 Subject: [PATCH 06/18] go mod tidy --- go.mod | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index f9b5d1ee..9d65f1f4 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( cosmossdk.io/api v0.3.1 // indirect cosmossdk.io/core v0.5.1 // indirect cosmossdk.io/depinject v1.0.0-alpha.3 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect + cosmossdk.io/errors v1.0.0-beta.7 cosmossdk.io/tools/rosetta v0.2.1 filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -99,7 +99,7 @@ require ( github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect From 1976cb737fa3d93afac61a97a81c2558363dbc98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Wed, 28 Jun 2023 17:11:49 +0700 Subject: [PATCH 07/18] add wasmhook into app --- app/app.go | 35 ++++++++++++++++++++++++++++++++++- x/ibc-hooks/wasm_hook.go | 3 ++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/app/app.go b/app/app.go index 1ae04ec3..fb7dc6fa 100644 --- a/app/app.go +++ b/app/app.go @@ -53,6 +53,9 @@ import ( evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" + ibchooks "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks" + ibchookskeeper "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" + ibchookstypes "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" "github.com/cosmos/cosmos-sdk/x/feegrant" feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" @@ -241,6 +244,7 @@ var ( vesting.AppModuleBasic{}, tokenfactory.AppModuleBasic{}, wasm.AppModuleBasic{}, + ibchooks.AppModuleBasic{}, router.AppModuleBasic{}, ica.AppModuleBasic{}, intertx.AppModuleBasic{}, @@ -302,6 +306,7 @@ type MigalooApp struct { EvidenceKeeper evidencekeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly IBCFeeKeeper ibcfeekeeper.Keeper + IBCHooksKeeper *ibchookskeeper.Keeper ICQKeeper icqkeeper.Keeper ICAControllerKeeper icacontrollerkeeper.Keeper ICAHostKeeper icahostkeeper.Keeper @@ -311,6 +316,7 @@ type MigalooApp struct { FeeGrantKeeper feegrantkeeper.Keeper AuthzKeeper authzkeeper.Keeper WasmKeeper wasm.Keeper + ContractKeeper *wasmkeeper.PermissionedKeeper RouterKeeper routerkeeper.Keeper ConsensusParamsKeeper consensusparamkeeper.Keeper @@ -323,6 +329,10 @@ type MigalooApp struct { ScopedIBCFeeKeeper capabilitykeeper.ScopedKeeper ScopedWasmKeeper capabilitykeeper.ScopedKeeper + // Middleware wrapper + Ics20WasmHooks *ibchooks.WasmHooks + HooksICS4Wrapper ibchooks.ICS4Middleware + // the module manager mm *module.Manager @@ -363,7 +373,7 @@ func NewMigalooApp( evidencetypes.StoreKey, icqtypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, feegrant.StoreKey, authzkeeper.StoreKey, wasm.StoreKey, icahosttypes.StoreKey, icacontrollertypes.StoreKey, intertxtypes.StoreKey, ibcfeetypes.StoreKey, tokenfactorytypes.StoreKey, - alliancemoduletypes.StoreKey, consensusparamtypes.StoreKey, crisistypes.StoreKey, + alliancemoduletypes.StoreKey, consensusparamtypes.StoreKey, crisistypes.StoreKey, ibchookstypes.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) @@ -545,6 +555,20 @@ func NewMigalooApp( app.IBCKeeper.ChannelKeeper, ) + // Configure the hooks keeper + hooksKeeper := ibchookskeeper.NewKeeper( + app.keys[ibchookstypes.StoreKey], + ) + app.IBCHooksKeeper = &hooksKeeper + + migalooPrefix := sdk.GetConfig().GetBech32AccountAddrPrefix() + wasmHooks := ibchooks.NewWasmHooks(app.IBCHooksKeeper, app.ContractKeeper, &app.WasmKeeper, migalooPrefix) // The contract keeper needs to be set later // The contract keeper needs to be set later + app.Ics20WasmHooks = &wasmHooks + app.HooksICS4Wrapper = ibchooks.NewICS4Middleware( + app.IBCKeeper.ChannelKeeper, + app.Ics20WasmHooks, + ) + // IBC Fee Module keeper app.IBCFeeKeeper = ibcfeekeeper.NewKeeper( appCodec, keys[ibcfeetypes.StoreKey], @@ -681,6 +705,7 @@ func NewMigalooApp( var transferStack ibcporttypes.IBCModule transferStack = transfer.NewIBCModule(app.TransferKeeper) transferStack = ibcfee.NewIBCMiddleware(transferStack, app.IBCFeeKeeper) + transferStack = ibchooks.NewIBCMiddleware(transferStack, &app.HooksICS4Wrapper) // Create Interchain Accounts Stack // SendPacket, since it is originating from the application to core IBC: @@ -793,6 +818,7 @@ func NewMigalooApp( tokenfactory.NewAppModule(app.TokenFactoryKeeper, app.AccountKeeper, app.BankKeeper), router.NewAppModule(&app.RouterKeeper), crisis.NewAppModule(&app.CrisisKeeper, skipGenesisInvariants, app.GetSubspace(crisistypes.ModuleName)), // always be last to make sure that it checks for all invariants and not only part of them + ibchooks.NewAppModule(app.AccountKeeper), ) // During begin block slashing happens after distr.BeginBlocker so that @@ -827,6 +853,7 @@ func NewMigalooApp( wasm.ModuleName, tokenfactorytypes.ModuleName, alliancemoduletypes.ModuleName, + ibchookstypes.ModuleName, ) app.mm.SetOrderEndBlockers( @@ -857,6 +884,7 @@ func NewMigalooApp( wasm.ModuleName, tokenfactorytypes.ModuleName, alliancemoduletypes.ModuleName, + ibchookstypes.ModuleName, ) // NOTE: The genutils module must occur after staking so that pools are @@ -895,6 +923,7 @@ func NewMigalooApp( // wasm after ibc transfer wasm.ModuleName, alliancemoduletypes.ModuleName, + ibchookstypes.ModuleName, ) // Uncomment if you want to set a custom migration order here. @@ -968,6 +997,10 @@ func NewMigalooApp( app.ScopedInterTxKeeper = scopedInterTxKeeper app.ScopedICQKeeper = scopedICQKeeper + // set the contract keeper for the Ics20WasmHooks + app.ContractKeeper = wasmkeeper.NewDefaultPermissionKeeper(app.WasmKeeper) + app.Ics20WasmHooks.ContractKeeper = app.ContractKeeper + if loadLatest { if err := app.LoadLatestVersion(); err != nil { tmos.Exit(fmt.Sprintf("failed to load latest version: %s", err)) diff --git a/x/ibc-hooks/wasm_hook.go b/x/ibc-hooks/wasm_hook.go index 8f84409c..8bc21d87 100644 --- a/x/ibc-hooks/wasm_hook.go +++ b/x/ibc-hooks/wasm_hook.go @@ -35,8 +35,9 @@ type WasmHooks struct { bech32PrefixAccAddr string } -func NewWasmHooks(ibcHooksKeeper *keeper.Keeper, contractKeeper *wasmkeeper.PermissionedKeeper, bech32PrefixAccAddr string) WasmHooks { +func NewWasmHooks(ibcHooksKeeper *keeper.Keeper, contractKeeper *wasmkeeper.PermissionedKeeper, wasmKeeper *wasmkeeper.Keeper, bech32PrefixAccAddr string) WasmHooks { return WasmHooks{ + WasmKeeper: wasmKeeper, ContractKeeper: contractKeeper, ibcHooksKeeper: ibcHooksKeeper, bech32PrefixAccAddr: bech32PrefixAccAddr, From b11d913cceea30c5d12803025d0c0abb43a4b639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Thu, 29 Jun 2023 15:50:11 +0700 Subject: [PATCH 08/18] minor fix --- app/app.go | 14 +------------- go.mod | 5 ++++- go.sum | 6 ++++++ 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/app/app.go b/app/app.go index 6a0ecc65..b48491ab 100644 --- a/app/app.go +++ b/app/app.go @@ -101,14 +101,10 @@ import ( "github.com/cosmos/cosmos-sdk/x/evidence" evidencekeeper "github.com/cosmos/cosmos-sdk/x/evidence/keeper" evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" -<<<<<<< HEAD - govclient "github.com/cosmos/cosmos-sdk/x/gov/client" ibchooks "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks" ibchookskeeper "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" ibchookstypes "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" -======= ->>>>>>> release/v3.0.x "github.com/cosmos/cosmos-sdk/x/feegrant" feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" @@ -361,13 +357,8 @@ func NewMigalooApp( govtypes.StoreKey, paramstypes.StoreKey, ibcexported.StoreKey, upgradetypes.StoreKey, routertypes.StoreKey, evidencetypes.StoreKey, icqtypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, feegrant.StoreKey, authzkeeper.StoreKey, wasm.StoreKey, icahosttypes.StoreKey, -<<<<<<< HEAD - icacontrollertypes.StoreKey, intertxtypes.StoreKey, ibcfeetypes.StoreKey, tokenfactorytypes.StoreKey, - alliancemoduletypes.StoreKey, consensusparamtypes.StoreKey, crisistypes.StoreKey, ibchookstypes.StoreKey, -======= icacontrollertypes.StoreKey, ibcfeetypes.StoreKey, tokenfactorytypes.StoreKey, - alliancemoduletypes.StoreKey, consensusparamtypes.StoreKey, crisistypes.StoreKey, ->>>>>>> release/v3.0.x + alliancemoduletypes.StoreKey, consensusparamtypes.StoreKey, crisistypes.StoreKey, ibchookstypes.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) @@ -695,9 +686,7 @@ func NewMigalooApp( var transferStack ibcporttypes.IBCModule transferStack = transfer.NewIBCModule(app.TransferKeeper) transferStack = ibcfee.NewIBCMiddleware(transferStack, app.IBCFeeKeeper) -<<<<<<< HEAD transferStack = ibchooks.NewIBCMiddleware(transferStack, &app.HooksICS4Wrapper) -======= transferStack = router.NewIBCMiddleware( transferStack, &app.RouterKeeper, @@ -705,7 +694,6 @@ func NewMigalooApp( routerkeeper.DefaultForwardTransferPacketTimeoutTimestamp, routerkeeper.DefaultRefundTransferPacketTimeoutTimestamp, ) ->>>>>>> release/v3.0.x // Create Interchain Accounts Stack // SendPacket, since it is originating from the application to core IBC: diff --git a/go.mod b/go.mod index b11d8b17..a9cdd7d6 100644 --- a/go.mod +++ b/go.mod @@ -12,9 +12,12 @@ require ( github.com/cosmos/ibc-go/v7 v7.2.0 github.com/gorilla/mux v1.8.0 github.com/prometheus/client_golang v1.16.0 + github.com/rakyll/statik v0.1.7 github.com/spf13/cast v1.5.1 github.com/spf13/cobra v1.7.0 github.com/spf13/viper v1.16.0 + github.com/strangelove-ventures/async-icq/v7 v7.0.0-20230413165143-a3b65ccdc897 + github.com/strangelove-ventures/packet-forward-middleware/v7 v7.0.0-20230523193151-73dea436e53f github.com/stretchr/testify v1.8.4 github.com/terra-money/alliance v0.2.2 ) @@ -23,9 +26,9 @@ require ( cosmossdk.io/log v1.1.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/s2a-go v0.1.3 // indirect + github.com/iancoleman/orderedmap v0.2.0 // indirect github.com/linxGnu/grocksdb v1.7.16 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/rakyll/statik v0.1.7 // indirect github.com/rs/zerolog v1.29.1 // indirect ) diff --git a/go.sum b/go.sum index 7ee9b499..75cd4dc9 100644 --- a/go.sum +++ b/go.sum @@ -871,6 +871,8 @@ github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0Jr github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= +github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -1152,6 +1154,10 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/strangelove-ventures/async-icq/v7 v7.0.0-20230413165143-a3b65ccdc897 h1:lCTD5L1v1K1KC6KXjyt4o1X+yzV14RbbrPZaF29n8uI= +github.com/strangelove-ventures/async-icq/v7 v7.0.0-20230413165143-a3b65ccdc897/go.mod h1:ag05Q54Wkr0jVwfe+14sxnuWbw0gBOxtPQv9afBBnr0= +github.com/strangelove-ventures/packet-forward-middleware/v7 v7.0.0-20230523193151-73dea436e53f h1:NJdZ+YJ9Vf2t286L20IjFK0SxGpobF1xIp5ZQlxWetk= +github.com/strangelove-ventures/packet-forward-middleware/v7 v7.0.0-20230523193151-73dea436e53f/go.mod h1:DJNSVK8NCYHM+aZHCFkcAqPwjzwHYAjhjSMlhAGtJ3c= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= From 4f43cce6d142823e586c5fc17b1db383213992d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Thu, 29 Jun 2023 15:54:48 +0700 Subject: [PATCH 09/18] lint --- app/app.go | 7 +++---- osmosis-types/osmoutils/ibc.go | 3 ++- x/ibc-hooks/client/cli/query.go | 5 +++-- x/ibc-hooks/hooks.go | 8 ++++---- x/ibc-hooks/ibc_module.go | 8 ++++---- x/ibc-hooks/ics4_middleware.go | 11 ++++++----- x/ibc-hooks/keeper/keeper.go | 7 +++---- x/ibc-hooks/sdkmodule.go | 16 ++++++++-------- x/ibc-hooks/wasm_hook.go | 17 ++++++++--------- 9 files changed, 41 insertions(+), 41 deletions(-) diff --git a/app/app.go b/app/app.go index b48491ab..e6ae8cdd 100644 --- a/app/app.go +++ b/app/app.go @@ -101,10 +101,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/evidence" evidencekeeper "github.com/cosmos/cosmos-sdk/x/evidence/keeper" evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" - - ibchooks "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks" - ibchookskeeper "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" - ibchookstypes "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" "github.com/cosmos/cosmos-sdk/x/feegrant" feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" @@ -146,6 +142,9 @@ import ( // Upgrade Handler upgrades "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/app/upgrades" v2 "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/app/upgrades/v2" + ibchooks "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks" + ibchookskeeper "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" + ibchookstypes "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) const ( diff --git a/osmosis-types/osmoutils/ibc.go b/osmosis-types/osmoutils/ibc.go index 774e6312..56e97efb 100644 --- a/osmosis-types/osmoutils/ibc.go +++ b/osmosis-types/osmoutils/ibc.go @@ -3,10 +3,11 @@ package osmoutils import ( "encoding/json" - sdk "github.com/cosmos/cosmos-sdk/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + + sdk "github.com/cosmos/cosmos-sdk/types" ) // NewEmitErrorAcknowledgement creates a new error acknowledgement after having emitted an event with the diff --git a/x/ibc-hooks/client/cli/query.go b/x/ibc-hooks/client/cli/query.go index e95e842b..f72bc073 100644 --- a/x/ibc-hooks/client/cli/query.go +++ b/x/ibc-hooks/client/cli/query.go @@ -4,12 +4,13 @@ import ( "fmt" "strings" - "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" + "github.com/spf13/cobra" + "github.com/cosmos/cosmos-sdk/client/flags" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" - "github.com/spf13/cobra" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) diff --git a/x/ibc-hooks/hooks.go b/x/ibc-hooks/hooks.go index 07d48a9f..c0d5e449 100644 --- a/x/ibc-hooks/hooks.go +++ b/x/ibc-hooks/hooks.go @@ -1,14 +1,14 @@ package ibc_hooks import ( - // external libraries - sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - // ibc-go channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" ) type Hooks interface{} diff --git a/x/ibc-hooks/ibc_module.go b/x/ibc-hooks/ibc_module.go index fea66edb..d1630d65 100644 --- a/x/ibc-hooks/ibc_module.go +++ b/x/ibc-hooks/ibc_module.go @@ -1,15 +1,15 @@ package ibc_hooks import ( - // external libraries - sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - // ibc-go clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" ) var _ porttypes.Middleware = &IBCMiddleware{} diff --git a/x/ibc-hooks/ics4_middleware.go b/x/ibc-hooks/ics4_middleware.go index 8db1f001..0984cc73 100644 --- a/x/ibc-hooks/ics4_middleware.go +++ b/x/ibc-hooks/ics4_middleware.go @@ -1,14 +1,14 @@ package ibc_hooks import ( - // external libraries - sdk "github.com/cosmos/cosmos-sdk/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - // ibc-go clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" porttypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" ) var _ porttypes.ICS4Wrapper = &ICS4Middleware{} @@ -33,7 +33,8 @@ func (i ICS4Middleware) SendPacket(ctx sdk.Context, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, - data []byte) (sequence uint64, err error) { + data []byte, +) (sequence uint64, err error) { if hook, ok := i.Hooks.(SendPacketOverrideHooks); ok { return hook.SendPacketOverride(i, ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, data) } diff --git a/x/ibc-hooks/keeper/keeper.go b/x/ibc-hooks/keeper/keeper.go index f4c8e4fe..91ff4b77 100644 --- a/x/ibc-hooks/keeper/keeper.go +++ b/x/ibc-hooks/keeper/keeper.go @@ -3,14 +3,13 @@ package keeper import ( "fmt" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/address" "github.com/cometbft/cometbft/libs/log" "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" - - storetypes "github.com/cosmos/cosmos-sdk/store/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) type ( @@ -58,6 +57,6 @@ func (k Keeper) DeletePacketCallback(ctx sdk.Context, channel string, packetSequ func DeriveIntermediateSender(channel, originalSender, bech32Prefix string) (string, error) { senderStr := fmt.Sprintf("%s/%s", channel, originalSender) senderHash32 := address.Hash(types.SenderPrefix, []byte(senderStr)) - sender := sdk.AccAddress(senderHash32[:]) + sender := sdk.AccAddress(senderHash32) return sdk.Bech32ifyAddressBytes(bech32Prefix, sender) } diff --git a/x/ibc-hooks/sdkmodule.go b/x/ibc-hooks/sdkmodule.go index cf8a5b77..ab1e5ff0 100644 --- a/x/ibc-hooks/sdkmodule.go +++ b/x/ibc-hooks/sdkmodule.go @@ -3,21 +3,21 @@ package ibc_hooks import ( "encoding/json" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/types/module" "github.com/gorilla/mux" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" - "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/client/cli" - "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" - + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" - - abci "github.com/cometbft/cometbft/abci/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + + abci "github.com/cometbft/cometbft/abci/types" + + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/client/cli" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) var ( diff --git a/x/ibc-hooks/wasm_hook.go b/x/ibc-hooks/wasm_hook.go index 8bc21d87..cf0087b1 100644 --- a/x/ibc-hooks/wasm_hook.go +++ b/x/ibc-hooks/wasm_hook.go @@ -5,21 +5,20 @@ import ( "fmt" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - - errorsmod "cosmossdk.io/errors" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - - "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/osmosis-types/osmoutils" - - sdk "github.com/cosmos/cosmos-sdk/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" channeltypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + errorsmod "cosmossdk.io/errors" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/osmosis-types/osmoutils" + "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/keeper" "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/ibc-hooks/types" ) From 1cf54d43bdb27fef256d69b08c5827bf44995210 Mon Sep 17 00:00:00 2001 From: anhductn2001 Date: Thu, 29 Jun 2023 16:45:50 +0700 Subject: [PATCH 10/18] init interchaintest ibchook --- tests/interchaintest/bytecode/counter.wasm | Bin 0 -> 161782 bytes .../bytecode/crosschain_registry.wasm | Bin 0 -> 377257 bytes .../bytecode/crosschain_swaps.wasm | Bin 0 -> 437733 bytes tests/interchaintest/bytecode/cw20_base.wasm | Bin 0 -> 318421 bytes tests/interchaintest/bytecode/cw20_ics20.wasm | Bin 0 -> 338457 bytes tests/interchaintest/bytecode/echo.wasm | Bin 0 -> 125095 bytes tests/interchaintest/bytecode/outpost.wasm | Bin 0 -> 205107 bytes tests/interchaintest/bytecode/swaprouter.wasm | Bin 0 -> 244913 bytes tests/interchaintest/helpers/cosmwasm.go | 87 +++++++++ tests/interchaintest/helpers/ibc_hooks.go | 40 ++++ tests/interchaintest/helpers/types.go | 78 ++++++++ tests/interchaintest/ibc_hook_test.go | 173 ++++++++++++++++++ tests/interchaintest/setup.go | 1 + 13 files changed, 379 insertions(+) create mode 100644 tests/interchaintest/bytecode/counter.wasm create mode 100644 tests/interchaintest/bytecode/crosschain_registry.wasm create mode 100644 tests/interchaintest/bytecode/crosschain_swaps.wasm create mode 100644 tests/interchaintest/bytecode/cw20_base.wasm create mode 100644 tests/interchaintest/bytecode/cw20_ics20.wasm create mode 100644 tests/interchaintest/bytecode/echo.wasm create mode 100644 tests/interchaintest/bytecode/outpost.wasm create mode 100644 tests/interchaintest/bytecode/swaprouter.wasm create mode 100644 tests/interchaintest/helpers/cosmwasm.go create mode 100644 tests/interchaintest/helpers/ibc_hooks.go create mode 100644 tests/interchaintest/helpers/types.go create mode 100644 tests/interchaintest/ibc_hook_test.go diff --git a/tests/interchaintest/bytecode/counter.wasm b/tests/interchaintest/bytecode/counter.wasm new file mode 100644 index 0000000000000000000000000000000000000000..938171ef84867121a5cd52ae935f2628d3620ddd GIT binary patch literal 161782 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 literal 0 HcmV?d00001 diff --git a/tests/interchaintest/bytecode/crosschain_registry.wasm b/tests/interchaintest/bytecode/crosschain_registry.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4248452bd5a6e3a509f1e01d5104c917eaa31cfc GIT binary patch literal 377257 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⪚Y?q*@Y!&CVKD4lD)CvXWfXm6k8)is13` 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 literal 0 HcmV?d00001 diff --git a/tests/interchaintest/bytecode/crosschain_swaps.wasm b/tests/interchaintest/bytecode/crosschain_swaps.wasm new file mode 100644 index 0000000000000000000000000000000000000000..910814081e31ee658db135a1b70ff5d8dbd74121 GIT binary patch literal 437733 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�-^nx?e;e8q$(Bh9L&et*5D zfbLhJshPCtAVI_m-UT_fZ6_Dt=$MFuS#u$8ezKv6dsDDb+?bDr9U+ylD395SfasI= zUvKMy&}E5}uxbqFLm07#sy!h1u?z}&>lh2t+P9YK0~usvU{@KTVUis=$p7(tkc%sb z!<`iirR+G8*Y$|{QM#flzb(+vL#@1G$B19vq%LHoK8@H&K`|*VA*T33`uYr4alJk` zPMYdw@h9V@H8td~EK(O|Q@jBeO6Nwg#@8Iz4tJq(IbWgl2z0G%HfJqElYs4&GALk1 z;50dwbGV0862=wT^_s@uMrw>UX-raD-Nc&CsUI*k=&Pts6xvby?XOU=SC8o;xfhqS z^C|XiCtrlwThMXx#X@WR*Lq9s(=zo8x73gchX2Y8`E90;l{5X9ceQIK&I6F>s1A>i z4H2V}QLrurvZ+*NEpBCx6+XYNc_2YZ?+i<9wX$8*IXLtbgksl@L~ELBUez?atj~6y zWw)jyc~i5bYwtL_i$e@A1Eu@I9i|r8%1Y$kf#GcS3DJdz?t`?9!Y_j1M1`$1Hwdk_}}`3>N( z@J@6BCto3n=ahWiP`t5sAdcsQJ}MfWn?myLhW822k0{A$oAVg7v|BAvJ^7eUW8g4n zSph}>$o@9~M4y$$cm~)?NyN$s*D5(Y7xt$qUC~chlI7e%<>(|zRIIsXXI(1<{Uk^X zg&fZ1_9(w|KlXJ5*i4A zb^&C#(*nyvK0DD2fCHJxt(tlc;61-Bbl?ZRo3vlK|@tozK+DEtBeOVp{UH)DrV8@yK>E+^kKy^)lw(j;l7qg-KJ zWzVGo>cT!V&Zwn?)54EZpmu=PV5@Rh(LHywUHv6GmW!Ci?R0H-_8xT)2cU9y_I`EG zT9|+`m^8FSDKIblIo@Fb>0P`rD_K z@6VWkJx24+;nJF6l7DI5XJRsE>dBlDnsBs7UJ9SF1bZco{`S?n$Vh}ha~$VA&OC46 zmtb}?(>xwckt0t{jYm`C(bV{wrpBA5f-$V$9CVfD0DWLwjUA4OcsCh#zuK({o<NxoW*t^>NE5H^q6vsXICBVKPnR3r?+z7ybtl9) zE991eP&lb3)VNTB(sTOUGWs@so*@5N^qG;#^+s;OpkzJs@~N?d8z|Y7eU>s&GRSR; zGqc;?I;fP5P7f^es4!?ZovPnpUGU)-f|QA}Th}M#-nSdm7+k{#q52F$T((Q>q+<2$ z>iw{6@x^NoSsUq9&lZQS%}IW5Ueg(Ljql^5+-BO`M!BNUz=N}z<-ltCrQe^Ou8zUD z#52dWe}(*JW(oefx(+rjv7D)(Wwvzsno*?%Yq(2rzQlG~;za@s03`2t*T@9^uFG`} zVh)1qOu$O8HbDJ{%c(b!$Ai{`+rV|E+@843RN^`usv}24(wLWhcMGTp@-UsvaJF(r zK;?&7%m~M*S#2c`(A_UK(cmE0Zgl z=E`N_^yLJc$jc=t1HUrMY!Cy~8fcP-{0=^3j;O?z z#up7Tcpm#)<;JTAo65@to9RR3y}VrD>y(>3w2k66cs5 zS|L;{x2PkDw}}{LC%^W{RbH3Oo}A_l}=SChzV)0SI!OEb=V z!m*i4v59UOxUD|b6OEHm2LC{JIrL@@T1Z{Q;@`S^&|~}pir#$=Q$C0w%>uiT7CaEZ z$)Q)6cLX*gn8C@GX?=zRI~g}q>jbO8Y*D?V99MEWHC}cPRnJpphbmJ5Fts9W99~s1 ztGp5}`BAap%gfEWdzzpx3$FnC zrs2d*BaImLml-!|48P2HldznmwwgKw!^@R~aLiWfSYmZ%hNdt{qtU%In{}CIaFay= zv50~>Dm&i}J!&lM3=HQ|RCLZN=;an!Md1Nj(Xf9)O%5%B#Fg+IRROQ;a z6qwUo))m)tsYhuphmT?|^(f6{^GI_^`Kmt3OP#s2tN_ZVxfD~;S_OtR%qG^ep{S)b zk1dN)M&orXg2`CNkWaOajWso_UB^O*Oe|OHSlI;*Q>Y9raGT&Dj`r?YG4qP))pU2W za7xyr16b0B>nqC#1tCvzx?rlhM7C@l+ zC&9ift{xCLuhYW0z{{I85S54S%5UI|SPe!OGy<+h0-i`<#Erpl_bw&4;rYQCL2T!W zHz_-^nQ&1}+``HxE0oBXMs2<1BArmb4j; zk>x(UROqCI%t}7E5FY~YB>T|_6pJh&+t~1q1z@sTIff(tFRI+qhOK8)qvZf*syf@e z^~*oJoK@dcJ@q4e_Dicit3LaqJla()>Rms2hL@_cI#w6Z;UOqwlGq5WHGV`y1r1ck zd9#|UPSqcLH_pS7p~NIcwjB$(t6=NN2$3Oc*hgOfhK{cIst z6$5{QP=yp_PTWqjraj{_kE7P5PKx&?69vn$0LJ-4# z!lfNJ5Lt9sZUF{Vs>GJ1s)sVq3+Dw;4LI9X02C*3(qFeUMe`%=>f}|rgt0OR(uORM zlxvTV=&-km1%(=@D<5cpYCqrv04z32{|BMOSz!7Sgus+>m_N;+^qcuxZ&0YNZVykl zOB)+bQ*m@i-AyJhPangU3QZmDVU`O7n|!)gv?B!PY{Xhb--Xuo-TK!uN2SmJ`}xo} ze`acWW1ryyP(9E4e^O{4srmW&Lhkndd2L?wzd*Q0`YGe$*}~49`j%};Lf(}@qWSjU zS$A!|{r82~r+@0(=L%(L@=tyHr-jbS0)N~6KP&7Es9M8T$JI7N0w-CxQ)ip_V1;>b5EYN+WS!7ado)bpwgG5PG%%s1G9edoci<2(OY=w-WMHRpGwbx zRF&~TGU;AD=qi3$U=vHA4}ujW$KgqI&rlq&bA3$+>3W0C?%~3Uf1Q5ar1%$>`Caj7 zE*@>;LSacAY_JGU{VVIaAQFt3prOs40M~dY@6+nrcvaqFKAg&jlyOT$Xn$VsAHYPZ zRhB=hPeoGzn#))~1XcPP`5AEXtU%5b5Yqgc29e`@_%IGt2>%m9{0>2U|9K%!Eg+D> zJV$pqn4L6tNHJbD7 z!>@#iJV#lpF%f1>VA*PR(7FJd2n9^mV)Kb?$S5{UPHpT%+_ts=MX`$CHE*a(#2$Xn z?4d59tNq_Mhp0EIF=Jh{Y zM2KWS&h#?}hg}2TKTL_E0+LANs~`z;DTd6YSOr!M^9=(|0pYkCK0}ED$b;?;*ACRBD1Y}AJVMb z<4;Zzq4l(NFeBWBFYaRk6i%D!Q_<8cpJ-|&@#$_4GtWNEUgsbH!_W=TbF#o z#>2}~b3aoQ2K zGzuro?^ib#Q$yyb$ioZpsP&$$E86rGcWBW@g3S$CuCb!R$f=99t|`+Fn>?W?gZJE+ z%OR*x89qpqK@8GX@w-qNUL%x=|D4T3P#RXG&GnF$h82OvS%^%-ih3$j^n@!4hXUCF zLwFj#H?A`I0G+dv|A*Y7l>8lhqGkB=hzI_|@aWlyH&TUHrPM8?W0n!=^?R&!3h6bT zX+HLn4~C=@bzB*w+8kjdm5*0h*ovw-$;g6QVwuz&yb_vFF9xl7w&54BuYzY(p#%6IqfHcFqV$q_pQnb*OvuCm)A?DN@>4LGXBw^rSDA)k@;26Lg0-;Aa z5X9y(r}`tZ+!KTdAxi}_2D)Ty`sGXreQ>meZ5Wyl7Lb_LG-K|h0MAH?{SCQJQN~t+ zrF#m@0QY>`{^l;}eRPmXiR88DD2>DmBy4>sGg^QK13H>=4v@6HAkYyHSTQN0vNicK zn~m3|5ZEPRP2v5biKb8@e1nw65h1UFqanrvT)^SmxZqK6tA2Sw;L-kg#0={Z^Q-sw zP!|h=(8vn{lPzJBm$V=V*I;}?HX$hDnDLI=t-g~H*>3#0XvCDl$r21f12hg>x&6&dBXSAAN)m|#^sTItwRRq>k2$!>NA9MVvN%n7e#GaBh7W|> z-o+Ltq+%_6>I8kf*xT*K&UWNOjY;UDU!k`T+vxupvr{Bd=8^GQl-UL6--cxq*H9K= z8$@;Qeiar(ygm-v^Y3K6>`S1sTq+ukSUiGR*Z&yJ8|VwK*8Lc$K@WqO`91G0XXfYL z9V_y}^50|+9-&}sDp+~_gZvtcUuR$O;1N9>Th!YxY|x{vx_`0fkLI}l>y}FQEFL*> zM5_>@WQmW{=C>jJa*r*5MHGz{-xr8if8er*ZxQ9tqxx{=B;7%K1Rt^<+=57(lE6VF z7!9Cv{*99~12-&e_)3~FrdD`R{qa*D_~x6jOL`O4EWA#d0fnW=Jp^({YK@2Ac&RxW zCe48R@S4>+k#Y1v`b8##U#+XOheqsLWM@uW>nxQT zCQh4u0AY{GnhJe=pd1$s60{jqj%&-kz`;0UoB6ng?p@@=)!*=6>+TYhSBZg}bqNO9 z|4~8GI}40Lt1(ZNGXoRI1S!M^6S6hshbA>kI*WP-m*+mJ0Q0#pg45Mokj;EyfH3{m zz1pRIpp@@~f|a6co$8N({w~rpLmNG#2b48p~wW3d`|2A0X9f>RgY2 zv6-wD!AN%KNq_hR)iyox3ep6s=GETj337_tM`mS3w(~2_44MRNc7mt^?RsxUv`L1k zIk`FD?*wMmaFk5`BfQ7t>ljzDB<5?z5E%y{0lt(Vke)HGwMF%bk;_YlVI1H z%P4QK@6DpjUWy@a@}kZsz?A+DL_M-j8QvZMm@n&JGkxX;6UDxfe>U%xILH{Sw9Nt8 zjAA?)vT_Q*csPKtL%;^(JAis3FrMihLHaQPay8P!D-I9FYNUr53F-H8IsTZCeviy9 zSYXSpklq(fBQkzMdLK`0-xT$(-5@>OxIy~%kP!ia)kse;w$cu+Mfx5?=zzy+T}VH6 zDM-&gWQ^tS6w))iKzi`KC8G(O!GZJ%jtS`{?DU36KR1H(yGD^d{K&zVYxsZ|4ydHX zqQ4sH1=CALdcE8r{mHRn=7F}7;Vlta9qz+tBtnZ*)VsE^HM=7I*REDD{=9)JN&^K# zcbtge?jXC>o{jCSfL1NAfy+=bEArkz7xtY{G;!QwG3-Aj+Yz-voiFDOSAG6Ix7rZ& zEdG9{+{_C51ELn$k{&4r_zOww#3DwO!bCndrDf{mc0TectnKQ9)-~`EK(zny0*|!z zw-m<;Qr^>thl!-t^{9gHxIR>bvn*l5J`L|k0jW{GP~fA)^+iGtbbTRb(V>yEIZjbA z25XAjt=M%RbBDn6TmZ0TkM&<4k49y;S3{_hc;)$j1Z6`Ype8fDH2}xEt z20jtXvvdf~U}o@A*9H@E57Q646i~P@AL<920%aFb@@vR!%=LU%tECbOd*=4GQ>v0;%dq^o4y1R)amB&w@f9*2fX*I*9&Pr*u;#= zT8ogh%Ck~~#nYtZZOBo)S!0j}(6~vmQx9lTTN$fPqeMAZL$7%P(luh>H@lBA8PdE`>zM@q7iH`{NHUXVrH7fcQ$T48(R> zIyUgR+;VH72s}_xLInm@Ln2aRy5@t5Hxx7w2;xj{(Q<%RV~Ql24z=VZ>~?!?Uft}i zels9&T)H>$Q>u_6o6(z5&zLd#qI75i8N&i%jjU^NxUK;s z0Y$(hZnqB6??~}aEyIPlB?J^uI23~`wjpmc9?55|AT5yf6F$kHBwfYOS)0ZV&vY|# zv=+IDXnU5;|MBnr)=z)**MH|1{w({B>0HL)cJ;|8K&t8f`%nWg0(+wnx?y2cdC}jG zYOf0G>J&nhvlEoBuI??8MUGb^cmgf`Uj_{{!yE>d1&w{9 zAO?xqr~rwf8pPBd$x*m@R)11lrL9Uso1M!V<+qjN(@4@t84&N9n)LffE>$l43JkfJ zS%a=+8>Zo8u;1Z&ln2E00s5(-L?YWnX(k#E1`WFD+Z$_g;z>OmcLq)&H+W;}Vve-X zd;$cnLN=N)NA>ud5A@RFNUuGk(d+1{d+ntp^%{H(&@k)bbTrA-keFA*5t(|WGKql` zn5R|h3G_t?cKNC~yTz=dTD5;b}X#6qM|hf9XYNR-U9PH0&`1Ro>eju1`li8(M#F$V+- zF$YNF0LZQNuzCg6FhhN8Khs{?=Zd|$P6yg1lihzTB6aNoYkCK*xTC6+JO@yYnH`1$ z2D!u|M?puKBDKM>@Ih&mI=7Ek-@q3gBs|%6br;EMSwrLm(@~1&IZ7oVq6o5}Hff$C zD|Y{1x8Pc|PWXCkt`b!xGKF9}EZ%@c1g!$K9IKK9%qGa7WLmMO{_rXkmYJbsxX#uHq4~{166&XJq(+kq{`#Gh34aPdh9G5WLVgD+tk8gCtG!@ARL&1jAT{O-qA3u}MMZ*8(pBp}RC3Qz*8&#ob>0AOfg3fKAO2@nD z(;_|kiCgX@JtHle>3Anm(h&{W6_MfOGjSFwiiT9^beZ(C8?j&Z*CC z22mZxKc{wAT@nCZdSy*s_by4GS%LN@WWuo4-CkS=-C1oE9=5A5sq+(@8l%qlwfbbj zVViKz`#nmhmOeda&O_C7<(mg%)^0>`=Av1Nc}X(4e(5vWBqsm&Hqp;5nG?h?!ki#I zuhTyx(G~SXlZ5+RJwu))AaR!=BA5`0ekZtO^=7B`<=&P)v?`NU6Y)K`Dt+b3Q6Q=T zva16+&p=2aS@Djo5?pPYOYa&j#J$_qi#18A(e1^(h%({QBk75H>CDdTZ8{x?9|s8e z6^z?v{p)`$sr3SnMXInS{=h@%y*QNhvi)S(4KoRvFuXc3`TBWr2V3Im!>xfk`;+zs z(=asZ_p}$xR-`s)6Q4I!`mfcuTL-Obnzd7Xux%9rO!^s5uYvojZ-Om)^5%`bjJD(& zEab5S*qJY>ou0Vant~ z!=4oTBxxO<=@hLT)KoXl2qUM?hmpUhrxPO>DK+$qr$6%Gdp>sh6Q4t?Js(;=`#wHw z^;h-AXn7@HK&AuzDW$IHn)m-*YjO_)o1e`Vuwfi%GQ@@~#5PhdtWcpg*2%(s^bZhR z&b0WUUHi$YsFGTKt(ZJd{eRk;+?ZaYn9GW_rh`Q#@zu4*5#h4$+(k|A+l?9O&N z4E!@!4Bc!~uKZ1xZQgSE6>yDAvR*7kO1Hj^g6IFWB)pQlJ(0MTc|v~M3jj1q$#lBg z%N?%j+~E{W(tHwwU9hrmtt(T$@QYO@54sEW?1q<8nOyHKRN0L$r84>Kom<(;@76He z`%)^CvmatY#YX}uQ(<8nOhY;{kC)i3N%_>d4QMLXgX30D&(xafQOw1;{eJx1YARhZ|I=9+OAr>c0za%0*^;=(I zztK`_-mxwgooE_34|0w&blLh6BU-nz#g|eUx@=vUB-cwKrIV*?aGa;N>!T!=oJ()2 z73_8K%WFz9{g78*WK>^SQ_?*zG#jTrdl6ubPOT)h5&TX(=Fz5#hHNeYzg3m>)}aXV zd~5P^vUv?fD16n{h%k+C(w1;yNu)j^#Juzxs(tcFjfq*V{y``_!621PUgDZ;O1jhW zJ#r3_q9jQ~2+*7j(p2`)msgq9HhN|qGpnBcgt|n#aX1YHzYu*KHg7Az1-|&yIbV1> zF7U;pYroI{<+L**HvVxj^5d6_$^SfTj%7;qUearMAG4dKy*@cGwSo-!9S%+U&E}4t z$PuA^s5;G-DR(%3E@S>g&ZEUvmQQXG)YtlNPo6=mAjqPYO3RGh-1*k`4qEdVZRU&H zuYQckS81x6F+^>Y4dmZAxG+o3|H=kN;Xc%5ujFn-K0A`p>%twwuji6py=Pc-T`CGQ z;XpebIJ$Bq8SU;<&JD&Bxd)pe$OPxF);o#pGqy0us+&4CIr&I#o+HGtZAe=Jc^G^Kwi;I*j#h&#l$nn{h+^U^xkqSpCK>Rq<3lp#Sx5yo3bF&s zQZ4sEUUjm>R@6p^r(RNpa+^;5y=hu|U(q)EL_>YCej$-xa{Cq%MhD#2JZx4jE!C}5 zTBE=GPWK&-s9&F}a?barhI(Wdc*Xt9;a~E^p%wA#)RRanVCd_CtpfF2q==BzErU^5 zn?|G8i)PGas~M|5m&csG*G|`PcGs!VgL2m2Sg-f{|1HMd zQkFA`%MG3+p4KqLK<=Ot(1ww{&5UYY%&Ngsho1(%agd@vjEH~LT)#(SK1h)wPj70> zV_nr)|C_NfTiEj_yH7AtOtr^?oPqdm;9YKs{;ABv**LqX4riJ=M z=jJ*tj5fkgb={T1wpDjO7tx5XyK|zO970Ud2%5?v8kam1J*F%gH54?n^xzuzAcjPg zdkiUcF%5|?)>*Z_nth3Zt1Fr}FLH@3Yn8hofYJ)N`p~3x0GSx8*WAhX=XvK`#%g}D zjdN_o(#jSaS`EIAfV0M`5fVyl6p-s2TA&uQqTBGll=!g?U$*m+!Q>1J0H1?G{~f1A zO#Yi9&WgnR7C!yj&L;_Pt|Xm>1TuxNEcD;3HHN#_-_5goZpg^U&advTLAF$xBAN*?hF(7uMD}UA5#iprzF7N*aN~9q2DW+BodLphmC73wWTg0H8<- za&bf@5GRsN{+DY-LO%N{NrnGN0+B^G%&F^lSi6o5z*C2rxYS#r8oi~LH>Ik+vReMD zhX3FZfU{MKK>}^oOBIBaYv(v`r3kpge$lD5DS@7l_*Z~~I9zenKc+wX$KVyqFQ;oU z81PKFY!r7^I=o#1Oza)Xg+t?q9+<3u771XWlGtaVKp)*dA?FLAA*)X@-`))^(HrSe%wiw~7dkch4@W+? z2Y>T9W7g++e4Zm{D!hWesl!QNQyux_dph-&Cbn#LGy#}W0aYtMwwzU0^vQI@2PJinUZA^3&Jm?5Q@)O*q530))-h)!Lf#M|8e7uegB?2h;#RdJk%6m#Cuo4n` z{r^GPs&bqb{Tye~TjYcDl%{dBr%@Ity-X^1gdYcSwC0r_t2J5urC!_W*V>cwg#Ab= z(kqDQ?L*&EWE>iZ@5ujvR!vBw6PxUeWQ!vO}*qM)G+cw_>&c|4f6u*81M zlL}NBwkE*HLQ%FRe`Ja*C@pkU%LW9OnYSu=Sen{V)T{5c`A;8rWT*$kB+1Q^8c7;Q zjU{Swewatlf7B5*r&SZZV?yr|Y=%D}Z6vog+NGH7ecStC69EM+LR6}ja4F61eqy$# zP5^(^j)MUCzTqb!X1WR;Un(vFX-=i8e--`pgby5Jv z_cLq1Z>{~lJ@UPbMgG23f4^nz_wBXccSgSN)Ze%3@2^?=eP`|W-I4FR_4l3n`&X|0 zzPtAO-pKd8`ulGE{j1l0-&^}VxwRVjiF`f&Uj6-R*M2{?_WSXX@5k%!$LjBiuUtKU z<7>a4fEwVi%>G3E^*AD%Bj<>AggndKM+eQnKI+oqVJCyktAsdER{gn%Zl-U_id6%8 zs+LF$SG}rQf^40@Z`~Jla;MW;32k!-MBKV}?;&Kd!x6r2lA((bryN>}n}x!9n>=!U zdxpTMoJzp)c6u+phrwZ#Tdu0K!=w;;hSc}uRg+uq_0!fIMk2|rG zAMbV6_BDDSL*lTfWMNmG-E(_7QFkDQ1Q7IM@7$hRNKO4LnGjs&cVxtz$AL~#t0g($ zhi)142U_&Zrm^#;h`;-gK71_n#GYXeT%te?X zw`p?~(kZ6Uy-)pkJ)f?tMO_ok!>3k1Z1ZredHBr8!}%Jn1Y63%J5~PNdan?grUkDK z9bE5~F{6dbD!&d)FmclM#ufG){k=^&f(EbZ7?DA&qBfRh_p2y?@7^5z{-7SQ% zEaA+5L-s1bj^(7XizPFlom!q%uYyRafjcn^@|kJF7q3$79^T5Yr@Yqh_ZxDbJU|)I zIHGU4fE8NqF$dg(;P?sELjAmq_@l)UX(*IObqr6ajE*6RIR#m`noIUsaXPRMbCOwP z#HlUBdUbdJnwFjTr#ud0DcuzAyaXzUrzkd}Kn&q7&Zr_3JK_+E(E9+f%m}P&Xq0k< zVv*I#$?)@P0w0uYJpGr;X}Wf`Q!v7~BspAlpIDaXAP!2s1Ys^HW^KHzN9)mn&iXHx zkT+USN0uc#-kN$4m1@5v*P~4-o#ocyf*Y&gg-<8GA(_NPIHG11DTTP<&6xU-hA|by zPDIC!dqR(Nb`PAZTEqtv&%9g1+9{l%61$op?n+K&dO}bEu`cv>fuM)2{jn{@!~-39 z0xpZoAi)&!Zw2OY(xIV1pYC%^0w_?}JFq^U>n??>Oy@wHDZHC^1`+P}C55N3gF#%7 zIyiyU?@^|@@6j;ti|J(Qc4qfq6|ex&{f(sQgaGc%pxwVmjij%nU+XK)yQ|c}jKimv z3#-2Xn^AyvW)A>ucqhjxe(#O>z0HSmxtDb{#eVS0wfVg_qT8Eb>z>fB&3IY{pg~3? zX^jXi*lBxlYC_D~>BJ=JG?Osw(|4CnoZBq8X^i=+{!6KwwyL|fVNwKMrs2w*LCB#oSK^}?w^$6 z)l3LOnpU`<2Qmd63y=K+L?o@3p72gl4Kse#-^v?%EY@`J8fXcxN2=bC&|4OffVp1+ zOwCki=A>FO3_~K21duu@#47L$&kHdWLrEyGGdq}Kq_SB=VB~VWvNQXxCiKfC_4%Xz zGEVZn!{~xLr{??s&aQDPu|B@7sSRN83oqfw8e}_vsKt zonVMCX>J2!_NQ)Z4do36a&v?(MKi4+$5s<9#wwHERLoypix1DE9cqbaG3xo&I$A7O zz)5OaVWgeJj33nrxWIAACyvf>++r}{V|mS`9* zPpd$j*nwgOt?b#=)9<5vBv35XR0oQ+hBaaHHvtZ-Lewk7j8EiT;l`h|6mc04K**W7 z%_JGKT7NU(MF@z$k3u_X15>>D5kemp+|`=j#KDpG4G1X`%M)`E{2%aH$~0&ShtiGf zo*WcJBeBZ%Y2x6J+*X<$YDlCFolMQoEj|VmBPIoM2&S~bdFV>cox!ZgOXcF;Y)W_E zX7W=uqv`qLEmw;b$a|`0zM_10Kv5>2qD^tLCv|0M5o}}w`lK+uj=s7eT?4zA9->x; z(_=ENVaSnZ4I!`dD7 zY9yK9Lo_Gm`G`bUZsFH8B5sp>!a<>a2q*O%9p`<`-J`lPcT2i5r+g2zIr%sl$HpaR z5soCuNUN1!e#A2*eSp`mgQLOdd)GnH^WT{1XV4Xd1hgnnspqSYc@9Y>JvR@r?e3vzl9D*-s)Ywr}`a@ z%RyM&>VV!|H$x=fddoeOBzywUtkv`Np`AY6eS51vkFRj6oZ=rJ#ksoo52kd8tynrB zWo2j1{6q7iKzTLtLDNH!!%`v#7^`8Ssq>=mMY&W`MrM{HWZ%W7)q8jfcXt$<=bI@- z?-t@aP|lNL1V>f@lo2S`;KWO+*d4B0RdqT(UY($eN#Ky&z!O$^P-Vf!zJ`y%ZB~g3 ztci)!4doiiR}uz<1k28^`Bu0N*k1q0Gugtaydz z6|X?nxv&f`Y8BgfK7Ar;>QGassi~`)S|c@CqadERsp%`yD7qy`(r6UjwHk$Vgk`m~ zzDB`f42Crth4haLye)D?qxb?FuoqJMgy&y1Wsl)8hW`I7E`_yPw;_UC53=D2Mmx@8 z_)hF2%l1gpF{7b@NksL76_$4^*R>jE(bRCuN^7_%W88`BN^q4gW~8Qo_)Xjo^lq(;I8P8U1^WUJR)Uo3E){}`QPU4MZ^MV~&e#TeFoHvN81 zSL!;Gem|R@ujqQ(l)pm8iT4-ci);T$Y1iq_M&QN5E7u%{wf6rC?p%P?JF`W_-`TG4 z{lrlGih73DuZ#=a{fcb9Csjrdbfl3s4U{sWT3-A#om9*^KThhk6%`++4GaPtHjO2L z#*ZUVV=mwrY=mZv1I3|v&jSJSyIZIAH5I!;hJLE3E+cSP=_O#{x_u&Ic%Sqzj}=aw zF%HjNSUCDi|J!dqah5<>Z1vSiJ>T9sS_~%7d8jNZuw?bh9BP1pO!CJ4No z?y$n3i;|^uSowU`{~-;E^VL{QxuN?qILPRAI+e}Qd#q>Eso&wsL6G8!_k23r?(C)z z&QCW#fVDl7xJDd*XZ{D6f2G3VsG&eHqVI${id8kRl*1uM)vO+)8n}frwmK$rsi~IV z$A&**0tlC_Yak}}hiK)5j|g7XiX+Omw@ykSZAqumD2+~T{?&AE!d`_qGyRU{I@~XwR^Uorkg!;0?1PH&M#c@f9 zecUKJulX)Gy5(xrO=@4t5%~BqK7aJr`ILw3qv`dd`n;S_aeR-o#iGm!W~^hw?~gX$ zFZ_$oUh4|_QNcp0K;=u!e;rfBn(l`-6?HrHon>LaJ^oq-Uy$)g!yv zaKffj_o+|nlr*Nh_=5ZK`QQ1zpZoX!&yVLQ)B^m`v%mD4?|Q)CsTTfxIjd%?g};H=G>SWz|%8$e`MbNJt=byOmR(P*5P zMq1liw>Fnr+hfj(#ESf?KP8P#lvC%hN76?zPm{qGmkmLVzJn)XGLKP(EW)s;A!l>8yH&KmA`9NY9yTbM0M&DFI>n_5n2X1V}kU zKgY|N+v(KITduBjz&G_Vwc_SdiaFwyjBMuOj|B4;ia@IL*?jzH+&W7Gxy6Q@99+f! z>%5HI`7_MQ<)`rym^o&>8gb|eI>ac$b=DcwNF$)5dCkPNSV}~xu536PxH|s<5y-i$ ziGCAUd;~m23YVr}9{3`#Z5AYaMV=r1{ao`ymhrPn7F9PV3@@-y;CW)fwM3`^OKf_K z4I$g|hDX-&A!3j09f(L!x(s|N8`kg;-3Z>tQM}GyN1gaM;5|^`nH*MhJ1X2^e}Xxv z_Mq;xWkGIgr$5uCh62wY{Ruf9-02tbcUEedI&+!h(bsNkkO?50@@*Bk46WdMB4qMufMcgJ@kDLO~xKTE%Y`e>&U(x#sJ79#?~7T5_@CgLHgeX zHy#=x_w?6)oc-@<2H5|euieN#mS>|PGg5u;@XQohJKAm1r?uOy95CnAr#}YJds6Mz zC}i3JteRMM6sBeaC`GR4)k%G;sAKdgkp_~QN~|bqV$wDa8w$fn_p^GVy-uY22mV&K z)qqV$+iJ0+cI*V56i}KSwGXOf@_ZUFOoSuIR7JCyHc~~}OdD3Q2GWv`K>V-XX4>QG z?E0$jI-6-1c)JKq@Na`iZW$8EEnhn#`FQblRO*c-m&>%sI;1JO+!zMou(E?di$6nI z4*xSghuvp?^eXvP+WN2UAiz?ap%Qe}O&LZIXY2v+ z^~ajYz?zdE2Sdb#w0)4U=4q9k2W$Kp0>hfmgf-1)Uk|ML+h8E?7&4G|eC_DrvC&nQ zHI|eyW4W@$6s-(1U0(gw&!#D}(Ea)P*XU|nXM(BMOF39*^_|Pe8}n*-=xt0Q;V_ zDQdT0IZ8@pQJjqc6q*hdlsHLdS5a*tcTLb5zCbzm`BjwRg2}q35;UDurY|bL1q(@K zxJm*9y$5GXWw<|*O;%+n!l?|GMyG~VDTc2%4!T#VpsQRFD5X2knkGHQj&FKkSZY?l*)D>;ritef2oB16}K zpN8H5PhA3d5eb3WN`3tM0K9w+@C3DQ7r@@EY_RJAMB6*q0xA-4;n3wY`qV*!Og0X) zNRP=uds0zOck7)Kxt_Ig@c~7F3lo$x^Hh)Xamr4oy8$P^0YY(7fJqFCAG3d{{rEbi z9A&u2t;tR&x4@C?blN3LU$avC3zX@B)KMNaRjD^h9ycxcVT|CgH3qlW#~1lx3*ejAop8-Rff4qP+th6_VhWsS`ld zj{rvv+2|FfKb>W&{y=Bwz&o=8H)OZ!j&8_7FW$4xTm2A_fz;XeVe<#}!Zq@#-6mnj z!;BY?y@wYe9v1L;*WqXBU5^_FL%w*%LBUcYX>faS`|e_|c2+~9Cm>h-xizI;+cV8T zfPnT>2W(d>6sv-l5R_n#79IAeUT;-ko{a|*jAtp8+Q^xI*F>y^1shC>VpNd_Ep7a?lYH}Ux;W1j z+WBEmlGVaqSW2(O5_&ykiHZ17^=JG}gyoOEk~EJ(XtAN$DS#yQ z(*;WE0;IDlJ!9Ty+sS>?gwhekm?L zUd_Fke2>+uw1uE#_{_0S4nUM}3?2&~E9DOZDduXH^;76F=F8CKr&Q=efz$E)i*Z}GBtKyf! zUsyj_YQs-C2$_m4&h)}RHz=xC_AoIG<`qbekd!g5!u5c8^a-JEQK!0IPu_47wqu)c|B<)P|X-GA!C$UfdJcsXuv3>{7vX$2(LL{KowhI-BK zaMWr6am1ou+fej_c^_q8z5`!U=3`+CB$ay7;a2-Ebg(J$2^Z>OQ-b&Wg!|N#lsXS` zWP}|ph8lP?M(xX@M2w75`%bcivj-el$2{VI-;q}h8`kv^8_q{O*wh@z!OCj0`F&zK z%4I*HOW((I!Ys!1ixWkudiHXis=JL{Ixagn|B=geoTS2KFI$!!ZymP!H*vQDM}h5e z+J{S)q?4*6rcvTyBoeGzL(RxqFM-#1Qd+T^UIlD#Q zKblJ@o8yEIWsMy&l4b= zqudb3(@(^~^ql*$gF@EIIW9O1ZsXEda3&6D*Xu+(DFa)B{9OEud7%>Fk0b3rMWj}PbK=-1v zJdWd#y0GuwBwN67qOXC7MxhZhN7~U=e-M#0*scywVC{~RID z3cO}mWMZ%pXAlRdcR3#bBMOAqwdkK5owRZfEXyS6Z>*O76i|#uW{Cb;=S%kGcG&Z+ z?m@f%F4H1CK>UD5&9>+deFEdTY zmJ;VDYqU zn&`1QaPLy5??|OiU*pnU&AVDTSaw>{lVnnX%z49(K_FyXTl{q7;RL&*h8@T!f5e`v zqDv;Vx=Sf32G53hYbA}9QYy4R2t)e`Cx{$>g8DCl2HRe&k87x z7}nf)B&E((#Ro|<)dOj!(WT}q0+f$_w9!mE(o7%bcYPp%K1#Kz5AH!afIt<>VM+EhsjrlF&ciX8Of_7VIltWlt|uX$w*BZqf754Q#EBsF{v!spZ~l_ zZWG42Zlfg0Ba~O2QfS2NfZ5nfpwt&DNvwiWk}wW{{i<9_lJP=TDc^y>JF_WlFAgV^ z(S+mSM4+K%sj5~qB>F`7;HwM2gJyZrckFm@k$SM|U$h>ec+q!&>c!rXWNrQNuXhw% z<6MIkvJSuq`VWc1R^Uik|I?yH@%=n*5xKxtm%hL)ggV2g#c%C5b>2(xS z-7YRbtG{Oo<2ZfZ-UJ0o_~fAnt1uK{48x1_;EltX{)CQV^=L|jGV68+Y+bQ0Zw9+007eP8eE z$hMIl#K~{b12aHtjl-51E%-x`Mf_oRgf7Ajwzu}oUag|*I2=xS1-O&rK_Z4Bu0Tw2JRC%W2a0BpIou9{ z2>xn-=*|wFJO)G~|HbowG)6Gnr$hOP14j~YhECEy9+@-no zXCiu;eXh`D569zjxo&nt<)AUC^qzCISRV@~xCkkOjRt2>JfOae;RqcrVK{~~;2-TV zazH(2>-1P^5pqsyANj;xH*xO4e&wz!t(ypeY8~&!w6Gs8l0dYF-$lGzS27y%fLCbN zuV&>s?GmuCDS<9{6AY|NymGN}pJa^ZtXxdbKp4AvGBd3ISGTo*3OUY22L zgTx}daErysatUwHEl@W-vvkJEb?7g|`XP&&@XWd}#$X0BJ(_i)zA27L%W(CR{|g$+ zH|PfgD^;1K7IUtz`y_Z(xYRi)H-pSu3_2N-$$EA#D~F7>vsr5&;*de{>@$4wij;f4h`lPPc zC>((6Cc>L_Z;0dM6$_@BO+EG|EWd=9S0k#$N25- zAq*C>8+>r|_m4I|Dt2WRkJQ)n_od7J9M51)a)#(vKf{l-1?$7Q2ORjrcBuCDaO6o_ z|9cSjz2Q&l{Nrp2@_gT6SMj(uQ+d~?R9Eji0?}dluda%n{5{_FZyx{jLp<)$XeT{3 ze(%uN=kAeji+z4XWo(mbbZ7Q>o_6|6a_h2pZxG2u=rQVsn$BCD_2%-a-8mo=g#r*c1JNIKlu_myt!Lt+A=t4oCeuuH0ou5X%q}F4SLvCYGL&N1E=Y(Aw1ANYJzb9l#zimf{N>F zW3i26kbRUq>{2k`B|#m=y@Pi(ty{2)%U;y~M}ZKUOXJcDwWEaNV!~6RO?p)wMmVo< zI|WG}ZY-#`lIP!9Q6T_r_61hH*M6&trR=$>N$v)$q4Kg!V@Z!4Y3YnPY4b>OLL8< zQNmp?F-`X>oJg3Ma3W@OEhr^6tc9g$bPYHuifrqDS0E~tM_`_FM@cHH0I5>)2P#c1 z$y8W}D0yb21Pc-+&o(8JPS}=ezF6|}=bQCFs*F@7gbOiCNtIGSnB!y~LIyx{!Lupy zoIoMYl!t7FZM_IxSKbs9z)9)?j>eGmHY~uOi~{fEh{{@;WT~3DKe;XhxMQfOt%|t9 zrn{&Wlsr6A5@s>>*qV2w*jmW0ODy1NNRnY_=Qx9uS!{`G*sQoNtz#Cu9xk7TeSEc5 zZ0TI9*lw#%N3=j*6Ji=|25^l^5_Ls-#WJ0;g3i^Z<-DXrVn>ZpxlmFW#)DB=vjU6eXxWCrP_!LY%L&U>ky5_# zet!=r=tJKn=}EB*ARTu{hN7Ok$tPzT;V%+M6_UW}?yHFd-Ue9PSGT3>Jb)jbGmU0F-5Ob7G7`qcLSOQZ-bky#my z*!ski+%H*`IMKu9i|Rhvo4r!klf7AzMPhpHA*Axvsov~P4M%Bv;V8x68+BbQ*hI7Hn4!$L&^bkH+og+&&byFXwhKZm&@dN7}P5qv))+lK4#;mRG6#SRv+w zsA-V0v4R451`{NkA5)x}>IV7y!lzvRJcam*k zWa5gIxuN$Mx#=D7R4;Z^Ayy9HU>`NuAw)ILoBW>TCq-k)6au9|qX2j8q8VzA=kuuX;^zz$JJ$9rd;azpH$K>^r^K1Hv~9lMK9 z>N*vpD93Nien!7B(6G#WqEjjH^|s0MC30L$gjA{o!#NF9`Z7C)(#E4QlrAF)!LQl&R&Zj_oV6+(HJhmY7OSA?9=FtcXlXuypG9(npbc#`+_5 zfB_L}+DTZD%@A=YZs8wZe9^!9`wxxprA-dIr1tQ$3HBAUdBaJ~eDU-UXU;<771Oay3B8a`i|` zVnE<`KSm{+Mj1dIz_4Y7hz^$JysU!Lk=!VNn$rV4&^%31UDYK0#& zA)(FBx%!?>=aMy%E(W0wGcF^9cdU$TJ)wdGhUm0gdXk89%FAxTSb~H zT1C$A5|>u!{&$KYUl1*8tkZ`pooeG7r;%v1*7RRDb=4$@#6Uzz@Xl`<5+Z14E(-pb zi}I4WD4xdJ7Q;99o_o9j2bOKVG5dviFWe1Ki1I(ae#T%H=H4gBKik0XC|7-cPuo ziA90WxnS4ujb#_auDTdz+BaJi)FBEH>420f|54QRH=?E#B4C1lky0^&7j%X2B^Qe! zEQkS=5+*|iEiFG4tIp0M%ot*7hsFmBt9}5aV z<8vD4y2vAeg?HF3WieZaIB=Ia&zI}GZ51K(19eAittR2WbKl2>HSxCSw#7}X1Ubjj9`Jo74<&XnMEcd ztfxcF5!YusvtzNt65RX$4@0f_h*TYGU>>%`IEFouhMio5n_=5uP|q6S9#CrMD3O)j z{d~Fxw6rlL(N5ZnD;Y_m-PD3GT9Jw|Hg2P-8>0u%aQ^wxq1;Do{BH&8?hg{ zq^=-_YGBu9{}Phjnf(eofl4|LGc@+X&vg4Zh>Qkl7I`BA5=96`Bm5Am87>&YZOKwC z1$22^(u%V(ztaQ?r!I1|WLxUok)B^wMJK8iWvSd8xi_^*4X{}77xPTR0#CaHYe`db z$|YD!>Jp88fvr8uYisQ!7_ru|lVCjo{laDGQVk`1gP~;0q-`ZKx_ezfPXz=kGWLLY zF@@LJR2Kd5cdGmMd?J5S0WN@T4QgQIAje7 z>N(LHB>iVyeTSAVS>M57Q%=Z==eo(di!_Kdq;2RW(-V4DFQ^PBL|B|CHkOyF6oL!d`wr^ z<0Bmi1b<`47A6^M>dMLT+FB-z5jN|eaEPgj)lU)*N<}T<=#+|Pc0w40K?tl!cC{r=Mpe^~V4M-mM+jHcC5ZftxCqx10v22xc5Dg*EBM;_ zEMMap8B?}%xQZl2n$50e6^R`$tu26yRitB0RJM?GaJ5u&Y6?}n)||CGfdw|*vplha zHd;Ji?o7h=PK51PB#x&!4$g3V$TC$Bb^e;c;pM}zeqqX-x+t;c$g)s?Si zy&w47V!cO4W>B+swCurA( zSuf!dL)NQE^JFhuPviRAV!imIH8PW^OBDA%1?Ro*?*rqNj_dvFdU3t0k@Mj}ypq;1voB8IA`B#9tHJdc&+GrC9XS=I(fEoG3&aIGdN zMbJ8;*K~A79ngeAPgZrA_+=_$lEToL(N7xw?5$Wxtk z2{yG_eyo;VvM^Heq)V`>HSe5o31+pXXL4#;{0 zAOz3TaKU5TNltuNR|KD?H56b-%5 zX4qS>n8x7gWES6_nFtll=JsP4~Ew6t>U3-jo5`2Kk<9Z}vP*-5`sII_dNmpQEUxsDk699&N z8BS-B;;VWNy`hf(z-gFYpLuXO{1~cd_*KV$c#mQ*%jd*p)KgY1qxQ3m%ekZ}JA$a~ zm^|ReE#9e2V)Y`{4+r8wu-v{pN}uPJ18VgG+gtoany>w4S15>%2m^G~jQ7Z{5>G^vnN&dGMp`RMSMP`>($V(u2&HkqAS&%<|?la&9`>=%t9coS>ZqXZL;xH zi}YLmKfnmHJt>d)f1Lk0mYxG0Fv}44adg5l;o@|w{td%+bvOLA`mHbPm#yvdt?wP| zc#Px+RffjZx}8HRnq&i+n5+2Wl@L&5_`-oAOQ9HcZr*oT&tFNQeID_%$RceAZaM@u z?8kV=WiQ56F1r-VXYVQFIL@sYw^~|Q2pOn7VqG)`BO20$g9zn4oshygx=5BX{JjsC zlc5P7Pfu~OAyME->4JtRlA|n64$u%1#gb7Ai>Sk1r2fI+Tn&4<(y)jZlr&DR$`Xcvs0YN>ra;@dV$G!6ni^=+6>E-raKyPn1$IjMhm^c4ub(Nc7e4~H`g&D$@>o6X zI)_nRJPbF?sBz50S#b`P?X83C z6Q^4o8&4@<69d*DfqO97|26#k0RpL!`oG=)U*IRGd~DFKw#xWKz04^N;toa`IH{XG zg`XxKVTBsBV4{oPf(fN|^JS!Gf;qOlImP?pC-N#51AAD%wfg9)STtRUT3pnXfRH6! zVSkV4N<1>0w^eDCScQ99O;+LF2^XA$d&l+l3*&m3EN~033<bRsrD^{CL)=q0r@Oh4ND6iZXzL z2HW(5lo@PljNy?8pb_3!OEPYs=GO5)IGD4lfIph;Q@Vl`NREzBJSn^qf6x^x90pnE zke(f51zEtWJKL76T0Qn%=$A~SWcjZC?T44Ma>h1Q@ONe|%c?*5%n$rq5^UQ)r_kwL za0P?zS`uVC893}5au>HKZXyALU)!L3I}Ww!2edhhwC1sh+lVbnIYz9fY_k4QQ8-?i}3?m=Ln<( zdB8+X_-1M!H+*=q**udq{~r&waF{gwW{V;($u}p%dr4+Q%TW{MW*UX#ASt9bC*n=w zcCqS>^Cn)_6M9*$@VrEu+!3Wmb(`h4u-QXJ;vj96cyR=uDba0xE18FZRHeqyrL`Es z?!Xyh_nbwZB%#^-AD(*G7ysyq5B&Vj@9@Y3$Z?u)0I8^HhIfZ5!OPzE^GqwfW5%NN ztuD2LeZ8PYZ$?)BECN`Zii;eSR4S-)Koa~}Up@t@R(NUxr+?)Z4=m^ASe$M zphw;!=0H(@*vJ*>H-%IzTI3LTVQ_k9 z!&@D#m{mwFiMI}+u%EYqLVTB?5HQg=g^pY`P}wBaY;iA%sQGA{u=_vw}05`ya}Seahd(3IG=Z z840>-M=mUDCtc%O#0_fdEm27#tyMj$%q@}Ds-6o(R1W$=_oIMKLjgMvZH*S)&faK8 z$Sg5j;;7#Rg`tj-0%H6)A7rF}Nz8}I(k0|MdW-=ulx?QXT+9K82;`zGjcyfPsYCpO zs-P*llcLndz?0G z4KczBaa|RJ40er7kk2T}KIw$CrLeCLW236Ks7qpg%PE_|G*Q$_@EJSk=u0ki3 zA%jZ<)vEG_Z(L(c-(2=N4yDRbza_b_n#!hFBoroMEKnFOwqNV=OvzBpx_c&drh8YDLCKql5oA@!^oqF5~K!*kJc;Cy+SVrp;$&Xo0+(C$c_FH|J86= z=-|@0tg5AYGgnv7-mOHDCltUTNy9giCgO(WZuO0Zt&;O}N{e;P`mr!xTBlHCBOSOP z95KeQ5E!9nER%NbQy*QoyHg9|uhwQe3Kte03F2Y#X_X}_pjQ7y%)ipvLK@#%S`K%T zIppv@&+tkK(@>~rZRALHLX@57?6`b;cc2RK+S&0#|7x7_RE*TlUu5`n05zh$6C9nycx%m~Q%d&$1SzJ~^8SP# zJ=wOUNbA-ZT$L|ztFn<&AQSMh`b(sz?ISAo7e;@h7ya?* z@82K(7*mkwhW>BlOgE_>_Mka>Z5XR9K^zJY9Gjedyg)}%q3MA=sfhlwHY9w+6n?-t18?|BCuciWWXp}juM({;D zlJSmqS#yn` zO%8KJCh0Ue)oj!G(du|rQ(^4F$d^c7MXV@eS}as#2Z+=t_G`u|l-WPHRtPvDdCm1q zVB9t$q;hHnspyz0a~**raN=n#5in-R8M@Abnrm-YQH4F+>8rLP7Av*xZBD&mD z8k$!1yzxY1=m~LK)pHnaLa0;vW(u$3PLqP2p(m{&8yvnC`((wFyLszbg zc}hbjKo7vA;_hM9(kSag^+0ZX z4bb>Rp(HF5Tu+9dPOoA!L-R14IY>42l{u8aJ+*`OH9$1V6|YU(*E5c?Ll=FLh~-uB zNxcjSoY0l^?g zu!rv;eLzix+kXp^XsxCS=n8rOrn-HYTPL(>RS$71SW>z;yj|cnEO-v#O=%=o3`jN$ z64f!0E@8KzDG6d_yPzr2uC6x;>JoV)AMFBRhI>R;jDy5IcqWxHN`^tr>T&MRbV3qH z@&KhLJL~WA6nVyCz$n<5ONah`k?G!28!7Vq@5MLoPCEvoBB#HnE*xmm=qxWJ@+6l9g>fn5|bVtUP z(R!a`8`rW|WXquT{`2|NH)u#CG?9=i;!9BK`6P^%Lj4v*aP*@8Ia4GtlK-@$6y9@DG)(}s}WRF7JtQYY=FkDzGzR&F0RUt53csM|6 zP$@XhUtzeYLGpuU+BiPo^d+#IZB!NJ+9!w8l<5^7o{Opkw+1exL%2tKHo>FV6@m6@ ztXD!q%AvcaB=$wrqnch)f8YwD;GnsaaNaWul4DUfHbQ8{KA}R8+UQFW2gfLiAvGdj z21R+~=Ten|bmIkC#nzA{>X#x`Pk`Cd@j?0P~MQ5Uqp&nfO!d; z)bPCap^&D}j;o*IV1pg=h2jeXULVj<+Wr5JyLXTFlcxjh2NsA1fhbKgobvGbbGRqd)zht^yNiwEpNF#MYENNxmN;Y`LOwTgp zU@=QB-D(xS4y5!taXMYj#E=*KZ#odwKtkHc%4apV6+QK=5l z?;Vj?(e9M}Jf{^|RxOPmjA#p=1SZPIPTc~^Q<91R#XZ+z7wxUzAcDZO%2w#WGOP+L zK@ASZ#=V%&o$BM_Wa^{BDRdZDr}~uZ!e=P3X-ZVr!Ol(D$Hlf5UCR%Fa$Y)C>owMD z{jHgOn4RrNi<`2)Diljy&%m?&H8XI!?-@{nWXA-V*ct>zm{8tE>4wPacY?q|h~R-H z0=$}QK#SR$(-x|q9z!pyeq#LK6jcj92q;gE@rwW#gYsYp{JQQQSb|YY>p`3ogvxMJ$qymoGCE?oGdE4onYX>H)D1Is@GRO^3bFXb3t;Nr zlvms^&lq`Du#*9U!Q%5jElGBd#8kjd+m9r7uKd7Z{lG$y@>hjEJ{gZ zE1__tEN;s_rYluyp2fB-<521>MgN&cY`Imy{SmPX``OMO7gKA&|fk8>z( zO7T$3p$opK7bYsAwpxqP@j8(ekXB|h^Y}hsbS$B`$ZglD<|E9fks1-^Q}RpX|07l9 zE*>OG>5Vf8G1bZ-gq_CuA${(gik2o=NWdX(ZSYE_+lUw^6uxFkKA9G)zxbnHpSZi~yw^ved#Dxb z*v+_<3cVw%A?7&a#z347WuKqra^gHXo`|Nxd?ZvVfDbpCfAl{u5!DZ;M2#=QDwtOv zVleMlm_j~#a~Qqlx25-eo#JKOlI2*iik=ec(E&!~9EvCBjG#kQ9FShnMSLdax&^XF zcRMJ%S-^EHgirO7VGyIK%4WHn_dFHVHkWLq#F2CuUX%~ezLFGrf(q-96Cu8r)`Q1* zA!HvWFphzd^<_tS-QaO%7#l3yU*wu1^W>W_ufZE2h?0y=&@8l?mEE0%ua}X?OM{om zt7Yj?nKm}s@}E~kwSh9i1nJeZL+X}d1|%Xhbuo`$?&Bh;4rKE+@Hg`U)GwE@bitg- z1d2>J7kTI9WE_z^NvTidIdBuQ&>ZpV9v-Tl1h<20lS~AbX=F??XA5~{ zXr!U!svz)z2bU9hF)oixt}e%8Uze*-bY;?A;m0_!5Rt54yRde_pwN@URL59sglcSe zE|C3Cp-7-We8R*y2B|49HAW<#*q~*0m>%M@wD3{0Sidm!XzFeKl0{Co$a&0k0;MfX z$s$KH1}`SQ;JcW|l8KH^Clj6C0Lb{6cg^}tgi@wc0x6^v0|w@Um5J}{f}F%|V;;@4 znXq)>C~`~!n4Hlt94|!~X{AHY2hAKbh1_(|6vXGCDOxrLOI=P$q~n8N@m7|DPswl; zD$aw}@ZnZ-6`m!9GU^SIdzD}zZ8p4~S5i*Gh7kfX$9iEDC(bvR8{`*Nu&9br4&K&q z(x!s2^LlV6%_g8#)dE78MH;o7d;U0$$hhEvPNjiDSsJM5O@MHhwfqdS{jZhv0&+F; zR+BRBIC2x3v(?pV+sR30f^u6rxt=g1H$(5)@fmKpwdVx9)N14siFz8GNf?A7Hr;J& zPzQ8MI0purrP`Q``#j+xfY2RyXjJIWZqR;1GZ+5;JyF|LHr;$a)Gqt817Y*nak-IM z(?JUA$eGFA!MaS2>9!GXu&i^$S_$QA`l>^ZtthW`vJ>5+qg@AzBdUo8Qb|NJC0o}d z0hypD!tfuJXeQSZ%_WLkxd_qtd_F`~i)P({-__7u7>jDZ(&C zIts(&*F-&tp=U%TP>b0Gg2>dwJe!(u4w`LX={4I(%~K8Rfpq0`ED?R1fE@a4!ohuk z=A+=~5aJM$`5lC06^QO}Y%Ki>(Pr0ObKpizNH4KED#;SEHJExHLBWd?89`c!ctGbw zJdl=6*Cwq*WD=cgNo#6$y|DZrmb9j3=d@#{1+!Ozv{K6Wr$k{JNf|%2i?Oi@UQz0H z<>_b*-J}D`ZBKro<%!oKcSy;r}kW56rkwL>ZS}FTRO9#fX z=HJ(aC}kG@DV#t}j>Pl-1)Bj0ap~ecB}tle0JM-e1So}9L(J*y2;1Y^dG>qgT{>wK zY6b;F`6g;9&JdgR|IEsqws6Et5kip?_wy0^1R^A8I`ZuAn!U<<2hTi{VwpQ++tBIe$~MtT}&G z$eOb_CFa4=hwvz}qjandgf)z){dRk2$aE|_;0s!Fpl}-!7Gb3D*ypndhBb$mYHJR5 z0@_mt+#&Uw_?KkODRx!_9N44_RBgU_=I2|MP34}em!GmxE_@6rr}WoUBN2aE{2oi@ zY9A++_cYmhN+P{5wZwX36_)#7>4$JfvDAr`2Z2|kSO>_lB+cGqYpibddsycXkx~n= z%2%^k&alII=VEw&!q|7XOA^-&3U##6wHfqNT}4VT4J+M%!c$$%WT*N$!Ei_RD|m+* zW84?In!bZ5Rmnqe0mH1PtM>xNH-Pivrc0V#Oc$hNyL{90eG~RSg;@ye8=>V);(>mM zp#6PTF&oqD>HHEKrvHo?OQ+X*I=?!e!K_lkxMn&r6EFNQ)2Ur@X*$Q&I8COH*9&6_ z>oA+v>M10srJ2I=VpHgKKZMXS8%|(&md1nW@S9JpH65PeIrWb);qikfW8oarVcUw{ z`13%HmfbvP_{G}Ip%l1HV>drrB)d5%z{E6mbMCR3%i;)9*=GJVCtR`lZkQFMzK==C zK}FJFFpNq8{%}NYZp>!l!b*u=XToR*NXs~XXYl}5uJ(y9+VD2Q0&C|$An$4K#JDh? zBr7dD3;0M!V2tg9dkYSHGp(zE8FC_C;0=yh5F&3EE1AJ`&*I){XB`%)<=1hLqy%4oXn5P<>QaRPSZ3*6jHEzcy}NgAhR=SI0A>L(#H&6xQ8RI}l#YWoKw-*~Sx5|BheLZ>0nw-lw-6{t!i*(Kuc#-t0_fy4HrPj3 zHl<9@NYlgwjkeUKnnTQ4c1r91EcbvLQ4IRXi*by%x7Kev|FQPS9i? zrB^ql3Qp1HyTg%F4fp1!`ad~LehQogRPQIL^Ne0H+jT5e9Io64)w-PPr#>8>oVNq6(* zwsfaiYP2~qr|_>X%Z?V|Q>@F`BXL{^i3xMzGg2=}DhB#Wz0?xE!ok53UR5y}%^qAi zbjaUvtEkA>Cv2Y*y{?n7AIy)*G9T;LpJmC?>>uwd2^+?U9E)R^1&9~<3T%jCRqa42 zKVX%0B5gm&M5Ph>0f2iV^q>KPI>|=*C@I)136_0~3(*Baju7xpAI+#SL!{WYqrFh} zuz18?(z3OWRE`scirMo+ke)n0I_Xlg>a#2WA1ePB1;+#C#PDDT&n;kXw^5&8!l>NY zFT)8vg}jyoU;w?w?TWr+s&Bbn>wE>gEtXyo>L=fbzg?maa@oo!t@sP`kwq|f9EWj6 zr+4CcB0vy#0qnyIB1x3P8VHL0le*H8L#hNBYvPm9rXF6%7rMkA4>1`UD5X~%@;fxU zM!J00NXi#1!t#EtdIk7&9zKtJfl<6H`BLS>g5Xh-#lXKkQOVSA zjvX`sUr+R7qTo%adK`#nnXY+@u8n!5NF;_3W#Xm+XACvU#CNAC3y=h%X+p%$6IzI$ zTlqO^y%%oY^hRl(&B>b*Wr8*rZ%Pii1PZs7siAN=6n-d|$pEb# zp-@*{t-9p!STn57xMZbOf`LI6TM$%6Y1X2 z?^b0jsbaH2{cVO6u}f%w)2!Bcw8dajU(MrM&;wg~5schW2gG+JD?0eip-EE)iy9N^ zQ?{z6{%?m4Blbd(AEBZw)_TcdC{4zi`dtSpnO@Nws~^_+T1qcKlN@qNLpacTa!`mT zf#e#{0Wb4yNv9C}Y=BLGG%uj!i>cb|%infv0Ok*vAIGRlC!=RTJ#7j@Z7MIPq?`sGa-Awf|h$N}i_=W*x{kvqpxlp*u>TiHua#NG-N1bZ%hr=#u zaXixp?;p~*AJ@z_-F%d%T3B;xB2VTQMy!WQBB9*ne_=-!~oc$;z4Oi1>#03sbs)e*h z>NR1KRCboBI-By3q_{9zY3OIa>!+2b7ggjl>T;ZSAgqy=^YE6vH;p&QPn(Zm zr}y$Qxm<}rVg4X;#Y$q?(H&F5MJYS*miGsP_!;vfPbkbRiCO)MFO>b=)pcRLqBfmn zT2zm(IpUDUZYsVpIz&Hd=n0@!MB90FBwmpwuEXIh0nU`PsZ?BC-{8*!tkk4|K%Vq-GLDVM1+RA zdlUh_NJ9Wj z1??{7LpaqA8sphv4t*&%y5le`F6K81DIqz4*b#f#c@hi2e~s=Z;#!yZO;;$q*FC-f zzxjaDVP2G`Ug&$%1o8}i-&p*9 zET$aY%5Q{mrm}n7p2CZ?C6SIupz`+i&d!^PO%iT3PSB^;&&3B2QTkDvspFmYuWW9= zK|Oej#ywx`^g5#u@pyWhMld5Ui;ytl{mLhypx1H_QL!50s{xwxESp=@j6-I}N+!Q< zLVYd>&7;|pBiA==n6OZGOH-A!kC33KY(+IM^(n079$Xo_qB%Hs6QQ5fwslC5msXAT z|4eDOXKOPy>zR6sygEY$Lj~Jv^QpS1SX74vvVM5lrvRmWwJfU=P$nv`Sy)arYZk9+ zNPX56oEJ^#xdFY@*piY%$5bkjt~+ge$qv`U^u zZ)WM!+gjkNr(couQ?kO%~d2TldmI#U7r;{kzz9Lw$|T5%&-BZ z1-zbZCWvROz8Qfi4I_1$kLvxbe9dDTsoCdW z6ADG3VO63ohut{{PpB!A=|49G!jtIZ+M C#>QPbkfe?zat~2tCM$!H5@=KJ?5=X-E+2)Mf+%-n92k*;LtvoVwsyIkUy318YYuad z7H&vIk*_w&?n-4%{53sM-Wz=yJl%fS6m0~iTMP(@FFNQ5R%GFz<5Q^p1Jo`xCH#6} zzE$!Pep>6+tMZa`ec6@d+WCP_m6KY#9HRql?rms4`7TC#Kf|qURp%oKLKe4ysPtJ| zCu7`a0)Z|7&PZ&d_s=M*XPWN;J%`>eM+?14`YD$!+`gHR|5@`QE-uc*7s`saTHZ8#I zA}EP+03P+hRhY>!qCwWkq+kr)N<6p4W;oH@1r49!;Byx=jHX*X;)3~F$aduw!IVvW zh--Z|Wolo>;@qu{U^=Zwc)%r3wMy{k^Ujm466_0^-{iFT-g)#IqZa_Q#pv4l z=~=K~WBF z)J0mRWN{6Sf;-^ouNL@SYa|_;){LZ_RJRsMg>E;uShZXUmrDlc^f|x8KNQICs%FL&0~$Avh&OfXXVg&93)fq-Wwk^-P}4pQq(@gO7Jv1vPK8IW2x& zWrK&aD--rCkmU}jB<`H|Rc)%Rn`$qmfi8cJZ+e5f+Rb4H?M{DrRLnlm`JnQb7PjIJ zNEt3eE(rWbj@b1_F8;xA436i&)2nCms!$|up**tuMf9eLDP-JH z`M5+2z_tw5hZ(K)j@O!*bSAa*7PuUxnv(to9j)3gx48TI^=z6KE zH;lUqFYFOKsjj}Eb-oTIsb!W3y}^I*2-!7>R<2s-N4ZYdQBq1iEK_x2tHrRRRUM_n zVTbZzSKL++7M&KF1DlR>#GP~U4(BIxP+ZO@T~%JKqc%X{Vif{E6%V2~57=M|X!mAw zGdO=sPp%kRh1PkI-IxS*yxW`?$$_y{$o|R#mgu_Ff1eyngWX|AO{d(JIz-mW_|o@>3IURS>j| z78vFG)k#rT>#WH1ez*0$CR;`h_~V-QDTQ7S@w1at#sZE$9Lh)Zfqiv+cYXGY(D07z z-x2T3G4oxWESRy8&}daXqsF^~QS_W|OlYUPdeFE;ZE)w|L>giiSS`EJ8cM9`Zdr%E zRhIxYa7*haUR%Z-o7&l?GcDH{6D5nE;%99II;<-jYY*v4zT+oz=8fYKyIQpb{^w)- z=a4pKSgFgeRo9pe&%#L^DC*e=I)>i-dT}N1Yu%d=T5~O^fO@*H4>z4$=p&6TSfLh= z?(O61B@tZ*bwxTontILHZIZ=xLStvfOv$Hjz^qy&OV0F`ME8lPe?bNgrhZ7ZN{;?x_5@ZI_ z<$53c!47GT+2M7~i9Rd4w`D)$Yv@NgQ)?9w%!`FQ5L?a@YonR4XB&Y)l?H(x&81}4 z3{68EGc-RijV7X#x#lJKnox!YrCW;*(D%|y2h&T`s#v5a%I*^j;0bDV6hV_ zWPTyA_Xx9<{6Ef*ogNYb%UYks89E~9&?_f+!=sS_pl+|lnGJuPxwN*|Yq_v`iyXDK zWO$ww+;CMsqbt*Jf~%&XdXBUR)inVPR7)yd^k!J}t+-@=tK_gtK&1K| zO}Nq)iHgocA>_~nP)Iz*x~52-N#pMeVGy67YmRr9I_`Hm#yekpkD!eBte@Y)bC^v6 zdaFg4u!a8cISE$sBRxzz?$Op#tt3v7xZm37fuGel_mMrv2bSwe7nm6S-Ku_@@CD175^ z5dCl;dD4-8v%|CtAJLD|WWIR+;Hu(-x+!f^XC6CYwHI{}?V~18j1nAe9L0HXuZ*Pg z)3N_`8}gS5Nba1$cx~Yd46$BbK%4cyQdWC6LDyMnttyU(o{+#*XSY^3d$x?$4gMb} z>M;~HT(J~D!Rj8&K|O=WhgqRso>bS^-p`2Fbsxa{Miz@HI2Mv2A7-7M*ul&V>~`ja z*(OS0qW0or&4(S>@|t1<(DvnD)yUng-rystbt&09_n;F=@=TGMVKl{3s>*sLe^ExT znhn0naPWRBk~R{2;;u>vVZhyUQ?X65gV-g5^}6=2#kQM@cZ+J2%7QM}3rgQ9UI_-hS;o2_o5J{R+;d-H$8dN>I04?;4%s1q6o9 zws{Ex!-8A56Q)rHdA?+THQ`-^r(u~VI!)K7bwm#>q4*%DSfS}B>k!xxfWdASGqQ7u z2<0cy2*yjU>Zd;j3KoMurc{cCwDFfz`K{;GEq)prZTJ4c&#Y-pRo@rget&B6y)>9q zftS_(-<~r#uel@_=|kw~wM;?1Af>3(8GgFh3-A%k9sUZa^x66$Qz^W)k9d)jQT3K^ z>Vo>flL_f0sDb_S32IGWK>TP}hC(3M>;mASfFcU55usL8f3Eo37-~N078jtRXs8m6`uGMJ|?d>b%dkGK5(9F_%t+3mef{+ z&B&TOwL?&i&ai68th7qhcA;b3>UT7_Ly*~tytWy6RADpP|Io@>n-RaExU97q{n$Ol z6%TY}TshWj8CMof3bw8w`e8o4l_`zh6V-WzuEcN-HR^Nzd3WUjxI}|p!hw5;Io18LoVnbwIjl<}5U!7OIsJp{p)P6lxjxzDBr?r^ zcX%~*vC|_cXMZtbrN(zfSYE`&YSYV6?9A_xu0jHPF?MCqM5F)B{Cwj}{LT*1!bV0n zF!dhN1GI*U>OS2oc+N5poR8dCg#;A$KeZ*Yn@Faie?|q;ErH`ZM^mws_K5CDGgGi+ zzr?fhU9#=GhgB8a1}8bfZ39-Lb)9q3?HrUuHp_sM#Zk>!EY|Q3*9N0rwT>oUg?<*g z)vyPA22nH>^M?Xcs&5+BT@A+gBTDWbcBe%FsiB_DJk+LDVXkGMYuhHw!IW0lGd87l z^$r~nddQfTtVCU@EU5#>nD(h;CBiV53tT7iVW#WxWHmaL>=IMd)3;pmeh%r$`x18r zY)V(db2yA54LTwTgkHgmORkv4+7W7>ke znVw#448t^PR8JP8`39wWQ~+)E0u{Db|5ru|H%a_zjv8l*-b|?jFWOj9o%l3^=nj6@ z%&}<&oLWa>8KwPL^Y$}(yR-If%=TNo`Q3C5VO0q*+bCxdvQ8#W7Uh_`#ryO^g8Vj^ z2z}l9Se1u8{hSeF{0~T!&4`U#Wiw*?vRNsH2oZ)2(NuTrnd|nlEN85F^@cqr%ypd7 z2y8N~YBZ#Ue7JQX8*Y*L&_m=<=siy?d@Fx&xCI4W@nn>L$?vINn|C<`j@v6nnv5In zhDdLD`~8$95V0`cvXCus=oWLky)!x7qRU_*`)(NB7XCF&d|Sm(?TbUjDMCisRe+2j0$ylpMJMOZc4Ls4NzF;uucGx1n_@f_Y>Kg6c~MtZ z!+W&{06E>$JiI8b5ol2pjD{*EhMc-oq_lzdVeP_=4Pmeewie1LxUkrZ3dGZ=2DVr) ziouwNC$2>}VVi3$5^1)tD=)UFdP35lHuq_#ttPlPw1aAIZ#aE!-(I=i!Gde(T(Ea* zJ7ykE$4KIdW34yzEF{(m;IX}i%{>D}WFnEWuyK0kGBt7lz_6|wtCR}BQ+ca|E>O}^ zL^bPDJ2kCZ7qcRSfv~jYTCJwV35%4r&73;MHgjf)H(3WEZ|ap4U$X-a9$^!zu1p#> z^DWcxS5HB$1=6R;Gnn+v35_=)`5}K2UN^77S(vDW zL-}Ynlq=Ujv{~rA#jvk-Lx)hZXwhFY~u z-_$ELzg+jIOON=9qMwonp=s!XYE`^yXGmSq{#Hd*Cf5{IeKN1Ls=ho$seRGj>{zQZ zPitvarUodoZ{@z6LrV!@py*BPnJcm!bt$Vg9-Q6z4Ck3<+wr;o|krkC@eD{mxsR?hx+_)x!>?Gyp)>b7UWbd4j6X*Qi9=11hv%VsP zW`=#&_yXEkP8Ao^#^}?Qi|S)kVDTo*y?}sFptP8ZvQBB)qKAjO;exTeASh{@1%*xu zncgMRzNn7H`HQH1MOaZm*I3R2Y;qjyL)5y!WRrX(0$*qskEzu1;r^nR6 z7bmn3RNT}knnd-Tj)GwnNVv+KxJC@X{w)T`F^3qKW8C3n)TGa~C*8~s_iAt#O(6Ip zQ+8v*LJI0*#FQk9*t@W=s#Jg6P z8vV;&d+A?W$NCpO%8dEFu>QsDqJIH$aSx3P<#VgXC}BA*9IM-CR5CFiEj0M#_ZpKC zvyo)HNGZv9=Xk3r^MW#dwk_jdNQxRW)`)hz^Om5(a#%~mxmYA5MEG7U$#!J_vXP|T zhE!C)ZzT!ksZpDbx&-B^tu~$R+?F3tYSRhSrWNt3n?rsDLMhB8DDjp=h)HJsFIZ~C z1!$>hgV;CJRRrnUR*uukQ>m2|S~;jzq@{*ACLF1?A;t7Ewxhs{WUpAGByKLdUQn2L zd}!>NpCNUA2H0=}{#w0FrlN_NOC_6LTlO{X%8iE9f7UH(#%Wziy|=0>N-D=5;MS_W*F^U5Tw#3# zq^V*#C%b7mAph(LT&&JUnink*q`_c5n;uUw(V-YtS5(t+)_`MgDaT8-yroBY8hcC8 ztVUWyWALkMl97*mNOnLrWyd^)Czy0Roo=3jxD|kOG6u`+LR*U;(UqJp2Xy5(<>~Vx z=4xk@D71_JN&TiU7G0@kg==+|Dw~yulU5Le=Wu9%5uf&QitU~7Pm zKv?PS9;%z5-ms@wweYP9jn@9-9m0i2InyO0hcdRy5HZJ{9WaQ$GYsIFH5))7swd2sN)3Q&plgS?&A}5 zL#CO~bGhTHkMBhjnXG>MF)jmA#CGUN%ElB%awPp7(3 zez?zh|FxKLM@zwa*6c}a=7~B9|0S{Bo9G#iJ(2pAje+J^2|6MWV5SkjH%6R5M^^yc;4O@vm(i!`9LFXR@)54T zbk@U@TK&d4*oLZ@9z2iof;P}GtUS27NF%t}^Hg4PD-fY=5SMtMj*uRQN=FF2tSdnQ zkLU`bAJ7$d=fk=}`1^Gwe-H+~jyB&56$DNG-dHnN!7YCiG2HqMoJiBj;80BWQs~j; zN^{Mt$t(YqrV~sQbqd<}NWv>Cb!+S>-xI!%M zp_DB!{1px>!N)>6Kgn~>Ak~EN`Qiw)Y6K(X4EHa&wSb+X zI{;Bi*~&C)L@uy{8B$FJio}+C@kq`_QS5>Aw)t%m@TqgH0=uj6T%@n#klN+}yOrs% zE>J%p2fW^>D{Mu3sdHqc<-=y4Ox+Y*V6NE3Cc>!aX;JfZ6}&?kt;0oq8Fvw|L(u;^ zPT$5XgJu+SVA>W^X`@omHcuRQtG$47ZVR1N0E|Fr-8D$)F}{})@(qHLhP+(lFmHB& z_+9oVPB#zR1SZh2Mu)+>v>2>8G0ZjMSa2_y_pT4#I|$wjd)5IU7vQ}!uO#pNWx)?T zhZ+*^Mb?S;!jQy!2OQI|miG!lFT{Hrt{GSfu!ObnUUNfuFWk_)_p+)Nhhbib_trA< z#qi$CA}sYE7U6zV0NVnmi+LkhaDJqF*od~l0QaP`>+09ks4c_!lL`DL0@BpKMy z>&uX7KHbM3u9a!5RV&fT6N*^_Ea@nM4HCI5VCNw2@cDAY4adIQUDIol$Mx!S z|EWr*uB!u7tjf!93qFsj3t@ww2$wGgTJ2QV#?2IuEoX`NM{V7eJB8<=R>w4<+uA3% z&Ko<<@s9GI&Bs?I>zqww>YKTVeKF;_FvGD!pmBo|pqbpDI`9D>mi$+?W9i!$@Xy=M zJR$1~b1s-D%wdfw)w^fTfzU;bfieN3zz+%Q-MCADVgtLNMYD$6}S_UNn{0u}Mrf*C$j9uh_pIL+eL7Ybj>{kWr6D8okZc_rD;`1rt=5iB6 z5IGYr6NA%IV@w^uI_)q`6q1=jL>zD!{v!6+Ps)$0MZ}IXYLkAw-9Old*_9-s$0A~~ zOf00Z8*YGV;QgdjbxihvsQO*OUs&fc5_ONCk4F$YFZAlzz~G;4U_xS4(E_G}1w21B zzy)5}=a#zT*g(1wv4M*Zt(+Gd2;*5B8~E8gD`3C%KN{@pnd|4BPA4k>V&3*nVWX-; zM4o3)Xo?S!Qw)5wki+klc8sodYdJL{OJ+ey-m&i5U7=|cYEubu1l{TX^+aCW`oM%D z8MUop{kDv4qCD*H*LxgJFr(fviZaVBu~CX@WaR`b(cVuue4f+}!+OB&tKK-1q7|`d zV3b9Bg0%;}qusmY%(z5LtYb30VZ+eYh$jjHx+cSzC(&YbBEZ`PZO zz2Tdwebv#5lw-nGOT*0nfI3Dme&P2>0O zGJc{V7)GngL$1;Q&ta*3zp*3xd{O(7{Y~l%P@ymE;{?J_D_}v8#z&{?kzTAjS9<6$ z1d3k9pcSD$9txZ7SmO z>Fe?LMN!Bl-Cz5?-sJoKn(t{v9LUNbV|zn@88W|rWSB4=9Zf@juILr{G;Q2ruW(HN zQT2q}T^ig9K_~L6g3FBecEb5=HViDO+vLsa8Bt#KG$ARWkcm(L4Sd{DP4x>$o0t_- z(n`EQgoB#~#`2^^!?hocd@MlUbtf6o)P0&QN@CBej+QaTQUz!Xr8!#0XDLS4&a7>D zHCje_!pj%=nq!iQ=kvH@8z@ax2U}Qkut;Q@4KD?+x;oJiocv5N+L(xS3ar=&4iULj zkLiu$8d-qjUF|A%k7$B5*u`5rGLXqf?tx4S*<_CDO4jykj<_L(xMK0}{xcB@GtIX< zvIBJ==^tg6>I6E9e{{@Fn&Q-f{T^X3lZP39wL}3>Ah>#?DlWpBv{YA|4d`vAaUbH;OmVYhoJ*<_=xB1Bm}dKsTVA(1eY_Ar#rJ z{%LfJ?ptt(54AW%7Uax_rGkUsHoJw8ic8}xptES<_4gzVsQK@u9+yrF+L8TLUb6## zlNuJLY#g%#o0%XF`wo~v)`p@SV-N!ZN_ZOeJ*e&DwdtQZ!%WpB);8~C@P&2NQ#A)* z2bh>cmr+;bGAP&0!!l0&```U||E*i>kY++$0rjOSiVO&47pMaMpenL8RnVIFLwG#1 z;Tr?caE<#%1GDSbR~^yB>*tDYhl*V|9Dwkb!dGe4J7a=dq+X9=%!yl=OENF!l16C2 z!uqQtEfg(^)e>Dbzi&t^^f2oH^1-(On$7a*^{dT$Mtx$*rppby7V4Qb@=MF<*{);& z@(`m6+#xHkXGu!)4bKv8ORhwZHvav2)y6ijB9h2$i!(KCH(ZOZ8D-|>Xl!?Y*=WF` z%~06uTWEd8XiaW`2ZYUkkyn3iH%A+ft3UkoN(vfoRa8`Vjl)x0wXH^NOvH}tYYk;| zwGwRCm?$Gr08RnwWr}=-OtR?m5eOs(gQ8L5cO1M)Ds*u1t{x+LCXy6T#cEKL&NODV z(Hq{WdQWqL$ZN_w9rW|2^3KPYP8IAn^z@Fsqq-vT3(#IQh#Nxe~dg&20o z`qN1c2Y-y97-8+X{}RTsuO=iM#wRmkfkMMSSu^8ocxB}X918y^ufFU(7jp{Ql5u|u z>Sv2W3;kGqQBepo_RoVKC-UKT1_91!9tbPw$cfH^*dDlYyTn`0#vXJ;wah*PDVm@v z`ZtaQo`$#Z{S^PfawXN+c`1#yky>BzOx=QX%7(XyWlsCkVJ=Q z(XUbbn>2(KL)BK)MopLSn=uwgd-PE@7+zheArr=fnIwLHZEeh`i&OiDT|6admI9JEdV-Jo4@xZ`ut9AUT zMv7a<|2FCPR|Rkm(mC}(jYQOHNN~bc8yz1B9y)%=@6hqrG5Is1-YG#XK@%eERLiX@ zm+K+b(9#a|Gi7yO2+kz91}aQ-pzeplKXYy!N#&neQ-}Fa z78WYz=-U7cD=QX5=g}UEjr&Ii+h``10W)(2`+cU%k@`?xIhtx@O!b^}5~X_qUz)Xm zxw(CBz@-+v+9gF6NAWK&BGUjb@FjC#z2I_PCBi8vIi=&QI0*(oa}+#eBm%^bPW+Ru z1gET$;CI*TB~d?A(I^DsBaK3U1a$xE`6EP=K7}z{aeUKK4agum>~^#`wNaDeE^7B44IPyT{3xb zec0KJFuc&4*$B2^(q7!Sjd&|&duMkD0c!gWQ@y~^50pbeBYXW~sFuisRQ|Ra-F!hAC;5ubC z55jiCnSHc7G{qe04zCPtDA*FRbj?C4^>uSCK@TLZS4&VwMvF6L!z&sIN{n_k6}fktevv4Re@wgtY9l@*P>b?bcmCE8sGEgDuT87I)TEkQtQowAIrM83 ze`qW|8iBew1S+u<(P6rv8s1N*1gGwBvtZ?yc4Yr!V|i;zQ|tKD`99#Il*Op4lmMjr zMr8<7z!HJB0sdL4RV6(;F?VF&E9N6e2tN8@b_|IcBAP|;F*jVU39)*OROrGHIt4QFx8v@(9~?z+MMNv1pL<} z;InCEy4<{r*}h1{T6_(>LbkeZ;ZcrdPcwBp%2y@XvqN2z0BU3pi~2)J_FzEMD zkM2S%7wN9lNSfi0bRza!J8d~_R8qZNNreWU>`Yik5#0FO^#Mm_J8uOoqqlrzGbp4Jr^eNwSufzd`CmS6#;{r=HJnq2tPXM8B2y zh;GBL_yTnT?Lz`j@x7KCg45mVZ{!L9T;dMEd$akwMuP^y-YEABt4FPe+Fx$a7-Sr| zWssrI7-VQNM_3+7PLlBab!1b9E&0j%=XJXvSky+lp*Oq8uxho%nW}D!HfzmVwkq=M zX#?*osrpjqqf)9v@6|*iQD)H(!uNcIe9zj@6mx#n;CB!`R;|{|xkW-7K(A;Y(;Sdz zf5QC~h1$@EF{7if^Lp7?#boXj?kh6@$Rdph0;A9DZJRTP^}Nn#UO6+(>x&v$`=&D? zlGiVI*S&rr!qw}R7D%+Bu};^#45ImE!u`D1;bT7P#nd}s)~gUef3#w9_Gi>81W1j6n3xs*nb0KwEl)AS|JBmWh6H_iRJr9 zamJdcvlEGl%N!dlFK&heBO8{X+mN|atdReKF0!Q56on0`K^?F0U?XN1?i{Go%z@Jj zx=pBen9*j-=-V=sr5T))L=k_{bkt=^XzBIm64dQY-?}m-&%yJ=AjSD?qn?rQFR#>i zWyQ9hq@~EJRb7Ho~wEsAmEgRChqdPE`Vm!TL zVRC7ByCC|E?3k0xg<`oc)68uxCx?BY*k{_XneQIdm6qIoEr<~K+4Hq$?i z-~EdE#KNO?!jn9fIjN5Gu%)~@9**&lYr}bz==UBd$S{4 zI_1q^qn>X9xpk$QC9!TDK3Z>@Vr)D$2X|Hnd1}s|RINJXce%Ha4e#W?J0KUWdN%Oi ztNHIWgl-&L7l$^oVk9`O4#j7Cl+QdXF+viZ#1=&wURLxRo#3ewgDlE|P@>`#*XsDs z32-O5HVr?3`R2NJd zsrw(Shw}n=>6VhF^V|=cc{QyQ}}$ex`r_q5Vw%e!cyyQ`6GN#R3^p z7Qx_!pCfjCnFnwA1mlhTxK2-|^XWkKGE*Ntji#C@TJ{084nP~#C(J@q+dC%}a0U?)#nc(y&Ka`c2vstHkX{F<$1zq;bZ4T8 zXu)H=Q1cB(ZZ@2v5Jx;o4^-z8$0MvD@W;S+icQVUwYx^!r0Qah-dRlq@bOoZoVB9a zXW0&bMf}DLk74x}%|o?qIO%PXXJ9}J6HdJ$)1fzsUUwrWJ<;y9R^}N5%DnT@4L&RO z0Tw8^+g#>5D zidS%oBnYPCbzMHde+~a2^ck`qbkLF2A=-Ve05_rWrGC&sB-M} z%hy9YRR;syt=U}j_`VT4j@PG=W3STsO6Mw|>AUmSmy=ePdAfaf^#)bm*X2#rzy-{m)M;Ei`u24n4OnI#@hmIXZpC!uQk#r7;2 zspl$ArWi<@-*jE3K;>^`?|EYQW`HEKTJ{~FOg@~F`VQdUN-8B@W0w5d!o)-6oA>f^ zf%dAG1-z(ca=G~uQ$cBlF+<;PIR7Ph9hQh4Bn!>&cC!(-l_l?y5XyZ{hQ5R0Ca9tD%AsB^0{}zMudccX|rul9G{MeHQxR&)7 zoUplO!ZdZ~PuP*a?}X9tWI46R$^vL5K|5Yrhq3vYv-Pz%{J&nmdFvI5xq0vL!HH&lv27sU);c|tgro?(o06> zI@AR9j?g$u=$E}kE}cUKRnJY(F%CNFb16cO^a+vuwlVU`IC3 z!baXCo_c^O$KQa}Bm-YuO<0iFwZ?xs%#Nugy za>Z$HMVg`vj_xTU)c+)oNnuL}ZHe-ec2o-57VrEWhb&v5IzU-EGefyUOYAdVOW2re^RrnRj{Ygqoqt2jD*abHc)ZsD)6;VxSw;jq)utlbgG09j~|U? zC#*wtj7BGPTsRGi2O8PAI95p-)J0CHB3(=sw2d>>|T z3@YtPad$pXrAL1J#a9ZyXR49*??9?N&4<;d0g_Rkf;&iE#W)FheIGAa>tY8RxnGoL z6&7PC+;NX&5@^!jT}Ad7U5q0jnYy@NOX&my;|%JT7t(Ao^IGE3pJ;V=j5BD$=fc4L zn>F)fH1S-y8=9rzPH7gDohk_GbCN=txlX1Twj_v+h!8+p;f6*DK6VHHK9{uEq?jM5 z5#>}idP*?OSKas0r3$7!!-vZ6Bs|V5_HnDGXIuas33Xz=sDYt_QPrtz@ZT%C1RY%x zyY8SKHLa|t60U%{&oiydkG0?gbP~e^VpI^A!gTdKK-oPT+!i<2_9X0bLU!hhmty~z z%n$1DQhx}_vX8Kj8E!%%6KaVh5O9VGR+bbTZ55Cv0-A^ozZ24z%|cAmmM{&Gi-Kjg zE^HZ@seTm>QEe*EUEr?dCbnuvtg+BU;Md}o3s12AJjVJHz-sqr2y770!_TW%@2-B} zhnr<JzdC;Kw47}%a{-YIID_rF9-)slWO+Oz zZh^)fD_)TZyLm<^Ap(FXAZ%f#fK?|c!qUihdpj^Xu8SQk4qTtpf`IG89Sk*mbfCkG za0R7cL)<|;H*s_*_W*iXSNP6hUGF6A4Obta%CQZthPA+*V1e5JzggfyA?hoeX!)z- z34Z~6s5og5(V-5K-eZD>CCpdqUs<%P&3Zy^w+L11HW5H;Y)CSPc!avjoh-C@o~N(E zF}z?CTH2}{TbK`}!baxNtZ)^RR%7gtdyC#a=C`pfOknsm8yV#~V#PK${>uE24?g0W zm)LkIw864t)&Wy$fdS+e>sFuiOz)v>!I5yYf+>g#1`kkm$L=arc6PUCp)c`6iD=r5VY23Owyh?Q+uLWR1~I9 z1TRR0#Ch5h^-SYR_wZIZEd7W%7fgY!F|-*LRUYV(T*o9`QdeT`>(G(a7lB%7po@9A^>qN7&BhJf)DDa1Gsr1A=b9D2EGkD{IZb=?dmO-CD<@#$P{cl%?3%CScF<2d-3U7 zS#70Skv3fxdR{S$Cmw*mpbv>!P=V1kNLgii`ff|N9;s+x?k*t zO&fc4mD5w@uobT(PUgE8Pzu!|f-K!CR!nDWG)c?Eft0n(oM%Ng^x!QAp=l0+AAFN4 z<+oS-yY3#BCL!)sREN5e=jxRBr{0GbAx!@6bMOjLt|T&@|nQ+iQDWCQp3MUnmZ#lQJkUZfwQ2mL)Teo+Ep{Nl$B@gj|B zi}b*D#)Ddbu=m-^ttZDTJKkZm?3tT%X4~qRUO=;>7K2G6;LGG;O z5i9VBXL|Zt*k*nvgz}9rC2_cmwQQC5VlRMa7wUVjM9q2*>DTB{_f?3$X0}~VS_OP-3@ZIf1J z)d80QX4)T_MFW1c-JTX5i}XSLd8Ri)2=CX@3TBrWIV=vRZ(?zY?TsZs5()Ft-~3XH z&f@o7n(ybl?L(MqRz}HECzxB!kEN9HWM4!LA?Tq2-L>9uNr z4zB6aTCLhI3hY-uqRS=Zh_ZsJr4ROwMv?G>V`bk;Hh88}?2LcBc}QnA55Ck9PsLc8 zEO9vuh)}w3e5i5ouw#mcscGdy3r#hVe7(V#30} zqJQBb6zY@MJ(}>MqC&d!UCWA7Ev{3^YP0d2ak}J8t7N}R&W=lHLhB{`yvQc1to=Pa zhw(&YP6*E%+F6+pgRZdrC(xiQ3N$|pAH^^v(^p=JsWzZ_ z&YZ}gp&u>KJWH<=IzrlpJ&k zuxd&Uxdd3Hk^})p+T=N8TcrW_oKRYR${KJ%J8dQ-naz5d!2?N;b01_(M=xH&1hZ6VH>KB;VHV z6)Eb{7rcUk3TvN>9S3vXgetzT9S6C3h}*HJ%>FJ?0n&32MQQvy_cQ?9nMSF!MSR1! zE099HN$up`I6!6E>>Bl}vR4bF&}2Okpmy4#5m4Gj9ja|zz3;$Ll{Ng4!5_H_2+!Du*!Q56`PdXp`!BP5M|>gEOiRBk1jqdBqd>WbKBu zBXlI0J^0p^eP}}li35BrJr{S5R4Ps<(!wGwqSGfW9mcFPUQM6ld)zgYLvA>dA$DZD z=*-At0sgl?Rv#`U=TpW819ciWvok~~2=K2ZXU=892~Ob|OJlTCvWs}NfkIdhW!sEq zT~MaF?+*Yci?38vMOoAXEC;?@>d#z5JOOe-<~|ab5sChV=h``eiqnf<~N+!If> z;t#M#0ql`RL?2QuDHHz7s>Oabt9i;f1q%!v-`2?FOu!hx(hG-?a6tBg*TgNBA>!#Q zf91u4_bAYZ3`dFu972c)^G>gfbvX7anlxh*8B-g7bR7TZ6l9*mxVPXt|C%BP)Re_ssOKw#6 z>g(n|rwWbJX3{&f2SNQ7x{~ZCcW?bwUZLM8kG4J%l4DIoFh<>9r%QimE~<~0W0aJ* zt{+WIcDubG^DGAck7SsH*ks7bD`;lb!Jl1o!cr zfRRPS%HZfVeofH1PXi%LeW>|Zit##4IQNN+|Fz~_jVFsGjx+t9aw!oX$$s|6{Dm(pdV{sid9L926jyqu|S@;yQ zucILJh*!{aH&KnkZLKGxl(KSF-}>nl0x_#&Q19SZY_qSuX#!{*u!vbs{ISq%f{T*t z`Sn>={mozNFhf)>u*k)zF|Im7NW`QlvBoHd4PO?Smaht|5`vMmSy+HUM@CPXux%tI z4W6(}#%*I+G5~^EUleR_0E=*pGwF&0048Bhb_7y*n{JR0@S3Zr9s#@^wD= z>0(wcn1g}1ek*Q;TvTy_tEw>LQy-=%$70Y7vB0pt> zcN){=pw=IBuJdFc%_w!U! zC?n))&4T}s1N&3oapkc^zykOTS1jbo1iM(9V6}k>2+%(2*O&*biQ!)|4>~DQ@$_B5 zr5=niV))UOfW4^Mk=vqXD-wkr)rlD~r!8-TEc}hPL9{7vgBlcr<1g3+XE@(_NbghR zlzVT!4hLP+`{1Cd_n>C#J!lBG|9q!H>6dJRflrm3KD)d66^7d|@F#gl+#4FVr&K!> zgkeaA5UMDIWiKp=kHE_iL9FQevJU7FiiMAhO(ye*xMB%(EX{2$JIMrEm^Mg+O`8(X zwJAC45|FhiSu|J5a#=tq3{N?>hz@fM}WEYX8DN0HzOP}R?KJ1JN|54KB-ujVW2*D__6hr| ziIVr5!2;#Ayrz=u*1?z&DVSWx6FN~OIh^NHAnZi74XdLF#R`Z?#@ff=iL&>^Liy0% zfPgHEPn3CG;s$&sp&~E92<%1<(~x?vGh3Pd&;vH4H6$--Z53J+$IcWoR)VkRiF|-V zs*-UH)gu&ODKbh$ojTqa>Jsp+TTsnFP&eP1jRx%XQ>V)OSICwJJo*I zO3a5$FjOOg8CNrQ&Ms*fL5NK?asxE)Y78DLKvTc&R>7*}P}0j13axGNOtAkFwyrDsNvxhM*HCufhn+{kt{1a>pgwBk zpvQr}a;J#^IM=OSHlDMnyznYgh{HlLt@vU!sg;{_6(%j1jMfn9i`>fu`3Z!3B;0`jOR&v5b zKmqR(KH!Y!Nf1Thb9G_JtSDS^+>Uf&QH!(@@n$$Rjp#n4ko_l=BmQeqUY)VFjf&8e zgj)$UqA8JE2uy61gfj}|qkcz7cLGB|y*B23bgF7eAum@}+Z(Btqa@Amu6}?8op}*m zQ#9d+d2Uv@L=*n?r(4fN6Mm!p4A1)0_VXW)A41oI>3DXcbspp=%?HO-&U`L>20^$# zq8+s|kp`>aP$*w-FqLc=Q@;hx6BAO{6iC(Bk;>lS*7zxDYYe)_P?f!k4Nr(b$zo~} z)zvjsfDFYp)GEC}`t(JhAvN~C65Oj@P!@@NJ9bY+oY~m1Wx2*kT5rs&xwdmm1J>Mt zV|4yVvdOK~>-+Gr1n%sw3yH!T{B!C#ZV3=S9;>nK@mAqM7sdg-Cp^+nHh(9fhP_zp>03+|Q*?wog~|&*g-js{S=w) z-}E31{GltbLRp<0yDhRfNftwv?B|K=@Ck_CCQh0Eme^;8_bE?qEL7yl;j1;QGm{Y- z$Nr9~sQDkIb89;Gn$$7J=+QAb-hdZQwQLBP?#S>s>XJo<1o_kmXz}hRk5H0<2rPE2 z=q)NxJh&p<94kM4Yv%ZQ1iqH%Wqw=s3159O$qx}BG9)x~!!G;*D z0Ni1KDMkG<+@K)PEk(=1? zFa@Wt(71WCmZ?XYI%=63;U2-04%A}&$@Z}zhoZD%-@PdG^5%%9%j+YWE{`Lc)HTZH z-7WaeI_(#OC!HXisk(^?ha;VH&_}8K5l6s-0zr~-FQeBL%@e^zkt>ql%5rN{ewOl1 zb;=5Y*otyR6i+#iM6nZyk-OtCdIY1w@2(e=-5whgE@_U1r7glW*4u0=gRq`?MR6Ni zmNw6@eD9E|f8VC(<_xFxTD?gf0K7CIw4wVL8#n==aY~XT!zHI%CC6MsXjU_vqb?b{ zGCdr*Fjth?g4$V>b!50yJ{M^+BZ2BH<5>Z;M2hjWLLJ#a=QS}_5@)bd))-^-8fvFn zv{Tja((3~bYXVTG6~4!HHDo1s&v0Oq^9G$z5s@7HpUiFQP@Tay!@Eb`T_Af zl4CSFqJt4sC;2Jm7*zuR&iSLEBnGo1D;qa?4&x*CJJ-DJ$cCeh^-1poc-Y2sPI}kN z&g#rBH|%+0;amBG!`nNm9|F8&@TCGz=pCwOv+5_pgWD@c8}Uuua5s@v#ubf$mR5`h~Raf~m z`FyCNt?Hsqs+a;>A@$je!|1f<6Xa6 zC{V=QONR=a%e`3A1*he6aj%=%A)|PvkQw%J1t=Va7of1Vo@mKOr+8(%1}D4a;o>6DZ+By_7pjU5N3Yo2yFFj6Msx4vT@G-64(z+nIc5Ve#+S8~UIQ z19)if-XRj(Ges0`N851N>(`O&!WF}KVfDZLgDcu$WIjA%hqzkxY@BF(C-wXsYn8B}`0tBlGy}hRn^Pf|~+J&nIeVm4#}OK2k>4XblV=xwH0o zFyz|KJ>`1NM_WH%?2J7@>y<)zef4w}>P`s#_1lZLXjyjyzbK1JNJFX7_fkTLT^x-@ zE!Gt{x|4}rAI47goF8I&xxQM|iIZ5})@w@*e~GszO+uP@hc z@1QB(TN}09dUa|qbGrNxGF(QjU(7SH>iQpCrnhH~WUbvS@23BCShMAr8d_1T-%Utw zb08UeZ@Y>ytd9RYHLoMTEHl^qTAz7V{p9EQRoQ11N6(P+>MMGGqu$TP?~}VkwZX^e z%cJ_{ob%AI-F2rAw!6)XlN{AnkO8-&b7J!9%t!fd_MDzH{rrk*RbqKiCa?aaeror+ z?!^U9Zu|3(JowGee)$W3l36#6o<940J^gySrvc^w^14pZ%X?X`*M&>w$)>C>cgMh} zyDaGcOEvV9_2jt-cFj= zcTgRtQ!D&Febd`hcHT}ZU{$46@TWU^d+;NjQE%{*)E>R6|MJU^YNG?|+8%YG6CL{I z5g9R+XS-WHUO&Jt2mf=2gqdB{)GtwsSzz8x0T(u?V|`fUk(lqnM|EJETa*^#;y(Q^ z_EaBQoWv$iU(4=0NVo1CIhf4Uccl?5s%v&L*lq&C2+dgQY$b)``yMIMssX3`d3QHw z-2P-omN)?>t7i7-5suTXo}|nE!yx#qzXu@*gQ||HTz@DZ*+C*W>6gR$MSt`QAmd+g zw|+sDNl-0W_;I4j+ZiD9AUM){ZhnlckPJCp9_naf4@OPuH($MD{7HPvy9`Fv6~tkw z$NE5r9%Y8T1KXvgKf0!#yJtJa&U1PrGRDIAV~ku_gH=Q9#r+dl)lGt{#@+l0a#xmY zf$mlxd=CvzdwLx{@5Z8K5I>!6K$yNZ@dzr;IKq|{h2c}mBAuqHho1#-`ok;L2SI_( z`~DRb;}!^91f|?X1FSuI0Sq7v0GN9`NdY}qwwuo2BOT2=-8MP>NT+&#^#P;l79j#8 zUUu%@g3T4&X2HZK6MC`r14-d51SecM_3?vv1(yHhYIH(K}Z(NrfOWT8gedSCfurhhrl7%xh- zNAB^%F_jrhYJt)d<+ETVT6=docGBK;OnU}~RGsyAu)-cg)`bp(JwZG57j;=#3q}(aLj~Dk1n}JH-6L4<-88@_VxHQTzYcX^v`#r- zJN&=~eX*lMUs%bit<^JJA|S3)ZTdciFSPaqxS?`#2WgEkXL2HCFE2V>>On|Zsdh~S zO^7dbx!@`z3#@p+K)G?14@$jzJ3@mkH0oVnq_1=1=~sWKojjZ98@qz|sOi*mb*JiH zK7DS%>AGMHkT^k8i%_NtGxc2tfU6s<3@k7~96}bjghz!MFHp35cAz{MjF}_tV;dawXh+K9QA>wJHA3~E( z$1_&L#J25v=1^ccw%4=7>}!^IVwQxTMNDT58RUV+F@|e}{tAt`=Bd%MWOE0fgiby4 z(u7ZR#n4ApfUQXO=evci4$RSg3?a$`+u}Y@&i6X&s}P2fcd#D83xFCNxB#fZ%p5oa zp&(FbApG4ugF9eT*W7zPY>+^UX~cSM=09aZhpA2B(F$fZRUJJXvSUi@nv~ep;a^q( ziSL-4YK4cvFTpAv$n!>pOwi1sPg7?NO(BWU5}yRTDL~161Il!7P^No>GTj@LaX&o- zvl6#9H=F+3E;?**ryjBra=`#?Ss=2@H355+C!b;xuhOW;5GxA@b`cGcW2~(EE^NoY zVAiSL(qK_N0C7rpaec9xlnyD}7^3dz9}n!4($}amV)Sr4Wt!CIECTs~w3+%vpFQJ( zvak0LjG5vgP*Dq3up=6EOEC{D7F5F#e?V820$%)n@S|u{(LFAFATdaCcsWfG13%_p zC*yQNKyYjJZuQ?Uk;BJ>3XKW5LN#xLSr-_Dsft+{d1H2o20O!7Ru+#j-*D%B$7=3e zcbmnG=;6s<=XY|4BFL*Fx_?S8U1}$Xr}>w=3;^&dHTq1`sPY@3 z&;7Vzwh7n(QO=Qp4XG9Zgm%2lvMyltlaX3D9_!|l55)Ydnfc0HcxmVAqrk%JD@S7W%nIm1sM;VHVP)sEQ&$TXqP{dQ}$qKZ!8)#|7f|I ze`%z2p#Qe}v9N-UMo5Nl9SR}BP^gBk^(B|#-`@$uVEt|+%{)*xPUx^?Hb3yOm^$~Q zIjy1g$nVw&kjiNqL8lt4{C#)d4|-2%W~JoQr^#VKAe1pBqCjx|N{1uj!VsVK%EI83|!>bILT^`G47a_b9us>dy1` zxUagm9=G&zVF~=Z7lBJbisZzx6x*xOuNLxSAVH)_4>K!k#N^n2{6Wrj0`F!_2=XYq zXJ|W;mx!N;fsGidY%olb!f1)P`n6m2-pRL5J{`Z^Vx`)=C}#WP^ka?{aZpLU1HI;Y z8I`rm8tMacG`1sQ&J@R5wuHUxkS2y#NY(u?FjeEsF=!~ZDpi}lqttL$A{T*oP6Y*N zVUsJVma%IV0I#0waB3n?O48IOvRif}Sj*uVNomR4t7m!jj1;t}4|)d5hH|R8wAwgb zB0MACEFKkbo06FNH}xBv)gL-mWF1C{d~_C!7039Ac1IG>J5tQB?o*7i?gQ*~i>^LP z{!aOv9MmSPoYDcooIC`ATt_Yg2OggpDDf3TupoOPW$gkmE`gzX1`N%y|4#{qDO_L} zh63JC2yU;|uGW-m#seiKWySll-YCu6C~dHuOlJLU8F!GFkUFDS0y$kHpBt95;vy>wOZ(Ey z0obfJa;?jqJq1~=UHwrKYXGaP)^x&$ul+=HkmSR@3XAw_#NmVK8orcmoKgV>EQ=Wd zNa`3_VK+GpKYImr7ay}5UD*33j0W0$pj}w_j9AP zj9DSujG1=-2#aTEA92pLlm@|zDN^l(diUC*esk?mQRmcNhWK0xF z%`IU#Hqli}GYi<-i-Z->0;tJb^MjeBb)T>>9SIRM7o1DfE9^jZ>6ly;WQr#22GcaE zRZ%uY)OmdQgQw#I0B^XdzAnMOR}5j^BSWPv1F;Y#V072qRRn)JL0Uw5?t0L>@~n0! zeTysNN)JyXD4d#WxH!;5OKG{|PghcNAbiah3PYD;tn?b?mb(BvxGYs*p_JRn)S@Yr z_gZQZN}b-+{p))C8qREAu!`8{3#yWA*F3-(?1Q<|tbM&`b|<~f!B==*{_7))$#i0g z`7I&JbAx;PDAcAtgbL00*1PP&3d>)6CXuaeuR$>BdFG_DMDexmGq%j)Hy~Z!{bDBK zz>CrqS53?U5aGym!XFptrVlF}b+(~T09-;j0y*p{YNM7&k-JhP_`+1w!!`UjMqxmq za9-lvM%ZQMQNe2~Lh}OEc%Edbkxek%{5g!;FoADin#}_`Gz0?7xkuWf$Put5Z+sdK z^)7J&C8AKhx!C`Fg$jib7G^Wk>OUN@hJKNC%1_Ilcv*S>sY>+(9`us0=&WK8g6`7+ zt+Jizmov1@BExV=C6Z~GeaQ422?jz)l$TFsvpZ8M+xT$x!KU0jJ>bbhgFFN!rnMg#cntrinZA*g7Tk-O7h>x|!FPas$UkM-9Sm*Uis`Qb8 zBCac&X*+1-H~xS|nq5z*w;y}JT6?VycHl}91hw}1CwuN1JcG)z($MHjEROA zf-&*}-af!0ILC4<`mC_10Tu}l^noXy7Amcw;($sk)SHAHkNYbJ&B|kTcjnfWA+p86 z>Uf}3JC1K5Ng{C)1}Xd4JwVmekh*S5NLl}U>FkdLp=L#A*iO%b&ID!PEWRv$P|LG4 zG0VO}>u(6HM=G?IUP*&%MQdaHk(dK5t&G-}fr?e%zN@~C$G&;mlvVN6H&IpJ{_FSi zZ99Hzl(y=p%(M}eP<#!e|9@09X>eWaEgSvXTMDd2T*)Uv(?pn@D;5!$mK5faJ=dPF z0js)C9h|tlvHPyFOV0d7$G&fDBi*=UXED}>I{P2g*^0038(V*|Ds&*=8d_i*=US=e zA`NzL*DD`M>4OsYfeI$3%N;GJjD!qR2Ybj#g zXN)!^{9i8f)~^Y^oCH2JgYzQOvCBg@)o|%SUNE}YcO40GX+*OVLMkZBni%L7p5bj( zT=mmMR((zD#xYo=Su0Xp1koN=&jzX$2I=!awAIn<{Y&OaD01l;C_io=T`&=r>39_! zvSfLe1f6ZzttRJ;n#nH@hg8G!9l_ez^-y2Mu0Lm;1tuG2yToruiLnxw95W}057EsR zR89Tz#;h8CFk>F-tH%7~3S-tf>LtglO;H2U^Z}uIYsr{bQ^uUeri|r>A>&BnX|w{Q z3_AktnJqtRG{l^&WCYkOuce(qeIJkYv3wWj7{*y%sum8ZUA>SeLzqJQoW>7`opB>} zhHj?DHu}3ug40;Qaz3+Ym0^P?~{tIb1G}EIiEpuBfL>6dUgWN)0 zoQ3?n_XBvXv>6L`@mDgO1J)b!-}shl;aVd9og6oo#t1hE>b^bK2Br|($UTM?-q^(V z?Nuw5d~P7C0R%;(du)ih`5>z<M> za^13T+n42$zW~N&3lTctPqfnEN4eK^8Ixj+fQ zt(aw2kBr>9PK(j4D%z18P31I#E!E4X^t`;^c4!K5Xl5Hta*%@Bpy@N|C~`42#|X<4 zYOW{2X!Tq5YprH&1NuX?KuGl}1418MTgTbMHQez(`aV0ZYSz~A^J<~JddFG4UlYW& z!)ypMzN2b?^ztFDYSz~A2hY-iywfY9(3+=ssNX`&-&3uMwl@CCZ**ijVhY381P-L! zFgO-f?dHn|hpJf{IG+7HE!Y8UVi|PY0-Pd6tr;9c{T4VDzCf+49<2rrv5>V8l0vzL zu;X(A$EM2%hed=j6PIQ%f1?)0>G+D+AwTBYI&P6>YZ;+&#uZo=4#5>!8QRW@&rw}g ze2&hu(sPUE6Na2o@K;@Xvsj9-v4I8^dwd*0{YDjAuwv}T^qrZ;piR)mqWK$1+bifi z%=EwSQJ{DQHynh3`k@LQPW!n|VNnrzKkDJYkbYaL09~|aC;bcsn6dNc{8ZZS>}G)q zY-Xc6=OwvX!Rijt%~XFTE*Ma{w~E&8IWj$_6{$R1G!Ejc*I~u z6=W~n<-ICYbWc=w>(ctHAGR{BeeCtpyKJrLTzAFyF>3x|qx`#6YLc2irXy$!(nvNS z%=(y@GvM5p644xGlj(VrHEA;bp+z8Yc^}(o2jJtlhrvuqUfLcyzA1l{W1A?)mCp5@ z*CznJT^Sk3@SZrqQktUcL9zwd?=j|xYx_GgO*t( z*P0=n+bj4Qa-O!)KUAGP!F=13!TA*Ra*;)6H5j{1BWmUt=%!AU*H%NIGlMZa%{z_3 zB=%_=!xZV)6wsa}N9fu?jZM!q zhtmMj)X91{iA_i2*)WA+7b&GxZh#?W+3Od{F+$P8Wmw7&ch_F4uifN!()}?Jotor(g4!=(t-T0S^hM~;KRG*Qa zKw;kg4a>u#Fw1Yl;D_u8Th4S0^5`V9D2xVIt_e;h9seXvD7=4BzXab4VYONdVkG4! z#920aKfA|8u!e%xD?>q};WeTl)vShqY-SHM#PrBqie$6|1&@9}WOPv!OuKu8*?S4n z0m)g(R1giPb~`qT!h{VLMKTg_3dZqn8^(EUo$YLZ2AL%WADqhFzs@`7*e4pI5!@03 zgH;LyW)CUbJtAi7X>FWH1#nuELm5vx-I~=@ghxzosNVV@Mrs9{Jl(jUbK|3py!x+c049WIq)2A8 zQHtO#&d|Y2_5FCviHshS0ZO}*fAY~ zMrAvbC%98jb|j!X$A#GX)Vb7$`&5e9r^>S_+<=cBhmBfQ_MO6F?Hj@#RHjdk`kOrX z`|0oj71`1=71>EA3k2LstH{dvOlK}xCMaM8I7pOBB3vCUIbs1Y0PBWCoU|Kg>%ast$QZKKv@M|x$B72XS|rj&*daLrNOQJ*5WImJ z@s$!m@(sL9rK_4Z9d6=;{se`VXqtc7OTN696rW|zn#4!qeM z>R=h$kjNcn=ZETfqhOdSe37{MP}))aKs@=zyTQZI4Pjm_oPGl?7&4tTBW6jG-@>!@qD@oHS^w;_l$m5F zA@nUW<6Kn^D7YadFXcqJ?j~)N&dQHKXFB$Zvay&c$*gjy4M5-kAQJD>=?&>g>R0x+ zQ?4+thfP59J9&NsEsWAwF%j!2nl~iBkrnH}M%WNwaY7T^UB*lb*%oX{_GcfX>2 zsrg~lY~slU)Ft0O4Oh=8s$@Pf6%Y2*f=(i2pON*ey)Io~r>>;R36r|cufEM=&1vn7p zn4W=L@3LP*u3y$Gai=sKfdm(_6P|?ICk#_y-y&$U&s8NPD~diY9f<+jbLnAD)Y0oN zng&SbP=ExLv0FQW414L;yv}W>wsJgRHp1>#xewy(-FoHS`XeqSuDx55BZn{6t@*We z3nCC_08xXoczB@*r`<$^ z2P2a7~tbudQKy(GYr$n zt^ti)b0LikHSNPT8W~JQ0V+W#FMr1jc{^e2+wy7sDf*jurZYrVrWGm}?pYsF`{&Tk z#$ppx^V95(S&eK6a2ZB|^4upDv4*;Tyae&k1D`)VDBJmxrk++)`Ld=Yxt=%aDR26c zroO&XQ$Y70psDe&JSTPJL0KIa<=HIRT=YFl8oYNpBmJu#xm`V&&u&OtT7RydAedX) zL9Ed6wEJ?Yg7BSf@F$&9P!)qy*-$-km3F*YDLJr~m#SP0+P+EDI*NmBmmxuG+D|2< zq{f^V6NM$5K>s2)weEO&R=?bvTH~$;W5_6B<~Lx!phU81Wm!jDLR|6L@HPIhVfp+X zZl__BY7|jqcPD&{PYU-c(()lZe_X8mk%j-uu&WdacAl8whc-uEH5L!9OGW{ayi-zi z$bn!hw#K{VY@l@+aCSh3tP*Wr=%v;b^3u_8jXuapV7o!B{6YqR{E)e-wcJ~yQCb^r zgSLlzr;flKL7=RBD3dGY9(hfC5j)+QWT?S|e@Y#bjCUK=f96P0qJ!WS5UUJs0h@2C zhaGDJQhdt%>ax$SBvfz>D87;6A&p{A`cBZ7lD7MYjzTVGJ;8Swo!nS2NuYv>*)R57oEUX6~q z_spkdqU=bWcPQ7pzop$r;DP4Oww^IuwqtA6sn@Os0NCq*-Fpt?ZGzcMPEH`w)>ucI z+|};t<24`zKx-}XYy%h_j0g&Iw=IEFAD0R;Eq(^$(?QnE&@lX9`@pZj3L1Si9wfCv zxol3UTqfD;h#{k9NG3^+mb>~n)-n}PR{@V>)Rsb|R{mQas2ytSPwfWmbkDk3E5D6l zWRF0HZFFsS@(y*65SL z{q3rC(UB;D=J39bWZDoag6i9Dvk`B~a`!0pn4#E+H#M@XDPlZAQ_dMyZVtK%bAS#% zqQ>TYBJN@1`9E}Pf~O&h>;u(5%BNW;O8;0l5#v z>U~T7STSk+CW%_@A9g|vXNBDI>Sjd&yE-U}Im zO-7CMZMoJd>Nuywaz>q&N$l^Y}3A&wDQ&!~+|Yz|eRtqw>qjuq%1?3Q0o4tw5QLBs6yw2lOs z2P4exqTwDVbZNu6=E|O#t&cdpA$o{M=g!15!41`8WS_7Bx885Bw6XO@o-q>aNT4} zgGpGGDrDprTf;(!pEaWBq6(@c@=k4t)m)-#B)1`yaVJubA)fV-1X?v9+QerRAluL+ zQf$l=7fNZynNK)2b162_C>*!dr#R6QvZMrpZ1&Y-6S0f9>hlBrCgT@SRF=c4Jo5m; zToT6+fV>Ef0KPhCc-Driq69WgKV%8wR%&e{4N%qIQjE;W4M>GWV^-(0_UiDEIw?ZE zRw5M(z!iwl-(M|SW!mv8`jeKA>VGS=M` ztiLb30_^Js6E}u7Vz6ItxDhdYz2Qy8me*5yUYO0G zq82uT>r538ivV?@OyyHjVO;uyxfB&$Fqf~k6P=ApTq&|LbelFjAh z96c87RORxy6qv(Y#){)y>Q$J_!7HCjy$W+#z0zFrd`TY_jKf@-t}vKOF%`)wFsx!W zF3$$4mSi4l4a1DanN3j`laGOL1Y`m`<@|(mo zX}a50RY^i|KjjP9HIT2a61qP5f=U4^&@J=ZC@FOl{nq)sxTf3}urSpoBP)DD>G`y> zov;d;+`u0;_ggYW!F(Xe#6=m1&7(AkIx0`B20sZF0l$U>ys?EuJvK(~bZ+xQ{Epbp z6*nV8U2!&MQj78CH;6a4oDL-L`&k%c%P7SZ zcOSGVm|!L$Rn{9uNpK8J$#^lY=SV15Nuto%IJm`Kj0>z?B$elH~LI8BiXFfuxxpMzFq|M& zQ7%db!TMyxu(T6{j2M`!pdMer?XAE?6JwwVDi=fs5!q)*QI;?*uLU222s$N?GE!

hy9fZp6S&}Z0WDxVD#KrSzFaw$1v6Gsqd ztfdX*_E3JAnA3xgb!q^J3`hXI=l75hkOjxI@iMmjj1bQbUpEflq7ln6&WxK+!Uc}x zk+Ta~+tf=EJzPXk8}p4?z&zqRnbRt&&9_XcO6ccG*nAmjP)PMc^}(N{c`T4JqHPGy z?{I8^om%#?y%K_yxhFbjnlS~>d9r)t10P@>us34y@?WLsN$B!;HzmBP-e|T)+MV&y zu}Ph^lfd41pLYK;)8a>U`?X9Pw(NFinsvWUa9+4&!n)@(DHHaVRlDxrWI7+N`u4BP zO02&9s%>JhTYdXV*ZEkl0o`bz zh3ry0wq``jA;&0gg477o+({q~Mo>s$WIX`6yC-0-@Ex30F1^bXOedh+xkQZ2x;TAcm5_Dt_KVb2-y4$D3 z*Sy;0ucrOgR(^O`PzTEo0#x@`(l{HW>R>KtX@gCHRe3uf(Ci(QRd}@>^~4b}cKI|L z!+yg+{5n7^krr!ICFEt(Ps@RV;krdj@ob3{)R_ff{#k=kZksbXQp_`R8h8!pKO>;u zvMSK21tel_1{2|B!}Mul;NzDnqXl?0BwWh#ZMG{}-ku}DrOc%2@Hq(6QWe!T9E(~t zY$U<}Y}7-gapNxN2RwmoMQlVPBB9n&W{_WmRfxSMefegMS0n>wG0_>F>_Xt?+W?AU z7oRu&5TA%ee8E^md?I@O3*!>;i5SIMV-)d;>iIL{74eDc`Ez3z@rmmBoNMZ(ae1Xo9&)(puGxSYQY-4jK?bCHS0evuM>Vnvd zIEb1Cy|t>;!+VYVAqd8eO>q!XW>?&!R$eRjoo6nV{E&|%d&TZ-yVd|N@)rJKgRv<+ zV^pCI+kmGP+THzA<>0qM0-X`iG;DSmfS(MzWNk46DY_JtFc_)0LN6Fhwgj#kCb8THP6k;njYBb&J1x1wTC0?7(5v0p~E(Prhi4 zNc<&bf~?$Oxtpo@Ud_9O#wl*Vt&CcEFKZug7(RIuQ=lE1u|_>per0|T5D0Qz?P2y= z`MA-tD#`%}G6X(j5VP4?s6wG^cHYeFP$^xQHf3bhDGY_Ip=lYV*0R)nK~&NSl4QAg z(m4VR8XrI^S#~3PY373=7mSc9B7O9Ik8!ib_GjW$<4Ef zsbSuxX}HZP6(J!?HR63eT(rR;O~MOQVw#5M21dkIpilIN$WsxZ7M_b4B^htf%$=(W zO7z1*TTN$>h_9+lM0Kwp0LI5%E0I@#CCF>do9Di^WR^@%Y0Pq7yx$Ziv^Ixn8cdI_ULVQbr^<-kDzIJ5zeuM`%x@~17U0;> zr^y`?r3xvm(66YFtU1$|_%+lEMTG}iuH|FmKU3cYh4a%$6}*5{g%g@MPfRV6GW~v4 zUaiOm`b3S9TT9UjthJh8c#5MyMcQjBG++`JsR@;$CXucz6`+s~<0x{GKk7~tEwpA` zWaR9TZTA#Hq98R|og@QK&6SfIOg(-U)@4RTxpo zUI#AZgpD5-xh#Gi2$y{%NIuPk4Bjxp)yJo-p&EKMz5txdhD+5}!B}$n!BuN*g|U3? zV^6%hsR%VIuner0Db$9!!j~aasJ$M70#3c|Z<;K*O@qHQHmw~|Oh_kax-K^uRgjAp zvS{`nVt)=<7@YwN!@?-VO3j3X?>Uds6u~QkGP)MV36pwWe9z`Zd`R=MoK1cEgP-_n zL-S$kU_#F zXEMOeP}^8YU^1;pwZw3-C|e;i1@RUJfdkc}Oppv#bAsbRqP3~H3i)CsRVZUfEU)Kf zu>}7B2S&vD)`hq`^W+!))4SjEAJ6>uGv<{Q3UefkbHgA;E}I7!L|L*i7EmR`9j1Nt z>@sNovPV7yuemad!_O}qet*O=6)EZ+1k=({`K3QtOqkrre>mOLpb>$2d5pk75j6gY zSn~CYbfs;qnj09Z4Vd6K!8YOwLxd6E*N6H{Nri*J73s^66s2}g`JYLA1gnjA4m4` z+~>JIs|Q-gfn1)_^)vb-`7t_MKFf9YE4s0q^8bfLn$b`%^QIG;mh0m~Pw`Ey`&7;y z8sBKaDSUcF$Q;$+Q9r?5_oMdO`Zikrf!;UxHoWSd=B+pLV^m5bYKO|ZUo?+n+I`Y~ z_2e0L;i=v3-^Yu;%RASu01zMguWCe^07j%Sch6NLTK%J6*GJljbm2z=!vOT5pWt^EebK?7iRo%$%E$bD^-5p}(B3~hAcgn=kiP!7Zg$_t zsJYfXYg>3idue&ho_e<*;+nB)wr%=;YQ+j!!kEck1D{RHOILY(S(VSbkBiGH{1Kn~ zRVM!ZalW667k|q!+x`jY@MPNgX&)nUM`RJ_rra>=d_U9vad|7BA%IzeAS-`N(U1ne zDSmX$o*jmSUh#yc!V-jEey!K7q1Hji-=BB>$0Z%N{-~b>^~rsqqf}s4nn>=6PYCy% zYO5=)v~hmNy&qgu86q_otFHfCO2ye;fuhiEQ-DGq1F%Rlt}UkA?+W*cn*!nKjnz|2 zfe@a0(krhi?f&Of6~DsY!O?y5PuS8+3%m>|@d3qkc}EQ+q=VK=R%|Y>^$CJQ%%uSr^vb z%^C?gmaG?k>d8dIW${L5k}1~CQHYrnbc6|Pc_Qg zU5xUd%-C`*6xrD3)1_k@j40QLn4%x_y#11&&cV#*ca_<}e)3>XzM7=`ULw^N=TWO? zW`bYIy!CLT)_cnNLkDp!gAOvQ*jWto!u!RyqCb`Iu)hlQX7*SerAPsG;h)7snfc!L zl7GQZ^Kg$tUTjfMHB&~a`*0mS{G@hoXEb>|M2q0eY28Ro8T|z_obg%b8u)2L=g86l z&daP<=W6O49rDg;k;MB*e?#321PAQO9n@0bkY{0qnshE46c##W1;W_z*=zKPF(|=H z?hXeigR@tV9Z$ub?7eX(d>lGC#pXs6)651FBa6o;#;-&j9ALrNn?5m6It}3=i4()E zja}tC=wxwX!~(=1ZSzXgC#I>1@z^vvJD8Z^Iy5nMA5A*y>9Z&e1eqARn$FCpuVpsb z-X85t3uH?p=D@Ei%*oYXIt5_VAqd9%X_I3{(g1r>?_^3R`^{cz_#?Sr;m-;+*~t=W zK#&z4csDyAPM!6Kg>l}P9&ZbYltX231uCCmuO)}NZ%ac6v zvy*elUlumexpLMr@h0{WIA|M#l#iy*bUy*}j#(IOg>qRMMkbI*n_ccxVNZe>G*T=d zC!=O$34 zK{u6cine+H@aAefrv6*f6gazL7-?pTl`;x$;hSC!C2E&NvVaJf3Qam+vd(D}lKVb* z=~P_4ARZEpn@muwa$x{RTcCs2gxo0b@20?+3m&Rc-y1w2Q>8|s08b`+D2^V{PaV8c zY832=TtjPi|Ii~iXvoq~=&P$O$;pV={dPve&oq*Y7h8!~vaeYwjN{Pr5q~XQ z2mwlU2QW?)Hri-1l_)AvS`#(}Dy<386;kntmOzp*!#JHR_ksGhOTHPv$kf#|buKkE z7rr;#r&Q9{C(S2IQ4^WgG>y5dUJ!JfrksRxw^0;!Jy7q?KeI3iIS3ND|%y0sZVn4q^~LMiKeu{6ms&AHlEjwnzWo7oAzzssoMT=$&gs< z@^mM;Xsjj-V|yo>wbRwEK}EX+0a^mxs`opRYhtbw`yezgN~;G-V~ZRRv5gu=Y)n(G z>0=|sK6bbr6yY^whElP1sVJ38dQgfNU9k;VUmR&*IJvfWUf?szrDryC?1w$9R*|+?`>2SnSl0Uh|K;RmkE;emY`zb7 zWp)leTd#n9!xU2Oytb{FfvlM;SNm91s2J;d@Tr zd~En0Kkdok`$q;h3`p)E>$gxAyshpf+TiEa{g&C84`5}UCl-!jO52<2Jd?X!uCvcr zwn37>b+wT%{tGGxiN2d!ZG#610y@u9+f|Sg+5|-4H8fQ(V=1_^O0hTz-ypCBw5OC} zvBh5m<%S|R!qs;4I)4U%_?5y|b`dX5!1h+k($#`HjRtb%*AlJqivVmOd%C}xW-tTZ zdD2bl-S%t0`WoEqqY|i!HRoi z*Ro+7QsBu@U|}3ApyFNb2m|OqdbpW`OMy&8+U#+ZBho{o-r!TBZS}xK$jOh86Dj~X zO#s4#sWhYwG?B5~YLMOe6 z>Uqqs*4U90rA6bgakJIiz_8i*=J*aRK&>-ReeCDI`;iBJ>G!{4i=Yb8hakWfKr$vn zR6L?%Or_?Csyf-g2O)3ip`A$cWpAcdj1l^N7y>^wa)7OEp+XZ;v+>Vn^ARILb44e}O150EnHyB{ zbePI*PiRot^E5l3Hy>52e1h*$cgibqcLR$tc`uuyBdvRDV~t`NTjis%*sa9~x}xA^ z#sxkh9Vm zpRrnFEb;+}4v z11YFgHYSscDk|{R1$KB$F=9f@xS9J`vtfh`9PPQI5s}39lT*F|f#SZAPI#7!p&;xa# z7CWE^>HzKs2ZJ7{1GU%zJuon^CkOLXKo=GO3wO}9;SadMjN`D?6>cd7Y{E|+R^V^GY^Nw_sjHV+RhN2m1k5-(p2}vWIa76s7 zHUy6JPVj+L3pNps5zPn+NZ3HpjG)j1fub2fp$7s*GlD`71d3(^g&r6vnphZQpD7Ei zlJQeM`(^O?_oXk>sf0(_UFH2>TC^ZfJ;GhvofLUcqJakOqaPmk?Jx#kgHN|6P(?$L z=}?a~AmOsq`gfk_1x{^E~C9oa1}Ta-bLwNn|7Ph1%<;* zEV`G6q{V~jFgLIzdOcw5-F@t56enRHj!C_sag7E+#+0u(f>w+ph+`lusKzMzUiFz& z>_IXJ#v?)>9f6o8_rZqE-klWh8gMa*p>5f#NQJ;SZUNm=hQCA%v-&dgrN>tl!|>e| z#4yw2I_E%l-Y`=f{%1hI_B+CnlVY84Z&VP#@EYRaFl>%t1$M~PH8X70mV0fvCj%>= z{?Cg^`7(e=oVh!Pk3SYz;sD?cnfSJmF)&aWK+72D)3e#jT;Vxg4`I^k+x=42F)WTN zgb;@|8MlbWDUZuden!uL!Tmf@_`p%UIrS;|jgN524e9>)R9DAYKp-N!W-0W+;`}H;2Qp}VH)?~31DB3}G z*wPGaE!bSz0~^$x(ej7AM{WhYbhiB4Co3a3hi1z2!}kcbbHn!-xo3y(nYS~;_ooLp zHi%;aJoBZw5HHn4D2HndI&@z)Gt@0Isaq09%u2s&s+q%;%o^_S5w*c755A$i>dtcH zj`9z|F+u}a7`l>WEHV^cDL7rBEV(dpZDI#N2b9UvU5MxJHM@VF0$|^1JXPMy7|Rz^1;BYo*Yi(B6hAHW-%`GpH5XU8YUSB< zcIH1awP!hXA^`{>v5;2Et0AmoBACfB6pnk+R6)P;L~aV|m0YS2siTCa{Vm)-V6TcP zG%`PeLdcPqb_9i$!ZS_NnUMS;E31(T_Ec)@`3wkUCtyGoWX0r&0_MdMP4N9O>&bno z4k@sG3*ZwD>jW`W3yH~rFuTuvTlNVSr)uTHp=R1CkJ}Sk4x)gjm{e63+qd434k;%~ zu=;f^IKrU0V*0@o0RURQmtWEHbNbeglHiypE2fBu!z#AO5+)m47zM{+u%X3nPt^rH z8?_t}^XMDe=e=0poh{VkF5+yjV0xrx=Si$zj}XHbg*017HFN_HtrT5713M^r)a`>> zdB35|KGI9sSPfZLFVzjDKtr#eDF0A@hp)tqwdG7%-tjc!_AOBqv~x5}iJZK?T_=;< znSz$G8|NubM!I!4?RVvQ=EXdSZ*E)i^fF&{>Bu~OYbpbWS8xIYm7LEuN>~z?SLCbn zuwXhmEn3{ps4Yy4xTks~c&ew&Q{CX?cM{a8F?p-8Yo-_u8M>9YyXynd7NpqUH>tZ~ zZpzM$YtyS9buY6LdylI6u`RY{p#2`F$=Uwwd2&2U)Fw+!m#a$xu`f&iJ%SvWca1=Lp1JcDg@T!@OWvCcEvm zmLhOGE_uy>_OYy^o!YYA0Ewlyn?gWh|MB)98nG-vbVt^f84hi1EXk}$hXRVkDnFXa ztb3uxWZ!rm@=*?-wi#t~a+!y5aEyqS57^*j)UYtj1GX{X-PuV|1eCF8mWfkQS8j3u zvB=8JO=Gq|aGy~!)FeuF9^zDVw6?VA(D107{o-$ObjNwRJEJtui3K7 z@C=oMgrz0+-@VK=i-9Rzm3)6~`7+frwS9|*>a=pJyaBO^zBon~6t-r@Hb5(xFBt8e zt3C#c!-)x*4Mz(~EKkMd9Qz=&DSkQ{NaeA5?*)R-sk$d5q8Dlf_MI#ilEnoH`St$mPPQ)I_zQM3hVAa;;dPM?=tXIwSMGtNEKMDP$E zqHGCZ{rXlU_-W-5$${;6=5&nm0VP7n-W+4?DF0~d)gHrY;{qiuETJm(Uwjc)+XXDOGkgF@t zWpJ$4-LRLTyN-_#g#g3D6oN?@y_h>+I|5@T*NRQ9YRW~sAj+W0`9LAkOf8!;E75YG zM`7$xMWv7g176kz*E492kG;8~%{yNk!d4N)H;Ko~TQ1^ImwWK)wm6iM19Dgmx#23; zf@We&Y_6CXV}3W0ud3BU&BXOSf@_p4_I7MDvXUWc9ky1yAdCeMij9Tn3mXf%z;ke9 zt>Cow(Tjubm*CFoU%wB&qZNGI&29zz5Dcmg#=`-OjL%pidX=SZk~IM2G+$CD!hB&7 zgkfQk-F47sj?9B77Ii%g7x1u~T4A;cA;@(~cJSZPVs+zVw@wJtZRaTp<# zY3dw`j7VInu3EkiqqP9d%#A|kh$U{6d9;!*KDx*n5A|u}$DOx54o{`a9G~Gl`buzQ zi}whgBRD%E$Lo70C3QOI-iy^?>Lv-Fyq%{ z59u+(;V(WCpL>Bq~wD^ z=Zk8Q%1FZxG8c|O9p-gQMK0#uQ`BK#G1j**NF9o3M%Kd=g_Zy)zvfUh2?M?d2j;`8 zIxx?#)q&{~gX_{J>I7k@?zA-jw_`$0WPO@G&2XChDSma}tE&);I;)KL*C&q%@`pIc zk>45iEIp)Oc)c=cz=#xHGEdTYPi_V$)nCl|$@QKHGaSzj7^Z z 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

^*H7?)>4lr>&7ria6gnx)cswUHu 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