From f630cfb739a1c9bcd3b651b77963f41384cd4809 Mon Sep 17 00:00:00 2001 From: cui <523516579@qq.com> Date: Thu, 28 Mar 2024 11:35:10 +0800 Subject: [PATCH 1/6] refactor(simapp): using maps.Clone to simplify codes (#19885) Co-authored-by: weixie.c --- simapp/app.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/simapp/app.go b/simapp/app.go index 471c901f2d16..3610f28c4035 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -6,6 +6,7 @@ import ( "encoding/json" "fmt" "io" + "maps" "os" "path/filepath" @@ -764,12 +765,7 @@ func (app *SimApp) RegisterNodeService(clientCtx client.Context, cfg config.Conf // // NOTE: This is solely to be used for testing purposes. func GetMaccPerms() map[string][]string { - dupMaccPerms := make(map[string][]string) - for k, v := range maccPerms { - dupMaccPerms[k] = v - } - - return dupMaccPerms + return maps.Clone(maccPerms) } // BlockedAddresses returns all the app's blocked account addresses. From 705fad65d889f227544ca486d287fb9fa682ad77 Mon Sep 17 00:00:00 2001 From: cui <523516579@qq.com> Date: Thu, 28 Mar 2024 18:44:33 +0800 Subject: [PATCH 2/6] refactor(store,x/params): using maps.Copy (#19889) Co-authored-by: weixie.c --- store/trace.go | 6 ++---- x/params/types/subspace.go | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/store/trace.go b/store/trace.go index b67aec347254..a4d309a8f4a1 100644 --- a/store/trace.go +++ b/store/trace.go @@ -1,6 +1,6 @@ package store -import "golang.org/x/exp/maps" +import "maps" // TraceContext contains KVStore context data. It will be written with every // trace operation. @@ -17,9 +17,7 @@ func (tc TraceContext) Merge(newTc TraceContext) TraceContext { tc = TraceContext{} } - for k, v := range newTc { - tc[k] = v - } + maps.Copy(tc, newTc) return tc } diff --git a/x/params/types/subspace.go b/x/params/types/subspace.go index baa95ff2a5eb..69691de8ae8a 100644 --- a/x/params/types/subspace.go +++ b/x/params/types/subspace.go @@ -2,6 +2,7 @@ package types import ( "fmt" + "maps" "reflect" "cosmossdk.io/store/prefix" @@ -57,9 +58,7 @@ func (s Subspace) WithKeyTable(table KeyTable) Subspace { panic("WithKeyTable() called on already initialized Subspace") } - for k, v := range table.m { - s.table.m[k] = v - } + maps.Copy(s.table.m, table.m) // Allocate additional capacity for Subspace.name // So we don't have to allocate extra space each time appending to the key From 4ef12091c18875597af39585e0a27bc093a5f483 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 13:47:02 +0000 Subject: [PATCH 3/6] build(deps): Bump github.com/prometheus/common from 0.50.0 to 0.51.1 (#19846) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Julien Robert --- client/v2/go.mod | 2 +- client/v2/go.sum | 4 ++-- collections/go.mod | 2 +- collections/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- orm/go.mod | 2 +- orm/go.sum | 4 ++-- simapp/go.mod | 2 +- simapp/go.sum | 4 ++-- store/go.mod | 2 +- store/go.sum | 4 ++-- tests/go.mod | 2 +- tests/go.sum | 4 ++-- tests/starship/tests/go.mod | 2 +- tests/starship/tests/go.sum | 4 ++-- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 ++-- x/accounts/go.mod | 2 +- x/accounts/go.sum | 4 ++-- x/auth/go.mod | 2 +- x/auth/go.sum | 4 ++-- x/authz/go.mod | 2 +- x/authz/go.sum | 4 ++-- x/bank/go.mod | 2 +- x/bank/go.sum | 4 ++-- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 ++-- x/distribution/go.mod | 2 +- x/distribution/go.sum | 4 ++-- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- x/feegrant/go.mod | 2 +- x/feegrant/go.sum | 4 ++-- x/gov/go.mod | 2 +- x/gov/go.sum | 4 ++-- x/group/go.mod | 2 +- x/group/go.sum | 4 ++-- x/mint/go.mod | 2 +- x/mint/go.sum | 4 ++-- x/nft/go.mod | 2 +- x/nft/go.sum | 4 ++-- x/params/go.mod | 2 +- x/params/go.sum | 4 ++-- x/protocolpool/go.mod | 2 +- x/protocolpool/go.sum | 4 ++-- x/slashing/go.mod | 2 +- x/slashing/go.sum | 4 ++-- x/staking/go.mod | 2 +- x/staking/go.sum | 4 ++-- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 ++-- 52 files changed, 78 insertions(+), 78 deletions(-) diff --git a/client/v2/go.mod b/client/v2/go.mod index 2a4e28ca5e10..68f7197ad26e 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -124,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/client/v2/go.sum b/client/v2/go.sum index 74aa3cb88b3e..21ad41099f6d 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -603,8 +603,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/collections/go.mod b/collections/go.mod index 30f839c99a33..728a96fee6b7 100644 --- a/collections/go.mod +++ b/collections/go.mod @@ -37,7 +37,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/spf13/cast v1.6.0 // indirect diff --git a/collections/go.sum b/collections/go.sum index dd48c5824d77..f0a985fb8a96 100644 --- a/collections/go.sum +++ b/collections/go.sum @@ -107,8 +107,8 @@ github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7km github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= diff --git a/go.mod b/go.mod index fad9404bf198..d49e7d1d18b9 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/mdp/qrterminal/v3 v3.2.0 github.com/muesli/termenv v0.15.2 github.com/prometheus/client_golang v1.19.0 - github.com/prometheus/common v0.50.0 + github.com/prometheus/common v0.51.1 github.com/rs/zerolog v1.32.0 github.com/spf13/cast v1.6.0 github.com/spf13/cobra v1.8.0 diff --git a/go.sum b/go.sum index 9c621743a578..6698d47da21c 100644 --- a/go.sum +++ b/go.sum @@ -601,8 +601,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/orm/go.mod b/orm/go.mod index a1be164d57fc..0e92c132ab82 100644 --- a/orm/go.mod +++ b/orm/go.mod @@ -54,7 +54,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/spf13/cast v1.6.0 // indirect diff --git a/orm/go.sum b/orm/go.sum index 49c061b548e1..4f295777ccae 100644 --- a/orm/go.sum +++ b/orm/go.sum @@ -131,8 +131,8 @@ github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7km github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= -github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/regen-network/gocuke v1.1.0 h1:gxlkRTfpR9gJ0mwqQZIpoXHZGx+KPshKQpKE0jtUH5s= diff --git a/simapp/go.mod b/simapp/go.mod index f038e990b5cb..1954a643efb6 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -170,7 +170,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rivo/uniseg v0.2.0 // indirect diff --git a/simapp/go.sum b/simapp/go.sum index abf11ada5f49..e1e173b65a81 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -892,8 +892,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/store/go.mod b/store/go.mod index 44189fbf21a2..5a6998bb38a9 100644 --- a/store/go.mod +++ b/store/go.mod @@ -54,7 +54,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/zerolog v1.32.0 // indirect diff --git a/store/go.sum b/store/go.sum index 983a6a0188e6..71aed685a95a 100644 --- a/store/go.sum +++ b/store/go.sum @@ -199,8 +199,8 @@ github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZ github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/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= diff --git a/tests/go.mod b/tests/go.mod index 876ac4e8b9b5..c1bd91fc4dda 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -170,7 +170,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tests/go.sum b/tests/go.sum index 9bc70ddaed1a..cf4a44220624 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -874,8 +874,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/tests/starship/tests/go.mod b/tests/starship/tests/go.mod index c0b12057e242..cce68233b081 100644 --- a/tests/starship/tests/go.mod +++ b/tests/starship/tests/go.mod @@ -198,7 +198,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/tests/starship/tests/go.sum b/tests/starship/tests/go.sum index 6fefe3503ead..2400ca629ec1 100644 --- a/tests/starship/tests/go.sum +++ b/tests/starship/tests/go.sum @@ -874,8 +874,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index e168bf917013..092c14a03a05 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -115,7 +115,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 14b5f539850f..77220de4593a 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -565,8 +565,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index c96d9eaaf20d..094a22049a9b 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -119,7 +119,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 04b38dac86d5..6d9c72fdcffd 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/auth/go.mod b/x/auth/go.mod index 8e124359e6a4..f602c77aa1c6 100644 --- a/x/auth/go.mod +++ b/x/auth/go.mod @@ -126,7 +126,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/auth/go.sum b/x/auth/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/auth/go.sum +++ b/x/auth/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/authz/go.mod b/x/authz/go.mod index 51d740983f6b..14c62e8378a6 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/authz/go.sum b/x/authz/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/bank/go.mod b/x/bank/go.mod index 904284a0c06a..7e76e9f52dad 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -121,7 +121,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/bank/go.sum b/x/bank/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index f2ebde3942e5..a95b4a38ec05 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -120,7 +120,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/circuit/go.sum b/x/circuit/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 2b0c79c8c096..b7a9d6fa9640 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -123,7 +123,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/distribution/go.sum b/x/distribution/go.sum index cd056a48ec2b..e9b7ca635f55 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -597,8 +597,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index dc61b4ef5d66..bf826b80fe15 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/evidence/go.sum b/x/evidence/go.sum index d97cc4468573..131fcee0998b 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index c8c148f3c038..e7ae8c4a5c6e 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -127,7 +127,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index e81c974d6173..9dd0fa597675 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -605,8 +605,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/gov/go.mod b/x/gov/go.mod index 179808b67a1a..52c80772a3f4 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -128,7 +128,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/gov/go.sum b/x/gov/go.sum index e81c974d6173..9dd0fa597675 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -605,8 +605,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/group/go.mod b/x/group/go.mod index 39aff94759e9..d4ded3a10f50 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -130,7 +130,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/group/go.sum b/x/group/go.sum index 92629d7c9917..343dcea2c3e1 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -605,8 +605,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/mint/go.mod b/x/mint/go.mod index fa59618ec406..0a4553be4cf0 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -121,7 +121,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/mint/go.sum b/x/mint/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/nft/go.mod b/x/nft/go.mod index 4c3360193044..5d2de8bc9af7 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -120,7 +120,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/nft/go.sum b/x/nft/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/params/go.mod b/x/params/go.mod index b8f85551e7a7..156aaafb1eb4 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/params/go.sum b/x/params/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index 00f296504e76..5d386b36ec41 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -122,7 +122,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index 27a82aabe223..b4fd351e8480 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -123,7 +123,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 5d2b991063a5..be572c236146 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -597,8 +597,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/staking/go.mod b/x/staking/go.mod index dc6bb81cf120..7502d890cd54 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -124,7 +124,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/staking/go.sum b/x/staking/go.sum index c26e801a1250..cc1f571d3b25 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -595,8 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index f847f36b0ade..bde85d30495e 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -147,7 +147,7 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_model v0.6.0 // indirect - github.com/prometheus/common v0.50.0 // indirect + github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 2d823fe88a20..ef45c2fa6085 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -892,8 +892,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 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.50.0 h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ= -github.com/prometheus/common v0.50.0/go.mod h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ= +github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= +github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= 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= From d54e940d50c525e2fb1763d9347e8175fb73f624 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 28 Mar 2024 14:48:52 +0100 Subject: [PATCH 4/6] refactor(x/staking): use sdk validator updates (#19788) --- api/cosmos/staking/v1beta1/staking.pulsar.go | 122 +- core/appmodule/module.go | 3 + simapp/sim_test.go | 2 +- .../staking/keeper/genesis_test.go | 5 +- x/staking/CHANGELOG.md | 10 +- x/staking/README.md | 8 - x/staking/keeper/abci.go | 4 +- x/staking/keeper/genesis.go | 6 +- x/staking/keeper/keeper.go | 3 - x/staking/keeper/migrations.go | 7 + x/staking/keeper/val_state_change.go | 51 +- x/staking/keeper/validator_test.go | 4 +- x/staking/migrations/v5/store.go | 4 +- x/staking/migrations/v6/keys.go | 5 + x/staking/migrations/v6/store.go | 16 + x/staking/module.go | 9 +- .../cosmos/staking/v1beta1/staking.proto | 2 + x/staking/types/keys.go | 11 +- x/staking/types/staking.pb.go | 1678 +++++++++-------- x/staking/types/validator.go | 47 +- x/staking/types/validator_test.go | 18 - 21 files changed, 984 insertions(+), 1031 deletions(-) create mode 100644 x/staking/migrations/v6/keys.go create mode 100644 x/staking/migrations/v6/store.go diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index d8d779e67d33..d725e2e2423b 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15895,6 +15895,8 @@ func (x *Pool) GetBondedTokens() string { // ValidatorUpdates defines an array of abci.ValidatorUpdate objects. // TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence +// +// Deprecated: Do not use. type ValidatorUpdates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -16409,71 +16411,71 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, - 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, + 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x5d, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x22, 0xd0, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, - 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, - 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0x88, - 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x41, 0x64, - 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, - 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, - 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, - 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, - 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, - 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, - 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, - 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, - 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x65, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, + 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, + 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, + 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, 0x65, 0x77, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x65, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x66, 0x65, + 0x65, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, + 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, + 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, + 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, + 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, + 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, + 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, + 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/core/appmodule/module.go b/core/appmodule/module.go index 60c4f80c3558..a0b6e7f02cb6 100644 --- a/core/appmodule/module.go +++ b/core/appmodule/module.go @@ -29,6 +29,9 @@ type HasEndBlocker = appmodule.HasEndBlocker // HasRegisterInterfaces is the interface for modules to register their msg types. type HasRegisterInterfaces = appmodule.HasRegisterInterfaces +// ValidatorUpdate defines a validator update. +type ValidatorUpdate = appmodule.ValidatorUpdate + // HasServices is the extension interface that modules should implement to register // implementations of services defined in .proto files. type HasServices interface { diff --git a/simapp/sim_test.go b/simapp/sim_test.go index 1ff1daa615b5..b4f9802830e9 100644 --- a/simapp/sim_test.go +++ b/simapp/sim_test.go @@ -194,7 +194,7 @@ func TestAppImportExport(t *testing.T) { stakingtypes.StoreKey: { stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, stakingtypes.HistoricalInfoKey, stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, - stakingtypes.UnbondingTypeKey, stakingtypes.ValidatorUpdatesKey, + stakingtypes.UnbondingTypeKey, }, authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix}, feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix}, diff --git a/tests/integration/staking/keeper/genesis_test.go b/tests/integration/staking/keeper/genesis_test.go index 41ee5ba758a2..95e34da18485 100644 --- a/tests/integration/staking/keeper/genesis_test.go +++ b/tests/integration/staking/keeper/genesis_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - abci "github.com/cometbft/cometbft/abci/types" "github.com/stretchr/testify/require" "gotest.tools/v3/assert" + "cosmossdk.io/core/appmodule" "cosmossdk.io/math" banktestutil "cosmossdk.io/x/bank/testutil" "cosmossdk.io/x/staking" @@ -128,8 +128,7 @@ func TestInitGenesis(t *testing.T) { assert.Assert(t, found) assert.Equal(t, types.Bonded, resVal.Status) - abcivals := make([]abci.ValidatorUpdate, len(vals)) - validatorUpdates := make([]module.ValidatorUpdate, len(abcivals)) + validatorUpdates := make([]appmodule.ValidatorUpdate, len(vals)) for i, val := range validators { validatorUpdates[i] = val.ModuleValidatorUpdate(f.stakingKeeper.PowerReduction(f.sdkCtx)) } diff --git a/x/staking/CHANGELOG.md b/x/staking/CHANGELOG.md index 0f09872a7d4f..a096783a6054 100644 --- a/x/staking/CHANGELOG.md +++ b/x/staking/CHANGELOG.md @@ -43,6 +43,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking Changes +* [#19788](https://github.com/cosmos/cosmos-sdk/pull/19788) Remove `ABCIValidatorUpdate` and `ABCIValidatorUpdateZero`, use `ModuleValidatorUpdate` and `ModuleValidatorUpdateIsZero` instead. +* [#19754](https://github.com/cosmos/cosmos-sdk/pull/19754) Update to use `[]appmodule.ValidatorUpdate` as return for `ApplyAndReturnValidatorSetUpdates`. +* [#19414](https://github.com/cosmos/cosmos-sdk/pull/19414) `NewStakingKeeper` takes an environment variable instead of individual services. * [#19742](https://github.com/cosmos/cosmos-sdk/pull/19742) `NewStakeAuthorization` now takes `address.Codec` as argument. * [#19735](https://github.com/cosmos/cosmos-sdk/pull/19735) Update genesis api to match new `appmodule.HasGenesis` interface. * [#18198](https://github.com/cosmos/cosmos-sdk/pull/18198) `Validator` and `Delegator` interfaces were moved to `github.com/cosmos/cosmos-sdk/types` to avoid interface dependency on staking in other modules. @@ -85,18 +88,15 @@ Ref: https://keepachangelog.com/en/1.0.0/ * remove from `types`: `GetUnbondingTypeKey`. * [#17063](https://github.com/cosmos/cosmos-sdk/pull/17063) Use collections for `HistoricalInfo`: * remove `Keeper`: `GetHistoricalInfo`, `SetHistoricalInfo` -* [#17062](https://github.com/cosmos/cosmos-sdk/pull/17062) Use collections for `ValidatorUpdates`: - * remove `Keeper`: `SetValidatorUpdates`, `GetValidatorUpdates` +* [#17062](https://github.com/cosmos/cosmos-sdk/pull/17062), [#19788](https://github.com/cosmos/cosmos-sdk/pull/19788) Remove `GetValidatorUpdates` and `ValidatorUpdates` storage. * [#17026](https://github.com/cosmos/cosmos-sdk/pull/17026) Use collections for `LastTotalPower`: * remove `Keeper`: `SetLastTotalPower`, `GetLastTotalPower` * [#17335](https://github.com/cosmos/cosmos-sdk/pull/17335) Remove usage of `"cosmossdk.io/x/staking/types".Infraction_*` in favour of `"cosmossdk.io/api/cosmos/staking/v1beta1".Infraction_` in order to remove dependency between modules on staking * [#17655](https://github.com/cosmos/cosmos-sdk/pull/17655) `QueryHistoricalInfo` was adjusted to return `HistoricalRecord` and marked `Hist` as deprecated. -* [#19414](https://github.com/cosmos/cosmos-sdk/pull/19414) Staking module takes an environment variable in `NewStakingKeeper` instead of individual services. -* [#19754](https://github.com/cosmos/cosmos-sdk/pull/19754) update to use `[]module.ValidatorUpdate` as return for `ApplyAndReturnValidatorSetUpdates`. ### State Breaking changes * [#18841](https://github.com/cosmos/cosmos-sdk/pull/18841) In a undelegation or redelegation if the shares being left delegated correspond to less than 1 token (in base denom) the entire delegation gets removed. * [#18142](https://github.com/cosmos/cosmos-sdk/pull/18142) Introduce `key_rotation_fee` param to calculate fees while rotating the keys * [#17655](https://github.com/cosmos/cosmos-sdk/pull/17655) `HistoricalInfo` was replaced with `HistoricalRecord`, it removes the validator set and comet header and only keep what is needed for IBC. -* [#19740](https://github.com/cosmos/cosmos-sdk/pull/19740) Verify `InitGenesis` and `ExportGenesis` module code and keeper code do not panic. \ No newline at end of file +* [#19740](https://github.com/cosmos/cosmos-sdk/pull/19740) Verify `InitGenesis` and `ExportGenesis` module code and keeper code do not panic. diff --git a/x/staking/README.md b/x/staking/README.md index 713accb96c9f..84c3ab22781e 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -23,7 +23,6 @@ network. * [State](#state) * [Pool](#pool) * [LastTotalPower](#lasttotalpower) - * [ValidatorUpdates](#validatorupdates) * [UnbondingID](#unbondingid) * [Params](#params) * [Validator](#validator) @@ -75,13 +74,6 @@ Store entries prefixed with "Last" must remain unchanged until EndBlock. * LastTotalPower: `0x12 -> ProtocolBuffer(math.Int)` -### ValidatorUpdates - -ValidatorUpdates contains the validator updates returned to ABCI at the end of every block. -The values are overwritten in every block. - -* ValidatorUpdates `0x61 -> []abci.ValidatorUpdate` - ### UnbondingID UnbondingID stores the ID of the latest unbonding operation. It enables creating unique IDs for unbonding operations, i.e., UnbondingID is incremented every time a new unbonding operation (validator unbonding, unbonding delegation, redelegation) is initiated. diff --git a/x/staking/keeper/abci.go b/x/staking/keeper/abci.go index 174fd5c21af7..1e70b2c6bb1c 100644 --- a/x/staking/keeper/abci.go +++ b/x/staking/keeper/abci.go @@ -4,10 +4,10 @@ import ( "context" "time" + "cosmossdk.io/core/appmodule" "cosmossdk.io/x/staking/types" "github.com/cosmos/cosmos-sdk/telemetry" - "github.com/cosmos/cosmos-sdk/types/module" ) // BeginBlocker will persist the current header and validator set as a historical entry @@ -18,7 +18,7 @@ func (k *Keeper) BeginBlocker(ctx context.Context) error { } // EndBlocker called at every block, update validator set -func (k *Keeper) EndBlocker(ctx context.Context) ([]module.ValidatorUpdate, error) { +func (k *Keeper) EndBlocker(ctx context.Context) ([]appmodule.ValidatorUpdate, error) { defer telemetry.ModuleMeasureSince(types.ModuleName, time.Now(), telemetry.MetricKeyEndBlocker) return k.BlockValidatorUpdates(ctx) } diff --git a/x/staking/keeper/genesis.go b/x/staking/keeper/genesis.go index 1db8b9f0adf1..b59bda1ad598 100644 --- a/x/staking/keeper/genesis.go +++ b/x/staking/keeper/genesis.go @@ -5,11 +5,11 @@ import ( "fmt" "cosmossdk.io/collections" + "cosmossdk.io/core/appmodule" "cosmossdk.io/math" "cosmossdk.io/x/staking/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" ) // InitGenesis sets the pool and parameters for the provided keeper. For each @@ -17,7 +17,7 @@ import ( // setting the indexes. In addition, it also sets any delegations found in // data. Finally, it updates the bonded validators. // Returns final validator set after applying all declaration and delegations -func (k Keeper) InitGenesis(ctx context.Context, data *types.GenesisState) ([]module.ValidatorUpdate, error) { +func (k Keeper) InitGenesis(ctx context.Context, data *types.GenesisState) ([]appmodule.ValidatorUpdate, error) { bondedTokens := math.ZeroInt() notBondedTokens := math.ZeroInt() @@ -175,7 +175,7 @@ func (k Keeper) InitGenesis(ctx context.Context, data *types.GenesisState) ([]mo } // don't need to run CometBFT updates if we exported - var moduleValidatorUpdates []module.ValidatorUpdate + var moduleValidatorUpdates []appmodule.ValidatorUpdate if data.Exported { for _, lv := range data.LastValidatorPowers { valAddr, err := k.validatorAddressCodec.StringToBytes(lv.Address) diff --git a/x/staking/keeper/keeper.go b/x/staking/keeper/keeper.go index 6cb5dab27826..ca25c8093c2d 100644 --- a/x/staking/keeper/keeper.go +++ b/x/staking/keeper/keeper.go @@ -83,8 +83,6 @@ type Keeper struct { HistoricalInfo collections.Map[uint64, types.HistoricalRecord] // LastTotalPower value: LastTotalPower LastTotalPower collections.Item[math.Int] - // ValidatorUpdates value: ValidatorUpdates - ValidatorUpdates collections.Item[types.ValidatorUpdates] // DelegationsByValidator key: valAddr+delAddr | value: none used (index key for delegations by validator index) DelegationsByValidator collections.Map[collections.Pair[sdk.ValAddress, sdk.AccAddress], []byte] UnbondingID collections.Sequence @@ -171,7 +169,6 @@ func NewKeeper( consensusAddressCodec: consensusAddressCodec, LastTotalPower: collections.NewItem(sb, types.LastTotalPowerKey, "last_total_power", sdk.IntValue), HistoricalInfo: collections.NewMap(sb, types.HistoricalInfoKey, "historical_info", collections.Uint64Key, HistoricalInfoCodec(cdc)), - ValidatorUpdates: collections.NewItem(sb, types.ValidatorUpdatesKey, "validator_updates", codec.CollValue[types.ValidatorUpdates](cdc)), Delegations: collections.NewMap( sb, types.DelegationKey, "delegations", collections.PairKeyCodec( diff --git a/x/staking/keeper/migrations.go b/x/staking/keeper/migrations.go index 63a674470595..8c9b555a4bb7 100644 --- a/x/staking/keeper/migrations.go +++ b/x/staking/keeper/migrations.go @@ -4,6 +4,7 @@ import ( "context" v5 "cosmossdk.io/x/staking/migrations/v5" + v6 "cosmossdk.io/x/staking/migrations/v6" "github.com/cosmos/cosmos-sdk/runtime" ) @@ -40,3 +41,9 @@ func (m Migrator) Migrate4to5(ctx context.Context) error { store := runtime.KVStoreAdapter(m.keeper.environment.KVStoreService.OpenKVStore(ctx)) return v5.MigrateStore(ctx, store, m.keeper.cdc, m.keeper.Logger()) } + +// Migrate4to5 migrates x/staking state from consensus version 5 to 6. +func (m Migrator) Migrate5to6(ctx context.Context) error { + store := runtime.KVStoreAdapter(m.keeper.environment.KVStoreService.OpenKVStore(ctx)) + return v6.MigrateStore(ctx, store, m.keeper.cdc) +} diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index e2bfe780a44b..3279faa001f3 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -6,25 +6,23 @@ import ( "fmt" "sort" - abci "github.com/cometbft/cometbft/abci/types" gogotypes "github.com/cosmos/gogoproto/types" "cosmossdk.io/core/address" + "cosmossdk.io/core/appmodule" "cosmossdk.io/core/event" errorsmod "cosmossdk.io/errors" "cosmossdk.io/math" "cosmossdk.io/x/staking/types" - cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/types/module" ) // BlockValidatorUpdates calculates the ValidatorUpdates for the current block // Called in each EndBlock -func (k Keeper) BlockValidatorUpdates(ctx context.Context) ([]module.ValidatorUpdate, error) { +func (k Keeper) BlockValidatorUpdates(ctx context.Context) ([]appmodule.ValidatorUpdate, error) { // Calculate validator set changes. // // NOTE: ApplyAndReturnValidatorSetUpdates has to come before @@ -138,7 +136,7 @@ func (k Keeper) BlockValidatorUpdates(ctx context.Context) ([]module.ValidatorUp // CONTRACT: Only validators with non-zero power or zero-power that were bonded // at the previous block height or were removed from the validator set entirely // are returned to CometBFT. -func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module.ValidatorUpdate, error) { +func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]appmodule.ValidatorUpdate, error) { params, err := k.Params.Get(ctx) if err != nil { return nil, err @@ -163,8 +161,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module } defer iterator.Close() - var updates []abci.ValidatorUpdate - var moduleValidatorUpdates []module.ValidatorUpdate + var updates []appmodule.ValidatorUpdate for count := 0; iterator.Valid() && count < int(maxValidators); iterator.Next() { // everything that is iterated in this loop is becoming or already a // part of the bonded validator set @@ -215,8 +212,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module // update the validator set if power has changed if !found || !bytes.Equal(oldPowerBytes, newPowerBytes) { - updates = append(updates, validator.ABCIValidatorUpdate(powerReduction)) - moduleValidatorUpdates = append(moduleValidatorUpdates, validator.ModuleValidatorUpdate(powerReduction)) + updates = append(updates, validator.ModuleValidatorUpdate(powerReduction)) if err = k.SetLastValidatorPower(ctx, valAddr, newPower); err != nil { return nil, err } @@ -251,8 +247,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module return nil, err } - updates = append(updates, validator.ABCIValidatorUpdateZero()) - moduleValidatorUpdates = append(moduleValidatorUpdates, validator.ModuleValidatorUpdateZero()) + updates = append(updates, validator.ModuleValidatorUpdateZero()) } // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory @@ -265,10 +260,6 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module for _, history := range historyObjects { valAddr := history.OperatorAddress - if err != nil { - return nil, err - } - validator, err := k.GetValidator(ctx, valAddr) if err != nil { return nil, err @@ -278,41 +269,23 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module if !ok { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "Expecting cryptotypes.PubKey, got %T", oldPk) } - oldCmtPk, err := cryptocodec.ToCmtProtoPublicKey(oldPk) - if err != nil { - return nil, err - } newPk, ok := history.NewConsPubkey.GetCachedValue().(cryptotypes.PubKey) if !ok { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "Expecting cryptotypes.PubKey, got %T", newPk) } - newCmtPk, err := cryptocodec.ToCmtProtoPublicKey(newPk) - if err != nil { - return nil, err - } // a validator cannot rotate keys if it's not bonded or if it's jailed // - a validator can be unbonding state but jailed status false // - a validator can be jailed and status can be unbonding if !(validator.Jailed || validator.Status != types.Bonded) { - updates = append(updates, abci.ValidatorUpdate{ - PubKey: oldCmtPk, - Power: 0, - }) - - moduleValidatorUpdates = append(moduleValidatorUpdates, module.ValidatorUpdate{ + updates = append(updates, appmodule.ValidatorUpdate{ PubKey: oldPk.Bytes(), PubKeyType: oldPk.Type(), Power: 0, }) - updates = append(updates, abci.ValidatorUpdate{ - PubKey: newCmtPk, - Power: validator.ConsensusPower(powerReduction), - }) - - moduleValidatorUpdates = append(moduleValidatorUpdates, module.ValidatorUpdate{ + updates = append(updates, appmodule.ValidatorUpdate{ PubKey: newPk.Bytes(), PubKeyType: newPk.Type(), Power: validator.ConsensusPower(powerReduction), @@ -350,13 +323,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx context.Context) ([]module } } - valUpdates := types.ValidatorUpdates{Updates: updates} - // set the list of validator updates - if err = k.ValidatorUpdates.Set(ctx, valUpdates); err != nil { - return nil, err - } - - return moduleValidatorUpdates, err + return updates, err } // Validator state transitions diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index 2c7a90f98cc1..d6f0655e981b 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -6,6 +6,7 @@ import ( "github.com/golang/mock/gomock" "cosmossdk.io/collections" + "cosmossdk.io/core/appmodule" "cosmossdk.io/core/header" "cosmossdk.io/math" authtypes "cosmossdk.io/x/auth/types" @@ -14,10 +15,9 @@ import ( stakingtypes "cosmossdk.io/x/staking/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" ) -func (s *KeeperTestSuite) applyValidatorSetUpdates(ctx sdk.Context, keeper *stakingkeeper.Keeper, expectedUpdatesLen int) []module.ValidatorUpdate { +func (s *KeeperTestSuite) applyValidatorSetUpdates(ctx sdk.Context, keeper *stakingkeeper.Keeper, expectedUpdatesLen int) []appmodule.ValidatorUpdate { updates, err := keeper.ApplyAndReturnValidatorSetUpdates(ctx) s.Require().NoError(err) if expectedUpdatesLen >= 0 { diff --git a/x/staking/migrations/v5/store.go b/x/staking/migrations/v5/store.go index 38ff590b3271..37117c5901a0 100644 --- a/x/staking/migrations/v5/store.go +++ b/x/staking/migrations/v5/store.go @@ -13,7 +13,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func migrateDelegationsByValidatorIndex(ctx context.Context, store storetypes.KVStore, cdc codec.BinaryCodec) error { +func migrateDelegationsByValidatorIndex(store storetypes.KVStore) error { iterator := storetypes.KVStorePrefixIterator(store, DelegationKey) for ; iterator.Valid(); iterator.Next() { @@ -31,7 +31,7 @@ func migrateDelegationsByValidatorIndex(ctx context.Context, store storetypes.KV // MigrateStore performs in-place store migrations from v4 to v5. func MigrateStore(ctx context.Context, store storetypes.KVStore, cdc codec.BinaryCodec, logger log.Logger) error { - if err := migrateDelegationsByValidatorIndex(ctx, store, cdc); err != nil { + if err := migrateDelegationsByValidatorIndex(store); err != nil { return err } return migrateHistoricalInfoKeys(store, logger) diff --git a/x/staking/migrations/v6/keys.go b/x/staking/migrations/v6/keys.go new file mode 100644 index 000000000000..ed44b1c56faf --- /dev/null +++ b/x/staking/migrations/v6/keys.go @@ -0,0 +1,5 @@ +package v6 + +import "cosmossdk.io/collections" + +var ValidatorUpdatesKey = collections.NewPrefix(97) diff --git a/x/staking/migrations/v6/store.go b/x/staking/migrations/v6/store.go new file mode 100644 index 000000000000..235e7fbf6ce4 --- /dev/null +++ b/x/staking/migrations/v6/store.go @@ -0,0 +1,16 @@ +package v6 + +import ( + "context" + + storetypes "cosmossdk.io/store/types" + + "github.com/cosmos/cosmos-sdk/codec" +) + +// MigrateStore performs in-place store migrations from v5 to v6. +// It deletes the ValidatorUpdatesKey from the store. +func MigrateStore(ctx context.Context, store storetypes.KVStore, cdc codec.BinaryCodec) error { + store.Delete(ValidatorUpdatesKey) + return nil +} diff --git a/x/staking/module.go b/x/staking/module.go index 1978689d6efc..ec28b212aad2 100644 --- a/x/staking/module.go +++ b/x/staking/module.go @@ -23,7 +23,7 @@ import ( ) const ( - consensusVersion uint64 = 5 + consensusVersion uint64 = 6 ) var ( @@ -125,6 +125,9 @@ func (am AppModule) RegisterMigrations(mr appmodule.MigrationRegistrar) error { if err := mr.Register(types.ModuleName, 4, m.Migrate4to5); err != nil { return fmt.Errorf("failed to migrate x/%s from version 4 to 5: %v", types.ModuleName, err) } + if err := mr.Register(types.ModuleName, 5, m.Migrate5to6); err != nil { + return fmt.Errorf("failed to migrate x/%s from version 5 to 6: %v", types.ModuleName, err) + } return nil } @@ -145,7 +148,7 @@ func (am AppModule) ValidateGenesis(bz json.RawMessage) error { } // InitGenesis performs genesis initialization for the staking module. -func (am AppModule) InitGenesis(ctx context.Context, data json.RawMessage) ([]module.ValidatorUpdate, error) { +func (am AppModule) InitGenesis(ctx context.Context, data json.RawMessage) ([]appmodule.ValidatorUpdate, error) { var genesisState types.GenesisState am.cdc.MustUnmarshalJSON(data, &genesisState) return am.keeper.InitGenesis(ctx, &genesisState) @@ -173,6 +176,6 @@ func (am AppModule) BeginBlock(ctx context.Context) error { } // EndBlock returns the end blocker for the staking module. -func (am AppModule) EndBlock(ctx context.Context) ([]module.ValidatorUpdate, error) { +func (am AppModule) EndBlock(ctx context.Context) ([]appmodule.ValidatorUpdate, error) { return am.keeper.EndBlocker(ctx) } diff --git a/x/staking/proto/cosmos/staking/v1beta1/staking.proto b/x/staking/proto/cosmos/staking/v1beta1/staking.proto index dc76b743f6ad..9a617b69ea6a 100644 --- a/x/staking/proto/cosmos/staking/v1beta1/staking.proto +++ b/x/staking/proto/cosmos/staking/v1beta1/staking.proto @@ -406,6 +406,8 @@ enum Infraction { // ValidatorUpdates defines an array of abci.ValidatorUpdate objects. // TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence message ValidatorUpdates { + option deprecated = true; + repeated tendermint.abci.ValidatorUpdate updates = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index c519ce181ab7..2b4213e277f4 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -57,10 +57,8 @@ var ( RedelegationQueueKey = collections.NewPrefix(66) // prefix for the timestamps in redelegations queue ValidatorQueueKey = collections.NewPrefix(67) // prefix for the timestamps in validator queue - HistoricalInfoKey = collections.NewPrefix(80) // prefix for the historical info - ValidatorUpdatesKey = collections.NewPrefix(97) // prefix for the end block validator updates key - - ParamsKey = collections.NewPrefix(81) // prefix for parameters for module x/staking + HistoricalInfoKey = collections.NewPrefix(80) // prefix for the historical info + ParamsKey = collections.NewPrefix(81) // prefix for parameters for module x/staking DelegationByValIndexKey = collections.NewPrefix(113) // key for delegations by a validator @@ -72,6 +70,11 @@ var ( OldToNewConsKeyMap = collections.NewPrefix(106) // prefix for rotated cons address to new cons address ) +// Reserved kvstore keys +var ( + _ = collections.NewPrefix(97) +) + // UnbondingType defines the type of unbonding operation type UnbondingType int diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 0494f43106ad..51a2d2b4eefe 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1277,6 +1277,8 @@ var xxx_messageInfo_Pool proto.InternalMessageInfo // ValidatorUpdates defines an array of abci.ValidatorUpdate objects. // TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence +// +// Deprecated: Do not use. type ValidatorUpdates struct { Updates []types3.ValidatorUpdate `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates"` } @@ -1448,138 +1450,138 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2083 bytes of a gzipped FileDescriptorProto + // 2084 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4d, 0x6c, 0x5b, 0x49, 0x1d, 0xcf, 0xb3, 0x5d, 0x27, 0xf9, 0xdb, 0x89, 0x9d, 0xe9, 0x97, 0xe3, 0xee, 0xc6, 0xae, 0xb7, 0xb0, 0x6d, 0xa1, 0x0e, 0x2d, 0xa8, 0x87, 0x80, 0x40, 0x75, 0xec, 0x6e, 0xbd, 0x1f, 0x49, 0x78, - 0x4e, 0x02, 0xcb, 0xd7, 0xd3, 0xf8, 0xbd, 0xb1, 0xfd, 0x88, 0x3d, 0xcf, 0xbc, 0x19, 0xb7, 0xf5, - 0x9d, 0xc3, 0x2a, 0x2b, 0xa4, 0x3d, 0x01, 0x12, 0xaa, 0xa8, 0xc4, 0x65, 0xb9, 0xed, 0xa1, 0xe2, - 0xce, 0x6d, 0x41, 0x42, 0xaa, 0x7a, 0x42, 0x48, 0x04, 0xd4, 0x1e, 0xba, 0x82, 0x0b, 0xe2, 0xc4, - 0x11, 0xcd, 0xbc, 0x79, 0x1f, 0x8e, 0xe3, 0xe6, 0xa3, 0x2b, 0xb4, 0x62, 0x2f, 0x91, 0x67, 0xe6, - 0xff, 0xff, 0xbd, 0xff, 0xf7, 0xcc, 0xff, 0x1f, 0xb8, 0x64, 0x3a, 0xac, 0xe7, 0xb0, 0x65, 0xc6, - 0xf1, 0x8e, 0x4d, 0xdb, 0xcb, 0x77, 0xaf, 0x37, 0x09, 0xc7, 0xd7, 0xfd, 0x75, 0xb9, 0xef, 0x3a, - 0xdc, 0x41, 0xe7, 0x3c, 0xaa, 0xb2, 0xbf, 0xab, 0xa8, 0xf2, 0x67, 0xda, 0x4e, 0xdb, 0x91, 0x24, - 0xcb, 0xe2, 0x97, 0x47, 0x9d, 0x5f, 0x6c, 0x3b, 0x4e, 0xbb, 0x4b, 0x96, 0xe5, 0xaa, 0x39, 0x68, - 0x2d, 0x63, 0x3a, 0x54, 0x47, 0x4b, 0xfb, 0x8f, 0xac, 0x81, 0x8b, 0xb9, 0xed, 0x50, 0x75, 0x5e, - 0xd8, 0x7f, 0xce, 0xed, 0x1e, 0x61, 0x1c, 0xf7, 0xfa, 0x3e, 0xb6, 0x27, 0x89, 0xe1, 0x7d, 0x54, - 0x89, 0xa5, 0xb0, 0x95, 0x2a, 0x4d, 0xcc, 0x48, 0xa0, 0x87, 0xe9, 0xd8, 0x3e, 0xf6, 0x02, 0xee, - 0xd9, 0xd4, 0x59, 0x96, 0x7f, 0xd5, 0xd6, 0x2b, 0x9c, 0x50, 0x8b, 0xb8, 0x3d, 0x9b, 0xf2, 0x65, - 0x3e, 0xec, 0x13, 0xe6, 0xfd, 0x55, 0xa7, 0x17, 0x22, 0xa7, 0xb8, 0x69, 0xda, 0xd1, 0xc3, 0xd2, - 0x2f, 0x34, 0x98, 0xbf, 0x63, 0x33, 0xee, 0xb8, 0xb6, 0x89, 0xbb, 0x75, 0xda, 0x72, 0xd0, 0xd7, - 0x21, 0xd9, 0x21, 0xd8, 0x22, 0x6e, 0x4e, 0x2b, 0x6a, 0x97, 0x53, 0x37, 0x72, 0xe5, 0x10, 0xa0, - 0xec, 0xf1, 0xde, 0x91, 0xe7, 0x95, 0xd9, 0x8f, 0xf7, 0x0a, 0x53, 0x1f, 0x3e, 0xff, 0xe8, 0xaa, - 0xa6, 0x2b, 0x16, 0x54, 0x85, 0xe4, 0x5d, 0xdc, 0x65, 0x84, 0xe7, 0x62, 0xc5, 0xf8, 0xe5, 0xd4, - 0x8d, 0x8b, 0xe5, 0x83, 0x6d, 0x5e, 0xde, 0xc6, 0x5d, 0xdb, 0xc2, 0xdc, 0x19, 0x45, 0xf1, 0x78, - 0x57, 0x62, 0x39, 0xad, 0xf4, 0xbe, 0x06, 0xd9, 0x50, 0x32, 0x9d, 0x98, 0x8e, 0x6b, 0xa1, 0x1c, - 0x4c, 0xe3, 0x7e, 0xbf, 0x83, 0x59, 0x47, 0x0a, 0x97, 0xd6, 0xfd, 0x25, 0xfa, 0x1a, 0x24, 0x84, - 0x91, 0x73, 0x31, 0x29, 0x73, 0xbe, 0xec, 0x79, 0xa0, 0xec, 0x7b, 0xa0, 0xbc, 0xe9, 0x7b, 0xa0, - 0x92, 0xf8, 0xe0, 0x6f, 0x05, 0x4d, 0x97, 0xd4, 0xe8, 0x75, 0xc8, 0xdc, 0xf5, 0x05, 0x61, 0x86, - 0xc4, 0x8d, 0x4b, 0xdc, 0xf9, 0x70, 0xfb, 0x0e, 0x66, 0x9d, 0xd2, 0xcf, 0x63, 0x90, 0x59, 0x75, - 0x7a, 0x3d, 0x9b, 0x31, 0xdb, 0xa1, 0x3a, 0xe6, 0x84, 0xa1, 0x37, 0x21, 0xe1, 0x62, 0x4e, 0xa4, - 0x24, 0xb3, 0x95, 0x9b, 0x42, 0x8d, 0xbf, 0xec, 0x15, 0x2e, 0x78, 0x0a, 0x33, 0x6b, 0xa7, 0x6c, - 0x3b, 0xcb, 0x3d, 0xcc, 0x3b, 0xe5, 0xb7, 0x49, 0x1b, 0x9b, 0xc3, 0x2a, 0x31, 0x9f, 0x3c, 0xba, - 0x06, 0xca, 0x1e, 0x55, 0x62, 0x7a, 0x3a, 0x4b, 0x0c, 0xf4, 0x6d, 0x98, 0xe9, 0xe1, 0xfb, 0x86, - 0xc4, 0x8b, 0xbd, 0x14, 0xde, 0x74, 0x0f, 0xdf, 0x17, 0xf2, 0xa1, 0x1f, 0x41, 0x46, 0x40, 0x9a, - 0x1d, 0x4c, 0xdb, 0xc4, 0x43, 0x8e, 0xbf, 0x14, 0xf2, 0x5c, 0x0f, 0xdf, 0x5f, 0x95, 0x68, 0x02, - 0x7f, 0x25, 0xf1, 0xc9, 0xc3, 0x82, 0x56, 0xfa, 0xbd, 0x06, 0x10, 0x1a, 0x06, 0x61, 0xc8, 0x9a, - 0xc1, 0x4a, 0x7e, 0x94, 0xa9, 0x30, 0x7a, 0x7d, 0x52, 0x24, 0xec, 0x33, 0x6b, 0x65, 0x4e, 0x88, - 0xf7, 0x78, 0xaf, 0xa0, 0x79, 0x5f, 0xcd, 0x98, 0x63, 0x66, 0x4f, 0x0d, 0xfa, 0x16, 0xe6, 0xc4, - 0x38, 0xa2, 0xc3, 0x25, 0xa0, 0x70, 0xba, 0x07, 0x08, 0x1e, 0xb7, 0x38, 0x57, 0x3a, 0x7c, 0xa8, - 0x41, 0xaa, 0x4a, 0x98, 0xe9, 0xda, 0x7d, 0x91, 0xc4, 0x22, 0xca, 0x7a, 0x0e, 0xb5, 0x77, 0x54, - 0x0a, 0xcc, 0xea, 0xfe, 0x12, 0xe5, 0x61, 0xc6, 0xb6, 0x08, 0xe5, 0x36, 0x1f, 0x7a, 0x6e, 0xd2, - 0x83, 0xb5, 0xe0, 0xba, 0x47, 0x9a, 0xcc, 0xf6, 0xed, 0xac, 0xfb, 0x4b, 0x74, 0x05, 0xb2, 0x8c, - 0x98, 0x03, 0xd7, 0xe6, 0x43, 0xc3, 0x74, 0x28, 0xc7, 0x26, 0xcf, 0x25, 0x24, 0x49, 0xc6, 0xdf, - 0x5f, 0xf5, 0xb6, 0x05, 0x88, 0x45, 0x38, 0xb6, 0xbb, 0x2c, 0x77, 0xca, 0x03, 0x51, 0x4b, 0x25, - 0xea, 0xee, 0x34, 0xcc, 0x06, 0xa9, 0x83, 0x56, 0x21, 0xeb, 0xf4, 0x89, 0x2b, 0x7e, 0x1b, 0xd8, - 0xb2, 0x5c, 0xc2, 0x98, 0x8a, 0xc6, 0xdc, 0x93, 0x47, 0xd7, 0xce, 0x28, 0x83, 0xdf, 0xf2, 0x4e, - 0x1a, 0xdc, 0xb5, 0x69, 0x5b, 0xcf, 0xf8, 0x1c, 0x6a, 0x1b, 0xbd, 0x2b, 0x5c, 0x46, 0x19, 0xa1, - 0x6c, 0xc0, 0x8c, 0xfe, 0xa0, 0xb9, 0x43, 0x86, 0xca, 0xa8, 0x67, 0xc6, 0x8c, 0x7a, 0x8b, 0x0e, - 0x2b, 0xb9, 0x3f, 0x86, 0xd0, 0xa6, 0x3b, 0xec, 0x73, 0xa7, 0xbc, 0x31, 0x68, 0xbe, 0x45, 0x86, - 0xc2, 0x55, 0x0a, 0x67, 0x43, 0xc2, 0xa0, 0x73, 0x90, 0xfc, 0x31, 0xb6, 0xbb, 0xc4, 0x92, 0x16, - 0x99, 0xd1, 0xd5, 0x0a, 0xad, 0x40, 0x92, 0x71, 0xcc, 0x07, 0x4c, 0x9a, 0x61, 0xfe, 0x46, 0x69, - 0x52, 0x6c, 0x54, 0x1c, 0x6a, 0x35, 0x24, 0xa5, 0xae, 0x38, 0xd0, 0x2a, 0x24, 0xb9, 0xb3, 0x43, - 0xa8, 0x32, 0x50, 0xe5, 0x4b, 0x2a, 0x9a, 0xcf, 0x8e, 0x47, 0x73, 0x9d, 0xf2, 0x48, 0x1c, 0xd7, - 0x29, 0xd7, 0x15, 0x2b, 0xfa, 0x01, 0x64, 0x2d, 0xd2, 0x25, 0x6d, 0x69, 0x39, 0xd6, 0xc1, 0x2e, - 0x61, 0xb9, 0xa4, 0x84, 0xbb, 0x7e, 0xec, 0xe4, 0xd0, 0x33, 0x01, 0x54, 0x43, 0x22, 0xa1, 0x0d, - 0x48, 0x59, 0x61, 0x38, 0xe5, 0xa6, 0xa5, 0x31, 0x5f, 0x9b, 0xa4, 0x63, 0x24, 0xf2, 0xa2, 0xb5, - 0x30, 0x0a, 0x21, 0x22, 0x68, 0x40, 0x9b, 0x0e, 0xb5, 0x6c, 0xda, 0x36, 0x3a, 0xc4, 0x6e, 0x77, - 0x78, 0x6e, 0xa6, 0xa8, 0x5d, 0x8e, 0xeb, 0x99, 0x60, 0xff, 0x8e, 0xdc, 0x46, 0x1b, 0x30, 0x1f, - 0x92, 0xca, 0x0c, 0x99, 0x3d, 0x6e, 0x86, 0xcc, 0x05, 0x00, 0x82, 0x04, 0xbd, 0x03, 0x10, 0xe6, - 0x60, 0x0e, 0x24, 0x5a, 0xe9, 0xf0, 0x6c, 0x8e, 0x2a, 0x13, 0x01, 0x40, 0xdf, 0x87, 0xd3, 0x3d, - 0x9b, 0x1a, 0x8c, 0x74, 0x5b, 0x86, 0xb2, 0x9c, 0xc0, 0x4d, 0x1d, 0xdf, 0x9b, 0x0b, 0x3d, 0x9b, - 0x36, 0x48, 0xb7, 0x55, 0x0d, 0x50, 0xd0, 0x37, 0xe0, 0x42, 0xa8, 0xbd, 0x43, 0x8d, 0x8e, 0xd3, - 0xb5, 0x0c, 0x97, 0xb4, 0x0c, 0xd3, 0x19, 0x50, 0x9e, 0x4b, 0x4b, 0x9b, 0x9d, 0x0f, 0x48, 0xd6, - 0xe9, 0x1d, 0xa7, 0x6b, 0xe9, 0xa4, 0xb5, 0x2a, 0x8e, 0xd1, 0x6b, 0x10, 0xaa, 0x6e, 0xd8, 0x16, - 0xcb, 0xcd, 0x15, 0xe3, 0x97, 0x13, 0x7a, 0x3a, 0xd8, 0xac, 0x5b, 0x6c, 0x65, 0xe6, 0xbd, 0x87, - 0x85, 0xa9, 0x4f, 0x1e, 0x16, 0xa6, 0x4a, 0xb7, 0x21, 0xbd, 0x8d, 0xbb, 0x2a, 0x8f, 0x08, 0x43, - 0x37, 0x61, 0x16, 0xfb, 0x8b, 0x9c, 0x56, 0x8c, 0xbf, 0x30, 0x0f, 0x43, 0xd2, 0xd2, 0x6f, 0x35, - 0x48, 0x56, 0xb7, 0x37, 0xb0, 0xed, 0xa2, 0x1a, 0x2c, 0x84, 0x81, 0x79, 0xd4, 0x94, 0x0e, 0x63, - 0xd9, 0xcf, 0xe9, 0x35, 0x58, 0x08, 0x2e, 0xb0, 0x00, 0xc6, 0xbb, 0x57, 0x2e, 0x3e, 0x79, 0x74, - 0xed, 0x55, 0x05, 0x13, 0x54, 0x92, 0x7d, 0x78, 0x77, 0xf7, 0xed, 0x47, 0x74, 0x7e, 0x13, 0xa6, - 0x3d, 0x51, 0x19, 0xfa, 0x16, 0x9c, 0xea, 0x8b, 0x1f, 0x52, 0xd5, 0xd4, 0x8d, 0xa5, 0x89, 0x01, - 0x2e, 0xe9, 0xa3, 0xe1, 0xe0, 0xf1, 0x95, 0xde, 0x8f, 0x01, 0x54, 0xb7, 0xb7, 0x37, 0x5d, 0xbb, - 0xdf, 0x25, 0xfc, 0xd3, 0xd2, 0x7d, 0x0b, 0xce, 0x86, 0xba, 0x33, 0xd7, 0x3c, 0xbe, 0xfe, 0xa7, - 0x03, 0xfe, 0x86, 0x6b, 0x1e, 0x08, 0x6b, 0x31, 0x1e, 0xc0, 0xc6, 0x8f, 0x0f, 0x5b, 0x65, 0x7c, - 0xdc, 0xb2, 0xdf, 0x85, 0x54, 0x68, 0x0c, 0x86, 0xea, 0x30, 0xc3, 0xd5, 0x6f, 0x65, 0xe0, 0xd2, - 0x64, 0x03, 0xfb, 0x6c, 0x51, 0x23, 0x07, 0xec, 0xa5, 0xff, 0x68, 0x00, 0x91, 0x1c, 0xf9, 0x6c, - 0xc6, 0x18, 0xaa, 0x43, 0x52, 0x55, 0xe2, 0xf8, 0x49, 0x2b, 0xb1, 0x02, 0x88, 0x18, 0xf5, 0x67, - 0x31, 0x38, 0xbd, 0xe5, 0x67, 0xef, 0x67, 0xdf, 0x06, 0x5b, 0x30, 0x4d, 0x28, 0x77, 0x6d, 0x69, - 0x04, 0xe1, 0xf3, 0xaf, 0x4c, 0xf2, 0xf9, 0x01, 0x4a, 0xd5, 0x28, 0x77, 0x87, 0xd1, 0x08, 0xf0, - 0xb1, 0x22, 0xf6, 0xf8, 0x55, 0x1c, 0x72, 0x93, 0x58, 0xc5, 0x6b, 0xd8, 0x74, 0x89, 0xdc, 0xf0, - 0x2f, 0x19, 0x4d, 0x16, 0xcc, 0x79, 0x7f, 0x5b, 0xdd, 0x31, 0x3a, 0x88, 0x57, 0x99, 0x08, 0x2e, - 0x41, 0x7a, 0xb2, 0x67, 0xd8, 0x7c, 0x88, 0x20, 0x6f, 0x99, 0x4d, 0xc8, 0xd8, 0xd4, 0xe6, 0x36, - 0xee, 0x1a, 0x4d, 0xdc, 0xc5, 0xd4, 0xf4, 0x9f, 0xab, 0xc7, 0xba, 0x12, 0xe6, 0x15, 0x46, 0xc5, - 0x83, 0x40, 0x35, 0x98, 0xf6, 0xd1, 0x12, 0xc7, 0x47, 0xf3, 0x79, 0xd1, 0x45, 0x48, 0x47, 0x2f, - 0x06, 0xf9, 0xf4, 0x48, 0xe8, 0xa9, 0xc8, 0xbd, 0x70, 0xd8, 0xcd, 0x93, 0x7c, 0xe1, 0xcd, 0xa3, - 0x5e, 0x77, 0xbf, 0x8e, 0xc3, 0x82, 0x4e, 0xac, 0xff, 0x7f, 0xb7, 0x6c, 0x00, 0x78, 0xa9, 0x2a, - 0x2a, 0xa9, 0xf2, 0xcc, 0x09, 0xf2, 0x7d, 0xd6, 0x03, 0xa9, 0x32, 0xfe, 0xbf, 0xf2, 0xd0, 0x5f, - 0x63, 0x90, 0x8e, 0x7a, 0xe8, 0x73, 0x79, 0x69, 0xa1, 0xb5, 0xb0, 0x4c, 0x25, 0x64, 0x99, 0xba, - 0x32, 0xa9, 0x4c, 0x8d, 0x45, 0xf3, 0x21, 0xf5, 0xe9, 0x79, 0x1c, 0x92, 0x1b, 0xd8, 0xc5, 0x3d, - 0x86, 0xd6, 0xc7, 0x1e, 0xb2, 0x5e, 0x23, 0xb9, 0x38, 0x16, 0xcc, 0x55, 0x35, 0x7d, 0xf1, 0x62, - 0xf9, 0x97, 0x93, 0xde, 0xb1, 0x5f, 0x80, 0x79, 0xd1, 0x10, 0x87, 0x9d, 0xbd, 0x34, 0xee, 0x9c, - 0xec, 0x6b, 0x03, 0xed, 0x19, 0x2a, 0x40, 0x4a, 0x90, 0x85, 0x75, 0x58, 0xd0, 0x40, 0x0f, 0xdf, - 0xaf, 0x79, 0x3b, 0xe8, 0x1a, 0xa0, 0x4e, 0x30, 0x98, 0x30, 0x42, 0x43, 0x08, 0xba, 0x85, 0xf0, - 0xc4, 0x27, 0x7f, 0x15, 0x40, 0x48, 0x61, 0x58, 0x84, 0x3a, 0x3d, 0xd5, 0xd5, 0xcd, 0x8a, 0x9d, - 0xaa, 0xd8, 0x40, 0x3f, 0xd5, 0xbc, 0xf7, 0xf0, 0xbe, 0xb6, 0x59, 0xb5, 0x23, 0x9b, 0x47, 0x48, - 0x8a, 0x7f, 0xef, 0x15, 0xf2, 0x43, 0xdc, 0xeb, 0xae, 0x94, 0x0e, 0xc0, 0x29, 0x1d, 0xd4, 0xc9, - 0x8b, 0x87, 0xf3, 0x68, 0xdb, 0x8d, 0xea, 0x90, 0xdd, 0x21, 0x43, 0xc3, 0x75, 0xb8, 0x57, 0x68, - 0x5a, 0x84, 0xa8, 0xc6, 0x65, 0xd1, 0xf7, 0x6d, 0x13, 0x33, 0x12, 0x79, 0xe7, 0xdb, 0xb4, 0x92, - 0x10, 0xd2, 0xe9, 0xf3, 0x3b, 0x64, 0xa8, 0x2b, 0xbe, 0xdb, 0x84, 0xac, 0x5c, 0x12, 0x99, 0xb2, - 0xfb, 0xfc, 0xa3, 0xab, 0x4a, 0xe8, 0x6b, 0xcc, 0xda, 0x59, 0xbe, 0x1f, 0xcc, 0xe6, 0x3c, 0xf7, - 0x8a, 0x47, 0x2f, 0x0a, 0x2f, 0x20, 0x9d, 0xb0, 0xbe, 0x68, 0x1e, 0x45, 0xb3, 0x11, 0x69, 0x0a, - 0xb4, 0x17, 0x37, 0x1b, 0x21, 0xff, 0x48, 0xb3, 0x11, 0x49, 0xcf, 0x6f, 0x86, 0xf5, 0x3f, 0x76, - 0x98, 0x36, 0xd1, 0xc8, 0x54, 0x4c, 0x32, 0xeb, 0xa7, 0x4a, 0x7f, 0xd2, 0x60, 0x71, 0x2c, 0x92, - 0x03, 0x91, 0x4d, 0x40, 0x6e, 0xe4, 0x50, 0x46, 0xc4, 0x50, 0x89, 0x7e, 0xb2, 0xc4, 0x58, 0x70, - 0xc7, 0x2e, 0x81, 0x4f, 0xe7, 0x22, 0x53, 0x55, 0xec, 0x0f, 0x1a, 0x9c, 0x89, 0x0a, 0x10, 0xa8, - 0xd2, 0x80, 0x74, 0xf4, 0xd3, 0x4a, 0x89, 0x4b, 0x47, 0x51, 0x22, 0x2a, 0xff, 0x08, 0x08, 0xda, - 0x0e, 0xab, 0x85, 0x37, 0x14, 0xbc, 0x7e, 0x64, 0xa3, 0xf8, 0x82, 0x1d, 0x58, 0x35, 0x3c, 0xdf, - 0xfc, 0x53, 0x83, 0xc4, 0x86, 0xe3, 0x74, 0xd1, 0x4f, 0x60, 0x81, 0x3a, 0xdc, 0x10, 0x99, 0x45, - 0x2c, 0x43, 0xcd, 0x08, 0xbc, 0x4a, 0x5c, 0x7b, 0xa1, 0xad, 0xfe, 0xb1, 0x57, 0x18, 0xe7, 0x1c, - 0x35, 0xa0, 0x1a, 0x45, 0x51, 0x87, 0x57, 0x24, 0xd1, 0xa6, 0x37, 0x46, 0x68, 0xc1, 0xdc, 0xe8, - 0xe7, 0xbc, 0x6a, 0x7d, 0xeb, 0xb0, 0xcf, 0xcd, 0x1d, 0xfa, 0xa9, 0x74, 0x33, 0xf2, 0x9d, 0x95, - 0x19, 0xe1, 0xb5, 0x7f, 0x09, 0xcf, 0xbd, 0x0b, 0xd9, 0xa0, 0x54, 0x6d, 0xc9, 0x39, 0x16, 0x13, - 0xa1, 0xe1, 0x8d, 0xb4, 0xfc, 0x46, 0xa1, 0x18, 0x9d, 0xd8, 0xe2, 0xa6, 0x69, 0x97, 0xf7, 0xf1, - 0x8c, 0x98, 0x53, 0xf1, 0x96, 0x1e, 0xc7, 0x60, 0x71, 0xd5, 0xa1, 0x4c, 0x0d, 0x73, 0x54, 0x42, - 0x7b, 0x23, 0xd8, 0x21, 0xba, 0x32, 0x61, 0xd4, 0x94, 0x1e, 0x1f, 0x28, 0x6d, 0x43, 0x46, 0xdc, - 0xac, 0xa6, 0x43, 0x5f, 0x72, 0x9e, 0x34, 0xe7, 0x74, 0x2d, 0x25, 0xd1, 0x0e, 0x19, 0x0a, 0x5c, - 0x4a, 0xee, 0x8d, 0xe0, 0xc6, 0x4f, 0x86, 0x4b, 0xc9, 0xbd, 0x08, 0xee, 0x39, 0x48, 0xaa, 0x67, - 0x55, 0x42, 0x3e, 0x1a, 0xd4, 0x0a, 0xdd, 0x84, 0xb8, 0xa8, 0x82, 0xa7, 0x8e, 0x51, 0x37, 0x04, - 0x43, 0xe4, 0x36, 0x6b, 0xc0, 0xa2, 0x1a, 0x10, 0xb0, 0xf5, 0x96, 0xb4, 0x28, 0x91, 0x0a, 0xbd, - 0x45, 0x86, 0x07, 0x4c, 0x0b, 0xd2, 0x47, 0x9a, 0x16, 0x5c, 0xfd, 0x9d, 0x06, 0x10, 0xce, 0xc5, - 0xd0, 0x97, 0xe1, 0x7c, 0x65, 0x7d, 0xad, 0x6a, 0x34, 0x36, 0x6f, 0x6d, 0x6e, 0x35, 0x8c, 0xad, - 0xb5, 0xc6, 0x46, 0x6d, 0xb5, 0x7e, 0xbb, 0x5e, 0xab, 0x66, 0xa7, 0xf2, 0x99, 0xdd, 0x07, 0xc5, - 0xd4, 0x16, 0x65, 0x7d, 0x62, 0xda, 0x2d, 0x9b, 0x58, 0xe8, 0x8b, 0x70, 0x66, 0x94, 0x5a, 0xac, - 0x6a, 0xd5, 0xac, 0x96, 0x4f, 0xef, 0x3e, 0x28, 0xce, 0x78, 0xad, 0x01, 0xb1, 0xd0, 0x65, 0x38, - 0x3b, 0x4e, 0x57, 0x5f, 0x7b, 0x23, 0x1b, 0xcb, 0xcf, 0xed, 0x3e, 0x28, 0xce, 0x06, 0x3d, 0x04, - 0x2a, 0x01, 0x8a, 0x52, 0x2a, 0xbc, 0x78, 0x1e, 0x76, 0x1f, 0x14, 0x93, 0x5e, 0xb6, 0xe4, 0x13, - 0xef, 0xfd, 0x66, 0x69, 0xea, 0xea, 0x0f, 0x01, 0xea, 0xb4, 0xe5, 0x62, 0x53, 0x56, 0x85, 0x3c, - 0x9c, 0xab, 0xaf, 0xdd, 0xd6, 0x6f, 0xad, 0x6e, 0xd6, 0xd7, 0xd7, 0x46, 0xc5, 0xde, 0x77, 0x56, - 0x5d, 0xdf, 0xaa, 0xbc, 0x5d, 0x33, 0x1a, 0xf5, 0x37, 0xd6, 0xb2, 0x1a, 0x3a, 0x0f, 0xa7, 0x47, - 0xce, 0xbe, 0xb3, 0xb6, 0x59, 0x7f, 0xa7, 0x96, 0x8d, 0x55, 0x6e, 0x7e, 0xfc, 0x74, 0x49, 0x7b, - 0xfc, 0x74, 0x49, 0xfb, 0xfb, 0xd3, 0x25, 0xed, 0x83, 0x67, 0x4b, 0x53, 0x8f, 0x9f, 0x2d, 0x4d, - 0xfd, 0xf9, 0xd9, 0xd2, 0xd4, 0xf7, 0x5e, 0x19, 0xc9, 0xc3, 0xf0, 0x26, 0x92, 0xff, 0xcc, 0x68, - 0x26, 0x65, 0xd4, 0x7c, 0xf5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x51, 0xe0, 0x99, 0x08, 0x44, - 0x1a, 0x00, 0x00, + 0x4e, 0xc2, 0xe7, 0xf2, 0x34, 0x7e, 0x6f, 0x6c, 0x3f, 0x62, 0xcf, 0x33, 0x6f, 0xc6, 0x6d, 0x7d, + 0xe7, 0xb0, 0xca, 0x0a, 0x69, 0x4f, 0x80, 0x84, 0x2a, 0x2a, 0x71, 0x59, 0x6e, 0x7b, 0xa8, 0xb8, + 0x73, 0x5b, 0x90, 0x90, 0xaa, 0x9e, 0x10, 0x12, 0x01, 0xb5, 0x87, 0xae, 0xe0, 0x82, 0x38, 0x71, + 0x44, 0x33, 0x6f, 0xde, 0x87, 0xe3, 0xb8, 0xf9, 0xe8, 0x0a, 0xad, 0xd8, 0x4b, 0xe4, 0x99, 0xf9, + 0xff, 0x7f, 0xef, 0xff, 0x3d, 0xf3, 0xff, 0x07, 0x2e, 0x99, 0x0e, 0xeb, 0x39, 0x6c, 0x99, 0x71, + 0xbc, 0x63, 0xd3, 0xf6, 0xf2, 0xdd, 0xeb, 0x4d, 0xc2, 0xf1, 0x75, 0x7f, 0x5d, 0xee, 0xbb, 0x0e, + 0x77, 0xd0, 0x39, 0x8f, 0xaa, 0xec, 0xef, 0x2a, 0xaa, 0xfc, 0x99, 0xb6, 0xd3, 0x76, 0x24, 0xc9, + 0xb2, 0xf8, 0xe5, 0x51, 0xe7, 0x17, 0xdb, 0x8e, 0xd3, 0xee, 0x92, 0x65, 0xb9, 0x6a, 0x0e, 0x5a, + 0xcb, 0x98, 0x0e, 0xd5, 0xd1, 0xd2, 0xfe, 0x23, 0x6b, 0xe0, 0x62, 0x6e, 0x3b, 0x54, 0x9d, 0x17, + 0xf6, 0x9f, 0x73, 0xbb, 0x47, 0x18, 0xc7, 0xbd, 0xbe, 0x8f, 0xed, 0x49, 0x62, 0x78, 0x1f, 0x55, + 0x62, 0x29, 0x6c, 0xa5, 0x4a, 0x13, 0x33, 0x12, 0xe8, 0x61, 0x3a, 0xb6, 0x8f, 0xbd, 0x80, 0x7b, + 0x36, 0x75, 0x96, 0xe5, 0x5f, 0xb5, 0xf5, 0x0a, 0x27, 0xd4, 0x22, 0x6e, 0xcf, 0xa6, 0x7c, 0x99, + 0x0f, 0xfb, 0x84, 0x79, 0x7f, 0xd5, 0xe9, 0x85, 0xc8, 0x29, 0x6e, 0x9a, 0x76, 0xf4, 0xb0, 0xf4, + 0x0b, 0x0d, 0xe6, 0xef, 0xd8, 0x8c, 0x3b, 0xae, 0x6d, 0xe2, 0x6e, 0x9d, 0xb6, 0x1c, 0xf4, 0x75, + 0x48, 0x76, 0x08, 0xb6, 0x88, 0x9b, 0xd3, 0x8a, 0xda, 0xe5, 0xd4, 0x8d, 0x5c, 0x39, 0x04, 0x28, + 0x7b, 0xbc, 0x77, 0xe4, 0x79, 0x65, 0xf6, 0xe3, 0xbd, 0xc2, 0xd4, 0x87, 0xcf, 0x3f, 0xba, 0xaa, + 0xe9, 0x8a, 0x05, 0x55, 0x21, 0x79, 0x17, 0x77, 0x19, 0xe1, 0xb9, 0x58, 0x31, 0x7e, 0x39, 0x75, + 0xe3, 0x62, 0xf9, 0x60, 0x9b, 0x97, 0xb7, 0x71, 0xd7, 0xb6, 0x30, 0x77, 0x46, 0x51, 0x3c, 0xde, + 0x95, 0x58, 0x4e, 0x2b, 0xbd, 0xaf, 0x41, 0x36, 0x94, 0x4c, 0x27, 0xa6, 0xe3, 0x5a, 0x28, 0x07, + 0xd3, 0xb8, 0xdf, 0xef, 0x60, 0xd6, 0x91, 0xc2, 0xa5, 0x75, 0x7f, 0x89, 0xbe, 0x06, 0x09, 0x61, + 0xe4, 0x5c, 0x4c, 0xca, 0x9c, 0x2f, 0x7b, 0x1e, 0x28, 0xfb, 0x1e, 0x28, 0x6f, 0xfa, 0x1e, 0xa8, + 0x24, 0x3e, 0xf8, 0x5b, 0x41, 0xd3, 0x25, 0x35, 0x7a, 0x1d, 0x32, 0x77, 0x7d, 0x41, 0x98, 0x21, + 0x71, 0xe3, 0x12, 0x77, 0x3e, 0xdc, 0xbe, 0x83, 0x59, 0xa7, 0xf4, 0xf3, 0x18, 0x64, 0x56, 0x9d, + 0x5e, 0xcf, 0x66, 0xcc, 0x76, 0xa8, 0x8e, 0x39, 0x61, 0xe8, 0x4d, 0x48, 0xb8, 0x98, 0x13, 0x29, + 0xc9, 0x6c, 0xe5, 0xa6, 0x50, 0xe3, 0x2f, 0x7b, 0x85, 0x0b, 0x9e, 0xc2, 0xcc, 0xda, 0x29, 0xdb, + 0xce, 0x72, 0x0f, 0xf3, 0x4e, 0xf9, 0x6d, 0xd2, 0xc6, 0xe6, 0xb0, 0x4a, 0xcc, 0x27, 0x8f, 0xae, + 0x81, 0xb2, 0x47, 0x95, 0x98, 0x9e, 0xce, 0x12, 0x03, 0x7d, 0x1b, 0x66, 0x7a, 0xf8, 0xbe, 0x21, + 0xf1, 0x62, 0x2f, 0x85, 0x37, 0xdd, 0xc3, 0xf7, 0x85, 0x7c, 0xe8, 0x47, 0x90, 0x11, 0x90, 0x66, + 0x07, 0xd3, 0x36, 0xf1, 0x90, 0xe3, 0x2f, 0x85, 0x3c, 0xd7, 0xc3, 0xf7, 0x57, 0x25, 0x9a, 0xc0, + 0x5f, 0x49, 0x7c, 0xf2, 0xb0, 0xa0, 0x95, 0x7e, 0xaf, 0x01, 0x84, 0x86, 0x41, 0x18, 0xb2, 0x66, + 0xb0, 0x92, 0x1f, 0x65, 0x2a, 0x8c, 0x5e, 0x9f, 0x14, 0x09, 0xfb, 0xcc, 0x5a, 0x99, 0x13, 0xe2, + 0x3d, 0xde, 0x2b, 0x68, 0xde, 0x57, 0x33, 0xe6, 0x98, 0xd9, 0x53, 0x83, 0xbe, 0x85, 0x39, 0x31, + 0x8e, 0xe8, 0x70, 0x09, 0x28, 0x9c, 0xee, 0x01, 0x82, 0xc7, 0x2d, 0xce, 0x95, 0x0e, 0x1f, 0x6a, + 0x90, 0xaa, 0x12, 0x66, 0xba, 0x76, 0x5f, 0x24, 0xb1, 0x88, 0xb2, 0x9e, 0x43, 0xed, 0x1d, 0x95, + 0x02, 0xb3, 0xba, 0xbf, 0x44, 0x79, 0x98, 0xb1, 0x2d, 0x42, 0xb9, 0xcd, 0x87, 0x9e, 0x9b, 0xf4, + 0x60, 0x2d, 0xb8, 0xee, 0x91, 0x26, 0xb3, 0x7d, 0x3b, 0xeb, 0xfe, 0x12, 0x5d, 0x81, 0x2c, 0x23, + 0xe6, 0xc0, 0xb5, 0xf9, 0xd0, 0x30, 0x1d, 0xca, 0xb1, 0xc9, 0x73, 0x09, 0x49, 0x92, 0xf1, 0xf7, + 0x57, 0xbd, 0x6d, 0x01, 0x62, 0x11, 0x8e, 0xed, 0x2e, 0xcb, 0x9d, 0xf2, 0x40, 0xd4, 0x52, 0x89, + 0xba, 0x3b, 0x0d, 0xb3, 0x41, 0xea, 0xa0, 0x55, 0xc8, 0x3a, 0x7d, 0xe2, 0x8a, 0xdf, 0x06, 0xb6, + 0x2c, 0x97, 0x30, 0xa6, 0xa2, 0x31, 0xf7, 0xe4, 0xd1, 0xb5, 0x33, 0xca, 0xe0, 0xb7, 0xbc, 0x93, + 0x06, 0x77, 0x6d, 0xda, 0xd6, 0x33, 0x3e, 0x87, 0xda, 0x46, 0xdf, 0x13, 0x2e, 0xa3, 0x8c, 0x50, + 0x36, 0x60, 0x46, 0x7f, 0xd0, 0xdc, 0x21, 0x43, 0x65, 0xd4, 0x33, 0x63, 0x46, 0xbd, 0x45, 0x87, + 0x95, 0xdc, 0x1f, 0x43, 0x68, 0xd3, 0x1d, 0xf6, 0xb9, 0x53, 0xde, 0x18, 0x34, 0xdf, 0x22, 0x43, + 0xe1, 0x2a, 0x85, 0xb3, 0x21, 0x61, 0xd0, 0x39, 0x48, 0xfe, 0x18, 0xdb, 0x5d, 0x62, 0x49, 0x8b, + 0xcc, 0xe8, 0x6a, 0x85, 0x56, 0x20, 0xc9, 0x38, 0xe6, 0x03, 0x26, 0xcd, 0x30, 0x7f, 0xa3, 0x34, + 0x29, 0x36, 0x2a, 0x0e, 0xb5, 0x1a, 0x92, 0x52, 0x57, 0x1c, 0x68, 0x15, 0x92, 0xdc, 0xd9, 0x21, + 0x54, 0x19, 0xa8, 0xf2, 0x25, 0x15, 0xcd, 0x67, 0xc7, 0xa3, 0xb9, 0x4e, 0x79, 0x24, 0x8e, 0xeb, + 0x94, 0xeb, 0x8a, 0x15, 0xfd, 0x10, 0xb2, 0x16, 0xe9, 0x92, 0xb6, 0xb4, 0x1c, 0xeb, 0x60, 0x97, + 0xb0, 0x5c, 0x52, 0xc2, 0x5d, 0x3f, 0x76, 0x72, 0xe8, 0x99, 0x00, 0xaa, 0x21, 0x91, 0xd0, 0x06, + 0xa4, 0xac, 0x30, 0x9c, 0x72, 0xd3, 0xd2, 0x98, 0xaf, 0x4d, 0xd2, 0x31, 0x12, 0x79, 0xd1, 0x5a, + 0x18, 0x85, 0x10, 0x11, 0x34, 0xa0, 0x4d, 0x87, 0x5a, 0x36, 0x6d, 0x1b, 0x1d, 0x62, 0xb7, 0x3b, + 0x3c, 0x37, 0x53, 0xd4, 0x2e, 0xc7, 0xf5, 0x4c, 0xb0, 0x7f, 0x47, 0x6e, 0xa3, 0x0d, 0x98, 0x0f, + 0x49, 0x65, 0x86, 0xcc, 0x1e, 0x37, 0x43, 0xe6, 0x02, 0x00, 0x41, 0x82, 0xde, 0x01, 0x08, 0x73, + 0x30, 0x07, 0x12, 0xad, 0x74, 0x78, 0x36, 0x47, 0x95, 0x89, 0x00, 0xa0, 0x1f, 0xc0, 0xe9, 0x9e, + 0x4d, 0x0d, 0x46, 0xba, 0x2d, 0x43, 0x59, 0x4e, 0xe0, 0xa6, 0x8e, 0xef, 0xcd, 0x85, 0x9e, 0x4d, + 0x1b, 0xa4, 0xdb, 0xaa, 0x06, 0x28, 0xe8, 0x1b, 0x70, 0x21, 0xd4, 0xde, 0xa1, 0x46, 0xc7, 0xe9, + 0x5a, 0x86, 0x4b, 0x5a, 0x86, 0xe9, 0x0c, 0x28, 0xcf, 0xa5, 0xa5, 0xcd, 0xce, 0x07, 0x24, 0xeb, + 0xf4, 0x8e, 0xd3, 0xb5, 0x74, 0xd2, 0x5a, 0x15, 0xc7, 0xe8, 0x35, 0x08, 0x55, 0x37, 0x6c, 0x8b, + 0xe5, 0xe6, 0x8a, 0xf1, 0xcb, 0x09, 0x3d, 0x1d, 0x6c, 0xd6, 0x2d, 0xb6, 0x32, 0xf3, 0xde, 0xc3, + 0xc2, 0xd4, 0x27, 0x0f, 0x0b, 0x53, 0xa5, 0xdb, 0x90, 0xde, 0xc6, 0x5d, 0x95, 0x47, 0x84, 0xa1, + 0x9b, 0x30, 0x8b, 0xfd, 0x45, 0x4e, 0x2b, 0xc6, 0x5f, 0x98, 0x87, 0x21, 0x69, 0xe9, 0xb7, 0x1a, + 0x24, 0xab, 0xdb, 0x1b, 0xd8, 0x76, 0x51, 0x0d, 0x16, 0xc2, 0xc0, 0x3c, 0x6a, 0x4a, 0x87, 0xb1, + 0xec, 0xe7, 0xf4, 0x1a, 0x2c, 0x04, 0x17, 0x58, 0x00, 0xe3, 0xdd, 0x2b, 0x17, 0x9f, 0x3c, 0xba, + 0xf6, 0xaa, 0x82, 0x09, 0x2a, 0xc9, 0x3e, 0xbc, 0xbb, 0xfb, 0xf6, 0x23, 0x3a, 0xbf, 0x09, 0xd3, + 0x9e, 0xa8, 0x0c, 0x7d, 0x0b, 0x4e, 0xf5, 0xc5, 0x0f, 0xa9, 0x6a, 0xea, 0xc6, 0xd2, 0xc4, 0x00, + 0x97, 0xf4, 0xd1, 0x70, 0xf0, 0xf8, 0x4a, 0xef, 0xc7, 0x00, 0xaa, 0xdb, 0xdb, 0x9b, 0xae, 0xdd, + 0xef, 0x12, 0xfe, 0x69, 0xe9, 0xbe, 0x05, 0x67, 0x43, 0xdd, 0x99, 0x6b, 0x1e, 0x5f, 0xff, 0xd3, + 0x01, 0x7f, 0xc3, 0x35, 0x0f, 0x84, 0xb5, 0x18, 0x0f, 0x60, 0xe3, 0xc7, 0x87, 0xad, 0x32, 0x3e, + 0x6e, 0xd9, 0xef, 0x42, 0x2a, 0x34, 0x06, 0x43, 0x75, 0x98, 0xe1, 0xea, 0xb7, 0x32, 0x70, 0x69, + 0xb2, 0x81, 0x7d, 0xb6, 0xa8, 0x91, 0x03, 0xf6, 0xd2, 0x7f, 0x34, 0x80, 0x48, 0x8e, 0x7c, 0x36, + 0x63, 0x0c, 0xd5, 0x21, 0xa9, 0x2a, 0x71, 0xfc, 0xa4, 0x95, 0x58, 0x01, 0x44, 0x8c, 0xfa, 0xb3, + 0x18, 0x9c, 0xde, 0xf2, 0xb3, 0xf7, 0xb3, 0x6f, 0x83, 0x2d, 0x98, 0x26, 0x94, 0xbb, 0xb6, 0x34, + 0x82, 0xf0, 0xf9, 0x57, 0x26, 0xf9, 0xfc, 0x00, 0xa5, 0x6a, 0x94, 0xbb, 0xc3, 0x68, 0x04, 0xf8, + 0x58, 0x11, 0x7b, 0xfc, 0x2a, 0x0e, 0xb9, 0x49, 0xac, 0xe2, 0x35, 0x6c, 0xba, 0x44, 0x6e, 0xf8, + 0x97, 0x8c, 0x26, 0x0b, 0xe6, 0xbc, 0xbf, 0xad, 0xee, 0x18, 0x1d, 0xc4, 0xab, 0x4c, 0x04, 0x97, + 0x20, 0x3d, 0xd9, 0x33, 0x6c, 0x3e, 0x44, 0x90, 0xb7, 0xcc, 0x26, 0x64, 0x6c, 0x6a, 0x73, 0x1b, + 0x77, 0x8d, 0x26, 0xee, 0x62, 0x6a, 0xfa, 0xcf, 0xd5, 0x63, 0x5d, 0x09, 0xf3, 0x0a, 0xa3, 0xe2, + 0x41, 0xa0, 0x1a, 0x4c, 0xfb, 0x68, 0x89, 0xe3, 0xa3, 0xf9, 0xbc, 0xe8, 0x22, 0xa4, 0xa3, 0x17, + 0x83, 0x7c, 0x7a, 0x24, 0xf4, 0x54, 0xe4, 0x5e, 0x38, 0xec, 0xe6, 0x49, 0xbe, 0xf0, 0xe6, 0x51, + 0xaf, 0xbb, 0x5f, 0xc7, 0x61, 0x41, 0x27, 0xd6, 0xff, 0xbf, 0x5b, 0x36, 0x00, 0xbc, 0x54, 0x15, + 0x95, 0x54, 0x79, 0xe6, 0x04, 0xf9, 0x3e, 0xeb, 0x81, 0x54, 0x19, 0xff, 0x5f, 0x79, 0xe8, 0xaf, + 0x31, 0x48, 0x47, 0x3d, 0xf4, 0xb9, 0xbc, 0xb4, 0xd0, 0x5a, 0x58, 0xa6, 0x12, 0xb2, 0x4c, 0x5d, + 0x99, 0x54, 0xa6, 0xc6, 0xa2, 0xf9, 0x90, 0xfa, 0xf4, 0x3c, 0x0e, 0xc9, 0x0d, 0xec, 0xe2, 0x1e, + 0x43, 0xeb, 0x63, 0x0f, 0x59, 0xaf, 0x91, 0x5c, 0x1c, 0x0b, 0xe6, 0xaa, 0x9a, 0xbe, 0x78, 0xb1, + 0xfc, 0xcb, 0x49, 0xef, 0xd8, 0x2f, 0xc0, 0xbc, 0x68, 0x88, 0xc3, 0xce, 0x5e, 0x1a, 0x77, 0x4e, + 0xf6, 0xb5, 0x81, 0xf6, 0x0c, 0x15, 0x20, 0x25, 0xc8, 0xc2, 0x3a, 0x2c, 0x68, 0xa0, 0x87, 0xef, + 0xd7, 0xbc, 0x1d, 0x74, 0x0d, 0x50, 0x27, 0x18, 0x4c, 0x18, 0xa1, 0x21, 0x04, 0xdd, 0x42, 0x78, + 0xe2, 0x93, 0xbf, 0x0a, 0x20, 0xa4, 0x30, 0x2c, 0x42, 0x9d, 0x9e, 0xea, 0xea, 0x66, 0xc5, 0x4e, + 0x55, 0x6c, 0xa0, 0x9f, 0x6a, 0xde, 0x7b, 0x78, 0x5f, 0xdb, 0xac, 0xda, 0x91, 0xcd, 0x23, 0x24, + 0xc5, 0xbf, 0xf7, 0x0a, 0xf9, 0x21, 0xee, 0x75, 0x57, 0x4a, 0x07, 0xe0, 0x94, 0x0e, 0xea, 0xe4, + 0xc5, 0xc3, 0x79, 0xb4, 0xed, 0x46, 0x75, 0xc8, 0xee, 0x90, 0xa1, 0xe1, 0x3a, 0xdc, 0x2b, 0x34, + 0x2d, 0x42, 0x54, 0xe3, 0xb2, 0xe8, 0xfb, 0xb6, 0x89, 0x19, 0x89, 0xbc, 0xf3, 0x6d, 0x5a, 0x49, + 0x08, 0xe9, 0xf4, 0xf9, 0x1d, 0x32, 0xd4, 0x15, 0xdf, 0x6d, 0x42, 0x56, 0x2e, 0x89, 0x4c, 0xd9, + 0x7d, 0xfe, 0xd1, 0x55, 0x25, 0xf4, 0x35, 0x66, 0xed, 0x2c, 0xdf, 0x0f, 0x66, 0x73, 0x9e, 0x7b, + 0xc5, 0xa3, 0x17, 0x85, 0x17, 0x90, 0x4e, 0x58, 0x5f, 0x34, 0x8f, 0xa2, 0xd9, 0x88, 0x34, 0x05, + 0xda, 0x8b, 0x9b, 0x8d, 0x90, 0x7f, 0xa4, 0xd9, 0x88, 0xa4, 0xe7, 0x37, 0xc3, 0xfa, 0x1f, 0x3b, + 0x4c, 0x9b, 0x68, 0x64, 0x2a, 0x26, 0x99, 0xf5, 0x53, 0xa5, 0x3f, 0x69, 0xb0, 0x38, 0x16, 0xc9, + 0x81, 0xc8, 0x26, 0x20, 0x37, 0x72, 0x28, 0x23, 0x62, 0xa8, 0x44, 0x3f, 0x59, 0x62, 0x2c, 0xb8, + 0x63, 0x97, 0xc0, 0xa7, 0x73, 0x91, 0xa9, 0x2a, 0xf6, 0x07, 0x0d, 0xce, 0x44, 0x05, 0x08, 0x54, + 0x69, 0x40, 0x3a, 0xfa, 0x69, 0xa5, 0xc4, 0xa5, 0xa3, 0x28, 0x11, 0x95, 0x7f, 0x04, 0x04, 0x6d, + 0x87, 0xd5, 0xc2, 0x1b, 0x0a, 0x5e, 0x3f, 0xb2, 0x51, 0x7c, 0xc1, 0x0e, 0xac, 0x1a, 0x9e, 0x6f, + 0xfe, 0xa9, 0x41, 0x62, 0xc3, 0x71, 0xba, 0xe8, 0x27, 0xb0, 0x40, 0x1d, 0x6e, 0x88, 0xcc, 0x22, + 0x96, 0xa1, 0x66, 0x04, 0x5e, 0x25, 0xae, 0xbd, 0xd0, 0x56, 0xff, 0xd8, 0x2b, 0x8c, 0x73, 0x8e, + 0x1a, 0x50, 0x8d, 0xa2, 0xa8, 0xc3, 0x2b, 0x92, 0x68, 0xd3, 0x1b, 0x23, 0xb4, 0x60, 0x6e, 0xf4, + 0x73, 0x5e, 0xb5, 0xbe, 0x75, 0xd8, 0xe7, 0xe6, 0x0e, 0xfd, 0x54, 0xba, 0x19, 0xf9, 0xce, 0xca, + 0x8c, 0xf0, 0xda, 0xbf, 0x84, 0xe7, 0xde, 0x85, 0x6c, 0x50, 0xaa, 0xb6, 0xe4, 0x1c, 0x8b, 0x89, + 0xd0, 0xf0, 0x46, 0x5a, 0x7e, 0xa3, 0x50, 0x8c, 0x4e, 0x6c, 0x71, 0xd3, 0xb4, 0xcb, 0xfb, 0x78, + 0x46, 0xcc, 0xa9, 0x78, 0xe5, 0xd0, 0xf5, 0x71, 0x0c, 0x16, 0x57, 0x1d, 0xca, 0xd4, 0x40, 0x47, + 0x25, 0xb5, 0x37, 0x86, 0x1d, 0xa2, 0x2b, 0x13, 0xc6, 0x4d, 0xe9, 0xf1, 0xa1, 0xd2, 0x36, 0x64, + 0xc4, 0xed, 0x6a, 0x3a, 0xf4, 0x25, 0x67, 0x4a, 0x73, 0x4e, 0xd7, 0x52, 0x12, 0xed, 0x90, 0xa1, + 0xc0, 0xa5, 0xe4, 0xde, 0x08, 0x6e, 0xfc, 0x64, 0xb8, 0x94, 0xdc, 0x8b, 0xe0, 0x9e, 0x83, 0xa4, + 0x7a, 0x5a, 0x25, 0xe4, 0xc3, 0x41, 0xad, 0xd0, 0x4d, 0x88, 0x8b, 0x4a, 0x78, 0xea, 0x18, 0xb5, + 0x43, 0x30, 0x44, 0x6e, 0xb4, 0x06, 0x2c, 0xaa, 0x21, 0x01, 0x5b, 0x6f, 0x49, 0x8b, 0x12, 0xa9, + 0xd0, 0x5b, 0x64, 0x78, 0xc0, 0xc4, 0x20, 0x7d, 0xa4, 0x89, 0xc1, 0xd5, 0xdf, 0x69, 0x00, 0xe1, + 0x6c, 0x0c, 0x7d, 0x19, 0xce, 0x57, 0xd6, 0xd7, 0xaa, 0x46, 0x63, 0xf3, 0xd6, 0xe6, 0x56, 0xc3, + 0xd8, 0x5a, 0x6b, 0x6c, 0xd4, 0x56, 0xeb, 0xb7, 0xeb, 0xb5, 0x6a, 0x76, 0x2a, 0x9f, 0xd9, 0x7d, + 0x50, 0x4c, 0x6d, 0x51, 0xd6, 0x27, 0xa6, 0xdd, 0xb2, 0x89, 0x85, 0xbe, 0x08, 0x67, 0x46, 0xa9, + 0xc5, 0xaa, 0x56, 0xcd, 0x6a, 0xf9, 0xf4, 0xee, 0x83, 0xe2, 0x8c, 0xd7, 0x1e, 0x10, 0x0b, 0x5d, + 0x86, 0xb3, 0xe3, 0x74, 0xf5, 0xb5, 0x37, 0xb2, 0xb1, 0xfc, 0xdc, 0xee, 0x83, 0xe2, 0x6c, 0xd0, + 0x47, 0xa0, 0x12, 0xa0, 0x28, 0xa5, 0xc2, 0x8b, 0xe7, 0x61, 0xf7, 0x41, 0x31, 0xe9, 0x65, 0x4c, + 0x3e, 0xf1, 0xde, 0x6f, 0x96, 0xa6, 0xae, 0xbe, 0x0b, 0x50, 0xa7, 0x2d, 0x17, 0x9b, 0xb2, 0x32, + 0xe4, 0xe1, 0x5c, 0x7d, 0xed, 0xb6, 0x7e, 0x6b, 0x75, 0xb3, 0xbe, 0xbe, 0x36, 0x2a, 0xf6, 0xbe, + 0xb3, 0xea, 0xfa, 0x56, 0xe5, 0xed, 0x9a, 0xd1, 0xa8, 0xbf, 0xb1, 0x96, 0xd5, 0xd0, 0x79, 0x38, + 0x3d, 0x72, 0xf6, 0x9d, 0xb5, 0xcd, 0xfa, 0x3b, 0xb5, 0x6c, 0xac, 0x72, 0xf3, 0xe3, 0xa7, 0x4b, + 0xda, 0xe3, 0xa7, 0x4b, 0xda, 0xdf, 0x9f, 0x2e, 0x69, 0x1f, 0x3c, 0x5b, 0x9a, 0x7a, 0xfc, 0x6c, + 0x69, 0xea, 0xcf, 0xcf, 0x96, 0xa6, 0xbe, 0xff, 0xca, 0x48, 0x2e, 0x86, 0xb7, 0x91, 0xfc, 0x87, + 0x46, 0x33, 0x29, 0xa3, 0xe6, 0xab, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x97, 0xca, 0xc1, 0x71, + 0x48, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1589,715 +1591,715 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ // 11335 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x90, 0x1c, 0xd7, - 0x75, 0x18, 0xbc, 0xf3, 0x9e, 0x39, 0xf3, 0xea, 0xbd, 0xbb, 0x00, 0x16, 0x03, 0x12, 0xbb, 0x6c, - 0x8a, 0x24, 0x08, 0x92, 0x0b, 0x12, 0x24, 0x40, 0x71, 0x21, 0x89, 0xdf, 0xcc, 0xec, 0x00, 0x18, - 0x70, 0x5f, 0xec, 0x99, 0x85, 0x48, 0xda, 0x56, 0xbb, 0xb7, 0xe7, 0xee, 0x6e, 0x13, 0x33, 0xdd, - 0xad, 0xee, 0x1e, 0x60, 0x97, 0xf5, 0x55, 0x4a, 0x8e, 0xec, 0x44, 0x86, 0x1f, 0x91, 0x63, 0x97, - 0x2d, 0x5b, 0x82, 0x2d, 0xd9, 0xb1, 0x25, 0x3b, 0x2f, 0x3f, 0x14, 0x3f, 0xe2, 0x8a, 0x63, 0xa7, - 0x9c, 0xc4, 0x76, 0x25, 0x29, 0xc5, 0x3f, 0x12, 0x27, 0x55, 0x66, 0x6c, 0xc9, 0x15, 0x29, 0xb2, - 0x9c, 0xf8, 0x21, 0x27, 0x4e, 0xa9, 0x92, 0x4a, 0xdd, 0x57, 0x3f, 0xe6, 0xb1, 0x33, 0x0b, 0x91, - 0xb2, 0x63, 0xe7, 0x0f, 0x30, 0x7d, 0xee, 0x39, 0xe7, 0xde, 0x7b, 0xee, 0xb9, 0xe7, 0x9e, 0x73, - 0xee, 0x63, 0xe1, 0x77, 0x6b, 0xb0, 0xb4, 0x67, 0x59, 0x7b, 0x5d, 0x7c, 0xc1, 0x76, 0x2c, 0xcf, - 0xda, 0xe9, 0xef, 0x5e, 0xe8, 0x60, 0x57, 0x77, 0x0c, 0xdb, 0xb3, 0x9c, 0x65, 0x0a, 0x43, 0x65, - 0x86, 0xb1, 0x2c, 0x30, 0xe4, 0x75, 0x98, 0xbd, 0x6a, 0x74, 0xf1, 0xaa, 0x8f, 0xd8, 0xc2, 0x1e, - 0x7a, 0x27, 0x24, 0x77, 0x8d, 0x2e, 0x5e, 0x88, 0x2d, 0x25, 0xce, 0xe5, 0x2f, 0xbe, 0x63, 0x79, - 0x80, 0x68, 0x39, 0x4a, 0xb1, 0x45, 0xc0, 0x0a, 0xa5, 0x90, 0xff, 0x77, 0x12, 0xe6, 0x46, 0x94, - 0x22, 0x04, 0x49, 0x53, 0xeb, 0x11, 0x8e, 0xb1, 0x73, 0x39, 0x85, 0xfe, 0x46, 0x0b, 0x90, 0xb1, - 0x35, 0xfd, 0x96, 0xb6, 0x87, 0x17, 0xe2, 0x14, 0x2c, 0x3e, 0xd1, 0x59, 0x80, 0x0e, 0xb6, 0xb1, - 0xd9, 0xc1, 0xa6, 0x7e, 0xb8, 0x90, 0x58, 0x4a, 0x9c, 0xcb, 0x29, 0x21, 0x08, 0x7a, 0x02, 0x66, - 0xed, 0xfe, 0x4e, 0xd7, 0xd0, 0xd5, 0x10, 0x1a, 0x2c, 0x25, 0xce, 0xa5, 0x14, 0x89, 0x15, 0xac, - 0x06, 0xc8, 0x8f, 0x41, 0xf9, 0x0e, 0xd6, 0x6e, 0x85, 0x51, 0xf3, 0x14, 0xb5, 0x44, 0xc0, 0x21, - 0xc4, 0x3a, 0x14, 0x7a, 0xd8, 0x75, 0xb5, 0x3d, 0xac, 0x7a, 0x87, 0x36, 0x5e, 0x48, 0xd2, 0xde, - 0x2f, 0x0d, 0xf5, 0x7e, 0xb0, 0xe7, 0x79, 0x4e, 0xd5, 0x3e, 0xb4, 0x31, 0xaa, 0x42, 0x0e, 0x9b, - 0xfd, 0x1e, 0xe3, 0x90, 0x1a, 0x23, 0xbf, 0x86, 0xd9, 0xef, 0x0d, 0x72, 0xc9, 0x12, 0x32, 0xce, - 0x22, 0xe3, 0x62, 0xe7, 0xb6, 0xa1, 0xe3, 0x85, 0x34, 0x65, 0xf0, 0xd8, 0x10, 0x83, 0x16, 0x2b, - 0x1f, 0xe4, 0x21, 0xe8, 0x50, 0x1d, 0x72, 0xf8, 0xc0, 0xc3, 0xa6, 0x6b, 0x58, 0xe6, 0x42, 0x86, - 0x32, 0x79, 0x64, 0xc4, 0x28, 0xe2, 0x6e, 0x67, 0x90, 0x45, 0x40, 0x87, 0x2e, 0x43, 0xc6, 0xb2, - 0x3d, 0xc3, 0x32, 0xdd, 0x85, 0xec, 0x52, 0xec, 0x5c, 0xfe, 0xe2, 0x03, 0x23, 0x15, 0x61, 0x93, - 0xe1, 0x28, 0x02, 0x19, 0x35, 0x41, 0x72, 0xad, 0xbe, 0xa3, 0x63, 0x55, 0xb7, 0x3a, 0x58, 0x35, - 0xcc, 0x5d, 0x6b, 0x21, 0x47, 0x19, 0x2c, 0x0e, 0x77, 0x84, 0x22, 0xd6, 0xad, 0x0e, 0x6e, 0x9a, - 0xbb, 0x96, 0x52, 0x72, 0x23, 0xdf, 0xe8, 0x24, 0xa4, 0xdd, 0x43, 0xd3, 0xd3, 0x0e, 0x16, 0x0a, - 0x54, 0x43, 0xf8, 0x17, 0x51, 0x1d, 0xdc, 0x31, 0x48, 0x75, 0x0b, 0x45, 0xa6, 0x3a, 0xfc, 0x53, - 0xfe, 0x85, 0x34, 0x94, 0xa7, 0x51, 0xbe, 0x2b, 0x90, 0xda, 0x25, 0xfd, 0x5f, 0x88, 0x1f, 0x47, - 0x3a, 0x8c, 0x26, 0x2a, 0xde, 0xf4, 0x7d, 0x8a, 0xb7, 0x0a, 0x79, 0x13, 0xbb, 0x1e, 0xee, 0x30, - 0x5d, 0x49, 0x4c, 0xa9, 0x6d, 0xc0, 0x88, 0x86, 0x95, 0x2d, 0x79, 0x5f, 0xca, 0xf6, 0x0a, 0x94, - 0xfd, 0x26, 0xa9, 0x8e, 0x66, 0xee, 0x09, 0xad, 0xbd, 0x30, 0xa9, 0x25, 0xcb, 0x0d, 0x41, 0xa7, - 0x10, 0x32, 0xa5, 0x84, 0x23, 0xdf, 0x68, 0x15, 0xc0, 0x32, 0xb1, 0xb5, 0xab, 0x76, 0xb0, 0xde, - 0x5d, 0xc8, 0x8e, 0x91, 0xd2, 0x26, 0x41, 0x19, 0x92, 0x92, 0xc5, 0xa0, 0x7a, 0x17, 0xbd, 0x10, - 0x28, 0x61, 0x66, 0x8c, 0x0e, 0xad, 0xb3, 0xe9, 0x37, 0xa4, 0x87, 0xdb, 0x50, 0x72, 0x30, 0x99, - 0x11, 0xb8, 0xc3, 0x7b, 0x96, 0xa3, 0x8d, 0x58, 0x9e, 0xd8, 0x33, 0x85, 0x93, 0xb1, 0x8e, 0x15, - 0x9d, 0xf0, 0x27, 0x7a, 0x18, 0x7c, 0x80, 0x4a, 0xd5, 0x0a, 0xa8, 0x7d, 0x2a, 0x08, 0xe0, 0x86, - 0xd6, 0xc3, 0x95, 0x37, 0xa0, 0x14, 0x15, 0x0f, 0x9a, 0x87, 0x94, 0xeb, 0x69, 0x8e, 0x47, 0xb5, - 0x30, 0xa5, 0xb0, 0x0f, 0x24, 0x41, 0x02, 0x9b, 0x1d, 0x6a, 0xff, 0x52, 0x0a, 0xf9, 0x89, 0xfe, - 0xbf, 0xa0, 0xc3, 0x09, 0xda, 0xe1, 0x47, 0x87, 0x47, 0x34, 0xc2, 0x79, 0xb0, 0xdf, 0x95, 0xe7, - 0xa1, 0x18, 0xe9, 0xc0, 0xb4, 0x55, 0xcb, 0xff, 0x3f, 0x9c, 0x18, 0xc9, 0x1a, 0xbd, 0x02, 0xf3, - 0x7d, 0xd3, 0x30, 0x3d, 0xec, 0xd8, 0x0e, 0x26, 0x1a, 0xcb, 0xaa, 0x5a, 0xf8, 0x7c, 0x66, 0x8c, - 0xce, 0x6d, 0x87, 0xb1, 0x19, 0x17, 0x65, 0xae, 0x3f, 0x0c, 0x3c, 0x9f, 0xcb, 0x7e, 0x21, 0x23, - 0x7d, 0xe0, 0x03, 0x1f, 0xf8, 0x40, 0x5c, 0xfe, 0x95, 0x34, 0xcc, 0x8f, 0x9a, 0x33, 0x23, 0xa7, - 0xef, 0x49, 0x48, 0x9b, 0xfd, 0xde, 0x0e, 0x76, 0xa8, 0x90, 0x52, 0x0a, 0xff, 0x42, 0x55, 0x48, - 0x75, 0xb5, 0x1d, 0xdc, 0x5d, 0x48, 0x2e, 0xc5, 0xce, 0x95, 0x2e, 0x3e, 0x31, 0xd5, 0xac, 0x5c, - 0x5e, 0x23, 0x24, 0x0a, 0xa3, 0x44, 0xef, 0x81, 0x24, 0x37, 0xde, 0x84, 0xc3, 0xf9, 0xe9, 0x38, - 0x90, 0xb9, 0xa4, 0x50, 0x3a, 0x74, 0x06, 0x72, 0xe4, 0x7f, 0xa6, 0x1b, 0x69, 0xda, 0xe6, 0x2c, - 0x01, 0x10, 0xbd, 0x40, 0x15, 0xc8, 0xd2, 0x69, 0xd2, 0xc1, 0x62, 0xd1, 0xf3, 0xbf, 0x89, 0x62, - 0x75, 0xf0, 0xae, 0xd6, 0xef, 0x7a, 0xea, 0x6d, 0xad, 0xdb, 0xc7, 0x54, 0xe1, 0x73, 0x4a, 0x81, - 0x03, 0x6f, 0x12, 0x18, 0x5a, 0x84, 0x3c, 0x9b, 0x55, 0x86, 0xd9, 0xc1, 0x07, 0xd4, 0xae, 0xa6, - 0x14, 0x36, 0xd1, 0x9a, 0x04, 0x42, 0xaa, 0x7f, 0xdd, 0xb5, 0x4c, 0xa1, 0x9a, 0xb4, 0x0a, 0x02, - 0xa0, 0xd5, 0x3f, 0x3f, 0x68, 0xd2, 0x1f, 0x1c, 0xdd, 0xbd, 0xa1, 0xb9, 0xf4, 0x18, 0x94, 0x29, - 0xc6, 0xb3, 0x7c, 0xe8, 0xb5, 0xee, 0xc2, 0xec, 0x52, 0xec, 0x5c, 0x56, 0x29, 0x31, 0xf0, 0x26, - 0x87, 0xca, 0x3f, 0x1b, 0x87, 0x24, 0x35, 0x2c, 0x65, 0xc8, 0xb7, 0x5f, 0xdd, 0x6a, 0xa8, 0xab, - 0x9b, 0xdb, 0xb5, 0xb5, 0x86, 0x14, 0x43, 0x25, 0x00, 0x0a, 0xb8, 0xba, 0xb6, 0x59, 0x6d, 0x4b, - 0x71, 0xff, 0xbb, 0xb9, 0xd1, 0xbe, 0xfc, 0x9c, 0x94, 0xf0, 0x09, 0xb6, 0x19, 0x20, 0x19, 0x46, - 0x78, 0xf6, 0xa2, 0x94, 0x42, 0x12, 0x14, 0x18, 0x83, 0xe6, 0x2b, 0x8d, 0xd5, 0xcb, 0xcf, 0x49, - 0xe9, 0x28, 0xe4, 0xd9, 0x8b, 0x52, 0x06, 0x15, 0x21, 0x47, 0x21, 0xb5, 0xcd, 0xcd, 0x35, 0x29, - 0xeb, 0xf3, 0x6c, 0xb5, 0x95, 0xe6, 0xc6, 0x35, 0x29, 0xe7, 0xf3, 0xbc, 0xa6, 0x6c, 0x6e, 0x6f, - 0x49, 0xe0, 0x73, 0x58, 0x6f, 0xb4, 0x5a, 0xd5, 0x6b, 0x0d, 0x29, 0xef, 0x63, 0xd4, 0x5e, 0x6d, - 0x37, 0x5a, 0x52, 0x21, 0xd2, 0xac, 0x67, 0x2f, 0x4a, 0x45, 0xbf, 0x8a, 0xc6, 0xc6, 0xf6, 0xba, - 0x54, 0x42, 0xb3, 0x50, 0x64, 0x55, 0x88, 0x46, 0x94, 0x07, 0x40, 0x97, 0x9f, 0x93, 0xa4, 0xa0, - 0x21, 0x8c, 0xcb, 0x6c, 0x04, 0x70, 0xf9, 0x39, 0x09, 0xc9, 0x75, 0x48, 0x51, 0x35, 0x44, 0x08, - 0x4a, 0x6b, 0xd5, 0x5a, 0x63, 0x4d, 0xdd, 0xdc, 0x6a, 0x37, 0x37, 0x37, 0xaa, 0x6b, 0x52, 0x2c, - 0x80, 0x29, 0x8d, 0x97, 0xb7, 0x9b, 0x4a, 0x63, 0x55, 0x8a, 0x87, 0x61, 0x5b, 0x8d, 0x6a, 0xbb, - 0xb1, 0x2a, 0x25, 0x64, 0x1d, 0xe6, 0x47, 0x19, 0xd4, 0x91, 0x53, 0x28, 0xa4, 0x0b, 0xf1, 0x31, - 0xba, 0x40, 0x79, 0x0d, 0xea, 0x82, 0xfc, 0xb9, 0x38, 0xcc, 0x8d, 0x58, 0x54, 0x46, 0x56, 0xf2, - 0x22, 0xa4, 0x98, 0x2e, 0xb3, 0x65, 0xf6, 0xf1, 0x91, 0xab, 0x13, 0xd5, 0xec, 0xa1, 0xa5, 0x96, - 0xd2, 0x85, 0x9d, 0x90, 0xc4, 0x18, 0x27, 0x84, 0xb0, 0x18, 0x52, 0xd8, 0x6f, 0x18, 0x32, 0xfe, - 0x6c, 0x7d, 0xbc, 0x3c, 0xcd, 0xfa, 0x48, 0x61, 0xc7, 0x5b, 0x04, 0x52, 0x23, 0x16, 0x81, 0x2b, - 0x30, 0x3b, 0xc4, 0x68, 0x6a, 0x63, 0xfc, 0xc1, 0x18, 0x2c, 0x8c, 0x13, 0xce, 0x04, 0x93, 0x18, - 0x8f, 0x98, 0xc4, 0x2b, 0x83, 0x12, 0x7c, 0x68, 0xfc, 0x20, 0x0c, 0x8d, 0xf5, 0x27, 0x63, 0x70, - 0x72, 0xb4, 0xb3, 0x39, 0xb2, 0x0d, 0xef, 0x81, 0x74, 0x0f, 0x7b, 0xfb, 0x96, 0x70, 0xab, 0x1e, - 0x1d, 0xb1, 0x58, 0x93, 0xe2, 0xc1, 0xc1, 0xe6, 0x54, 0xe1, 0xd5, 0x3e, 0x31, 0xce, 0x63, 0x64, - 0xad, 0x19, 0x6a, 0xe9, 0xb7, 0xc6, 0xe1, 0xc4, 0x48, 0xe6, 0x23, 0x1b, 0xfa, 0x20, 0x80, 0x61, - 0xda, 0x7d, 0x8f, 0xb9, 0x4e, 0xcc, 0x12, 0xe7, 0x28, 0x84, 0x1a, 0x2f, 0x62, 0x65, 0xfb, 0x9e, - 0x5f, 0x9e, 0xa0, 0xe5, 0xc0, 0x40, 0x14, 0xe1, 0x9d, 0x41, 0x43, 0x93, 0xb4, 0xa1, 0x67, 0xc7, - 0xf4, 0x74, 0x48, 0x31, 0x9f, 0x06, 0x49, 0xef, 0x1a, 0xd8, 0xf4, 0x54, 0xd7, 0x73, 0xb0, 0xd6, - 0x33, 0xcc, 0x3d, 0xba, 0xd4, 0x64, 0x57, 0x52, 0xbb, 0x5a, 0xd7, 0xc5, 0x4a, 0x99, 0x15, 0xb7, - 0x44, 0x29, 0xa1, 0xa0, 0x0a, 0xe4, 0x84, 0x28, 0xd2, 0x11, 0x0a, 0x56, 0xec, 0x53, 0xc8, 0xdf, - 0x95, 0x83, 0x7c, 0xc8, 0x35, 0x47, 0x0f, 0x41, 0xe1, 0x75, 0xed, 0xb6, 0xa6, 0x8a, 0x70, 0x8b, - 0x49, 0x22, 0x4f, 0x60, 0x5b, 0x3c, 0xe4, 0x7a, 0x1a, 0xe6, 0x29, 0x8a, 0xd5, 0xf7, 0xb0, 0xa3, - 0xea, 0x5d, 0xcd, 0x75, 0xa9, 0xd0, 0xb2, 0x14, 0x15, 0x91, 0xb2, 0x4d, 0x52, 0x54, 0x17, 0x25, - 0xe8, 0x12, 0xcc, 0x51, 0x8a, 0x5e, 0xbf, 0xeb, 0x19, 0x76, 0x17, 0xab, 0x24, 0x00, 0x74, 0xe9, - 0x92, 0xe3, 0xb7, 0x6c, 0x96, 0x60, 0xac, 0x73, 0x04, 0xd2, 0x22, 0x17, 0xad, 0xc2, 0x83, 0x94, - 0x6c, 0x0f, 0x9b, 0xd8, 0xd1, 0x3c, 0xac, 0xe2, 0xf7, 0xf7, 0xb5, 0xae, 0xab, 0x6a, 0x66, 0x47, - 0xdd, 0xd7, 0xdc, 0xfd, 0x85, 0x79, 0xc2, 0xa0, 0x16, 0x5f, 0x88, 0x29, 0xa7, 0x09, 0xe2, 0x35, - 0x8e, 0xd7, 0xa0, 0x68, 0x55, 0xb3, 0x73, 0x5d, 0x73, 0xf7, 0xd1, 0x0a, 0x9c, 0xa4, 0x5c, 0x5c, - 0xcf, 0x31, 0xcc, 0x3d, 0x55, 0xdf, 0xc7, 0xfa, 0x2d, 0xb5, 0xef, 0xed, 0xbe, 0x73, 0xe1, 0x4c, - 0xb8, 0x7e, 0xda, 0xc2, 0x16, 0xc5, 0xa9, 0x13, 0x94, 0x6d, 0x6f, 0xf7, 0x9d, 0xa8, 0x05, 0x05, - 0x32, 0x18, 0x3d, 0xe3, 0x0d, 0xac, 0xee, 0x5a, 0x0e, 0x5d, 0x43, 0x4b, 0x23, 0x4c, 0x53, 0x48, - 0x82, 0xcb, 0x9b, 0x9c, 0x60, 0xdd, 0xea, 0xe0, 0x95, 0x54, 0x6b, 0xab, 0xd1, 0x58, 0x55, 0xf2, - 0x82, 0xcb, 0x55, 0xcb, 0x21, 0x0a, 0xb5, 0x67, 0xf9, 0x02, 0xce, 0x33, 0x85, 0xda, 0xb3, 0x84, - 0x78, 0x2f, 0xc1, 0x9c, 0xae, 0xb3, 0x3e, 0x1b, 0xba, 0xca, 0xc3, 0x34, 0x77, 0x41, 0x8a, 0x08, - 0x4b, 0xd7, 0xaf, 0x31, 0x04, 0xae, 0xe3, 0x2e, 0x7a, 0x01, 0x4e, 0x04, 0xc2, 0x0a, 0x13, 0xce, - 0x0e, 0xf5, 0x72, 0x90, 0xf4, 0x12, 0xcc, 0xd9, 0x87, 0xc3, 0x84, 0x28, 0x52, 0xa3, 0x7d, 0x38, - 0x48, 0xf6, 0x3c, 0xcc, 0xdb, 0xfb, 0xf6, 0x30, 0xdd, 0xf9, 0x30, 0x1d, 0xb2, 0xf7, 0xed, 0x41, - 0xc2, 0x47, 0x68, 0xcc, 0xee, 0x60, 0x5d, 0xf3, 0x70, 0x67, 0xe1, 0x54, 0x18, 0x3d, 0x54, 0x80, - 0x96, 0x41, 0xd2, 0x75, 0x15, 0x9b, 0xda, 0x4e, 0x17, 0xab, 0x9a, 0x83, 0x4d, 0xcd, 0x5d, 0x58, - 0xa4, 0xc8, 0x49, 0xcf, 0xe9, 0x63, 0xa5, 0xa4, 0xeb, 0x0d, 0x5a, 0x58, 0xa5, 0x65, 0xe8, 0x3c, - 0xcc, 0x5a, 0x3b, 0xaf, 0xeb, 0x4c, 0x23, 0x55, 0xdb, 0xc1, 0xbb, 0xc6, 0xc1, 0xc2, 0x3b, 0xa8, - 0x78, 0xcb, 0xa4, 0x80, 0xea, 0xe3, 0x16, 0x05, 0xa3, 0xc7, 0x41, 0xd2, 0xdd, 0x7d, 0xcd, 0xb1, - 0xa9, 0x49, 0x76, 0x6d, 0x4d, 0xc7, 0x0b, 0x8f, 0x30, 0x54, 0x06, 0xdf, 0x10, 0x60, 0x32, 0x23, - 0xdc, 0x3b, 0xc6, 0xae, 0x27, 0x38, 0x3e, 0xc6, 0x66, 0x04, 0x85, 0x71, 0x6e, 0xe7, 0x40, 0x22, - 0x92, 0x88, 0x54, 0x7c, 0x8e, 0xa2, 0x95, 0xec, 0x7d, 0x3b, 0x5c, 0xef, 0xc3, 0x50, 0x24, 0x98, - 0x41, 0xa5, 0x8f, 0x33, 0xc7, 0xcd, 0xde, 0x0f, 0xd5, 0xf8, 0x1c, 0x9c, 0x24, 0x48, 0x3d, 0xec, - 0x69, 0x1d, 0xcd, 0xd3, 0x42, 0xd8, 0x4f, 0x52, 0x6c, 0x22, 0xf6, 0x75, 0x5e, 0x18, 0x69, 0xa7, - 0xd3, 0xdf, 0x39, 0xf4, 0x15, 0xeb, 0x29, 0xd6, 0x4e, 0x02, 0x13, 0xaa, 0xf5, 0xb6, 0x39, 0xe7, - 0xf2, 0x0a, 0x14, 0xc2, 0x7a, 0x8f, 0x72, 0xc0, 0x34, 0x5f, 0x8a, 0x11, 0x27, 0xa8, 0xbe, 0xb9, - 0x4a, 0xdc, 0x97, 0xd7, 0x1a, 0x52, 0x9c, 0xb8, 0x51, 0x6b, 0xcd, 0x76, 0x43, 0x55, 0xb6, 0x37, - 0xda, 0xcd, 0xf5, 0x86, 0x94, 0x08, 0x39, 0xf6, 0x37, 0x92, 0xd9, 0x47, 0xa5, 0xc7, 0xe4, 0x5f, - 0x4c, 0x40, 0x29, 0x1a, 0xa9, 0xa1, 0x77, 0xc1, 0x29, 0x91, 0x70, 0x71, 0xb1, 0xa7, 0xde, 0x31, - 0x1c, 0x3a, 0x21, 0x7b, 0x1a, 0x5b, 0x1c, 0x7d, 0xfd, 0x99, 0xe7, 0x58, 0x2d, 0xec, 0xbd, 0xd7, - 0x70, 0xc8, 0x74, 0xeb, 0x69, 0x1e, 0x5a, 0x83, 0x45, 0xd3, 0x52, 0x5d, 0x4f, 0x33, 0x3b, 0x9a, - 0xd3, 0x51, 0x83, 0x54, 0x97, 0xaa, 0xe9, 0x3a, 0x76, 0x5d, 0x8b, 0x2d, 0x84, 0x3e, 0x97, 0x07, - 0x4c, 0xab, 0xc5, 0x91, 0x83, 0x15, 0xa2, 0xca, 0x51, 0x07, 0xd4, 0x37, 0x31, 0x4e, 0x7d, 0xcf, - 0x40, 0xae, 0xa7, 0xd9, 0x2a, 0x36, 0x3d, 0xe7, 0x90, 0xfa, 0xe7, 0x59, 0x25, 0xdb, 0xd3, 0xec, - 0x06, 0xf9, 0x46, 0x37, 0xe1, 0xd1, 0x00, 0x55, 0xed, 0xe2, 0x3d, 0x4d, 0x3f, 0x54, 0xa9, 0x33, - 0x4e, 0xd3, 0x06, 0xaa, 0x6e, 0x99, 0xbb, 0x5d, 0x43, 0xf7, 0x5c, 0x6a, 0x1f, 0x98, 0x8d, 0x93, - 0x03, 0x8a, 0x35, 0x4a, 0x70, 0xc3, 0xb5, 0x4c, 0xea, 0x83, 0xd7, 0x05, 0xf6, 0xd7, 0x24, 0xfc, - 0xba, 0x91, 0xcc, 0x26, 0xa5, 0xd4, 0x8d, 0x64, 0x36, 0x25, 0xa5, 0x6f, 0x24, 0xb3, 0x69, 0x29, - 0x73, 0x23, 0x99, 0xcd, 0x4a, 0xb9, 0x1b, 0xc9, 0x6c, 0x4e, 0x02, 0xf9, 0xe7, 0xb2, 0x50, 0x08, - 0x47, 0x06, 0x24, 0xd0, 0xd2, 0xe9, 0xda, 0x18, 0xa3, 0xd6, 0xf3, 0xe1, 0x23, 0xe3, 0x88, 0xe5, - 0x3a, 0x59, 0x34, 0x57, 0xd2, 0xcc, 0x0d, 0x57, 0x18, 0x25, 0x71, 0x58, 0x88, 0x5a, 0x63, 0xe6, - 0xf6, 0x64, 0x15, 0xfe, 0x85, 0xae, 0x41, 0xfa, 0x75, 0x97, 0xf2, 0x4e, 0x53, 0xde, 0xef, 0x38, - 0x9a, 0xf7, 0x8d, 0x16, 0x65, 0x9e, 0xbb, 0xd1, 0x52, 0x37, 0x36, 0x95, 0xf5, 0xea, 0x9a, 0xc2, - 0xc9, 0xd1, 0x69, 0x48, 0x76, 0xb5, 0x37, 0x0e, 0xa3, 0xcb, 0x2b, 0x05, 0xa1, 0x65, 0x28, 0xf7, - 0xcd, 0xdb, 0xd8, 0x31, 0x76, 0x0d, 0x32, 0x54, 0x04, 0xab, 0x1c, 0xc6, 0x2a, 0x05, 0xa5, 0x6b, - 0x04, 0x7f, 0x4a, 0xf5, 0x38, 0x0d, 0xc9, 0x3b, 0x58, 0xbb, 0x15, 0x5d, 0x04, 0x29, 0x08, 0x9d, - 0x83, 0x42, 0x07, 0xef, 0xf4, 0xf7, 0x54, 0x07, 0x77, 0x34, 0xdd, 0x8b, 0x9a, 0xfe, 0x3c, 0x2d, - 0x52, 0x68, 0x09, 0x7a, 0x09, 0x72, 0x64, 0x8c, 0x4c, 0x3a, 0xc6, 0xb3, 0x54, 0x04, 0x4f, 0x1d, - 0x2d, 0x02, 0x3e, 0xc4, 0x82, 0x48, 0x09, 0xe8, 0xd1, 0x55, 0x48, 0x7b, 0x9a, 0xb3, 0x87, 0x3d, - 0x6a, 0xf9, 0x4b, 0x23, 0x92, 0x1f, 0x23, 0x38, 0xb5, 0x29, 0x05, 0x8d, 0x69, 0x39, 0xf5, 0xdb, - 0x68, 0x65, 0x2e, 0x40, 0x8a, 0xaa, 0x07, 0x02, 0xe0, 0x0a, 0x22, 0xcd, 0xa0, 0x2c, 0x24, 0xeb, - 0x9b, 0x0a, 0xb1, 0x34, 0x12, 0x14, 0x18, 0x54, 0xdd, 0x6a, 0x36, 0xea, 0x0d, 0x29, 0x2e, 0x5f, - 0x82, 0x34, 0x1b, 0x73, 0x62, 0x85, 0xfc, 0x51, 0x97, 0x66, 0xf8, 0x27, 0xe7, 0x11, 0x13, 0xa5, - 0xdb, 0xeb, 0xb5, 0x86, 0x22, 0xc5, 0xe5, 0x6d, 0x28, 0x0f, 0xc8, 0x09, 0x9d, 0x80, 0x59, 0xa5, - 0xd1, 0x6e, 0x6c, 0x90, 0x38, 0x4b, 0xdd, 0xde, 0x78, 0x69, 0x63, 0xf3, 0xbd, 0x1b, 0xd2, 0x4c, - 0x14, 0x2c, 0x4c, 0x5a, 0x0c, 0xcd, 0x83, 0x14, 0x80, 0x5b, 0x9b, 0xdb, 0x0a, 0x6d, 0xcd, 0xb7, - 0xc7, 0x41, 0x1a, 0x94, 0x1a, 0x3a, 0x05, 0x73, 0xed, 0xaa, 0x72, 0xad, 0xd1, 0x56, 0x59, 0xec, - 0xe8, 0xb3, 0x9e, 0x07, 0x29, 0x5c, 0x70, 0xb5, 0x49, 0x43, 0xe3, 0x45, 0x38, 0x13, 0x86, 0x36, - 0x5e, 0x69, 0x37, 0x36, 0x5a, 0xb4, 0xf2, 0xea, 0xc6, 0x35, 0x62, 0x5f, 0x07, 0xf8, 0x89, 0x68, - 0x35, 0x41, 0x9a, 0x1a, 0xe5, 0xd7, 0x58, 0x5b, 0x95, 0x92, 0x83, 0xe0, 0xcd, 0x8d, 0xc6, 0xe6, - 0x55, 0x29, 0x35, 0x58, 0x3b, 0x8d, 0x60, 0xd3, 0xa8, 0x02, 0x27, 0x07, 0xa1, 0x6a, 0x63, 0xa3, - 0xad, 0xbc, 0x2a, 0x65, 0x06, 0x2b, 0x6e, 0x35, 0x94, 0x9b, 0xcd, 0x7a, 0x43, 0xca, 0xa2, 0x93, - 0x80, 0xa2, 0x2d, 0x6a, 0x5f, 0xdf, 0x5c, 0x95, 0x72, 0x43, 0x16, 0x45, 0x76, 0xa1, 0x10, 0x0e, - 0x23, 0xbf, 0x36, 0xb9, 0xa4, 0x8f, 0xc4, 0x21, 0x1f, 0x0a, 0x0b, 0x89, 0x3f, 0xaf, 0x75, 0xbb, - 0xd6, 0x1d, 0x55, 0xeb, 0x1a, 0x9a, 0xcb, 0xed, 0x0d, 0x50, 0x50, 0x95, 0x40, 0xa6, 0x9d, 0xdf, - 0xd3, 0x5b, 0xf8, 0xf4, 0x5f, 0x44, 0x0b, 0x9f, 0x92, 0xd2, 0xf2, 0x0f, 0xc6, 0x40, 0x1a, 0x8c, - 0xf7, 0x06, 0xba, 0x1f, 0x1b, 0xd7, 0xfd, 0xaf, 0xc9, 0xd8, 0x7d, 0x2c, 0x06, 0xa5, 0x68, 0x90, - 0x37, 0xd0, 0xbc, 0x87, 0xfe, 0x5c, 0x9b, 0xf7, 0x3b, 0x71, 0x28, 0x46, 0x42, 0xbb, 0x69, 0x5b, - 0xf7, 0x7e, 0x98, 0x35, 0x3a, 0xb8, 0x67, 0x5b, 0x1e, 0x36, 0xf5, 0x43, 0xb5, 0x8b, 0x6f, 0xe3, - 0xee, 0x82, 0x4c, 0x8d, 0xf2, 0x85, 0xa3, 0x83, 0xc7, 0xe5, 0x66, 0x40, 0xb7, 0x46, 0xc8, 0x56, - 0xe6, 0x9a, 0xab, 0x8d, 0xf5, 0xad, 0xcd, 0x76, 0x63, 0xa3, 0xfe, 0xaa, 0xb0, 0x2e, 0x8a, 0x64, - 0x0c, 0xa0, 0xbd, 0x8d, 0x46, 0x7b, 0x0b, 0xa4, 0xc1, 0x46, 0x11, 0x5b, 0x31, 0xa2, 0x59, 0xd2, - 0x0c, 0x9a, 0x83, 0xf2, 0xc6, 0xa6, 0xda, 0x6a, 0xae, 0x36, 0xd4, 0xc6, 0xd5, 0xab, 0x8d, 0x7a, - 0xbb, 0xc5, 0xd2, 0x81, 0x3e, 0x76, 0x5b, 0x8a, 0x87, 0x45, 0xfc, 0x03, 0x09, 0x98, 0x1b, 0xd1, - 0x12, 0x54, 0xe5, 0x81, 0x3c, 0xcb, 0x2d, 0x3c, 0x35, 0x4d, 0xeb, 0x97, 0x89, 0x2b, 0xbd, 0xa5, - 0x39, 0x1e, 0x8f, 0xfb, 0x1f, 0x07, 0x22, 0x25, 0xd3, 0x23, 0x2b, 0xbb, 0xc3, 0xd3, 0xac, 0x2c, - 0xba, 0x2f, 0x07, 0x70, 0x96, 0x69, 0x7d, 0x12, 0x90, 0x6d, 0xb9, 0x86, 0x67, 0xdc, 0xc6, 0xaa, - 0x61, 0x8a, 0x9c, 0x2c, 0x89, 0xf6, 0x93, 0x8a, 0x24, 0x4a, 0x9a, 0xa6, 0xe7, 0x63, 0x9b, 0x78, - 0x4f, 0x1b, 0xc0, 0x26, 0x9e, 0x47, 0x42, 0x91, 0x44, 0x89, 0x8f, 0xfd, 0x10, 0x14, 0x3a, 0x56, - 0x9f, 0x84, 0x40, 0x0c, 0x8f, 0x58, 0x8b, 0x98, 0x92, 0x67, 0x30, 0x1f, 0x85, 0x07, 0xb7, 0x41, - 0x32, 0xb8, 0xa0, 0xe4, 0x19, 0x8c, 0xa1, 0x3c, 0x06, 0x65, 0x6d, 0x6f, 0xcf, 0x21, 0xcc, 0x05, - 0x23, 0x16, 0xae, 0x97, 0x7c, 0x30, 0x45, 0xac, 0xdc, 0x80, 0xac, 0x90, 0x03, 0xf1, 0x60, 0x89, - 0x24, 0x54, 0x9b, 0xe5, 0xa0, 0xe2, 0xe7, 0x72, 0x4a, 0xd6, 0x14, 0x85, 0x0f, 0x41, 0xc1, 0x70, - 0xd5, 0x60, 0x6f, 0x2b, 0xbe, 0x14, 0x3f, 0x97, 0x55, 0xf2, 0x86, 0xeb, 0xef, 0x0b, 0xc8, 0x9f, - 0x8c, 0x43, 0x29, 0xba, 0x6b, 0x87, 0x56, 0x21, 0xdb, 0xb5, 0x74, 0x8d, 0xaa, 0x16, 0xdb, 0x32, - 0x3e, 0x37, 0x61, 0xa3, 0x6f, 0x79, 0x8d, 0xe3, 0x2b, 0x3e, 0x65, 0xe5, 0xdf, 0xc4, 0x20, 0x2b, - 0xc0, 0xe8, 0x24, 0x24, 0x6d, 0xcd, 0xdb, 0xa7, 0xec, 0x52, 0xb5, 0xb8, 0x14, 0x53, 0xe8, 0x37, - 0x81, 0xbb, 0xb6, 0x66, 0x52, 0x15, 0xe0, 0x70, 0xf2, 0x4d, 0xc6, 0xb5, 0x8b, 0xb5, 0x0e, 0xcd, - 0x05, 0x58, 0xbd, 0x1e, 0x36, 0x3d, 0x57, 0x8c, 0x2b, 0x87, 0xd7, 0x39, 0x18, 0x3d, 0x01, 0xb3, - 0x9e, 0xa3, 0x19, 0xdd, 0x08, 0x6e, 0x92, 0xe2, 0x4a, 0xa2, 0xc0, 0x47, 0x5e, 0x81, 0xd3, 0x82, - 0x6f, 0x07, 0x7b, 0x9a, 0xbe, 0x8f, 0x3b, 0x01, 0x51, 0x9a, 0xe6, 0xfc, 0x4e, 0x71, 0x84, 0x55, - 0x5e, 0x2e, 0x68, 0xe5, 0xcf, 0xc4, 0x61, 0x56, 0x64, 0x2f, 0x3a, 0xbe, 0xb0, 0xd6, 0x01, 0x34, - 0xd3, 0xb4, 0xbc, 0xb0, 0xb8, 0x86, 0x55, 0x79, 0x88, 0x6e, 0xb9, 0xea, 0x13, 0x29, 0x21, 0x06, - 0x95, 0xdf, 0x8f, 0x01, 0x04, 0x45, 0x63, 0xe5, 0xb6, 0x08, 0x79, 0xbe, 0x27, 0x4b, 0x37, 0xf6, - 0x59, 0xc2, 0x0b, 0x18, 0xe8, 0xaa, 0xd1, 0xa5, 0x69, 0xc9, 0x1d, 0xbc, 0x67, 0x98, 0x7c, 0x3f, - 0x85, 0x7d, 0x88, 0xb4, 0x64, 0x32, 0xd8, 0x9e, 0x52, 0x20, 0xeb, 0xe2, 0x9e, 0x66, 0x7a, 0x86, - 0xce, 0x77, 0x48, 0x2e, 0x1f, 0xab, 0xf1, 0xcb, 0x2d, 0x4e, 0xad, 0xf8, 0x7c, 0xe4, 0x73, 0x90, - 0x15, 0x50, 0xe2, 0xf8, 0x6d, 0x6c, 0x6e, 0x34, 0xa4, 0x19, 0x94, 0x81, 0x44, 0xab, 0xd1, 0x96, - 0x62, 0x24, 0xec, 0xac, 0xae, 0x35, 0xab, 0x2d, 0x29, 0x5e, 0xfb, 0x6b, 0x30, 0xa7, 0x5b, 0xbd, - 0xc1, 0x0a, 0x6b, 0xd2, 0x40, 0xca, 0xcf, 0xbd, 0x1e, 0x7b, 0xed, 0x29, 0x8e, 0xb4, 0x67, 0x75, - 0x35, 0x73, 0x6f, 0xd9, 0x72, 0xf6, 0x82, 0x63, 0x11, 0x24, 0x3a, 0x70, 0x43, 0x87, 0x23, 0xec, - 0x9d, 0x3f, 0x8b, 0xc5, 0x7e, 0x38, 0x9e, 0xb8, 0xb6, 0x55, 0xfb, 0x89, 0x78, 0xe5, 0x1a, 0x23, - 0xdc, 0x12, 0xdd, 0x51, 0xf0, 0x6e, 0x17, 0xeb, 0xa4, 0xf1, 0xf0, 0x07, 0x4f, 0xc0, 0xfc, 0x9e, - 0xb5, 0x67, 0x51, 0x4e, 0x17, 0xc8, 0x2f, 0x7e, 0xae, 0x22, 0xe7, 0x43, 0x2b, 0x13, 0x0f, 0x61, - 0xac, 0x6c, 0xc0, 0x1c, 0x47, 0x56, 0xe9, 0xf6, 0x2d, 0x4b, 0x2e, 0xa0, 0x23, 0x33, 0xdb, 0x0b, - 0x3f, 0xf5, 0x7b, 0xd4, 0x2b, 0x51, 0x66, 0x39, 0x29, 0x29, 0x63, 0xf9, 0x87, 0x15, 0x05, 0x4e, - 0x44, 0xf8, 0x31, 0x1b, 0x81, 0x9d, 0x09, 0x1c, 0xff, 0x39, 0xe7, 0x38, 0x17, 0xe2, 0xd8, 0xe2, - 0xa4, 0x2b, 0x75, 0x28, 0x1e, 0x87, 0xd7, 0xbf, 0xe0, 0xbc, 0x0a, 0x38, 0xcc, 0xe4, 0x1a, 0x94, - 0x29, 0x13, 0xbd, 0xef, 0x7a, 0x56, 0x8f, 0x1a, 0xe0, 0xa3, 0xd9, 0xfc, 0xcb, 0xdf, 0x63, 0x93, - 0xb6, 0x44, 0xc8, 0xea, 0x3e, 0xd5, 0xca, 0x0a, 0xd0, 0x1d, 0xeb, 0x0e, 0xd6, 0xbb, 0x13, 0x38, - 0xfc, 0x1a, 0x6f, 0x88, 0x8f, 0xbf, 0x72, 0x13, 0xe6, 0xc9, 0x6f, 0x6a, 0x1f, 0xc3, 0x2d, 0x99, - 0x9c, 0x06, 0x5f, 0xf8, 0xb7, 0x1f, 0x64, 0x76, 0x61, 0xce, 0x67, 0x10, 0x6a, 0x53, 0x68, 0x14, - 0xf7, 0xb0, 0xe7, 0x61, 0xc7, 0x55, 0xb5, 0xee, 0xa8, 0xe6, 0x85, 0xf2, 0x88, 0x0b, 0xdf, 0xff, - 0xa5, 0xe8, 0x28, 0x5e, 0x63, 0x94, 0xd5, 0x6e, 0x77, 0x65, 0x1b, 0x4e, 0x8d, 0xd0, 0x8a, 0x29, - 0x78, 0xfe, 0x00, 0xe7, 0x39, 0x3f, 0xa4, 0x19, 0x84, 0xed, 0x16, 0x08, 0xb8, 0x3f, 0x96, 0x53, - 0xf0, 0xfc, 0x28, 0xe7, 0x89, 0x38, 0xad, 0x18, 0x52, 0xc2, 0xf1, 0x06, 0xcc, 0xde, 0xc6, 0xce, - 0x8e, 0xe5, 0xf2, 0xdc, 0xed, 0x14, 0xec, 0x3e, 0xc6, 0xd9, 0x95, 0x39, 0x21, 0x4d, 0xe6, 0x12, - 0x5e, 0x2f, 0x40, 0x76, 0x57, 0xd3, 0xf1, 0x14, 0x2c, 0xee, 0x71, 0x16, 0x19, 0x82, 0x4f, 0x48, - 0xab, 0x50, 0xd8, 0xb3, 0xf8, 0x12, 0x39, 0x99, 0xfc, 0x07, 0x39, 0x79, 0x5e, 0xd0, 0x70, 0x16, - 0xb6, 0x65, 0xf7, 0xbb, 0x64, 0xfd, 0x9c, 0xcc, 0xe2, 0x87, 0x04, 0x0b, 0x41, 0xc3, 0x59, 0x1c, - 0x43, 0xac, 0x1f, 0x17, 0x2c, 0xdc, 0x90, 0x3c, 0x5f, 0x84, 0xbc, 0x65, 0x76, 0x0f, 0x2d, 0x73, - 0x9a, 0x46, 0x7c, 0x82, 0x73, 0x00, 0x4e, 0x42, 0x18, 0x5c, 0x81, 0xdc, 0xb4, 0x03, 0xf1, 0xa3, - 0x5f, 0x12, 0xd3, 0x43, 0x8c, 0xc0, 0x35, 0x28, 0x0b, 0x03, 0x65, 0x58, 0xe6, 0x14, 0x2c, 0x7e, - 0x8c, 0xb3, 0x28, 0x85, 0xc8, 0x78, 0x37, 0x3c, 0xec, 0x7a, 0x7b, 0x78, 0x1a, 0x26, 0x9f, 0x14, - 0xdd, 0xe0, 0x24, 0x5c, 0x94, 0x3b, 0xd8, 0xd4, 0xf7, 0xa7, 0xe3, 0xf0, 0x29, 0x21, 0x4a, 0x41, - 0x43, 0x58, 0xd4, 0xa1, 0xd8, 0xd3, 0x1c, 0x77, 0x5f, 0xeb, 0x4e, 0x35, 0x1c, 0x3f, 0xce, 0x79, - 0x14, 0x7c, 0x22, 0x2e, 0x91, 0xbe, 0x79, 0x1c, 0x36, 0x3f, 0x21, 0x24, 0x12, 0x22, 0xe3, 0x53, - 0xcf, 0xf5, 0x68, 0xa2, 0xfb, 0x38, 0xdc, 0xfe, 0xae, 0x98, 0x7a, 0x8c, 0x76, 0x3d, 0xcc, 0xf1, - 0x0a, 0xe4, 0x5c, 0xe3, 0x8d, 0xa9, 0xd8, 0xfc, 0x3d, 0x31, 0xd2, 0x94, 0x80, 0x10, 0xbf, 0x0a, - 0xa7, 0x47, 0x2e, 0x13, 0x53, 0x30, 0xfb, 0xfb, 0x9c, 0xd9, 0xc9, 0x11, 0x4b, 0x05, 0x37, 0x09, - 0xc7, 0x65, 0xf9, 0x0f, 0x84, 0x49, 0xc0, 0x03, 0xbc, 0xb6, 0x48, 0xd0, 0xe2, 0x6a, 0xbb, 0xc7, - 0x93, 0xda, 0x3f, 0x14, 0x52, 0x63, 0xb4, 0x11, 0xa9, 0xb5, 0xe1, 0x24, 0xe7, 0x78, 0xbc, 0x71, - 0xfd, 0x49, 0x61, 0x58, 0x19, 0xf5, 0x76, 0x74, 0x74, 0xbf, 0x0e, 0x2a, 0xbe, 0x38, 0x85, 0x77, - 0xec, 0xaa, 0x3d, 0xcd, 0x9e, 0x82, 0xf3, 0x4f, 0x71, 0xce, 0xc2, 0xe2, 0xfb, 0xee, 0xb5, 0xbb, - 0xae, 0xd9, 0x84, 0xf9, 0x2b, 0xb0, 0x20, 0x98, 0xf7, 0x4d, 0x07, 0xeb, 0xd6, 0x9e, 0x69, 0xbc, - 0x81, 0x3b, 0x53, 0xb0, 0xfe, 0xe9, 0x81, 0xa1, 0xda, 0x0e, 0x91, 0x13, 0xce, 0x4d, 0x90, 0x7c, - 0x5f, 0x45, 0x35, 0x7a, 0xb6, 0xe5, 0x78, 0x13, 0x38, 0xfe, 0x8c, 0x18, 0x29, 0x9f, 0xae, 0x49, - 0xc9, 0x56, 0x1a, 0xc0, 0x4e, 0x7f, 0x4c, 0xab, 0x92, 0x9f, 0xe6, 0x8c, 0x8a, 0x01, 0x15, 0x37, - 0x1c, 0xba, 0xd5, 0xb3, 0x35, 0x67, 0x1a, 0xfb, 0xf7, 0x8f, 0x84, 0xe1, 0xe0, 0x24, 0xdc, 0x70, - 0x10, 0x8f, 0x8e, 0xac, 0xf6, 0x53, 0x70, 0xf8, 0x59, 0x61, 0x38, 0x04, 0x0d, 0x67, 0x21, 0x1c, - 0x86, 0x29, 0x58, 0xfc, 0x9c, 0x60, 0x21, 0x68, 0x08, 0x8b, 0x97, 0x83, 0x85, 0xd6, 0xc1, 0x7b, - 0x86, 0xeb, 0x39, 0xcc, 0x25, 0x3f, 0x9a, 0xd5, 0xcf, 0x7f, 0x29, 0xea, 0x84, 0x29, 0x21, 0x52, - 0x62, 0x89, 0xf8, 0xd6, 0x07, 0x0d, 0xd9, 0x26, 0x37, 0xec, 0x17, 0x84, 0x25, 0x0a, 0x91, 0x91, - 0xb6, 0x85, 0x3c, 0x44, 0x22, 0x76, 0x9d, 0x04, 0x2a, 0x53, 0xb0, 0xfb, 0xc7, 0x03, 0x8d, 0x6b, - 0x09, 0x5a, 0xc2, 0x33, 0xe4, 0xff, 0xf4, 0xcd, 0x5b, 0xf8, 0x70, 0x2a, 0xed, 0xfc, 0xc5, 0x01, - 0xff, 0x67, 0x9b, 0x51, 0x32, 0x1b, 0x52, 0x1e, 0xf0, 0xa7, 0xd0, 0xa4, 0xb3, 0x7e, 0x0b, 0xdf, - 0xf4, 0x65, 0xde, 0xdf, 0xa8, 0x3b, 0xb5, 0xb2, 0x46, 0x94, 0x3c, 0xea, 0xf4, 0x4c, 0x66, 0xf6, - 0xc1, 0x2f, 0xfb, 0x7a, 0x1e, 0xf1, 0x79, 0x56, 0xae, 0x42, 0x31, 0xe2, 0xf0, 0x4c, 0x66, 0xf5, - 0xcd, 0x9c, 0x55, 0x21, 0xec, 0xef, 0xac, 0x5c, 0x82, 0x24, 0x71, 0x5e, 0x26, 0x93, 0x7f, 0x0b, - 0x27, 0xa7, 0xe8, 0x2b, 0xef, 0x86, 0xac, 0x70, 0x5a, 0x26, 0x93, 0xfe, 0x0d, 0x4e, 0xea, 0x93, - 0x10, 0x72, 0xe1, 0xb0, 0x4c, 0x26, 0xff, 0x9b, 0x82, 0x5c, 0x90, 0x10, 0xf2, 0xe9, 0x45, 0xf8, - 0xcb, 0xdf, 0x96, 0xe4, 0x8b, 0x8e, 0x90, 0xdd, 0x15, 0xc8, 0x70, 0x4f, 0x65, 0x32, 0xf5, 0xb7, - 0xf2, 0xca, 0x05, 0xc5, 0xca, 0xf3, 0x90, 0x9a, 0x52, 0xe0, 0xdf, 0xc1, 0x49, 0x19, 0xfe, 0x4a, - 0x1d, 0xf2, 0x21, 0xef, 0x64, 0x32, 0xf9, 0x77, 0x72, 0xf2, 0x30, 0x15, 0x69, 0x3a, 0xf7, 0x4e, - 0x26, 0x33, 0xf8, 0x5b, 0xa2, 0xe9, 0x9c, 0x82, 0x88, 0x4d, 0x38, 0x26, 0x93, 0xa9, 0x3f, 0x2c, - 0xa4, 0x2e, 0x48, 0x56, 0x5e, 0x84, 0x9c, 0xbf, 0xd8, 0x4c, 0xa6, 0xff, 0x2e, 0x4e, 0x1f, 0xd0, - 0x10, 0x09, 0x84, 0x16, 0xbb, 0xc9, 0x2c, 0xfe, 0xb6, 0x90, 0x40, 0x88, 0x8a, 0x4c, 0xa3, 0x41, - 0x07, 0x66, 0x32, 0xa7, 0xef, 0x16, 0xd3, 0x68, 0xc0, 0x7f, 0x21, 0xa3, 0x49, 0x6d, 0xfe, 0x64, - 0x16, 0xdf, 0x23, 0x46, 0x93, 0xe2, 0x93, 0x66, 0x0c, 0x7a, 0x04, 0x93, 0x79, 0x7c, 0x9f, 0x68, - 0xc6, 0x80, 0x43, 0xb0, 0xb2, 0x05, 0x68, 0xd8, 0x1b, 0x98, 0xcc, 0xef, 0x23, 0x9c, 0xdf, 0xec, - 0x90, 0x33, 0xb0, 0xf2, 0x5e, 0x38, 0x39, 0xda, 0x13, 0x98, 0xcc, 0xf5, 0xfb, 0xbf, 0x3c, 0x10, - 0xbb, 0x85, 0x1d, 0x81, 0x95, 0x76, 0xb0, 0xa4, 0x84, 0xbd, 0x80, 0xc9, 0x6c, 0x7f, 0xe0, 0xcb, - 0x51, 0xc3, 0x1d, 0x76, 0x02, 0x56, 0xaa, 0x00, 0xc1, 0x02, 0x3c, 0x99, 0xd7, 0xc7, 0x38, 0xaf, - 0x10, 0x11, 0x99, 0x1a, 0x7c, 0xfd, 0x9d, 0x4c, 0x7f, 0x4f, 0x4c, 0x0d, 0x4e, 0x41, 0xa6, 0x86, - 0x58, 0x7a, 0x27, 0x53, 0xff, 0xa0, 0x98, 0x1a, 0x82, 0x84, 0x68, 0x76, 0x68, 0x75, 0x9b, 0xcc, - 0xe1, 0x13, 0x42, 0xb3, 0x43, 0x54, 0x2b, 0x1b, 0x30, 0x3b, 0xb4, 0x20, 0x4e, 0x66, 0xf5, 0xc3, - 0x9c, 0x95, 0x34, 0xb8, 0x1e, 0x86, 0x17, 0x2f, 0xbe, 0x18, 0x4e, 0xe6, 0xf6, 0x23, 0x03, 0x8b, - 0x17, 0x5f, 0x0b, 0x57, 0xae, 0x40, 0xd6, 0xec, 0x77, 0xbb, 0x64, 0xf2, 0xa0, 0xa3, 0xcf, 0xe7, - 0x2e, 0xfc, 0x97, 0xaf, 0x70, 0xe9, 0x08, 0x82, 0x95, 0x4b, 0x90, 0xc2, 0xbd, 0x1d, 0xdc, 0x99, - 0x44, 0xf9, 0xc5, 0xaf, 0x08, 0x83, 0x49, 0xb0, 0x57, 0x5e, 0x04, 0x60, 0xa9, 0x11, 0xba, 0x71, - 0x3e, 0x81, 0xf6, 0xf7, 0xbf, 0xc2, 0x0f, 0xc4, 0x05, 0x24, 0x01, 0x03, 0x76, 0xbc, 0xee, 0x68, - 0x06, 0x5f, 0x8a, 0x32, 0xa0, 0x23, 0xf2, 0x02, 0x64, 0x5e, 0x77, 0x2d, 0xd3, 0xd3, 0xf6, 0x26, - 0x51, 0xff, 0x01, 0xa7, 0x16, 0xf8, 0x44, 0x60, 0x3d, 0xcb, 0xc1, 0x9e, 0xb6, 0xe7, 0x4e, 0xa2, - 0xfd, 0xaf, 0x9c, 0xd6, 0x27, 0x20, 0xc4, 0xba, 0xe6, 0x7a, 0xd3, 0xf4, 0xfb, 0xbf, 0x09, 0x62, - 0x41, 0x40, 0x1a, 0x4d, 0x7e, 0xdf, 0xc2, 0x87, 0x93, 0x68, 0xff, 0x50, 0x34, 0x9a, 0xe3, 0xaf, - 0xbc, 0x1b, 0x72, 0xe4, 0x27, 0x3b, 0xe5, 0x3a, 0x81, 0xf8, 0x8f, 0x38, 0x71, 0x40, 0x41, 0x6a, - 0x76, 0xbd, 0x8e, 0x67, 0x4c, 0x16, 0xf6, 0x1f, 0xf3, 0x91, 0x16, 0xf8, 0x2b, 0x55, 0xc8, 0xbb, - 0x5e, 0xa7, 0xd3, 0xe7, 0xfe, 0xe9, 0x04, 0xf2, 0x3f, 0xf9, 0x8a, 0x9f, 0xb2, 0xf0, 0x69, 0xc8, - 0x68, 0xdf, 0xb9, 0xe5, 0xd9, 0x16, 0xdd, 0x6f, 0x99, 0xc4, 0xe1, 0xcb, 0x9c, 0x43, 0x88, 0x64, - 0xa5, 0x0e, 0x05, 0xd2, 0x17, 0x07, 0xdb, 0x98, 0x6e, 0x8e, 0x4d, 0x60, 0xf1, 0xa7, 0x5c, 0x00, - 0x11, 0xa2, 0xda, 0x37, 0xfe, 0xda, 0x67, 0xcf, 0xc6, 0x3e, 0xf3, 0xd9, 0xb3, 0xb1, 0xdf, 0xf9, - 0xec, 0xd9, 0xd8, 0x87, 0x3f, 0x77, 0x76, 0xe6, 0x33, 0x9f, 0x3b, 0x3b, 0xf3, 0x5b, 0x9f, 0x3b, - 0x3b, 0x33, 0x3a, 0x4b, 0x0c, 0xd7, 0xac, 0x6b, 0x16, 0xcb, 0x0f, 0xbf, 0xf6, 0xc8, 0x9e, 0xe1, - 0xed, 0xf7, 0x77, 0x96, 0x75, 0xab, 0x77, 0x41, 0xb7, 0xdc, 0x9e, 0xe5, 0x5e, 0x88, 0xe6, 0x75, - 0xe9, 0x2f, 0xf8, 0x5f, 0x31, 0x12, 0x33, 0x47, 0xd3, 0xb9, 0x9a, 0x79, 0x38, 0xee, 0x32, 0xdd, - 0x65, 0x48, 0x54, 0xcd, 0x43, 0x74, 0x9a, 0x19, 0x38, 0xb5, 0xef, 0x74, 0xf9, 0x51, 0xcb, 0x0c, - 0xf9, 0xde, 0x76, 0xba, 0x68, 0x3e, 0x38, 0x0f, 0x1d, 0x3b, 0x57, 0xe0, 0x87, 0x9c, 0x6b, 0xdf, - 0x19, 0x3b, 0x5e, 0x4f, 0xb2, 0x55, 0xf3, 0x90, 0x76, 0x64, 0x2b, 0xf6, 0xda, 0x93, 0x13, 0xf3, - 0xdc, 0xb7, 0x4c, 0xeb, 0x8e, 0x49, 0x9a, 0x6d, 0xef, 0x88, 0x1c, 0xf7, 0xd9, 0xc1, 0x1c, 0xf7, - 0x7b, 0x71, 0xb7, 0xfb, 0x12, 0xc1, 0x6b, 0x13, 0x92, 0x9d, 0x34, 0x3b, 0xd5, 0x0f, 0xdf, 0x1d, - 0x87, 0xb3, 0x43, 0xe9, 0x6c, 0xae, 0x04, 0xe3, 0x84, 0xb0, 0x02, 0xd9, 0x55, 0xa1, 0x5b, 0x0b, - 0x90, 0x71, 0xb1, 0x6e, 0x99, 0x1d, 0x97, 0x0a, 0x22, 0xa1, 0x88, 0x4f, 0x22, 0x08, 0x53, 0x33, - 0x2d, 0x97, 0x1f, 0x56, 0x66, 0x1f, 0xb5, 0x8f, 0x1e, 0x53, 0x10, 0x45, 0x51, 0x93, 0x90, 0xc6, - 0x33, 0x53, 0x4a, 0x43, 0x74, 0x22, 0x92, 0xf9, 0x9f, 0x56, 0x2a, 0xdf, 0x17, 0x87, 0xc5, 0x41, - 0xa9, 0x90, 0x99, 0xe5, 0x7a, 0x5a, 0xcf, 0x1e, 0x27, 0x96, 0x2b, 0x90, 0x6b, 0x0b, 0x9c, 0x63, - 0xcb, 0xe5, 0xde, 0x31, 0xe5, 0x52, 0xf2, 0xab, 0x12, 0x82, 0xb9, 0x38, 0xa5, 0x60, 0xfc, 0x7e, - 0xdc, 0x97, 0x64, 0xfe, 0x67, 0x1a, 0x4e, 0xb3, 0xe9, 0xa4, 0xb2, 0xa9, 0xc4, 0x3e, 0xb8, 0x4c, - 0x0a, 0xe1, 0xa2, 0xc9, 0xfb, 0x24, 0xf2, 0x4b, 0x30, 0xd7, 0x24, 0xd6, 0x82, 0x44, 0x41, 0xc1, - 0x0e, 0xcf, 0xc8, 0xf3, 0xdc, 0x4b, 0x11, 0x87, 0x9f, 0xef, 0x6f, 0x85, 0x41, 0xf2, 0x37, 0xc5, - 0x40, 0x6a, 0xe9, 0x5a, 0x57, 0x73, 0xbe, 0x5a, 0x56, 0xe8, 0x79, 0x00, 0x76, 0xdc, 0xc3, 0xbf, - 0xb8, 0x57, 0xba, 0xb8, 0xb0, 0x1c, 0xee, 0xdc, 0x32, 0xab, 0x89, 0x9e, 0xa0, 0xca, 0x51, 0x5c, - 0xf2, 0xf3, 0xfc, 0x2b, 0x00, 0x41, 0x01, 0x3a, 0x03, 0xa7, 0x5a, 0xf5, 0xea, 0x5a, 0x55, 0x11, - 0x87, 0x84, 0x5a, 0x5b, 0x8d, 0x7a, 0xf3, 0x6a, 0xb3, 0xb1, 0x2a, 0xcd, 0xa0, 0x93, 0x80, 0xc2, - 0x85, 0xfe, 0xa1, 0xa6, 0x13, 0x30, 0x1b, 0x86, 0xb3, 0x5b, 0x2a, 0x71, 0xe2, 0x29, 0x1a, 0x3d, - 0xbb, 0x8b, 0xe9, 0xce, 0xa3, 0x6a, 0x08, 0xa9, 0x4d, 0x76, 0x42, 0x7e, 0xfd, 0xdf, 0xb1, 0x9b, - 0x0b, 0x73, 0x01, 0xb9, 0x2f, 0xf3, 0x95, 0x35, 0x98, 0xd5, 0x74, 0x1d, 0xdb, 0x11, 0x96, 0x13, - 0x4c, 0x35, 0x61, 0x48, 0xf7, 0x52, 0x39, 0x65, 0xc0, 0xed, 0x79, 0x48, 0xbb, 0xb4, 0xf7, 0x93, - 0x58, 0xfc, 0x06, 0x67, 0xc1, 0xd1, 0x57, 0x4c, 0x98, 0x25, 0x9e, 0x9f, 0xe6, 0xe0, 0x50, 0x33, - 0x8e, 0xce, 0x33, 0xfc, 0x93, 0x9f, 0x79, 0x9a, 0xee, 0xac, 0x3e, 0x14, 0x1d, 0x96, 0x11, 0xea, - 0xa4, 0x48, 0x9c, 0x77, 0xd0, 0x50, 0x0c, 0x25, 0x51, 0x1f, 0x6f, 0xf0, 0xd1, 0x95, 0xfd, 0x12, - 0xaf, 0xec, 0xec, 0x28, 0x1d, 0x08, 0xd5, 0x54, 0xe4, 0x5c, 0x59, 0x41, 0xad, 0x31, 0x6e, 0x4e, - 0xbf, 0xf6, 0xc4, 0xf0, 0xea, 0xc4, 0xfe, 0x7b, 0x8a, 0x72, 0xbe, 0x12, 0xae, 0xc6, 0x9f, 0x7b, - 0x1f, 0x4d, 0xc2, 0xac, 0xd6, 0x33, 0x4c, 0xeb, 0x02, 0xfd, 0x97, 0xcf, 0xb9, 0x14, 0xfd, 0x98, - 0x62, 0x53, 0xf2, 0x32, 0x9b, 0x0a, 0x93, 0x35, 0xe6, 0x8f, 0xbe, 0xfd, 0xc7, 0x52, 0xc1, 0x74, - 0x59, 0x59, 0x07, 0x49, 0x1c, 0xe2, 0xc5, 0xa6, 0x6e, 0x75, 0xa6, 0xca, 0x52, 0xfc, 0xb1, 0xe0, - 0x21, 0xf2, 0x5b, 0x0d, 0x4e, 0xba, 0xf2, 0x2e, 0xc8, 0xfa, 0x6c, 0x26, 0x79, 0x26, 0x82, 0x89, - 0x4f, 0x41, 0xfc, 0x12, 0x36, 0x33, 0xa7, 0xf1, 0x42, 0xbf, 0x2c, 0xe8, 0xd9, 0x0c, 0xdd, 0x20, - 0xbd, 0xb9, 0x06, 0xa5, 0x8e, 0x65, 0x7a, 0xaa, 0xd5, 0x33, 0x3c, 0xdc, 0xb3, 0xbd, 0x89, 0x7e, - 0xdd, 0x9f, 0x32, 0x26, 0x59, 0xa5, 0x48, 0xe8, 0x36, 0x05, 0x19, 0x69, 0x09, 0xbb, 0xa7, 0x37, - 0x4d, 0x4b, 0xfe, 0xbb, 0xdf, 0x12, 0x4a, 0x43, 0x5a, 0x72, 0x5f, 0xda, 0xe1, 0x76, 0x6e, 0x71, - 0x63, 0xee, 0x1d, 0x30, 0x2d, 0xf0, 0xb5, 0xe3, 0x93, 0x09, 0x38, 0xcb, 0x91, 0x77, 0x34, 0x17, - 0x5f, 0xb8, 0xfd, 0xcc, 0x0e, 0xf6, 0xb4, 0x67, 0x2e, 0xe8, 0x96, 0x21, 0x56, 0xf2, 0x39, 0x6e, - 0xac, 0x49, 0xf9, 0x32, 0x2f, 0xaf, 0x8c, 0xdc, 0xee, 0xae, 0x8c, 0x37, 0xf2, 0x95, 0x61, 0x1d, - 0x94, 0xbb, 0x90, 0xac, 0x5b, 0x86, 0x49, 0xd6, 0xb6, 0x0e, 0x36, 0xad, 0x1e, 0x37, 0xb7, 0xec, - 0x03, 0x5d, 0x87, 0xb4, 0xd6, 0xb3, 0xfa, 0xa6, 0xc7, 0x4c, 0x6d, 0xed, 0xe9, 0x5f, 0x7b, 0x73, - 0x71, 0xe6, 0x3f, 0xbe, 0xb9, 0x78, 0x82, 0xb1, 0x75, 0x3b, 0xb7, 0x96, 0x0d, 0xeb, 0x42, 0x4f, - 0xf3, 0xf6, 0xc9, 0xf4, 0xfd, 0xcd, 0x4f, 0x3f, 0x05, 0xbc, 0xbe, 0xa6, 0xe9, 0x7d, 0xea, 0xf3, - 0x3f, 0x79, 0x3e, 0xa6, 0x70, 0xfa, 0x95, 0xe4, 0x17, 0x3e, 0xbe, 0x18, 0x93, 0x6d, 0xc8, 0xac, - 0x62, 0xfd, 0x88, 0x0a, 0x9b, 0x03, 0x15, 0x3e, 0xc3, 0x2b, 0x3c, 0x33, 0x5c, 0x21, 0x3b, 0xb0, - 0xb7, 0x8a, 0xf5, 0x50, 0xb5, 0xab, 0x58, 0x8f, 0xd6, 0x58, 0x5b, 0xfd, 0xad, 0xdf, 0x3d, 0x3b, - 0xf3, 0x81, 0xcf, 0x9e, 0x9d, 0x19, 0x3b, 0x64, 0xf2, 0xe4, 0x21, 0xf3, 0x47, 0xea, 0xc7, 0x92, - 0xf0, 0x20, 0xbd, 0x11, 0xea, 0xf4, 0x0c, 0xd3, 0xbb, 0xa0, 0x3b, 0x87, 0xb6, 0x67, 0x91, 0x89, - 0x6b, 0xed, 0xf2, 0x81, 0x9a, 0x0d, 0x8a, 0x97, 0x59, 0xf1, 0xe8, 0x61, 0x92, 0x77, 0x21, 0xb5, - 0x45, 0xe8, 0x88, 0x20, 0x3c, 0xcb, 0xd3, 0xba, 0xdc, 0xdb, 0x60, 0x1f, 0x04, 0xca, 0x6e, 0x91, - 0xc6, 0x19, 0xd4, 0x10, 0x17, 0x48, 0xbb, 0x58, 0xdb, 0x65, 0x97, 0x71, 0x12, 0xd4, 0x4d, 0xcd, - 0x12, 0x00, 0xbd, 0x77, 0x33, 0x0f, 0x29, 0xad, 0xcf, 0x0e, 0xcc, 0x24, 0x88, 0xff, 0x4a, 0x3f, - 0xe4, 0x97, 0x20, 0xc3, 0xf7, 0xcd, 0x91, 0x04, 0x89, 0x5b, 0xf8, 0x90, 0xd6, 0x53, 0x50, 0xc8, - 0x4f, 0xb4, 0x0c, 0x29, 0xda, 0x78, 0x7e, 0xcb, 0x70, 0x61, 0x79, 0xa8, 0xf5, 0xcb, 0xb4, 0x91, - 0x0a, 0x43, 0x93, 0x6f, 0x40, 0x76, 0xd5, 0x22, 0xda, 0x13, 0xe5, 0x96, 0x63, 0xdc, 0x68, 0x9b, - 0xed, 0x3e, 0x1f, 0x3b, 0x85, 0x7d, 0xa0, 0x93, 0x90, 0x66, 0x97, 0xb3, 0xf8, 0xa1, 0x1f, 0xfe, - 0x25, 0xd7, 0x21, 0x43, 0x79, 0x6f, 0xda, 0x64, 0xa9, 0xf7, 0xcf, 0xab, 0xe7, 0xf8, 0x55, 0x5d, - 0xce, 0x3e, 0x1e, 0x34, 0x16, 0x41, 0xb2, 0xa3, 0x79, 0x1a, 0xef, 0x37, 0xfd, 0x2d, 0xbf, 0x07, - 0xb2, 0x9c, 0x89, 0x8b, 0x2e, 0x42, 0xc2, 0xb2, 0x5d, 0x7e, 0x6c, 0xa7, 0x32, 0xae, 0x2b, 0x9b, - 0x76, 0x2d, 0x49, 0x94, 0x4a, 0x21, 0xc8, 0xb5, 0x8d, 0xb1, 0x6a, 0xf1, 0x5c, 0x44, 0x2d, 0x7a, - 0xd8, 0xdb, 0xd9, 0xf5, 0x82, 0x1f, 0x6c, 0x38, 0x87, 0x54, 0xc1, 0x57, 0x94, 0x7b, 0x71, 0x38, - 0x1b, 0x2a, 0xbd, 0x8d, 0x1d, 0xd7, 0xb0, 0x4c, 0xa6, 0x4d, 0x5c, 0x53, 0x50, 0xa8, 0x81, 0xbc, - 0x7c, 0x8c, 0xaa, 0xbc, 0x1b, 0x12, 0x55, 0xdb, 0x46, 0x15, 0xc8, 0xd2, 0x6f, 0xdd, 0x62, 0xba, - 0x92, 0x54, 0xfc, 0x6f, 0x52, 0xe6, 0x5a, 0xbb, 0xde, 0x1d, 0xcd, 0xf1, 0xef, 0x2e, 0x8b, 0x6f, - 0xf9, 0x05, 0xc8, 0xd5, 0x2d, 0xd3, 0xc5, 0xa6, 0xdb, 0xa7, 0x3e, 0xec, 0x4e, 0xd7, 0xd2, 0x6f, - 0x71, 0x0e, 0xec, 0x83, 0x08, 0x5b, 0xb3, 0x6d, 0x4a, 0x99, 0x54, 0xc8, 0x4f, 0x3e, 0x7b, 0x36, - 0xc7, 0x8a, 0xe7, 0xd2, 0xf1, 0xc4, 0xc3, 0x3b, 0x18, 0x38, 0xa3, 0x31, 0x78, 0x60, 0x78, 0x22, - 0xdd, 0xc2, 0x87, 0xee, 0x71, 0xe7, 0xd1, 0x2b, 0x90, 0xdb, 0xa2, 0xcf, 0x8a, 0xbc, 0x84, 0x0f, - 0x51, 0x05, 0x32, 0xb8, 0x73, 0xf1, 0xd2, 0xa5, 0x67, 0x5e, 0x60, 0x5a, 0x7e, 0x7d, 0x46, 0x11, - 0x00, 0x74, 0x16, 0x72, 0x2e, 0xd6, 0xed, 0x8b, 0x97, 0x2e, 0xdf, 0x7a, 0x86, 0xa9, 0xd5, 0xf5, - 0x19, 0x25, 0x00, 0xad, 0x64, 0x49, 0x8f, 0xbf, 0xf0, 0x89, 0xc5, 0x58, 0x2d, 0x05, 0x09, 0xb7, - 0xdf, 0x7b, 0xdb, 0x74, 0xe3, 0x0f, 0xd3, 0xb0, 0x14, 0x2a, 0x65, 0x8b, 0xc2, 0x6d, 0xad, 0x6b, - 0x74, 0xb4, 0xe0, 0x31, 0x18, 0x29, 0xd4, 0x7f, 0x8a, 0x31, 0xc6, 0xda, 0x1f, 0x29, 0x45, 0xf9, - 0xa7, 0x63, 0x50, 0xb8, 0x29, 0x38, 0xb7, 0xb0, 0x87, 0xae, 0x00, 0xf8, 0x35, 0x89, 0xa9, 0x72, - 0x66, 0x79, 0xb0, 0xae, 0x65, 0x9f, 0x46, 0x09, 0xa1, 0xa3, 0xe7, 0xa9, 0x02, 0xda, 0x96, 0xcb, - 0xef, 0xb1, 0x4e, 0x20, 0xf5, 0x91, 0xd1, 0x93, 0x80, 0xa8, 0x55, 0x53, 0x6f, 0x5b, 0x9e, 0x61, - 0xee, 0xa9, 0xb6, 0x75, 0x87, 0xbf, 0x0e, 0x90, 0x50, 0x24, 0x5a, 0x72, 0x93, 0x16, 0x6c, 0x11, - 0x38, 0x69, 0x74, 0xce, 0xe7, 0x42, 0xc2, 0x31, 0xad, 0xd3, 0x71, 0xb0, 0xeb, 0x72, 0xc3, 0x25, - 0x3e, 0xd1, 0x15, 0xc8, 0xd8, 0xfd, 0x1d, 0x55, 0x58, 0x89, 0xfc, 0xc5, 0x07, 0x46, 0xcd, 0x79, - 0xa1, 0x1b, 0x7c, 0xd6, 0xa7, 0xed, 0xfe, 0x0e, 0xd1, 0x94, 0x87, 0xa0, 0x30, 0xa2, 0x31, 0xf9, - 0xdb, 0x41, 0x3b, 0xe8, 0x4b, 0x36, 0xbc, 0x07, 0xaa, 0xed, 0x18, 0x96, 0x63, 0x78, 0x87, 0xf4, - 0xb8, 0x5d, 0x42, 0x91, 0x44, 0xc1, 0x16, 0x87, 0xcb, 0xb7, 0xa0, 0xdc, 0xa2, 0x6e, 0x7a, 0xd0, - 0xf2, 0x4b, 0x41, 0xfb, 0x62, 0x93, 0xdb, 0x37, 0xb6, 0x65, 0xf1, 0xa1, 0x96, 0x9d, 0xff, 0xf7, - 0x31, 0xc8, 0xd7, 0xc8, 0xc4, 0x6d, 0xae, 0x5e, 0xed, 0x6a, 0x7b, 0xe8, 0x19, 0x38, 0x51, 0x5b, - 0xdb, 0xac, 0xbf, 0xa4, 0x36, 0x57, 0xd5, 0xab, 0x6b, 0xd5, 0x6b, 0xc1, 0xf9, 0xde, 0xca, 0xc9, - 0xbb, 0xf7, 0x96, 0x50, 0x08, 0x77, 0xdb, 0xa4, 0xb1, 0x24, 0xba, 0x00, 0xf3, 0x51, 0x92, 0x6a, - 0xad, 0xd5, 0xd8, 0x68, 0x4b, 0xb1, 0xca, 0x89, 0xbb, 0xf7, 0x96, 0x66, 0x43, 0x14, 0xd5, 0x1d, - 0x17, 0x9b, 0xde, 0x30, 0x41, 0x7d, 0x73, 0x7d, 0xbd, 0xd9, 0x96, 0xe2, 0x43, 0x04, 0x75, 0xab, - 0xd7, 0x33, 0x3c, 0xf4, 0x38, 0xcc, 0x46, 0x09, 0x36, 0x9a, 0x6b, 0x52, 0xa2, 0x82, 0xee, 0xde, - 0x5b, 0x2a, 0x85, 0xb0, 0x37, 0x8c, 0x6e, 0x25, 0xfb, 0xa1, 0x1f, 0x39, 0x3b, 0xf3, 0xa9, 0xbf, - 0x73, 0x36, 0x56, 0x5b, 0x1f, 0x3b, 0xe7, 0x9e, 0x3d, 0xde, 0x9c, 0x8b, 0xae, 0xdb, 0x5f, 0x79, - 0x20, 0x62, 0x6e, 0xb8, 0x1f, 0x16, 0x32, 0xc6, 0xd3, 0x4e, 0xb7, 0x49, 0xb9, 0x85, 0xca, 0xd1, - 0xee, 0x41, 0x65, 0xc2, 0xa2, 0x50, 0x99, 0x68, 0x18, 0xe4, 0x17, 0xa0, 0xb8, 0xa5, 0x39, 0x5e, - 0x0b, 0x7b, 0xd7, 0xb1, 0xd6, 0xc1, 0x4e, 0xd4, 0x7f, 0x28, 0x0a, 0xff, 0x01, 0x41, 0x92, 0x3a, - 0x09, 0x6c, 0xfd, 0xa4, 0xbf, 0xe5, 0x7d, 0x48, 0xd2, 0x93, 0xc4, 0xbe, 0x6f, 0xc1, 0x29, 0x98, - 0x6f, 0x41, 0x56, 0x86, 0x43, 0x0f, 0xbb, 0x22, 0xfd, 0x45, 0x3f, 0xd0, 0x73, 0xc2, 0x43, 0x48, - 0x1c, 0xed, 0x21, 0xf0, 0xe9, 0xc5, 0xfd, 0x84, 0x2e, 0x64, 0xf8, 0x10, 0xfb, 0x0d, 0x89, 0x05, - 0x0d, 0x41, 0xeb, 0x50, 0xb6, 0x35, 0xc7, 0xa3, 0x37, 0x0b, 0xf7, 0x69, 0x2f, 0xf8, 0x0c, 0x5e, - 0x1c, 0xb6, 0x27, 0x91, 0xce, 0xf2, 0x5a, 0x8a, 0x76, 0x18, 0x28, 0xff, 0xe7, 0x24, 0xa4, 0xb9, - 0x30, 0xde, 0x0d, 0x19, 0x2e, 0x56, 0x3e, 0xe7, 0x1e, 0x5c, 0x1e, 0x5e, 0x66, 0x97, 0xfd, 0xe5, - 0x90, 0xf3, 0x13, 0x34, 0xe8, 0x51, 0xc8, 0xea, 0xfb, 0x9a, 0x61, 0xaa, 0x46, 0x87, 0x3b, 0xa0, - 0xf9, 0xcf, 0xbe, 0xb9, 0x98, 0xa9, 0x13, 0x58, 0x73, 0x55, 0xc9, 0xd0, 0xc2, 0x66, 0x87, 0xf8, - 0x34, 0xfb, 0xd8, 0xd8, 0xdb, 0xf7, 0xb8, 0xdd, 0xe0, 0x5f, 0xe8, 0x9d, 0x90, 0x24, 0x0a, 0xc1, - 0xef, 0x9d, 0x57, 0x86, 0x22, 0x0b, 0x3f, 0xf5, 0x53, 0xcb, 0x92, 0x8a, 0x3f, 0xfc, 0x9f, 0x16, - 0x63, 0x0a, 0xa5, 0x40, 0x75, 0x28, 0x76, 0x35, 0xd7, 0x53, 0xe9, 0x7a, 0x4c, 0xaa, 0x4f, 0x51, - 0x16, 0xa7, 0x87, 0x05, 0xc2, 0x05, 0xcb, 0x9b, 0x9e, 0x27, 0x54, 0x0c, 0xd4, 0x41, 0xe7, 0x40, - 0xa2, 0x4c, 0x74, 0x3a, 0x03, 0x99, 0x97, 0x98, 0xa6, 0x72, 0x2f, 0x11, 0x38, 0x9b, 0x98, 0xd4, - 0x57, 0x3c, 0x03, 0x39, 0x7a, 0xd3, 0x95, 0xa2, 0xb0, 0xe3, 0xeb, 0x59, 0x02, 0xa0, 0x85, 0x8f, - 0x41, 0x39, 0xb0, 0xfa, 0x0c, 0x25, 0xcb, 0xb8, 0x04, 0x60, 0x8a, 0xf8, 0x34, 0xcc, 0x9b, 0xf8, - 0x80, 0x1e, 0xa8, 0x8f, 0x60, 0xe7, 0x28, 0x36, 0x22, 0x65, 0x37, 0xa3, 0x14, 0x8f, 0x40, 0x49, - 0x17, 0xc2, 0x67, 0xb8, 0x40, 0x71, 0x8b, 0x3e, 0x94, 0xa2, 0x9d, 0x86, 0xac, 0x66, 0xdb, 0x0c, - 0x21, 0xcf, 0xad, 0xbe, 0x6d, 0xd3, 0xa2, 0xf3, 0x30, 0x4b, 0xfb, 0xe8, 0x60, 0xb7, 0xdf, 0xf5, - 0x38, 0x93, 0x02, 0xc5, 0x29, 0x93, 0x02, 0x85, 0xc1, 0x29, 0xee, 0xc3, 0x50, 0xc4, 0xb7, 0x8d, - 0x0e, 0x36, 0x75, 0xcc, 0xf0, 0x8a, 0x14, 0xaf, 0x20, 0x80, 0x14, 0xe9, 0x71, 0xf0, 0xad, 0xb9, - 0x2a, 0x56, 0x9a, 0x12, 0xe3, 0x27, 0xe0, 0x55, 0x06, 0x96, 0x17, 0x20, 0xb9, 0xaa, 0x79, 0x1a, - 0x71, 0x97, 0xbc, 0x03, 0xb6, 0x7c, 0x16, 0x14, 0xf2, 0x53, 0xfe, 0xb9, 0x04, 0x24, 0x6f, 0x5a, - 0x1e, 0x46, 0xcf, 0x86, 0x5c, 0xd9, 0xd2, 0x28, 0x7d, 0x6e, 0x19, 0x7b, 0x26, 0xee, 0xac, 0xbb, - 0x7b, 0xa1, 0x67, 0x69, 0x02, 0x75, 0x8a, 0x47, 0xd4, 0x69, 0x1e, 0x52, 0x8e, 0xd5, 0x37, 0x3b, - 0xe2, 0xe0, 0x37, 0xfd, 0x40, 0x0d, 0xc8, 0xfa, 0x5a, 0x92, 0x9c, 0xa4, 0x25, 0x65, 0xa2, 0x25, - 0x44, 0x87, 0x39, 0x40, 0xc9, 0xec, 0x70, 0x65, 0xa9, 0x41, 0xce, 0x37, 0x5e, 0x5c, 0xdb, 0xa6, - 0x53, 0xd8, 0x80, 0x8c, 0x2c, 0x91, 0xfe, 0xd8, 0xfb, 0xc2, 0x63, 0x1a, 0x27, 0xf9, 0x05, 0x5c, - 0x7a, 0x11, 0xb5, 0xe2, 0x4f, 0xe4, 0x64, 0x68, 0xbf, 0x02, 0xb5, 0x62, 0xcf, 0xe4, 0x3c, 0x00, - 0x39, 0xd7, 0xd8, 0x33, 0x35, 0xaf, 0xef, 0x60, 0xae, 0x79, 0x01, 0x80, 0x94, 0x06, 0x97, 0x20, - 0x98, 0xa6, 0x85, 0x5e, 0xee, 0xba, 0x00, 0x73, 0xc1, 0x9b, 0x59, 0x01, 0x17, 0xa6, 0x65, 0xc8, - 0x2f, 0x6a, 0x89, 0x12, 0xf9, 0x97, 0x63, 0x90, 0xe6, 0x2b, 0x56, 0x30, 0x0c, 0xb1, 0xd1, 0xc3, - 0x10, 0x1f, 0x37, 0x0c, 0x89, 0xfb, 0x1f, 0x86, 0x2a, 0x80, 0xdf, 0x4c, 0x97, 0x3f, 0x84, 0x32, - 0xc2, 0xad, 0x62, 0x4d, 0x6c, 0x19, 0x7b, 0x7c, 0xde, 0x87, 0x88, 0xe4, 0xdf, 0x8e, 0x11, 0x0f, - 0x9f, 0x97, 0xa3, 0x2a, 0x14, 0x45, 0xbb, 0xd4, 0xdd, 0xae, 0xb6, 0xc7, 0x55, 0xf1, 0xc1, 0xb1, - 0x8d, 0x23, 0xab, 0xb0, 0x92, 0xe7, 0xed, 0xa1, 0xfe, 0xc4, 0xc8, 0x61, 0x8d, 0x8f, 0x19, 0xd6, - 0x88, 0x1e, 0x25, 0xee, 0x4f, 0x8f, 0x22, 0x23, 0x9e, 0x1c, 0x18, 0x71, 0xf9, 0x77, 0x63, 0xfc, - 0xc5, 0xae, 0x0e, 0xbb, 0xc1, 0xf1, 0xe7, 0x35, 0x54, 0xaf, 0x71, 0xdd, 0xea, 0xe0, 0x8e, 0x3a, - 0x34, 0x66, 0x0f, 0x0f, 0x73, 0x8c, 0xb6, 0x39, 0x18, 0x3b, 0x24, 0xb8, 0xb4, 0x82, 0x31, 0xfc, - 0x74, 0x1c, 0x66, 0x87, 0xf0, 0xff, 0xf2, 0x8d, 0x65, 0x74, 0xf6, 0xa6, 0xa6, 0x9c, 0xbd, 0xe9, - 0xb1, 0xb3, 0xf7, 0x67, 0xe2, 0x34, 0x01, 0x60, 0x5b, 0xae, 0xd6, 0xfd, 0x5a, 0xd8, 0xde, 0x33, - 0x90, 0xb3, 0xad, 0xae, 0xca, 0x4a, 0xd8, 0xd5, 0x9b, 0xac, 0x6d, 0x75, 0x95, 0x21, 0x35, 0x4b, - 0xbd, 0x45, 0x86, 0x39, 0xfd, 0x16, 0x0c, 0x42, 0x66, 0x70, 0x42, 0x39, 0x50, 0x60, 0xa2, 0xe0, - 0x5e, 0xd3, 0xd3, 0x44, 0x06, 0xd4, 0x0d, 0x8b, 0x0d, 0x7b, 0x79, 0xac, 0xd9, 0x0c, 0x53, 0xe1, - 0x78, 0x84, 0x82, 0x39, 0x19, 0xa3, 0x32, 0x47, 0x61, 0x8b, 0xa5, 0x70, 0x3c, 0xf9, 0x7b, 0x63, - 0x00, 0x6b, 0x44, 0xb2, 0xb4, 0xbf, 0xc4, 0xdf, 0x71, 0x69, 0x13, 0xd4, 0x48, 0xcd, 0x67, 0xc7, - 0x0d, 0x1a, 0xaf, 0xbf, 0xe0, 0x86, 0xdb, 0x5d, 0x87, 0x62, 0xa0, 0xdb, 0x2e, 0x16, 0x8d, 0x39, - 0x7b, 0x44, 0x54, 0xda, 0xc2, 0x9e, 0x52, 0xb8, 0x1d, 0xfa, 0x92, 0xff, 0x59, 0x0c, 0x72, 0xb4, - 0x4d, 0xeb, 0xd8, 0xd3, 0x22, 0x63, 0x18, 0xbb, 0xff, 0x31, 0x7c, 0x10, 0x80, 0xb1, 0x71, 0x8d, - 0x37, 0x30, 0xd7, 0xac, 0x1c, 0x85, 0xb4, 0x8c, 0x37, 0x30, 0xba, 0xec, 0x0b, 0x3c, 0x71, 0xb4, - 0xc0, 0x45, 0xd4, 0xca, 0xc5, 0x7e, 0x0a, 0x32, 0xf4, 0x4d, 0xc9, 0x03, 0x97, 0x07, 0xa2, 0x69, - 0xb3, 0xdf, 0x6b, 0x1f, 0xb8, 0xf2, 0xeb, 0x90, 0x69, 0x1f, 0xb0, 0x7c, 0xe2, 0x19, 0xc8, 0x39, - 0x96, 0xc5, 0xbd, 0x3f, 0xe6, 0x75, 0x67, 0x09, 0x80, 0x3a, 0x3b, 0x22, 0x87, 0x16, 0x0f, 0x72, - 0x68, 0x41, 0x12, 0x30, 0x31, 0x55, 0x12, 0x90, 0x44, 0x9f, 0xc5, 0xc8, 0x4c, 0x42, 0x4f, 0xc2, - 0xa9, 0x56, 0xf3, 0xda, 0x46, 0x63, 0x55, 0x5d, 0x6f, 0x5d, 0x1b, 0xb8, 0x56, 0x5f, 0x29, 0xdf, - 0xbd, 0xb7, 0x94, 0xe7, 0x61, 0xe7, 0x38, 0xec, 0x2d, 0xa5, 0x71, 0x73, 0xb3, 0xdd, 0x90, 0x62, - 0x0c, 0x7b, 0xcb, 0xc1, 0xb7, 0x2d, 0x8f, 0x3d, 0xda, 0xfa, 0x34, 0x9c, 0x1e, 0x81, 0xed, 0x07, - 0x9f, 0xb3, 0x77, 0xef, 0x2d, 0x15, 0xb7, 0x1c, 0xcc, 0xb4, 0x8c, 0x52, 0x2c, 0xc3, 0xc2, 0x30, - 0xc5, 0xe6, 0xd6, 0x66, 0xab, 0xba, 0x26, 0x2d, 0x55, 0xa4, 0xbb, 0xf7, 0x96, 0x0a, 0xc2, 0x64, - 0x10, 0xfc, 0xb7, 0x3f, 0xfa, 0xfc, 0xd6, 0x6c, 0x24, 0x6b, 0xcc, 0xe2, 0x3a, 0x5b, 0x73, 0xb4, - 0xde, 0x71, 0xc3, 0xcf, 0x09, 0x1b, 0xfe, 0xf2, 0x4f, 0xc7, 0xa1, 0xec, 0x07, 0x37, 0x5b, 0xb4, - 0x06, 0xf4, 0x6c, 0x38, 0xe3, 0x97, 0x1f, 0xbb, 0x76, 0x30, 0x6c, 0x91, 0x10, 0x7c, 0x17, 0x64, - 0x85, 0x93, 0xcc, 0x27, 0xd5, 0xd2, 0x88, 0xf5, 0x8d, 0x63, 0x70, 0x52, 0x9f, 0x02, 0xbd, 0x08, - 0x39, 0x7f, 0x8a, 0xf9, 0x0f, 0x9b, 0x8d, 0x9f, 0x93, 0x9c, 0x3e, 0xa0, 0x41, 0x2f, 0x04, 0x61, - 0x5c, 0x72, 0x5c, 0x60, 0x78, 0x93, 0x21, 0x70, 0x62, 0x3f, 0x84, 0x7b, 0x1a, 0x92, 0xda, 0x8e, - 0x6e, 0x70, 0x03, 0xfc, 0xc0, 0x30, 0x5d, 0xb5, 0x56, 0x6f, 0x72, 0x22, 0x8a, 0x29, 0x37, 0x79, - 0x32, 0x85, 0xcb, 0x8b, 0x3e, 0x23, 0x73, 0xa0, 0xb2, 0x58, 0x98, 0x79, 0x17, 0xd9, 0x9e, 0x76, - 0x50, 0xa3, 0xe1, 0xf0, 0x29, 0xc8, 0x90, 0xc2, 0x3d, 0xfe, 0x50, 0x41, 0x42, 0x49, 0xf7, 0xb4, - 0x83, 0x6b, 0x9a, 0x7b, 0x23, 0x99, 0x4d, 0x48, 0x49, 0xf9, 0xc7, 0x89, 0xa7, 0x12, 0x91, 0x0a, - 0x7a, 0x02, 0x10, 0xa1, 0xd0, 0xf6, 0xb0, 0x4a, 0xa6, 0x2e, 0x15, 0xaf, 0xe0, 0x5b, 0xee, 0x69, - 0x07, 0xd5, 0x3d, 0xbc, 0xd1, 0xef, 0xd1, 0x06, 0xb8, 0x68, 0x1d, 0x24, 0x81, 0x2c, 0x46, 0x96, - 0x8b, 0xff, 0xf4, 0xf0, 0xc3, 0xa8, 0x1c, 0x81, 0x2d, 0x00, 0x1f, 0x21, 0x0b, 0x40, 0x89, 0xf1, - 0xf3, 0x8f, 0x78, 0x44, 0xba, 0x92, 0x88, 0x76, 0x45, 0x7e, 0x11, 0xca, 0x03, 0x23, 0x80, 0x64, - 0x28, 0xf2, 0x8c, 0x15, 0xdd, 0x3e, 0x67, 0x11, 0x4e, 0x4e, 0xc9, 0xb3, 0xcc, 0x14, 0x3d, 0x4e, - 0xb0, 0x92, 0xfd, 0xf9, 0x8f, 0x2f, 0xc6, 0xe8, 0x66, 0xce, 0x13, 0x50, 0x8c, 0x8c, 0x81, 0xc8, - 0x22, 0xc7, 0x82, 0x2c, 0x72, 0x80, 0xfc, 0x1a, 0x14, 0x88, 0x01, 0xc2, 0x1d, 0x8e, 0xfb, 0x28, - 0x94, 0x99, 0x81, 0x1c, 0x94, 0x35, 0x73, 0x78, 0xd6, 0x85, 0xc0, 0x65, 0xe1, 0x01, 0x45, 0xc5, - 0x9e, 0x17, 0x58, 0xd7, 0x34, 0x57, 0xde, 0x04, 0x08, 0x06, 0x15, 0x55, 0xe1, 0x41, 0x62, 0x3c, - 0xc2, 0xc7, 0x3d, 0xf9, 0x93, 0x56, 0x11, 0x8f, 0xb1, 0x42, 0x90, 0x82, 0x23, 0x9d, 0xec, 0x61, - 0xab, 0xeb, 0x14, 0xa3, 0xf6, 0xf2, 0xa7, 0x3e, 0x7b, 0x36, 0xf6, 0xf6, 0xd8, 0x82, 0xff, 0xf0, - 0x2a, 0x9c, 0x09, 0x15, 0x12, 0x05, 0x8c, 0x24, 0xa2, 0xca, 0x21, 0x7d, 0x25, 0x85, 0x93, 0x12, - 0x4a, 0x47, 0xe6, 0x7f, 0x2b, 0x47, 0x9b, 0x9d, 0xc9, 0xd9, 0xa6, 0xc9, 0xf9, 0xae, 0xd1, 0x49, - 0xf9, 0x7f, 0x9a, 0x83, 0x8c, 0x82, 0xdf, 0xdf, 0xc7, 0xae, 0x87, 0x2e, 0x42, 0x12, 0xeb, 0xfb, - 0xd6, 0xa8, 0x1c, 0x28, 0xe9, 0xe0, 0x32, 0xc7, 0x6b, 0xe8, 0xfb, 0xd6, 0xf5, 0x19, 0x85, 0xe2, - 0xa2, 0x4b, 0x90, 0xda, 0xed, 0xf6, 0x79, 0xfa, 0x6a, 0xc0, 0x66, 0x85, 0x89, 0xae, 0x12, 0xa4, - 0xeb, 0x33, 0x0a, 0xc3, 0x26, 0x55, 0xd1, 0x17, 0xad, 0x13, 0x47, 0x57, 0xd5, 0x34, 0x77, 0x69, - 0x55, 0x04, 0x17, 0xd5, 0x00, 0x0c, 0xd3, 0xf0, 0x54, 0x9a, 0xda, 0xe1, 0x56, 0xe3, 0xa1, 0xf1, - 0x94, 0x86, 0x47, 0x93, 0x41, 0xd7, 0x67, 0x94, 0x9c, 0x21, 0x3e, 0x48, 0x73, 0xdf, 0xdf, 0xc7, - 0xce, 0x21, 0xf7, 0xd6, 0xc6, 0x36, 0xf7, 0x65, 0x82, 0x44, 0x9a, 0x4b, 0xb1, 0x89, 0x91, 0x65, - 0x8f, 0xe3, 0x79, 0x07, 0xfc, 0xc9, 0xd7, 0xc5, 0x71, 0x94, 0xf4, 0x85, 0xbc, 0xf6, 0xc1, 0xf5, - 0x19, 0x25, 0xa3, 0xb3, 0x9f, 0xe8, 0x9d, 0xbe, 0x0b, 0x96, 0x1f, 0xf6, 0x7a, 0x22, 0xb4, 0x2c, - 0xed, 0x33, 0x23, 0x5c, 0x31, 0xb4, 0x01, 0xa5, 0xae, 0xe1, 0x7a, 0xaa, 0x6b, 0x6a, 0xb6, 0xbb, - 0x6f, 0x79, 0x2e, 0xcd, 0x9f, 0xe4, 0x2f, 0x3e, 0x32, 0x8e, 0xc3, 0x9a, 0xe1, 0x7a, 0x2d, 0x81, - 0x7c, 0x7d, 0x46, 0x29, 0x76, 0xc3, 0x00, 0xc2, 0xcf, 0xda, 0xdd, 0xc5, 0x8e, 0xcf, 0x90, 0xe6, - 0x59, 0x8e, 0xe0, 0xb7, 0x49, 0xb0, 0x05, 0x3d, 0xe1, 0x67, 0x85, 0x01, 0xe8, 0xeb, 0x60, 0xae, - 0x6b, 0x69, 0x1d, 0x9f, 0x9d, 0xaa, 0xef, 0xf7, 0xcd, 0x5b, 0x34, 0x29, 0x93, 0xbf, 0xf8, 0xf8, - 0xd8, 0x46, 0x5a, 0x5a, 0x47, 0xb0, 0xa8, 0x13, 0x82, 0xeb, 0x33, 0xca, 0x6c, 0x77, 0x10, 0x88, - 0xde, 0x07, 0xf3, 0x9a, 0x6d, 0x77, 0x0f, 0x07, 0xb9, 0x97, 0x29, 0xf7, 0xf3, 0xe3, 0xb8, 0x57, - 0x09, 0xcd, 0x20, 0x7b, 0xa4, 0x0d, 0x41, 0x51, 0x1b, 0x24, 0xdb, 0xc1, 0xf4, 0xc6, 0x94, 0xcd, - 0xbd, 0x0c, 0xfa, 0x9e, 0x54, 0xfe, 0xe2, 0x63, 0xe3, 0x78, 0x6f, 0x31, 0x7c, 0xe1, 0x94, 0x5c, - 0x9f, 0x51, 0xca, 0x76, 0x14, 0xc4, 0xb8, 0x5a, 0x3a, 0xa6, 0xcf, 0xdd, 0x71, 0xae, 0xb3, 0x93, - 0xb8, 0x52, 0xfc, 0x28, 0xd7, 0x08, 0x08, 0x35, 0x20, 0xcf, 0x42, 0x51, 0x95, 0x18, 0x43, 0xfa, - 0x0a, 0x55, 0xfe, 0xa2, 0x3c, 0x76, 0x86, 0x52, 0xd4, 0x9b, 0x96, 0x87, 0xaf, 0xcf, 0x28, 0x80, - 0xfd, 0x2f, 0xa4, 0xc1, 0x09, 0xfa, 0x20, 0xd7, 0xa1, 0x1a, 0x35, 0xbc, 0x0b, 0x73, 0x94, 0xe1, - 0x13, 0xe3, 0x18, 0xde, 0xa4, 0x44, 0x37, 0xc3, 0x76, 0xf8, 0xfa, 0x8c, 0x32, 0x77, 0x7b, 0x18, - 0x4c, 0x54, 0x6c, 0xd7, 0x30, 0xb5, 0xae, 0xf1, 0x06, 0x66, 0x4b, 0x28, 0x7d, 0x8a, 0xf2, 0x08, - 0x15, 0xbb, 0xca, 0xb1, 0xe9, 0xc2, 0x4a, 0x54, 0x6c, 0x37, 0x0c, 0xa8, 0x65, 0xf8, 0x59, 0x4f, - 0xff, 0x69, 0xb5, 0x8c, 0x94, 0x65, 0xcf, 0xa9, 0xdd, 0x48, 0x66, 0x41, 0xca, 0xcb, 0x8f, 0x41, - 0x3e, 0x64, 0x98, 0xd0, 0x02, 0x64, 0xf8, 0x69, 0x18, 0x71, 0x6a, 0x94, 0x7f, 0xca, 0x25, 0x28, - 0x84, 0x8d, 0x91, 0xfc, 0xe1, 0x98, 0x4f, 0x49, 0xdf, 0x94, 0x58, 0x88, 0x66, 0xa4, 0x73, 0x81, - 0xa7, 0xf2, 0xb0, 0x58, 0xda, 0x44, 0x39, 0xdb, 0x7e, 0x2d, 0x50, 0x20, 0x5f, 0x59, 0xd1, 0x22, - 0xe4, 0xed, 0x8b, 0xb6, 0x8f, 0x92, 0xa0, 0x28, 0x60, 0x5f, 0xb4, 0x05, 0xc2, 0x43, 0x50, 0x20, - 0xfd, 0x56, 0xc3, 0xfe, 0x52, 0x4e, 0xc9, 0x13, 0x18, 0x47, 0x91, 0xff, 0x55, 0x1c, 0xa4, 0x41, - 0x03, 0xe6, 0xa7, 0xaa, 0x63, 0xc7, 0x4e, 0x55, 0x9f, 0x1e, 0x4c, 0x92, 0x07, 0x79, 0xf1, 0x35, - 0x90, 0x82, 0xf4, 0x2e, 0x5b, 0x6a, 0xc6, 0xfb, 0x7f, 0x03, 0x8e, 0xaa, 0x52, 0xd6, 0x07, 0x3c, - 0xd7, 0xab, 0x91, 0xcd, 0x4a, 0xf1, 0x27, 0x1f, 0x06, 0x07, 0xdc, 0x77, 0x62, 0xb6, 0xed, 0x8e, - 0xe6, 0x61, 0x91, 0x1f, 0x0b, 0xed, 0x5b, 0x3e, 0x0a, 0x65, 0xcd, 0xb6, 0x55, 0xd7, 0xd3, 0x3c, - 0xcc, 0x7d, 0x0d, 0x96, 0x79, 0x28, 0x6a, 0xb6, 0xdd, 0x22, 0x50, 0xe6, 0x6b, 0x3c, 0x02, 0x25, - 0x62, 0xd3, 0x0d, 0xad, 0x2b, 0x5c, 0x85, 0x34, 0x73, 0x49, 0x38, 0x94, 0x79, 0x07, 0x72, 0xc7, - 0x1f, 0x71, 0x6a, 0xcf, 0xfd, 0x98, 0x2a, 0x16, 0x8a, 0xa9, 0x10, 0x7f, 0xeb, 0x83, 0xc9, 0x47, - 0xbc, 0x8f, 0x32, 0x7a, 0xd3, 0x60, 0x9e, 0xc6, 0x5f, 0xb7, 0x59, 0xb2, 0x24, 0xab, 0xb0, 0x0f, - 0x59, 0x81, 0x52, 0xd4, 0xf6, 0xa3, 0x12, 0xc4, 0xbd, 0x03, 0x5e, 0x4b, 0xdc, 0x3b, 0x20, 0x9e, - 0xae, 0xff, 0x42, 0x6e, 0x69, 0xc4, 0x6a, 0xc7, 0xe9, 0x82, 0x5c, 0x87, 0x5c, 0x86, 0x62, 0x64, - 0x4d, 0x90, 0x4f, 0xc2, 0xfc, 0x28, 0x13, 0x2f, 0xef, 0xfb, 0xf0, 0x88, 0xa9, 0x46, 0x97, 0x20, - 0xeb, 0xdb, 0xf8, 0x11, 0xd1, 0x31, 0xad, 0x56, 0x20, 0x2b, 0x3e, 0x6a, 0x24, 0x9d, 0x1f, 0x8f, - 0xa4, 0xf3, 0xe5, 0x6f, 0x84, 0x85, 0x71, 0xf6, 0x7b, 0x20, 0xc9, 0x97, 0xf4, 0x05, 0x76, 0x12, - 0xd2, 0xfc, 0x29, 0xca, 0x38, 0xdd, 0xc0, 0xe2, 0x5f, 0x44, 0x90, 0xcc, 0x96, 0x27, 0xd8, 0xbe, - 0x16, 0xfd, 0x90, 0x55, 0x38, 0x3d, 0xd6, 0x86, 0x8f, 0xdf, 0x0a, 0x63, 0x8c, 0xf8, 0x56, 0x98, - 0x2e, 0x9a, 0xe3, 0xd2, 0xbe, 0x8a, 0x83, 0x2c, 0xec, 0x4b, 0xfe, 0x48, 0x02, 0x4e, 0x8e, 0xb6, - 0xe4, 0x68, 0x09, 0x0a, 0xc4, 0x6f, 0xf5, 0xa2, 0x2e, 0x2e, 0xf4, 0xb4, 0x83, 0x36, 0xf7, 0x6f, - 0xf9, 0x56, 0x42, 0xdc, 0xdf, 0x4a, 0x40, 0xdb, 0x30, 0xdb, 0xb5, 0x74, 0xad, 0xab, 0x86, 0xb6, - 0x72, 0xf8, 0x24, 0x7a, 0x78, 0x48, 0xd8, 0xd1, 0x94, 0x21, 0x31, 0x38, 0x5c, 0xff, 0xcb, 0x94, - 0xc7, 0x9a, 0xbf, 0xeb, 0x83, 0x56, 0x21, 0xdf, 0x33, 0xdc, 0x1d, 0xbc, 0xaf, 0xdd, 0x36, 0x2c, - 0x87, 0xcf, 0xa6, 0x61, 0xa5, 0x59, 0x0f, 0x70, 0xc4, 0x0e, 0x53, 0x88, 0x2c, 0x34, 0x24, 0xa9, - 0x91, 0x1b, 0x5f, 0xe9, 0x63, 0x5b, 0x93, 0x71, 0x7b, 0x48, 0x99, 0xb1, 0x7b, 0x48, 0xa3, 0x36, - 0x6c, 0xb2, 0xa3, 0x37, 0x6c, 0x3e, 0x14, 0x1e, 0x9a, 0xe8, 0xda, 0x37, 0xb4, 0x87, 0x83, 0x5a, - 0x30, 0xcf, 0xe9, 0x3b, 0x11, 0xd9, 0x8f, 0x38, 0xea, 0xc0, 0xe6, 0xd7, 0xa0, 0xcc, 0x91, 0x20, - 0x1f, 0x2f, 0xf6, 0xc4, 0xfd, 0x89, 0x5d, 0x6c, 0xa2, 0x26, 0x43, 0x9b, 0xa8, 0xff, 0x97, 0x0d, - 0xc5, 0x07, 0x13, 0x30, 0x3b, 0xe4, 0x48, 0x8c, 0xdc, 0x1d, 0x1e, 0x97, 0x91, 0x15, 0x1d, 0x4b, - 0x1c, 0xbb, 0x63, 0x7c, 0xac, 0x93, 0x93, 0xc7, 0x3a, 0xf5, 0x16, 0x8e, 0x75, 0xfa, 0xfe, 0xc6, - 0xfa, 0x6d, 0x1d, 0x85, 0x8f, 0xc5, 0xa0, 0x32, 0xde, 0xfb, 0x1a, 0x39, 0x1c, 0xc7, 0xda, 0x40, - 0x18, 0xb7, 0xc6, 0x3d, 0x02, 0xa5, 0x01, 0xdf, 0x90, 0xa9, 0x72, 0x31, 0x12, 0x85, 0xcb, 0xdf, - 0x9c, 0xf0, 0x17, 0x9e, 0x88, 0x03, 0x37, 0x62, 0xb6, 0xbe, 0x0c, 0x73, 0x1d, 0xac, 0x1b, 0x9d, - 0xfb, 0x9d, 0xac, 0xb3, 0x9c, 0xfa, 0xff, 0xcd, 0xd5, 0x61, 0x2d, 0xf9, 0x1e, 0x80, 0xac, 0x82, - 0x5d, 0x9b, 0xf8, 0x63, 0xa8, 0x06, 0x39, 0x7c, 0xa0, 0x63, 0xdb, 0x0b, 0x0e, 0x55, 0x8c, 0x0a, - 0x11, 0x18, 0x76, 0x43, 0x60, 0x92, 0x00, 0xd9, 0x27, 0x43, 0xcf, 0xf2, 0x1c, 0xc0, 0xf8, 0x70, - 0x9e, 0x93, 0x87, 0x93, 0x00, 0x97, 0x45, 0x12, 0x20, 0x31, 0x36, 0xbe, 0x65, 0x54, 0x03, 0x59, - 0x80, 0x67, 0x79, 0x16, 0x20, 0x39, 0xa1, 0xb2, 0x48, 0x1a, 0xa0, 0x1e, 0x49, 0x03, 0xa4, 0x27, - 0x74, 0x73, 0x4c, 0x1e, 0xe0, 0xb2, 0xc8, 0x03, 0x64, 0x26, 0xb4, 0x78, 0x20, 0x11, 0xf0, 0xee, - 0x50, 0x22, 0x20, 0x37, 0x9c, 0x6d, 0x8d, 0x90, 0x8e, 0xc8, 0x04, 0xbc, 0xe0, 0x67, 0x02, 0x0a, - 0x63, 0xb3, 0x08, 0x9c, 0x78, 0x30, 0x15, 0xb0, 0x39, 0x94, 0x0a, 0x28, 0xf2, 0x3f, 0x6c, 0x34, - 0x8e, 0xc5, 0x84, 0x5c, 0xc0, 0xe6, 0x50, 0x2e, 0xa0, 0x34, 0x81, 0xe1, 0x84, 0x64, 0xc0, 0xd7, - 0x8f, 0x4e, 0x06, 0x8c, 0x0f, 0xd7, 0x79, 0x33, 0xa7, 0xcb, 0x06, 0xa8, 0x63, 0xb2, 0x01, 0xd2, - 0xd8, 0xc8, 0x95, 0xb1, 0x9f, 0x3a, 0x1d, 0xb0, 0x3d, 0x22, 0x1d, 0xc0, 0x02, 0xf7, 0x73, 0x63, - 0x99, 0x4f, 0x91, 0x0f, 0xd8, 0x1e, 0x91, 0x0f, 0x40, 0x13, 0xd9, 0x4e, 0x4c, 0x08, 0x5c, 0x8d, - 0x26, 0x04, 0xe6, 0xc6, 0x78, 0x9d, 0xc1, 0x6c, 0x1f, 0x93, 0x11, 0xd8, 0x19, 0x97, 0x11, 0x60, - 0x51, 0xfb, 0x93, 0x63, 0x39, 0x1e, 0x23, 0x25, 0xb0, 0x39, 0x94, 0x12, 0x38, 0x31, 0x41, 0xd3, - 0xa6, 0xcf, 0x09, 0xb0, 0x87, 0xd6, 0xd9, 0x13, 0xeb, 0x20, 0xe5, 0x6f, 0x24, 0xb3, 0x79, 0xa9, - 0x20, 0x3f, 0x4e, 0x3c, 0x98, 0x01, 0x3b, 0x47, 0x62, 0x05, 0xec, 0x38, 0x96, 0x23, 0xee, 0x31, - 0xd0, 0x0f, 0xf9, 0x1c, 0x89, 0x11, 0x03, 0x9b, 0x76, 0x44, 0xfe, 0x80, 0xc6, 0x64, 0x21, 0x3b, - 0x26, 0xff, 0x7c, 0x2c, 0xa0, 0xa5, 0x19, 0x84, 0x70, 0x7c, 0x99, 0xe3, 0xf1, 0x65, 0x28, 0xab, - 0x10, 0x8f, 0x66, 0x15, 0x16, 0x21, 0x4f, 0x62, 0xad, 0x81, 0x84, 0x81, 0x66, 0xfb, 0x09, 0x03, - 0x71, 0x80, 0x8a, 0xe5, 0x1e, 0xf8, 0xb2, 0xc4, 0x76, 0x13, 0xcb, 0xfe, 0x61, 0x32, 0x16, 0xea, - 0xa2, 0xa7, 0x60, 0x2e, 0x84, 0xeb, 0xc7, 0x70, 0x2c, 0x7a, 0x96, 0x7c, 0xec, 0x2a, 0x0f, 0xe6, - 0x7e, 0x35, 0x16, 0x48, 0x28, 0xc8, 0x34, 0x8c, 0x4a, 0x0a, 0xc4, 0xde, 0xa2, 0xa4, 0x40, 0xfc, - 0xbe, 0x93, 0x02, 0xe1, 0x98, 0x34, 0x11, 0x8d, 0x49, 0xff, 0x47, 0x2c, 0x18, 0x13, 0x3f, 0xc4, - 0xd7, 0xad, 0x0e, 0xe6, 0x51, 0x22, 0xfd, 0x4d, 0x5c, 0x92, 0xae, 0xb5, 0xc7, 0x63, 0x41, 0xf2, - 0x93, 0x60, 0xf9, 0x0b, 0x4f, 0x8e, 0xaf, 0x2b, 0x7e, 0x80, 0x99, 0x0a, 0xdf, 0xe3, 0xe0, 0x97, - 0x1b, 0xd2, 0xc1, 0xe5, 0x06, 0xff, 0xf2, 0x71, 0x26, 0x74, 0xf9, 0x18, 0xbd, 0x13, 0x72, 0x34, - 0xd9, 0xaf, 0x5a, 0xb6, 0xf8, 0xab, 0x60, 0x67, 0xc6, 0x5f, 0x6c, 0x70, 0xe9, 0x91, 0x6b, 0x76, - 0x19, 0x22, 0xf0, 0x38, 0x72, 0x11, 0x8f, 0xe3, 0x01, 0xc8, 0x91, 0xd6, 0xb3, 0xbf, 0x6e, 0x01, - 0xfc, 0xe6, 0xba, 0x00, 0xc8, 0x3f, 0x11, 0x87, 0xf2, 0xc0, 0x42, 0x33, 0xb2, 0xef, 0xa3, 0xb6, - 0x91, 0xa7, 0x93, 0xc7, 0x59, 0x80, 0x3d, 0xcd, 0x55, 0xef, 0x68, 0xa6, 0x87, 0x3b, 0x5c, 0x28, - 0x21, 0x08, 0xaa, 0x40, 0x96, 0x7c, 0xf5, 0x5d, 0xdc, 0xe1, 0xd9, 0x17, 0xff, 0x1b, 0x5d, 0x87, - 0x34, 0xbe, 0x4d, 0x5f, 0x77, 0x65, 0x6f, 0x24, 0x9f, 0x1c, 0x0e, 0x87, 0x49, 0x71, 0x6d, 0x81, - 0x0c, 0xf6, 0x17, 0xdf, 0x5c, 0x94, 0x18, 0xf6, 0x93, 0xfe, 0x85, 0x31, 0x85, 0xd3, 0x47, 0xa5, - 0x90, 0x1d, 0x90, 0x02, 0xcd, 0x03, 0x16, 0x44, 0x78, 0x4f, 0x64, 0xca, 0xce, 0x78, 0x2b, 0xc5, - 0x1e, 0xee, 0xd9, 0x96, 0xd5, 0x55, 0xd9, 0x1c, 0xaf, 0x42, 0x29, 0xba, 0xae, 0xb2, 0xbf, 0x3c, - 0xe5, 0x69, 0x86, 0xa9, 0x46, 0x9c, 0xe0, 0x02, 0x03, 0xb2, 0x39, 0x75, 0x23, 0x99, 0x8d, 0x49, - 0xf1, 0x1b, 0xc9, 0x6c, 0x5c, 0x4a, 0xc8, 0x5b, 0x70, 0x62, 0xe4, 0xba, 0x8a, 0x9e, 0x87, 0x5c, - 0xb0, 0x24, 0xb3, 0x63, 0xfa, 0x47, 0x64, 0x5a, 0x02, 0x5c, 0xf9, 0x97, 0x62, 0x01, 0xcb, 0x68, - 0xee, 0xa6, 0x01, 0x69, 0x76, 0x66, 0x92, 0x9f, 0x8f, 0x79, 0x6a, 0xba, 0x15, 0x79, 0x99, 0x1d, - 0xa8, 0x54, 0x38, 0xb1, 0xfc, 0x3e, 0x48, 0x33, 0x08, 0xca, 0x43, 0x26, 0x78, 0x47, 0x1a, 0x20, - 0x5d, 0xad, 0xd7, 0x1b, 0x5b, 0xe2, 0x51, 0xd8, 0xda, 0xa6, 0xd2, 0x96, 0xe2, 0x04, 0xac, 0x34, - 0x6e, 0x34, 0xea, 0x6d, 0x29, 0x81, 0x66, 0xa1, 0xc8, 0x7e, 0xab, 0x57, 0x37, 0x95, 0xf5, 0x6a, - 0x5b, 0x4a, 0x86, 0x40, 0xad, 0xc6, 0xc6, 0x6a, 0x43, 0x91, 0x52, 0xf2, 0x33, 0x70, 0x7a, 0xec, - 0x1a, 0x1e, 0x24, 0x66, 0x62, 0xa1, 0xc4, 0x8c, 0xfc, 0x91, 0x38, 0x09, 0x6a, 0xc6, 0x2d, 0xcc, - 0xe8, 0xc6, 0x40, 0xc7, 0x2f, 0x1e, 0x63, 0x55, 0x1f, 0xe8, 0x3d, 0x89, 0x63, 0x1c, 0xbc, 0x8b, - 0x3d, 0x7d, 0x9f, 0x39, 0x0a, 0xcc, 0x02, 0x15, 0x95, 0x22, 0x87, 0x52, 0x22, 0x97, 0xa1, 0xbd, - 0x8e, 0x75, 0x4f, 0x65, 0x4a, 0xe4, 0xf2, 0x3f, 0x94, 0x5b, 0x64, 0xd0, 0x16, 0x03, 0xca, 0xdf, - 0x78, 0x2c, 0x59, 0xe6, 0x20, 0xa5, 0x34, 0xda, 0xca, 0xab, 0x52, 0x02, 0x21, 0x28, 0xd1, 0x9f, - 0x6a, 0x6b, 0xa3, 0xba, 0xd5, 0xba, 0xbe, 0x49, 0x64, 0x39, 0x07, 0x65, 0x21, 0x4b, 0x01, 0x4c, - 0xc9, 0x4f, 0xc0, 0xa9, 0x31, 0x5e, 0xc5, 0x88, 0x43, 0xac, 0x9f, 0x88, 0x85, 0xb1, 0xa3, 0x9e, - 0xc1, 0x26, 0xa4, 0x5d, 0x4f, 0xf3, 0xfa, 0x2e, 0x17, 0xe2, 0xf3, 0xd3, 0xba, 0x19, 0xcb, 0xe2, - 0x47, 0x8b, 0x92, 0x2b, 0x9c, 0x8d, 0x7c, 0x09, 0x4a, 0xd1, 0x92, 0xf1, 0x32, 0x08, 0x94, 0x28, - 0x2e, 0x5f, 0x01, 0x34, 0xec, 0x7d, 0x8c, 0x08, 0x2f, 0x63, 0xa3, 0xc2, 0xcb, 0x1f, 0x8d, 0xc1, - 0x99, 0x23, 0x3c, 0x0d, 0xf4, 0xf2, 0x40, 0x27, 0x5f, 0x38, 0x8e, 0x9f, 0xb2, 0xcc, 0x60, 0x03, - 0xdd, 0x7c, 0x16, 0x0a, 0x61, 0xf8, 0x74, 0x9d, 0xfc, 0x62, 0x3c, 0x98, 0xc4, 0xd1, 0x38, 0x38, - 0x30, 0x81, 0xb1, 0xaf, 0xd2, 0x04, 0xbe, 0x0b, 0xc0, 0x3b, 0x10, 0xa7, 0xa8, 0xf9, 0x3a, 0xfa, - 0xe0, 0x88, 0xfc, 0x22, 0xd6, 0xdb, 0x07, 0x7c, 0x12, 0xe4, 0x3c, 0xfe, 0xcb, 0x45, 0xad, 0x70, - 0x52, 0xa0, 0x4f, 0xd7, 0x58, 0xd7, 0xff, 0x33, 0xb9, 0xd3, 0x2d, 0xc6, 0x41, 0xf2, 0x80, 0x81, - 0x5d, 0xf4, 0x2a, 0x9c, 0x1a, 0x70, 0x14, 0x7c, 0xd6, 0xc9, 0x69, 0xfd, 0x85, 0x13, 0x51, 0x7f, - 0x41, 0xb0, 0x0e, 0xaf, 0xf6, 0xa9, 0xe8, 0x6a, 0xff, 0x2a, 0x40, 0x90, 0x1c, 0x08, 0x8e, 0xfd, - 0xc5, 0xc2, 0xc7, 0xfe, 0x2e, 0x41, 0x8a, 0x68, 0x92, 0x90, 0xd3, 0xb0, 0x29, 0x26, 0x9a, 0x10, - 0x4a, 0x2e, 0x30, 0x6c, 0xd9, 0x00, 0x34, 0x9c, 0xa0, 0x1d, 0x53, 0xc5, 0xbb, 0xa3, 0x55, 0x3c, - 0x34, 0x36, 0xd5, 0x3b, 0xba, 0xaa, 0x37, 0x20, 0x45, 0x47, 0x7e, 0xe4, 0x5d, 0xca, 0x6f, 0x00, - 0xd0, 0x3c, 0xcf, 0x31, 0x76, 0xfa, 0x41, 0x05, 0x8b, 0xa3, 0x35, 0xa7, 0x2a, 0xf0, 0x6a, 0x0f, - 0x70, 0x15, 0x9a, 0x0f, 0x48, 0x43, 0x6a, 0x14, 0x62, 0x28, 0x6f, 0x40, 0x29, 0x4a, 0x3b, 0xfa, - 0x6e, 0x68, 0xf0, 0xb8, 0x4a, 0x4e, 0xf8, 0x37, 0xbe, 0x77, 0xc4, 0x1f, 0x3c, 0xa2, 0x1f, 0xf2, - 0x07, 0xe2, 0x50, 0x08, 0x2b, 0xde, 0x5f, 0x3d, 0x17, 0x44, 0xfe, 0x96, 0x18, 0x64, 0xfd, 0xee, - 0x1f, 0x71, 0xd8, 0x39, 0xb8, 0x23, 0xec, 0x6f, 0x5e, 0xb0, 0x6d, 0xa2, 0x84, 0xbf, 0x4d, 0x74, - 0xc5, 0x5f, 0xfe, 0xc6, 0x25, 0x44, 0xc2, 0xb2, 0x16, 0x07, 0x0e, 0xf9, 0x6a, 0x7f, 0x65, 0xba, - 0xab, 0x78, 0xf3, 0x90, 0x0a, 0x5f, 0xa3, 0x63, 0x1f, 0x72, 0x27, 0x74, 0xc2, 0x88, 0x4d, 0xc4, - 0xf0, 0x9d, 0xbd, 0xd8, 0xb1, 0xef, 0xec, 0xf9, 0xb5, 0xc4, 0xc3, 0xb5, 0x7c, 0x77, 0x0c, 0xb2, - 0x62, 0x4e, 0xa0, 0xf7, 0x84, 0x4f, 0x9e, 0x89, 0xad, 0xcd, 0xb1, 0xf6, 0x88, 0xf3, 0x0f, 0x1d, - 0x3c, 0x1b, 0x3a, 0x70, 0x9d, 0x38, 0xee, 0x81, 0x6b, 0xee, 0xd9, 0xfd, 0x49, 0x0c, 0xa4, 0xc1, - 0x19, 0xfb, 0x55, 0xb7, 0x6e, 0x78, 0x99, 0x4b, 0x8c, 0x58, 0xe6, 0xc6, 0x9d, 0xa2, 0x4e, 0x8e, - 0x3b, 0x45, 0x3d, 0xdc, 0xeb, 0xd4, 0x7d, 0xf6, 0xfa, 0x83, 0x71, 0xc8, 0x87, 0xd2, 0xa3, 0xe8, - 0xb9, 0xc8, 0x89, 0xec, 0xa5, 0xa3, 0x52, 0xa9, 0xa1, 0x23, 0xd9, 0x11, 0x31, 0xc5, 0x8f, 0x2f, - 0xa6, 0xb7, 0xfe, 0x76, 0xd6, 0xe8, 0x0b, 0xac, 0xa9, 0x31, 0x17, 0x58, 0xff, 0x7a, 0x0c, 0xb2, - 0xbe, 0xdb, 0x7d, 0xdc, 0x4d, 0xcc, 0x93, 0x90, 0xe6, 0x9e, 0x25, 0xdb, 0xc5, 0xe4, 0x5f, 0x23, - 0xd3, 0xca, 0x15, 0xc8, 0x8a, 0xbf, 0x59, 0xc8, 0x57, 0x35, 0xff, 0xfb, 0xfc, 0x0b, 0x90, 0x0f, - 0x6d, 0x00, 0x13, 0xd3, 0xb8, 0xd1, 0x78, 0xaf, 0x34, 0x53, 0xc9, 0xdc, 0xbd, 0xb7, 0x94, 0xd8, - 0xc0, 0x77, 0xc8, 0x6c, 0x56, 0x1a, 0xf5, 0xeb, 0x8d, 0xfa, 0x4b, 0x52, 0xac, 0x92, 0xbf, 0x7b, - 0x6f, 0x29, 0xa3, 0x60, 0x9a, 0x51, 0x3c, 0xff, 0x12, 0x94, 0x07, 0x06, 0x26, 0xea, 0xb6, 0x20, - 0x28, 0xad, 0x6e, 0x6f, 0xad, 0x35, 0xeb, 0xd5, 0x76, 0x43, 0x65, 0xe7, 0x76, 0xd1, 0x29, 0x98, - 0x5b, 0x6b, 0x5e, 0xbb, 0xde, 0x56, 0xeb, 0x6b, 0xcd, 0xc6, 0x46, 0x5b, 0xad, 0xb6, 0xdb, 0xd5, - 0xfa, 0x4b, 0x52, 0xfc, 0xe2, 0xbd, 0x3c, 0x24, 0xab, 0xb5, 0x7a, 0x13, 0xd5, 0x21, 0x49, 0x53, - 0x21, 0x47, 0x9e, 0x00, 0xab, 0x1c, 0x9d, 0x1b, 0x46, 0x57, 0x21, 0x45, 0xb3, 0x24, 0xe8, 0xe8, - 0x23, 0x61, 0x95, 0x09, 0xc9, 0x62, 0xd2, 0x18, 0x3a, 0x23, 0x8f, 0x3c, 0x23, 0x56, 0x39, 0x3a, - 0x77, 0x8c, 0xd6, 0x20, 0x23, 0x82, 0xe4, 0x49, 0x07, 0xb7, 0x2a, 0x13, 0x13, 0xba, 0xa4, 0x6b, - 0x2c, 0xd9, 0x70, 0xf4, 0xf1, 0xb1, 0xca, 0x84, 0xac, 0x32, 0x6a, 0xfa, 0xf7, 0x99, 0x26, 0x9c, - 0x08, 0xab, 0x4c, 0xca, 0x13, 0x23, 0x05, 0x72, 0x41, 0x1a, 0x67, 0xf2, 0xa1, 0xb8, 0xca, 0x14, - 0x09, 0x73, 0xf4, 0x3e, 0x28, 0x46, 0x43, 0xdd, 0xe9, 0x4e, 0x9d, 0x55, 0xa6, 0xcc, 0x48, 0x13, - 0xfe, 0xd1, 0xb8, 0x77, 0xba, 0x53, 0x68, 0x95, 0x29, 0x13, 0xd4, 0xe8, 0x75, 0x98, 0x1d, 0x8e, - 0x4b, 0xa7, 0x3f, 0x94, 0x56, 0x39, 0x46, 0xca, 0x1a, 0xf5, 0x00, 0x8d, 0x88, 0x67, 0x8f, 0x71, - 0x46, 0xad, 0x72, 0x9c, 0x0c, 0x36, 0xea, 0x40, 0x79, 0x30, 0x48, 0x9c, 0xf6, 0xcc, 0x5a, 0x65, - 0xea, 0x6c, 0x36, 0xab, 0x25, 0x1a, 0x5c, 0x4e, 0x7b, 0x86, 0xad, 0x32, 0x75, 0x72, 0x1b, 0x6d, - 0x03, 0x84, 0xe2, 0xc3, 0x29, 0xce, 0xb4, 0x55, 0xa6, 0x49, 0x73, 0x23, 0x1b, 0xe6, 0x46, 0x05, - 0x8e, 0xc7, 0x39, 0xe2, 0x56, 0x39, 0x56, 0xf6, 0x9b, 0xe8, 0x73, 0x34, 0x04, 0x9c, 0xee, 0xc8, - 0x5b, 0x65, 0xca, 0x34, 0x78, 0xad, 0x3a, 0xf6, 0x9c, 0xf3, 0x63, 0x47, 0x9e, 0x73, 0x0e, 0x4e, - 0x2e, 0xfb, 0x67, 0x9b, 0x7f, 0xf5, 0x39, 0x78, 0x07, 0x7f, 0x41, 0xc7, 0xf5, 0xb4, 0x5b, 0x86, - 0xb9, 0xe7, 0x3f, 0x65, 0xc4, 0xbf, 0xf9, 0x21, 0xe7, 0x93, 0xfc, 0xb9, 0x1e, 0x01, 0x9d, 0xf0, - 0xa0, 0xd1, 0xd8, 0x57, 0x1e, 0x27, 0xdd, 0x87, 0x98, 0x7c, 0x7c, 0xf9, 0x88, 0xc7, 0x92, 0x26, - 0x3c, 0xc9, 0x34, 0xe2, 0x31, 0xa5, 0xca, 0x91, 0x6f, 0x0c, 0x54, 0x8e, 0x3a, 0xf7, 0x2d, 0x7f, - 0x5f, 0x0c, 0x4a, 0xd7, 0x0d, 0xd7, 0xb3, 0x1c, 0x43, 0xd7, 0xba, 0x74, 0x79, 0xb9, 0x32, 0xed, - 0xad, 0xac, 0x5a, 0x8e, 0xb8, 0x2b, 0xfc, 0xbd, 0x25, 0x7e, 0x53, 0x68, 0x15, 0xd2, 0xb7, 0xb5, - 0x2e, 0xbb, 0x13, 0x15, 0x7e, 0x6c, 0x6d, 0x50, 0xe6, 0x21, 0x3f, 0x2a, 0xcc, 0x85, 0xd1, 0xae, - 0xc4, 0x17, 0x62, 0xf2, 0xb7, 0xc5, 0x40, 0x0a, 0x5a, 0xa6, 0x60, 0xdd, 0x72, 0x3a, 0x34, 0x14, - 0xb0, 0xed, 0xd0, 0x59, 0x01, 0xf1, 0x49, 0x5d, 0x3e, 0xa3, 0x87, 0x7d, 0xbf, 0x6d, 0xbc, 0x93, - 0x95, 0x0c, 0x39, 0x58, 0x23, 0xae, 0x9c, 0x27, 0x46, 0x5d, 0x39, 0x97, 0xbf, 0x97, 0xde, 0x70, - 0xe9, 0xf5, 0x0c, 0x97, 0xcc, 0x0e, 0x85, 0x06, 0xf7, 0x37, 0x20, 0xe9, 0x68, 0x1e, 0x0f, 0x79, - 0x6b, 0x97, 0x8f, 0xfd, 0x64, 0x14, 0xeb, 0x33, 0xe5, 0x81, 0x5e, 0x86, 0x6c, 0x4f, 0x3b, 0x50, - 0x29, 0xbf, 0xf8, 0x57, 0xc5, 0x2f, 0xd3, 0xd3, 0x0e, 0x48, 0xfb, 0xd0, 0xfb, 0xa0, 0x4c, 0x58, - 0xea, 0xfb, 0x9a, 0xb9, 0x87, 0x19, 0xe7, 0xc4, 0x57, 0xc5, 0xb9, 0xd8, 0xd3, 0x0e, 0xea, 0x94, - 0x1b, 0xe1, 0xcf, 0x9f, 0xd6, 0xfa, 0x95, 0x18, 0xcf, 0x63, 0x50, 0xc1, 0x20, 0x0d, 0x24, 0xdd, - 0xff, 0xa2, 0x95, 0x8a, 0x4d, 0x97, 0xc7, 0xc6, 0x69, 0xc2, 0x80, 0x58, 0x6b, 0x45, 0xd2, 0xbc, - 0xcf, 0xbc, 0xb9, 0x18, 0x63, 0xb5, 0x96, 0xf5, 0x21, 0xb1, 0xe7, 0x59, 0x7a, 0x46, 0x9d, 0x72, - 0xc0, 0x8b, 0xc2, 0xab, 0x66, 0x0c, 0x81, 0x51, 0x93, 0x72, 0xde, 0x87, 0x4f, 0xc5, 0x20, 0xbf, - 0x1a, 0x7a, 0xcc, 0x71, 0x01, 0x32, 0x3d, 0xcb, 0x34, 0x6e, 0x61, 0xc7, 0xdf, 0x35, 0x63, 0x9f, - 0xc4, 0xf3, 0x65, 0x7f, 0x13, 0xd0, 0x3b, 0x14, 0xef, 0x1d, 0x89, 0x6f, 0x42, 0x75, 0x07, 0xef, - 0xb8, 0x86, 0x90, 0xb3, 0x22, 0x3e, 0xd1, 0xe3, 0x20, 0xb9, 0x58, 0xef, 0x3b, 0x86, 0x77, 0xa8, - 0xea, 0x96, 0xe9, 0x69, 0xba, 0xc7, 0x33, 0x03, 0x65, 0x01, 0xaf, 0x33, 0x30, 0x61, 0xd2, 0xc1, - 0x9e, 0x66, 0x74, 0xd9, 0x59, 0xd1, 0x9c, 0x22, 0x3e, 0x79, 0x53, 0xef, 0x66, 0xc2, 0x91, 0x71, - 0x1d, 0x24, 0xcb, 0xc6, 0x4e, 0xe4, 0x88, 0x0c, 0xd3, 0xc6, 0x85, 0xdf, 0xfc, 0xf4, 0x53, 0xf3, - 0x5c, 0xe0, 0xfc, 0x78, 0x05, 0xfb, 0xdb, 0x05, 0x4a, 0x59, 0x50, 0x88, 0xb3, 0x33, 0xaf, 0x46, - 0xf6, 0xc9, 0xfa, 0x3b, 0xc1, 0xc3, 0x36, 0xf3, 0x43, 0x42, 0xad, 0x9a, 0x87, 0xb5, 0x85, 0xdf, - 0x08, 0x58, 0x07, 0x91, 0xf3, 0x4b, 0xf8, 0x30, 0xbc, 0x69, 0x46, 0xd9, 0x90, 0xa0, 0xe2, 0x75, - 0xcd, 0xe8, 0x8a, 0x3f, 0x9f, 0xaa, 0xf0, 0x2f, 0xb4, 0xe2, 0x27, 0x3c, 0x93, 0x34, 0x42, 0x93, - 0xc7, 0xe9, 0x46, 0xcd, 0x32, 0x3b, 0xd1, 0xcc, 0x26, 0xaa, 0x43, 0xda, 0xb3, 0x6e, 0x61, 0x93, - 0x0b, 0xa8, 0xf6, 0xc4, 0x31, 0xde, 0x86, 0x53, 0x38, 0x29, 0xfa, 0x7a, 0x90, 0x3a, 0xb8, 0x8b, - 0xf7, 0xd8, 0x0d, 0xce, 0x7d, 0xcd, 0xc1, 0xec, 0xfd, 0x80, 0xfb, 0x7a, 0xf9, 0xad, 0xec, 0xb3, - 0x6a, 0x51, 0x4e, 0x68, 0x2b, 0xfa, 0x5c, 0x68, 0x86, 0x6f, 0x67, 0x8f, 0xe9, 0x63, 0x48, 0xf3, - 0xc2, 0xb6, 0x30, 0xf2, 0xbc, 0xe8, 0xe3, 0x20, 0xf5, 0xcd, 0x1d, 0xcb, 0xa4, 0x7f, 0x75, 0x90, - 0xc7, 0x75, 0x59, 0xb6, 0x77, 0xea, 0xc3, 0xf9, 0xde, 0xe9, 0x16, 0x94, 0x02, 0x54, 0x3a, 0x43, - 0x72, 0xc7, 0x9d, 0x21, 0x45, 0x9f, 0x01, 0x41, 0x41, 0xeb, 0x00, 0xc1, 0x1c, 0xa4, 0x9b, 0x77, - 0xf9, 0xf1, 0x23, 0x16, 0xcc, 0xe6, 0x70, 0x67, 0x42, 0x0c, 0xd0, 0xd7, 0xc1, 0x5c, 0xcf, 0x30, - 0x55, 0x17, 0x77, 0x77, 0x55, 0x2e, 0x39, 0xc2, 0x37, 0x7f, 0xfc, 0xd1, 0x9c, 0xed, 0x19, 0x66, - 0x0b, 0x77, 0x77, 0x57, 0x7d, 0x2e, 0xe8, 0x5d, 0x70, 0x26, 0xe8, 0xbd, 0x65, 0xaa, 0xfb, 0x56, - 0xb7, 0xa3, 0x3a, 0x78, 0x57, 0xd5, 0xe9, 0xeb, 0x7e, 0x05, 0x2a, 0xb3, 0x53, 0x3e, 0xca, 0xa6, - 0x79, 0xdd, 0xea, 0x76, 0x14, 0xbc, 0x5b, 0x27, 0xc5, 0xe8, 0x61, 0x08, 0xba, 0xae, 0x1a, 0x1d, - 0x77, 0xa1, 0xb8, 0x94, 0x38, 0x97, 0x54, 0x0a, 0x3e, 0xb0, 0xd9, 0x71, 0x57, 0xb2, 0x1f, 0xfa, - 0xf8, 0xe2, 0xcc, 0x17, 0x3e, 0xbe, 0x38, 0x23, 0x5f, 0xa5, 0xaf, 0x5c, 0xf1, 0x79, 0x84, 0x5d, - 0x74, 0x19, 0x72, 0x9a, 0xf8, 0x60, 0x77, 0xd8, 0x8e, 0x98, 0x87, 0x01, 0xaa, 0xfc, 0xe3, 0x31, - 0x48, 0xaf, 0xde, 0xdc, 0xd2, 0x0c, 0x07, 0x35, 0x60, 0x36, 0x50, 0xcc, 0x69, 0xa7, 0x74, 0xa0, - 0xcb, 0x62, 0x4e, 0x6f, 0x8c, 0x3b, 0x3c, 0x97, 0xab, 0x3d, 0xf4, 0x9b, 0x9f, 0x7e, 0xea, 0x41, - 0xce, 0xe6, 0xe6, 0xc0, 0x39, 0x3a, 0xc1, 0x6f, 0xf0, 0x7c, 0x5d, 0xa8, 0xcf, 0x37, 0x20, 0xc3, - 0x9a, 0xea, 0xa2, 0x17, 0x21, 0x65, 0x93, 0x1f, 0x7c, 0x4f, 0xe0, 0xec, 0x58, 0x05, 0xa7, 0xf8, - 0x61, 0x75, 0x60, 0x74, 0xf2, 0xb7, 0xc5, 0x01, 0x56, 0x6f, 0xde, 0x6c, 0x3b, 0x86, 0xdd, 0xc5, - 0xde, 0x5b, 0xd5, 0xf7, 0x6d, 0x38, 0x11, 0xba, 0x9d, 0xed, 0xe8, 0xc7, 0xef, 0xff, 0x5c, 0x70, - 0x51, 0xdb, 0xd1, 0x47, 0xb2, 0xed, 0xb8, 0x9e, 0xcf, 0x36, 0x71, 0x7c, 0xb6, 0xab, 0xae, 0x37, - 0x2c, 0xd9, 0x57, 0x20, 0x1f, 0x08, 0xc3, 0x45, 0x4d, 0xc8, 0x7a, 0xfc, 0x37, 0x17, 0xb0, 0x3c, - 0x5e, 0xc0, 0x82, 0x2c, 0x2c, 0x64, 0x9f, 0x5c, 0xfe, 0xb3, 0x18, 0x40, 0x68, 0x8e, 0xfc, 0xc5, - 0xd4, 0x31, 0xd4, 0x84, 0x34, 0xb7, 0xc4, 0x89, 0xfb, 0x7e, 0x83, 0x93, 0x31, 0x08, 0x09, 0xf5, - 0x3b, 0xe2, 0x30, 0xb7, 0x2d, 0x66, 0xef, 0x5f, 0x7c, 0x19, 0x6c, 0x43, 0x06, 0x9b, 0x9e, 0x63, - 0xf8, 0xbb, 0x5a, 0x4f, 0x8f, 0x1b, 0xf3, 0x11, 0x9d, 0x6a, 0x98, 0x9e, 0x73, 0x18, 0xd6, 0x00, - 0xc1, 0x2b, 0x24, 0x8f, 0x8f, 0x26, 0x60, 0x61, 0x1c, 0x29, 0xf1, 0x86, 0x75, 0x07, 0x53, 0x40, - 0xf4, 0xd2, 0x6a, 0x49, 0x80, 0xf9, 0x1a, 0xa3, 0x00, 0xf1, 0xca, 0x88, 0x72, 0x11, 0xd4, 0xfb, - 0x73, 0xc3, 0x4a, 0x01, 0x07, 0xba, 0xca, 0xb4, 0xa1, 0x2c, 0x6e, 0xc1, 0xec, 0x68, 0x5d, 0xcd, - 0xd4, 0x85, 0xbb, 0x7a, 0xac, 0x25, 0x41, 0xdc, 0xa4, 0xa9, 0x31, 0x16, 0xa8, 0x01, 0x19, 0xc1, - 0x2d, 0x79, 0x7c, 0x6e, 0x82, 0x16, 0x3d, 0x04, 0x85, 0xf0, 0xc2, 0x40, 0x5d, 0x8f, 0xa4, 0x92, - 0x0f, 0xad, 0x0b, 0x93, 0x56, 0x9e, 0xf4, 0x91, 0x2b, 0x0f, 0xf7, 0xee, 0x7e, 0x88, 0x1e, 0x56, - 0xef, 0xfc, 0xe5, 0x1f, 0x96, 0x2d, 0x00, 0x36, 0x55, 0x89, 0x25, 0xe5, 0x23, 0x73, 0x1f, 0xf3, - 0x3d, 0xc7, 0x98, 0xac, 0xba, 0xde, 0xd7, 0x6a, 0x84, 0x7e, 0x3b, 0x0e, 0x85, 0xf0, 0x08, 0xfd, - 0x95, 0x5c, 0xb4, 0xd0, 0x46, 0x60, 0xa6, 0xd8, 0x85, 0x9e, 0xc7, 0xc7, 0x99, 0xa9, 0x21, 0x6d, - 0x9e, 0x60, 0x9f, 0x3e, 0x9f, 0x80, 0x34, 0x3f, 0x71, 0xb7, 0x39, 0xe4, 0xc8, 0xc6, 0x26, 0x3d, - 0x49, 0x50, 0x14, 0x4f, 0x12, 0x8c, 0xf4, 0x63, 0x1f, 0x81, 0x12, 0x09, 0x88, 0x23, 0xc7, 0xf8, - 0x62, 0xe7, 0x8a, 0x34, 0xae, 0x0d, 0x0e, 0xad, 0xa3, 0x45, 0xc8, 0x13, 0xb4, 0xc0, 0x0e, 0x13, - 0x1c, 0xe8, 0x69, 0x07, 0x0d, 0x06, 0x41, 0x4f, 0x01, 0xda, 0xf7, 0x13, 0x13, 0x6a, 0x20, 0x08, - 0x82, 0x37, 0x1b, 0x94, 0x08, 0xf4, 0x07, 0x01, 0x48, 0x2b, 0x54, 0xf6, 0xec, 0x34, 0x7f, 0xd4, - 0x9b, 0x40, 0x56, 0xe9, 0xd3, 0xd3, 0xdf, 0x1c, 0x63, 0xfe, 0xf0, 0x40, 0xd8, 0xcc, 0xc3, 0x91, - 0xf6, 0x14, 0x93, 0xe2, 0x8f, 0xdf, 0x5c, 0xac, 0x1c, 0x6a, 0xbd, 0xee, 0x8a, 0x3c, 0x82, 0x8f, - 0x3c, 0x2a, 0x92, 0x27, 0x8e, 0x73, 0x34, 0xec, 0x46, 0x4d, 0x90, 0x6e, 0xe1, 0x43, 0xd5, 0xe1, - 0x7f, 0x93, 0x5b, 0xdd, 0xc5, 0x98, 0x07, 0x2e, 0xa7, 0x97, 0x47, 0x3c, 0x02, 0xbe, 0x5c, 0xb7, - 0x0c, 0x93, 0x6f, 0x81, 0x95, 0x6e, 0xe1, 0x43, 0x85, 0xd3, 0x5d, 0xc5, 0x78, 0xe5, 0x1d, 0x64, - 0xa6, 0xdc, 0xfd, 0xfc, 0x4f, 0x9e, 0x3f, 0x13, 0x7a, 0xd0, 0xfa, 0xc0, 0xcf, 0xcd, 0xb1, 0xe1, - 0x25, 0x4e, 0x2f, 0x0a, 0x16, 0x20, 0xff, 0xd8, 0xff, 0x3a, 0x40, 0x28, 0x28, 0x88, 0x1d, 0x1d, - 0x6c, 0x04, 0xf4, 0x91, 0x60, 0x23, 0x34, 0x3d, 0xdf, 0x13, 0xd8, 0xff, 0xf8, 0xa4, 0xde, 0x84, - 0x35, 0x93, 0x13, 0xd1, 0x59, 0x3f, 0x23, 0xff, 0xeb, 0x18, 0x9c, 0x1e, 0xd2, 0x64, 0xbf, 0xc9, - 0x3a, 0x20, 0x27, 0x54, 0x48, 0x35, 0x42, 0xec, 0x33, 0xdf, 0xdf, 0xc4, 0x98, 0x75, 0x86, 0x16, - 0x81, 0xb7, 0x66, 0x21, 0xe3, 0x56, 0xec, 0xd7, 0x63, 0x30, 0x1f, 0x6e, 0x80, 0xdf, 0x95, 0x16, - 0x14, 0xc2, 0x55, 0xf3, 0x4e, 0xbc, 0x63, 0x9a, 0x4e, 0x84, 0xdb, 0x1f, 0x61, 0x82, 0x6e, 0x06, - 0xd6, 0x82, 0x25, 0x05, 0x9f, 0x99, 0x5a, 0x28, 0xa2, 0x61, 0x23, 0xad, 0x06, 0x1b, 0x9b, 0xdf, - 0x8f, 0x41, 0x72, 0xcb, 0xb2, 0xba, 0xe8, 0xfd, 0x30, 0x6b, 0x5a, 0x9e, 0x4a, 0x66, 0x16, 0xee, - 0xa8, 0x3c, 0x47, 0xc0, 0x2c, 0x71, 0xe3, 0x48, 0x59, 0x7d, 0xf1, 0xcd, 0xc5, 0x61, 0xca, 0x51, - 0x8f, 0xca, 0x97, 0x4d, 0xcb, 0xab, 0x51, 0xa4, 0x36, 0x4b, 0x23, 0xec, 0x42, 0x31, 0x5a, 0x1d, - 0xb3, 0xd6, 0xd5, 0x49, 0xd5, 0x15, 0x27, 0x56, 0x55, 0xd8, 0x09, 0xd5, 0xc3, 0xde, 0x88, 0xfe, - 0x43, 0x32, 0x72, 0xaf, 0x82, 0x74, 0x73, 0xf0, 0xfc, 0x52, 0x03, 0x32, 0xe2, 0xbc, 0x52, 0x6c, - 0xca, 0xa3, 0x50, 0x61, 0x71, 0x72, 0x5a, 0xf9, 0x33, 0x71, 0x38, 0x5d, 0xb7, 0x4c, 0x97, 0x27, - 0x73, 0xf8, 0x84, 0x66, 0x29, 0xd8, 0x43, 0xf4, 0xf8, 0x98, 0x54, 0x53, 0x61, 0x38, 0xa1, 0x74, - 0x13, 0xca, 0x64, 0x65, 0xd5, 0x2d, 0xf3, 0xab, 0xcc, 0x27, 0x15, 0xad, 0x6e, 0x87, 0xb7, 0xe8, - 0x16, 0x3e, 0x24, 0x7c, 0x4d, 0x7c, 0x27, 0xc2, 0x37, 0x71, 0x7f, 0x7c, 0x4d, 0x7c, 0x27, 0xc4, - 0x37, 0xd8, 0x2a, 0x4f, 0x46, 0xb6, 0xca, 0x2f, 0x43, 0x82, 0x58, 0xc1, 0xd4, 0x31, 0xec, 0x06, - 0x21, 0x08, 0xad, 0x66, 0x2d, 0x38, 0xcd, 0x13, 0x04, 0xee, 0xe6, 0x2e, 0x95, 0x28, 0xa6, 0x1d, - 0x7a, 0x09, 0x1f, 0x8e, 0xc8, 0x16, 0x14, 0xa6, 0xca, 0x16, 0x9c, 0xff, 0xd9, 0x18, 0x40, 0x90, - 0x17, 0x43, 0x4f, 0xc2, 0xa9, 0xda, 0xe6, 0xc6, 0xaa, 0xda, 0x6a, 0x57, 0xdb, 0xdb, 0xad, 0xe8, - 0x9f, 0x8c, 0x11, 0x8f, 0x60, 0xb9, 0x36, 0xd6, 0x8d, 0x5d, 0x03, 0x77, 0xd0, 0xa3, 0x30, 0x1f, - 0xc5, 0x26, 0x5f, 0x8d, 0x55, 0x29, 0x56, 0x29, 0xdc, 0xbd, 0xb7, 0x94, 0x65, 0xa1, 0x01, 0xee, - 0xa0, 0x73, 0x70, 0x62, 0x18, 0xaf, 0xb9, 0x71, 0x4d, 0x8a, 0x57, 0x8a, 0x77, 0xef, 0x2d, 0xe5, - 0xfc, 0x18, 0x02, 0xc9, 0x80, 0xc2, 0x98, 0x9c, 0x5f, 0xa2, 0x02, 0x77, 0xef, 0x2d, 0xa5, 0xd9, - 0x6c, 0xa9, 0x24, 0x3f, 0xf4, 0x23, 0x67, 0x67, 0xce, 0x7f, 0x03, 0x40, 0xd3, 0xdc, 0x75, 0x34, - 0x9d, 0x5a, 0x85, 0x0a, 0x9c, 0x6c, 0x6e, 0x5c, 0x55, 0xaa, 0xf5, 0x76, 0x73, 0x73, 0x63, 0xe0, - 0x2f, 0xdd, 0x44, 0xcb, 0x56, 0x37, 0xb7, 0x6b, 0x6b, 0x0d, 0xb5, 0xd5, 0xbc, 0xb6, 0xc1, 0x76, - 0xfc, 0x23, 0x65, 0xef, 0xdd, 0x68, 0x37, 0xd7, 0x1b, 0x52, 0xbc, 0x76, 0x79, 0xec, 0x8e, 0xd2, - 0x03, 0x91, 0x79, 0x18, 0xac, 0x44, 0x91, 0x6d, 0xa4, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x18, - 0x00, 0x33, 0xab, 0x2d, 0xa3, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x69, 0x90, 0x1c, 0xd7, + 0x79, 0xd8, 0xce, 0x3d, 0xf3, 0xcd, 0xd5, 0xfb, 0x76, 0x01, 0x2c, 0x06, 0x24, 0x76, 0xd9, 0x14, + 0x49, 0x10, 0x24, 0x17, 0x24, 0x48, 0x80, 0xe4, 0x42, 0x12, 0x33, 0x33, 0x3b, 0x00, 0x06, 0xdc, + 0x8b, 0x3d, 0xb3, 0x10, 0x49, 0x5b, 0x6a, 0xf7, 0xf6, 0xbc, 0xdd, 0x6d, 0x62, 0xa6, 0xbb, 0xd5, + 0xdd, 0x03, 0xec, 0xb2, 0x52, 0x29, 0x39, 0xb2, 0x13, 0x99, 0x3e, 0x22, 0xc7, 0x2e, 0x5b, 0xb6, + 0x04, 0x5b, 0xb2, 0x63, 0x4b, 0x76, 0x2e, 0x1f, 0x8a, 0x8f, 0xb8, 0xe2, 0xd8, 0xa9, 0x1c, 0xb2, + 0x2b, 0x49, 0x29, 0xfe, 0x91, 0x38, 0xa9, 0x32, 0x63, 0x4b, 0xae, 0x48, 0x91, 0xe5, 0xc4, 0x87, + 0x9c, 0x38, 0xa5, 0x4a, 0x2a, 0xf5, 0xae, 0x3e, 0xe6, 0xd8, 0x99, 0x85, 0x48, 0xd9, 0xb1, 0xf3, + 0x07, 0x98, 0xfe, 0xde, 0xf7, 0x7d, 0xef, 0xbd, 0xef, 0x7d, 0xef, 0x7b, 0xdf, 0xf7, 0xbd, 0x63, + 0xe1, 0x77, 0x6a, 0xb0, 0xb4, 0x67, 0x59, 0x7b, 0x5d, 0x7c, 0xc1, 0x76, 0x2c, 0xcf, 0xda, 0xe9, + 0xef, 0x5e, 0xe8, 0x60, 0x57, 0x77, 0x0c, 0xdb, 0xb3, 0x9c, 0x65, 0x0a, 0x43, 0x65, 0x86, 0xb1, + 0x2c, 0x30, 0xe4, 0x75, 0x98, 0xbd, 0x6a, 0x74, 0xf1, 0xaa, 0x8f, 0xd8, 0xc2, 0x1e, 0x7a, 0x0e, + 0x92, 0xbb, 0x46, 0x17, 0x2f, 0xc4, 0x96, 0x12, 0xe7, 0xf2, 0x17, 0xdf, 0xb1, 0x3c, 0x40, 0xb4, + 0x1c, 0xa5, 0xd8, 0x22, 0x60, 0x85, 0x52, 0xc8, 0xff, 0x27, 0x09, 0x73, 0x23, 0x4a, 0x11, 0x82, + 0xa4, 0xa9, 0xf5, 0x08, 0xc7, 0xd8, 0xb9, 0x9c, 0x42, 0x7f, 0xa3, 0x05, 0xc8, 0xd8, 0x9a, 0x7e, + 0x4b, 0xdb, 0xc3, 0x0b, 0x71, 0x0a, 0x16, 0x9f, 0xe8, 0x2c, 0x40, 0x07, 0xdb, 0xd8, 0xec, 0x60, + 0x53, 0x3f, 0x5c, 0x48, 0x2c, 0x25, 0xce, 0xe5, 0x94, 0x10, 0x04, 0x3d, 0x06, 0xb3, 0x76, 0x7f, + 0xa7, 0x6b, 0xe8, 0x6a, 0x08, 0x0d, 0x96, 0x12, 0xe7, 0x52, 0x8a, 0xc4, 0x0a, 0x56, 0x03, 0xe4, + 0x47, 0xa0, 0x7c, 0x07, 0x6b, 0xb7, 0xc2, 0xa8, 0x79, 0x8a, 0x5a, 0x22, 0xe0, 0x10, 0x62, 0x1d, + 0x0a, 0x3d, 0xec, 0xba, 0xda, 0x1e, 0x56, 0xbd, 0x43, 0x1b, 0x2f, 0x24, 0x69, 0xef, 0x97, 0x86, + 0x7a, 0x3f, 0xd8, 0xf3, 0x3c, 0xa7, 0x6a, 0x1f, 0xda, 0x18, 0x55, 0x21, 0x87, 0xcd, 0x7e, 0x8f, + 0x71, 0x48, 0x8d, 0x91, 0x5f, 0xc3, 0xec, 0xf7, 0x06, 0xb9, 0x64, 0x09, 0x19, 0x67, 0x91, 0x71, + 0xb1, 0x73, 0xdb, 0xd0, 0xf1, 0x42, 0x9a, 0x32, 0x78, 0x64, 0x88, 0x41, 0x8b, 0x95, 0x0f, 0xf2, + 0x10, 0x74, 0xa8, 0x0e, 0x39, 0x7c, 0xe0, 0x61, 0xd3, 0x35, 0x2c, 0x73, 0x21, 0x43, 0x99, 0x3c, + 0x34, 0x62, 0x14, 0x71, 0xb7, 0x33, 0xc8, 0x22, 0xa0, 0x43, 0x97, 0x21, 0x63, 0xd9, 0x9e, 0x61, + 0x99, 0xee, 0x42, 0x76, 0x29, 0x76, 0x2e, 0x7f, 0xf1, 0xbe, 0x91, 0x8a, 0xb0, 0xc9, 0x70, 0x14, + 0x81, 0x8c, 0x9a, 0x20, 0xb9, 0x56, 0xdf, 0xd1, 0xb1, 0xaa, 0x5b, 0x1d, 0xac, 0x1a, 0xe6, 0xae, + 0xb5, 0x90, 0xa3, 0x0c, 0x16, 0x87, 0x3b, 0x42, 0x11, 0xeb, 0x56, 0x07, 0x37, 0xcd, 0x5d, 0x4b, + 0x29, 0xb9, 0x91, 0x6f, 0x74, 0x12, 0xd2, 0xee, 0xa1, 0xe9, 0x69, 0x07, 0x0b, 0x05, 0xaa, 0x21, + 0xfc, 0x8b, 0xa8, 0x0e, 0xee, 0x18, 0xa4, 0xba, 0x85, 0x22, 0x53, 0x1d, 0xfe, 0x29, 0xff, 0x62, + 0x1a, 0xca, 0xd3, 0x28, 0xdf, 0x15, 0x48, 0xed, 0x92, 0xfe, 0x2f, 0xc4, 0x8f, 0x23, 0x1d, 0x46, + 0x13, 0x15, 0x6f, 0xfa, 0x1e, 0xc5, 0x5b, 0x85, 0xbc, 0x89, 0x5d, 0x0f, 0x77, 0x98, 0xae, 0x24, + 0xa6, 0xd4, 0x36, 0x60, 0x44, 0xc3, 0xca, 0x96, 0xbc, 0x27, 0x65, 0x7b, 0x19, 0xca, 0x7e, 0x93, + 0x54, 0x47, 0x33, 0xf7, 0x84, 0xd6, 0x5e, 0x98, 0xd4, 0x92, 0xe5, 0x86, 0xa0, 0x53, 0x08, 0x99, + 0x52, 0xc2, 0x91, 0x6f, 0xb4, 0x0a, 0x60, 0x99, 0xd8, 0xda, 0x55, 0x3b, 0x58, 0xef, 0x2e, 0x64, + 0xc7, 0x48, 0x69, 0x93, 0xa0, 0x0c, 0x49, 0xc9, 0x62, 0x50, 0xbd, 0x8b, 0x9e, 0x0f, 0x94, 0x30, + 0x33, 0x46, 0x87, 0xd6, 0xd9, 0xf4, 0x1b, 0xd2, 0xc3, 0x6d, 0x28, 0x39, 0x98, 0xcc, 0x08, 0xdc, + 0xe1, 0x3d, 0xcb, 0xd1, 0x46, 0x2c, 0x4f, 0xec, 0x99, 0xc2, 0xc9, 0x58, 0xc7, 0x8a, 0x4e, 0xf8, + 0x13, 0x3d, 0x08, 0x3e, 0x40, 0xa5, 0x6a, 0x05, 0xd4, 0x3e, 0x15, 0x04, 0x70, 0x43, 0xeb, 0xe1, + 0xca, 0xeb, 0x50, 0x8a, 0x8a, 0x07, 0xcd, 0x43, 0xca, 0xf5, 0x34, 0xc7, 0xa3, 0x5a, 0x98, 0x52, + 0xd8, 0x07, 0x92, 0x20, 0x81, 0xcd, 0x0e, 0xb5, 0x7f, 0x29, 0x85, 0xfc, 0x44, 0x7f, 0x25, 0xe8, + 0x70, 0x82, 0x76, 0xf8, 0xe1, 0xe1, 0x11, 0x8d, 0x70, 0x1e, 0xec, 0x77, 0xe5, 0x59, 0x28, 0x46, + 0x3a, 0x30, 0x6d, 0xd5, 0xf2, 0x5f, 0x85, 0x13, 0x23, 0x59, 0xa3, 0x97, 0x61, 0xbe, 0x6f, 0x1a, + 0xa6, 0x87, 0x1d, 0xdb, 0xc1, 0x44, 0x63, 0x59, 0x55, 0x0b, 0x5f, 0xc8, 0x8c, 0xd1, 0xb9, 0xed, + 0x30, 0x36, 0xe3, 0xa2, 0xcc, 0xf5, 0x87, 0x81, 0xe7, 0x73, 0xd9, 0x2f, 0x66, 0xa4, 0x0f, 0x7c, + 0xe0, 0x03, 0x1f, 0x88, 0xcb, 0xbf, 0x9a, 0x86, 0xf9, 0x51, 0x73, 0x66, 0xe4, 0xf4, 0x3d, 0x09, + 0x69, 0xb3, 0xdf, 0xdb, 0xc1, 0x0e, 0x15, 0x52, 0x4a, 0xe1, 0x5f, 0xa8, 0x0a, 0xa9, 0xae, 0xb6, + 0x83, 0xbb, 0x0b, 0xc9, 0xa5, 0xd8, 0xb9, 0xd2, 0xc5, 0xc7, 0xa6, 0x9a, 0x95, 0xcb, 0x6b, 0x84, + 0x44, 0x61, 0x94, 0xe8, 0xdd, 0x90, 0xe4, 0xc6, 0x9b, 0x70, 0x38, 0x3f, 0x1d, 0x07, 0x32, 0x97, + 0x14, 0x4a, 0x87, 0xce, 0x40, 0x8e, 0xfc, 0xcf, 0x74, 0x23, 0x4d, 0xdb, 0x9c, 0x25, 0x00, 0xa2, + 0x17, 0xa8, 0x02, 0x59, 0x3a, 0x4d, 0x3a, 0x58, 0x2c, 0x7a, 0xfe, 0x37, 0x51, 0xac, 0x0e, 0xde, + 0xd5, 0xfa, 0x5d, 0x4f, 0xbd, 0xad, 0x75, 0xfb, 0x98, 0x2a, 0x7c, 0x4e, 0x29, 0x70, 0xe0, 0x4d, + 0x02, 0x43, 0x8b, 0x90, 0x67, 0xb3, 0xca, 0x30, 0x3b, 0xf8, 0x80, 0xda, 0xd5, 0x94, 0xc2, 0x26, + 0x5a, 0x93, 0x40, 0x48, 0xf5, 0xaf, 0xb9, 0x96, 0x29, 0x54, 0x93, 0x56, 0x41, 0x00, 0xb4, 0xfa, + 0x67, 0x07, 0x4d, 0xfa, 0xfd, 0xa3, 0xbb, 0x37, 0x34, 0x97, 0x1e, 0x81, 0x32, 0xc5, 0x78, 0x9a, + 0x0f, 0xbd, 0xd6, 0x5d, 0x98, 0x5d, 0x8a, 0x9d, 0xcb, 0x2a, 0x25, 0x06, 0xde, 0xe4, 0x50, 0xf9, + 0xe7, 0xe2, 0x90, 0xa4, 0x86, 0xa5, 0x0c, 0xf9, 0xf6, 0x2b, 0x5b, 0x0d, 0x75, 0x75, 0x73, 0xbb, + 0xb6, 0xd6, 0x90, 0x62, 0xa8, 0x04, 0x40, 0x01, 0x57, 0xd7, 0x36, 0xab, 0x6d, 0x29, 0xee, 0x7f, + 0x37, 0x37, 0xda, 0x97, 0x9f, 0x91, 0x12, 0x3e, 0xc1, 0x36, 0x03, 0x24, 0xc3, 0x08, 0x4f, 0x5f, + 0x94, 0x52, 0x48, 0x82, 0x02, 0x63, 0xd0, 0x7c, 0xb9, 0xb1, 0x7a, 0xf9, 0x19, 0x29, 0x1d, 0x85, + 0x3c, 0x7d, 0x51, 0xca, 0xa0, 0x22, 0xe4, 0x28, 0xa4, 0xb6, 0xb9, 0xb9, 0x26, 0x65, 0x7d, 0x9e, + 0xad, 0xb6, 0xd2, 0xdc, 0xb8, 0x26, 0xe5, 0x7c, 0x9e, 0xd7, 0x94, 0xcd, 0xed, 0x2d, 0x09, 0x7c, + 0x0e, 0xeb, 0x8d, 0x56, 0xab, 0x7a, 0xad, 0x21, 0xe5, 0x7d, 0x8c, 0xda, 0x2b, 0xed, 0x46, 0x4b, + 0x2a, 0x44, 0x9a, 0xf5, 0xf4, 0x45, 0xa9, 0xe8, 0x57, 0xd1, 0xd8, 0xd8, 0x5e, 0x97, 0x4a, 0x68, + 0x16, 0x8a, 0xac, 0x0a, 0xd1, 0x88, 0xf2, 0x00, 0xe8, 0xf2, 0x33, 0x92, 0x14, 0x34, 0x84, 0x71, + 0x99, 0x8d, 0x00, 0x2e, 0x3f, 0x23, 0x21, 0xb9, 0x0e, 0x29, 0xaa, 0x86, 0x08, 0x41, 0x69, 0xad, + 0x5a, 0x6b, 0xac, 0xa9, 0x9b, 0x5b, 0xed, 0xe6, 0xe6, 0x46, 0x75, 0x4d, 0x8a, 0x05, 0x30, 0xa5, + 0xf1, 0xd2, 0x76, 0x53, 0x69, 0xac, 0x4a, 0xf1, 0x30, 0x6c, 0xab, 0x51, 0x6d, 0x37, 0x56, 0xa5, + 0x84, 0xac, 0xc3, 0xfc, 0x28, 0x83, 0x3a, 0x72, 0x0a, 0x85, 0x74, 0x21, 0x3e, 0x46, 0x17, 0x28, + 0xaf, 0x41, 0x5d, 0x90, 0x3f, 0x1f, 0x87, 0xb9, 0x11, 0x8b, 0xca, 0xc8, 0x4a, 0x5e, 0x80, 0x14, + 0xd3, 0x65, 0xb6, 0xcc, 0x3e, 0x3a, 0x72, 0x75, 0xa2, 0x9a, 0x3d, 0xb4, 0xd4, 0x52, 0xba, 0xb0, + 0x13, 0x92, 0x18, 0xe3, 0x84, 0x10, 0x16, 0x43, 0x0a, 0xfb, 0xde, 0x21, 0xe3, 0xcf, 0xd6, 0xc7, + 0xcb, 0xd3, 0xac, 0x8f, 0x14, 0x76, 0xbc, 0x45, 0x20, 0x35, 0x62, 0x11, 0xb8, 0x02, 0xb3, 0x43, + 0x8c, 0xa6, 0x36, 0xc6, 0x1f, 0x8c, 0xc1, 0xc2, 0x38, 0xe1, 0x4c, 0x30, 0x89, 0xf1, 0x88, 0x49, + 0xbc, 0x32, 0x28, 0xc1, 0x07, 0xc6, 0x0f, 0xc2, 0xd0, 0x58, 0x7f, 0x32, 0x06, 0x27, 0x47, 0x3b, + 0x9b, 0x23, 0xdb, 0xf0, 0x6e, 0x48, 0xf7, 0xb0, 0xb7, 0x6f, 0x09, 0xb7, 0xea, 0xe1, 0x11, 0x8b, + 0x35, 0x29, 0x1e, 0x1c, 0x6c, 0x4e, 0x15, 0x5e, 0xed, 0x13, 0xe3, 0x3c, 0x46, 0xd6, 0x9a, 0xa1, + 0x96, 0x7e, 0x5b, 0x1c, 0x4e, 0x8c, 0x64, 0x3e, 0xb2, 0xa1, 0xf7, 0x03, 0x18, 0xa6, 0xdd, 0xf7, + 0x98, 0xeb, 0xc4, 0x2c, 0x71, 0x8e, 0x42, 0xa8, 0xf1, 0x22, 0x56, 0xb6, 0xef, 0xf9, 0xe5, 0x09, + 0x5a, 0x0e, 0x0c, 0x44, 0x11, 0x9e, 0x0b, 0x1a, 0x9a, 0xa4, 0x0d, 0x3d, 0x3b, 0xa6, 0xa7, 0x43, + 0x8a, 0xf9, 0x24, 0x48, 0x7a, 0xd7, 0xc0, 0xa6, 0xa7, 0xba, 0x9e, 0x83, 0xb5, 0x9e, 0x61, 0xee, + 0xd1, 0xa5, 0x26, 0xbb, 0x92, 0xda, 0xd5, 0xba, 0x2e, 0x56, 0xca, 0xac, 0xb8, 0x25, 0x4a, 0x09, + 0x05, 0x55, 0x20, 0x27, 0x44, 0x91, 0x8e, 0x50, 0xb0, 0x62, 0x9f, 0x42, 0xfe, 0xee, 0x1c, 0xe4, + 0x43, 0xae, 0x39, 0x7a, 0x00, 0x0a, 0xaf, 0x69, 0xb7, 0x35, 0x55, 0x84, 0x5b, 0x4c, 0x12, 0x79, + 0x02, 0xdb, 0xe2, 0x21, 0xd7, 0x93, 0x30, 0x4f, 0x51, 0xac, 0xbe, 0x87, 0x1d, 0x55, 0xef, 0x6a, + 0xae, 0x4b, 0x85, 0x96, 0xa5, 0xa8, 0x88, 0x94, 0x6d, 0x92, 0xa2, 0xba, 0x28, 0x41, 0x97, 0x60, + 0x8e, 0x52, 0xf4, 0xfa, 0x5d, 0xcf, 0xb0, 0xbb, 0x58, 0x25, 0x01, 0xa0, 0x4b, 0x97, 0x1c, 0xbf, + 0x65, 0xb3, 0x04, 0x63, 0x9d, 0x23, 0x90, 0x16, 0xb9, 0x68, 0x15, 0xee, 0xa7, 0x64, 0x7b, 0xd8, + 0xc4, 0x8e, 0xe6, 0x61, 0x15, 0xbf, 0xbf, 0xaf, 0x75, 0x5d, 0x55, 0x33, 0x3b, 0xea, 0xbe, 0xe6, + 0xee, 0x2f, 0xcc, 0x13, 0x06, 0xb5, 0xf8, 0x42, 0x4c, 0x39, 0x4d, 0x10, 0xaf, 0x71, 0xbc, 0x06, + 0x45, 0xab, 0x9a, 0x9d, 0xeb, 0x9a, 0xbb, 0x8f, 0x56, 0xe0, 0x24, 0xe5, 0xe2, 0x7a, 0x8e, 0x61, + 0xee, 0xa9, 0xfa, 0x3e, 0xd6, 0x6f, 0xa9, 0x7d, 0x6f, 0xf7, 0xb9, 0x85, 0x33, 0xe1, 0xfa, 0x69, + 0x0b, 0x5b, 0x14, 0xa7, 0x4e, 0x50, 0xb6, 0xbd, 0xdd, 0xe7, 0x50, 0x0b, 0x0a, 0x64, 0x30, 0x7a, + 0xc6, 0xeb, 0x58, 0xdd, 0xb5, 0x1c, 0xba, 0x86, 0x96, 0x46, 0x98, 0xa6, 0x90, 0x04, 0x97, 0x37, + 0x39, 0xc1, 0xba, 0xd5, 0xc1, 0x2b, 0xa9, 0xd6, 0x56, 0xa3, 0xb1, 0xaa, 0xe4, 0x05, 0x97, 0xab, + 0x96, 0x43, 0x14, 0x6a, 0xcf, 0xf2, 0x05, 0x9c, 0x67, 0x0a, 0xb5, 0x67, 0x09, 0xf1, 0x5e, 0x82, + 0x39, 0x5d, 0x67, 0x7d, 0x36, 0x74, 0x95, 0x87, 0x69, 0xee, 0x82, 0x14, 0x11, 0x96, 0xae, 0x5f, + 0x63, 0x08, 0x5c, 0xc7, 0x5d, 0xf4, 0x3c, 0x9c, 0x08, 0x84, 0x15, 0x26, 0x9c, 0x1d, 0xea, 0xe5, + 0x20, 0xe9, 0x25, 0x98, 0xb3, 0x0f, 0x87, 0x09, 0x51, 0xa4, 0x46, 0xfb, 0x70, 0x90, 0xec, 0x59, + 0x98, 0xb7, 0xf7, 0xed, 0x61, 0xba, 0xf3, 0x61, 0x3a, 0x64, 0xef, 0xdb, 0x83, 0x84, 0x0f, 0xd1, + 0x98, 0xdd, 0xc1, 0xba, 0xe6, 0xe1, 0xce, 0xc2, 0xa9, 0x30, 0x7a, 0xa8, 0x00, 0x2d, 0x83, 0xa4, + 0xeb, 0x2a, 0x36, 0xb5, 0x9d, 0x2e, 0x56, 0x35, 0x07, 0x9b, 0x9a, 0xbb, 0xb0, 0x48, 0x91, 0x93, + 0x9e, 0xd3, 0xc7, 0x4a, 0x49, 0xd7, 0x1b, 0xb4, 0xb0, 0x4a, 0xcb, 0xd0, 0x79, 0x98, 0xb5, 0x76, + 0x5e, 0xd3, 0x99, 0x46, 0xaa, 0xb6, 0x83, 0x77, 0x8d, 0x83, 0x85, 0x77, 0x50, 0xf1, 0x96, 0x49, + 0x01, 0xd5, 0xc7, 0x2d, 0x0a, 0x46, 0x8f, 0x82, 0xa4, 0xbb, 0xfb, 0x9a, 0x63, 0x53, 0x93, 0xec, + 0xda, 0x9a, 0x8e, 0x17, 0x1e, 0x62, 0xa8, 0x0c, 0xbe, 0x21, 0xc0, 0x64, 0x46, 0xb8, 0x77, 0x8c, + 0x5d, 0x4f, 0x70, 0x7c, 0x84, 0xcd, 0x08, 0x0a, 0xe3, 0xdc, 0xce, 0x81, 0x44, 0x24, 0x11, 0xa9, + 0xf8, 0x1c, 0x45, 0x2b, 0xd9, 0xfb, 0x76, 0xb8, 0xde, 0x07, 0xa1, 0x48, 0x30, 0x83, 0x4a, 0x1f, + 0x65, 0x8e, 0x9b, 0xbd, 0x1f, 0xaa, 0xf1, 0x19, 0x38, 0x49, 0x90, 0x7a, 0xd8, 0xd3, 0x3a, 0x9a, + 0xa7, 0x85, 0xb0, 0x1f, 0xa7, 0xd8, 0x44, 0xec, 0xeb, 0xbc, 0x30, 0xd2, 0x4e, 0xa7, 0xbf, 0x73, + 0xe8, 0x2b, 0xd6, 0x13, 0xac, 0x9d, 0x04, 0x26, 0x54, 0xeb, 0x6d, 0x73, 0xce, 0xe5, 0x15, 0x28, + 0x84, 0xf5, 0x1e, 0xe5, 0x80, 0x69, 0xbe, 0x14, 0x23, 0x4e, 0x50, 0x7d, 0x73, 0x95, 0xb8, 0x2f, + 0xaf, 0x36, 0xa4, 0x38, 0x71, 0xa3, 0xd6, 0x9a, 0xed, 0x86, 0xaa, 0x6c, 0x6f, 0xb4, 0x9b, 0xeb, + 0x0d, 0x29, 0x11, 0x72, 0xec, 0x6f, 0x24, 0xb3, 0x0f, 0x4b, 0x8f, 0xc8, 0xbf, 0x94, 0x80, 0x52, + 0x34, 0x52, 0x43, 0xef, 0x84, 0x53, 0x22, 0xe1, 0xe2, 0x62, 0x4f, 0xbd, 0x63, 0x38, 0x74, 0x42, + 0xf6, 0x34, 0xb6, 0x38, 0xfa, 0xfa, 0x33, 0xcf, 0xb1, 0x5a, 0xd8, 0x7b, 0x8f, 0xe1, 0x90, 0xe9, + 0xd6, 0xd3, 0x3c, 0xb4, 0x06, 0x8b, 0xa6, 0xa5, 0xba, 0x9e, 0x66, 0x76, 0x34, 0xa7, 0xa3, 0x06, + 0xa9, 0x2e, 0x55, 0xd3, 0x75, 0xec, 0xba, 0x16, 0x5b, 0x08, 0x7d, 0x2e, 0xf7, 0x99, 0x56, 0x8b, + 0x23, 0x07, 0x2b, 0x44, 0x95, 0xa3, 0x0e, 0xa8, 0x6f, 0x62, 0x9c, 0xfa, 0x9e, 0x81, 0x5c, 0x4f, + 0xb3, 0x55, 0x6c, 0x7a, 0xce, 0x21, 0xf5, 0xcf, 0xb3, 0x4a, 0xb6, 0xa7, 0xd9, 0x0d, 0xf2, 0x8d, + 0x6e, 0xc2, 0xc3, 0x01, 0xaa, 0xda, 0xc5, 0x7b, 0x9a, 0x7e, 0xa8, 0x52, 0x67, 0x9c, 0xa6, 0x0d, + 0x54, 0xdd, 0x32, 0x77, 0xbb, 0x86, 0xee, 0xb9, 0xd4, 0x3e, 0x30, 0x1b, 0x27, 0x07, 0x14, 0x6b, + 0x94, 0xe0, 0x86, 0x6b, 0x99, 0xd4, 0x07, 0xaf, 0x0b, 0xec, 0xaf, 0x4b, 0xf8, 0x75, 0x23, 0x99, + 0x4d, 0x4a, 0xa9, 0x1b, 0xc9, 0x6c, 0x4a, 0x4a, 0xdf, 0x48, 0x66, 0xd3, 0x52, 0xe6, 0x46, 0x32, + 0x9b, 0x95, 0x72, 0x37, 0x92, 0xd9, 0x9c, 0x04, 0xf2, 0xcf, 0x67, 0xa1, 0x10, 0x8e, 0x0c, 0x48, + 0xa0, 0xa5, 0xd3, 0xb5, 0x31, 0x46, 0xad, 0xe7, 0x83, 0x47, 0xc6, 0x11, 0xcb, 0x75, 0xb2, 0x68, + 0xae, 0xa4, 0x99, 0x1b, 0xae, 0x30, 0x4a, 0xe2, 0xb0, 0x10, 0xb5, 0xc6, 0xcc, 0xed, 0xc9, 0x2a, + 0xfc, 0x0b, 0x5d, 0x83, 0xf4, 0x6b, 0x2e, 0xe5, 0x9d, 0xa6, 0xbc, 0xdf, 0x71, 0x34, 0xef, 0x1b, + 0x2d, 0xca, 0x3c, 0x77, 0xa3, 0xa5, 0x6e, 0x6c, 0x2a, 0xeb, 0xd5, 0x35, 0x85, 0x93, 0xa3, 0xd3, + 0x90, 0xec, 0x6a, 0xaf, 0x1f, 0x46, 0x97, 0x57, 0x0a, 0x42, 0xcb, 0x50, 0xee, 0x9b, 0xb7, 0xb1, + 0x63, 0xec, 0x1a, 0x64, 0xa8, 0x08, 0x56, 0x39, 0x8c, 0x55, 0x0a, 0x4a, 0xd7, 0x08, 0xfe, 0x94, + 0xea, 0x71, 0x1a, 0x92, 0x77, 0xb0, 0x76, 0x2b, 0xba, 0x08, 0x52, 0x10, 0x3a, 0x07, 0x85, 0x0e, + 0xde, 0xe9, 0xef, 0xa9, 0x0e, 0xee, 0x68, 0xba, 0x17, 0x35, 0xfd, 0x79, 0x5a, 0xa4, 0xd0, 0x12, + 0xf4, 0x22, 0xe4, 0xc8, 0x18, 0x99, 0x74, 0x8c, 0x67, 0xa9, 0x08, 0x9e, 0x38, 0x5a, 0x04, 0x7c, + 0x88, 0x05, 0x91, 0x12, 0xd0, 0xa3, 0xab, 0x90, 0xf6, 0x34, 0x67, 0x0f, 0x7b, 0xd4, 0xf2, 0x97, + 0x46, 0x24, 0x3f, 0x46, 0x70, 0x6a, 0x53, 0x0a, 0x1a, 0xd3, 0x72, 0xea, 0xb7, 0xd1, 0xca, 0x5c, + 0x80, 0x14, 0x55, 0x0f, 0x04, 0xc0, 0x15, 0x44, 0x9a, 0x41, 0x59, 0x48, 0xd6, 0x37, 0x15, 0x62, + 0x69, 0x24, 0x28, 0x30, 0xa8, 0xba, 0xd5, 0x6c, 0xd4, 0x1b, 0x52, 0x5c, 0xbe, 0x04, 0x69, 0x36, + 0xe6, 0xc4, 0x0a, 0xf9, 0xa3, 0x2e, 0xcd, 0xf0, 0x4f, 0xce, 0x23, 0x26, 0x4a, 0xb7, 0xd7, 0x6b, + 0x0d, 0x45, 0x8a, 0xcb, 0xdb, 0x50, 0x1e, 0x90, 0x13, 0x3a, 0x01, 0xb3, 0x4a, 0xa3, 0xdd, 0xd8, + 0x20, 0x71, 0x96, 0xba, 0xbd, 0xf1, 0xe2, 0xc6, 0xe6, 0x7b, 0x36, 0xa4, 0x99, 0x28, 0x58, 0x98, + 0xb4, 0x18, 0x9a, 0x07, 0x29, 0x00, 0xb7, 0x36, 0xb7, 0x15, 0xda, 0x9a, 0xef, 0x88, 0x83, 0x34, + 0x28, 0x35, 0x74, 0x0a, 0xe6, 0xda, 0x55, 0xe5, 0x5a, 0xa3, 0xad, 0xb2, 0xd8, 0xd1, 0x67, 0x3d, + 0x0f, 0x52, 0xb8, 0xe0, 0x6a, 0x93, 0x86, 0xc6, 0x8b, 0x70, 0x26, 0x0c, 0x6d, 0xbc, 0xdc, 0x6e, + 0x6c, 0xb4, 0x68, 0xe5, 0xd5, 0x8d, 0x6b, 0xc4, 0xbe, 0x0e, 0xf0, 0x13, 0xd1, 0x6a, 0x82, 0x34, + 0x35, 0xca, 0xaf, 0xb1, 0xb6, 0x2a, 0x25, 0x07, 0xc1, 0x9b, 0x1b, 0x8d, 0xcd, 0xab, 0x52, 0x6a, + 0xb0, 0x76, 0x1a, 0xc1, 0xa6, 0x51, 0x05, 0x4e, 0x0e, 0x42, 0xd5, 0xc6, 0x46, 0x5b, 0x79, 0x45, + 0xca, 0x0c, 0x56, 0xdc, 0x6a, 0x28, 0x37, 0x9b, 0xf5, 0x86, 0x94, 0x45, 0x27, 0x01, 0x45, 0x5b, + 0xd4, 0xbe, 0xbe, 0xb9, 0x2a, 0xe5, 0x86, 0x2c, 0x8a, 0xec, 0x42, 0x21, 0x1c, 0x46, 0x7e, 0x7d, + 0x72, 0x49, 0x1f, 0x89, 0x43, 0x3e, 0x14, 0x16, 0x12, 0x7f, 0x5e, 0xeb, 0x76, 0xad, 0x3b, 0xaa, + 0xd6, 0x35, 0x34, 0x97, 0xdb, 0x1b, 0xa0, 0xa0, 0x2a, 0x81, 0x4c, 0x3b, 0xbf, 0xa7, 0xb7, 0xf0, + 0xe9, 0x3f, 0x8f, 0x16, 0x3e, 0x25, 0xa5, 0xe5, 0x1f, 0x8a, 0x81, 0x34, 0x18, 0xef, 0x0d, 0x74, + 0x3f, 0x36, 0xae, 0xfb, 0x5f, 0x97, 0xb1, 0xfb, 0x58, 0x0c, 0x4a, 0xd1, 0x20, 0x6f, 0xa0, 0x79, + 0x0f, 0xfc, 0x99, 0x36, 0xef, 0xb7, 0xe3, 0x50, 0x8c, 0x84, 0x76, 0xd3, 0xb6, 0xee, 0xfd, 0x30, + 0x6b, 0x74, 0x70, 0xcf, 0xb6, 0x3c, 0x6c, 0xea, 0x87, 0x6a, 0x17, 0xdf, 0xc6, 0xdd, 0x05, 0x99, + 0x1a, 0xe5, 0x0b, 0x47, 0x07, 0x8f, 0xcb, 0xcd, 0x80, 0x6e, 0x8d, 0x90, 0xad, 0xcc, 0x35, 0x57, + 0x1b, 0xeb, 0x5b, 0x9b, 0xed, 0xc6, 0x46, 0xfd, 0x15, 0x61, 0x5d, 0x14, 0xc9, 0x18, 0x40, 0x7b, + 0x1b, 0x8d, 0xf6, 0x16, 0x48, 0x83, 0x8d, 0x22, 0xb6, 0x62, 0x44, 0xb3, 0xa4, 0x19, 0x34, 0x07, + 0xe5, 0x8d, 0x4d, 0xb5, 0xd5, 0x5c, 0x6d, 0xa8, 0x8d, 0xab, 0x57, 0x1b, 0xf5, 0x76, 0x8b, 0xa5, + 0x03, 0x7d, 0xec, 0xb6, 0x14, 0x0f, 0x8b, 0xf8, 0x07, 0x13, 0x30, 0x37, 0xa2, 0x25, 0xa8, 0xca, + 0x03, 0x79, 0x96, 0x5b, 0x78, 0x62, 0x9a, 0xd6, 0x2f, 0x13, 0x57, 0x7a, 0x4b, 0x73, 0x3c, 0x1e, + 0xf7, 0x3f, 0x0a, 0x44, 0x4a, 0xa6, 0x47, 0x56, 0x76, 0x87, 0xa7, 0x59, 0x59, 0x74, 0x5f, 0x0e, + 0xe0, 0x2c, 0xd3, 0xfa, 0x38, 0x20, 0xdb, 0x72, 0x0d, 0xcf, 0xb8, 0x8d, 0x55, 0xc3, 0x14, 0x39, + 0x59, 0x12, 0xed, 0x27, 0x15, 0x49, 0x94, 0x34, 0x4d, 0xcf, 0xc7, 0x36, 0xf1, 0x9e, 0x36, 0x80, + 0x4d, 0x3c, 0x8f, 0x84, 0x22, 0x89, 0x12, 0x1f, 0xfb, 0x01, 0x28, 0x74, 0xac, 0x3e, 0x09, 0x81, + 0x18, 0x1e, 0xb1, 0x16, 0x31, 0x25, 0xcf, 0x60, 0x3e, 0x0a, 0x0f, 0x6e, 0x83, 0x64, 0x70, 0x41, + 0xc9, 0x33, 0x18, 0x43, 0x79, 0x04, 0xca, 0xda, 0xde, 0x9e, 0x43, 0x98, 0x0b, 0x46, 0x2c, 0x5c, + 0x2f, 0xf9, 0x60, 0x8a, 0x58, 0xb9, 0x01, 0x59, 0x21, 0x07, 0xe2, 0xc1, 0x12, 0x49, 0xa8, 0x36, + 0xcb, 0x41, 0xc5, 0xcf, 0xe5, 0x94, 0xac, 0x29, 0x0a, 0x1f, 0x80, 0x82, 0xe1, 0xaa, 0xc1, 0xde, + 0x56, 0x7c, 0x29, 0x7e, 0x2e, 0xab, 0xe4, 0x0d, 0xd7, 0xdf, 0x17, 0x90, 0x3f, 0x19, 0x87, 0x52, + 0x74, 0xd7, 0x0e, 0xad, 0x42, 0xb6, 0x6b, 0xe9, 0x1a, 0x55, 0x2d, 0xb6, 0x65, 0x7c, 0x6e, 0xc2, + 0x46, 0xdf, 0xf2, 0x1a, 0xc7, 0x57, 0x7c, 0xca, 0xca, 0xbf, 0x8d, 0x41, 0x56, 0x80, 0xd1, 0x49, + 0x48, 0xda, 0x9a, 0xb7, 0x4f, 0xd9, 0xa5, 0x6a, 0x71, 0x29, 0xa6, 0xd0, 0x6f, 0x02, 0x77, 0x6d, + 0xcd, 0xa4, 0x2a, 0xc0, 0xe1, 0xe4, 0x9b, 0x8c, 0x6b, 0x17, 0x6b, 0x1d, 0x9a, 0x0b, 0xb0, 0x7a, + 0x3d, 0x6c, 0x7a, 0xae, 0x18, 0x57, 0x0e, 0xaf, 0x73, 0x30, 0x7a, 0x0c, 0x66, 0x3d, 0x47, 0x33, + 0xba, 0x11, 0xdc, 0x24, 0xc5, 0x95, 0x44, 0x81, 0x8f, 0xbc, 0x02, 0xa7, 0x05, 0xdf, 0x0e, 0xf6, + 0x34, 0x7d, 0x1f, 0x77, 0x02, 0xa2, 0x34, 0xcd, 0xf9, 0x9d, 0xe2, 0x08, 0xab, 0xbc, 0x5c, 0xd0, + 0xca, 0x9f, 0x8d, 0xc3, 0xac, 0xc8, 0x5e, 0x74, 0x7c, 0x61, 0xad, 0x03, 0x68, 0xa6, 0x69, 0x79, + 0x61, 0x71, 0x0d, 0xab, 0xf2, 0x10, 0xdd, 0x72, 0xd5, 0x27, 0x52, 0x42, 0x0c, 0x2a, 0xbf, 0x17, + 0x03, 0x08, 0x8a, 0xc6, 0xca, 0x6d, 0x11, 0xf2, 0x7c, 0x4f, 0x96, 0x6e, 0xec, 0xb3, 0x84, 0x17, + 0x30, 0xd0, 0x55, 0xa3, 0x4b, 0xd3, 0x92, 0x3b, 0x78, 0xcf, 0x30, 0xf9, 0x7e, 0x0a, 0xfb, 0x10, + 0x69, 0xc9, 0x64, 0xb0, 0x3d, 0xa5, 0x40, 0xd6, 0xc5, 0x3d, 0xcd, 0xf4, 0x0c, 0x9d, 0xef, 0x90, + 0x5c, 0x3e, 0x56, 0xe3, 0x97, 0x5b, 0x9c, 0x5a, 0xf1, 0xf9, 0xc8, 0xe7, 0x20, 0x2b, 0xa0, 0xc4, + 0xf1, 0xdb, 0xd8, 0xdc, 0x68, 0x48, 0x33, 0x28, 0x03, 0x89, 0x56, 0xa3, 0x2d, 0xc5, 0x48, 0xd8, + 0x59, 0x5d, 0x6b, 0x56, 0x5b, 0x52, 0xbc, 0xf6, 0xd7, 0x60, 0x4e, 0xb7, 0x7a, 0x83, 0x15, 0xd6, + 0xa4, 0x81, 0x94, 0x9f, 0x7b, 0x3d, 0xf6, 0xea, 0x13, 0x1c, 0x69, 0xcf, 0xea, 0x6a, 0xe6, 0xde, + 0xb2, 0xe5, 0xec, 0x05, 0xc7, 0x22, 0x48, 0x74, 0xe0, 0x86, 0x0e, 0x47, 0xd8, 0x3b, 0x7f, 0x1a, + 0x8b, 0xfd, 0x48, 0x3c, 0x71, 0x6d, 0xab, 0xf6, 0x93, 0xf1, 0xca, 0x35, 0x46, 0xb8, 0x25, 0xba, + 0xa3, 0xe0, 0xdd, 0x2e, 0xd6, 0x49, 0xe3, 0xe1, 0xf7, 0x1f, 0x83, 0xf9, 0x3d, 0x6b, 0xcf, 0xa2, + 0x9c, 0x2e, 0x90, 0x5f, 0xfc, 0x5c, 0x45, 0xce, 0x87, 0x56, 0x26, 0x1e, 0xc2, 0x58, 0xd9, 0x80, + 0x39, 0x8e, 0xac, 0xd2, 0xed, 0x5b, 0x96, 0x5c, 0x40, 0x47, 0x66, 0xb6, 0x17, 0x7e, 0xfa, 0x77, + 0xa9, 0x57, 0xa2, 0xcc, 0x72, 0x52, 0x52, 0xc6, 0xf2, 0x0f, 0x2b, 0x0a, 0x9c, 0x88, 0xf0, 0x63, + 0x36, 0x02, 0x3b, 0x13, 0x38, 0xfe, 0x0b, 0xce, 0x71, 0x2e, 0xc4, 0xb1, 0xc5, 0x49, 0x57, 0xea, + 0x50, 0x3c, 0x0e, 0xaf, 0x7f, 0xc9, 0x79, 0x15, 0x70, 0x98, 0xc9, 0x35, 0x28, 0x53, 0x26, 0x7a, + 0xdf, 0xf5, 0xac, 0x1e, 0x35, 0xc0, 0x47, 0xb3, 0xf9, 0x57, 0xbf, 0xcb, 0x26, 0x6d, 0x89, 0x90, + 0xd5, 0x7d, 0xaa, 0x95, 0x15, 0xa0, 0x3b, 0xd6, 0x1d, 0xac, 0x77, 0x27, 0x70, 0xf8, 0x0c, 0x6f, + 0x88, 0x8f, 0xbf, 0x72, 0x13, 0xe6, 0xc9, 0x6f, 0x6a, 0x1f, 0xc3, 0x2d, 0x99, 0x9c, 0x06, 0x5f, + 0xf8, 0x77, 0x1f, 0x64, 0x76, 0x61, 0xce, 0x67, 0x10, 0x6a, 0x53, 0x68, 0x14, 0xf7, 0xb0, 0xe7, + 0x61, 0xc7, 0x55, 0xb5, 0xee, 0xa8, 0xe6, 0x85, 0xf2, 0x88, 0x0b, 0x3f, 0xf0, 0xe5, 0xe8, 0x28, + 0x5e, 0x63, 0x94, 0xd5, 0x6e, 0x77, 0x65, 0x1b, 0x4e, 0x8d, 0xd0, 0x8a, 0x29, 0x78, 0xfe, 0x20, + 0xe7, 0x39, 0x3f, 0xa4, 0x19, 0x84, 0xed, 0x16, 0x08, 0xb8, 0x3f, 0x96, 0x53, 0xf0, 0xfc, 0x28, + 0xe7, 0x89, 0x38, 0xad, 0x18, 0x52, 0xc2, 0xf1, 0x06, 0xcc, 0xde, 0xc6, 0xce, 0x8e, 0xe5, 0xf2, + 0xdc, 0xed, 0x14, 0xec, 0x3e, 0xc6, 0xd9, 0x95, 0x39, 0x21, 0x4d, 0xe6, 0x12, 0x5e, 0xcf, 0x43, + 0x76, 0x57, 0xd3, 0xf1, 0x14, 0x2c, 0xee, 0x72, 0x16, 0x19, 0x82, 0x4f, 0x48, 0xab, 0x50, 0xd8, + 0xb3, 0xf8, 0x12, 0x39, 0x99, 0xfc, 0x87, 0x38, 0x79, 0x5e, 0xd0, 0x70, 0x16, 0xb6, 0x65, 0xf7, + 0xbb, 0x64, 0xfd, 0x9c, 0xcc, 0xe2, 0x87, 0x05, 0x0b, 0x41, 0xc3, 0x59, 0x1c, 0x43, 0xac, 0x1f, + 0x17, 0x2c, 0xdc, 0x90, 0x3c, 0x5f, 0x80, 0xbc, 0x65, 0x76, 0x0f, 0x2d, 0x73, 0x9a, 0x46, 0x7c, + 0x82, 0x73, 0x00, 0x4e, 0x42, 0x18, 0x5c, 0x81, 0xdc, 0xb4, 0x03, 0xf1, 0x63, 0x5f, 0x16, 0xd3, + 0x43, 0x8c, 0xc0, 0x35, 0x28, 0x0b, 0x03, 0x65, 0x58, 0xe6, 0x14, 0x2c, 0x7e, 0x9c, 0xb3, 0x28, + 0x85, 0xc8, 0x78, 0x37, 0x3c, 0xec, 0x7a, 0x7b, 0x78, 0x1a, 0x26, 0x9f, 0x14, 0xdd, 0xe0, 0x24, + 0x5c, 0x94, 0x3b, 0xd8, 0xd4, 0xf7, 0xa7, 0xe3, 0xf0, 0x29, 0x21, 0x4a, 0x41, 0x43, 0x58, 0xd4, + 0xa1, 0xd8, 0xd3, 0x1c, 0x77, 0x5f, 0xeb, 0x4e, 0x35, 0x1c, 0x3f, 0xc1, 0x79, 0x14, 0x7c, 0x22, + 0x2e, 0x91, 0xbe, 0x79, 0x1c, 0x36, 0x3f, 0x29, 0x24, 0x12, 0x22, 0xe3, 0x53, 0xcf, 0xf5, 0x68, + 0xa2, 0xfb, 0x38, 0xdc, 0xfe, 0xae, 0x98, 0x7a, 0x8c, 0x76, 0x3d, 0xcc, 0xf1, 0x0a, 0xe4, 0x5c, + 0xe3, 0xf5, 0xa9, 0xd8, 0xfc, 0x3d, 0x31, 0xd2, 0x94, 0x80, 0x10, 0xbf, 0x02, 0xa7, 0x47, 0x2e, + 0x13, 0x53, 0x30, 0xfb, 0xfb, 0x9c, 0xd9, 0xc9, 0x11, 0x4b, 0x05, 0x37, 0x09, 0xc7, 0x65, 0xf9, + 0x0f, 0x84, 0x49, 0xc0, 0x03, 0xbc, 0xb6, 0x48, 0xd0, 0xe2, 0x6a, 0xbb, 0xc7, 0x93, 0xda, 0x3f, + 0x14, 0x52, 0x63, 0xb4, 0x11, 0xa9, 0xb5, 0xe1, 0x24, 0xe7, 0x78, 0xbc, 0x71, 0xfd, 0x29, 0x61, + 0x58, 0x19, 0xf5, 0x76, 0x74, 0x74, 0xbf, 0x01, 0x2a, 0xbe, 0x38, 0x85, 0x77, 0xec, 0xaa, 0x3d, + 0xcd, 0x9e, 0x82, 0xf3, 0x4f, 0x73, 0xce, 0xc2, 0xe2, 0xfb, 0xee, 0xb5, 0xbb, 0xae, 0xd9, 0x84, + 0xf9, 0xcb, 0xb0, 0x20, 0x98, 0xf7, 0x4d, 0x07, 0xeb, 0xd6, 0x9e, 0x69, 0xbc, 0x8e, 0x3b, 0x53, + 0xb0, 0xfe, 0x99, 0x81, 0xa1, 0xda, 0x0e, 0x91, 0x13, 0xce, 0x4d, 0x90, 0x7c, 0x5f, 0x45, 0x35, + 0x7a, 0xb6, 0xe5, 0x78, 0x13, 0x38, 0xfe, 0xac, 0x18, 0x29, 0x9f, 0xae, 0x49, 0xc9, 0x56, 0x1a, + 0xc0, 0x4e, 0x7f, 0x4c, 0xab, 0x92, 0x9f, 0xe6, 0x8c, 0x8a, 0x01, 0x15, 0x37, 0x1c, 0xba, 0xd5, + 0xb3, 0x35, 0x67, 0x1a, 0xfb, 0xf7, 0x8f, 0x84, 0xe1, 0xe0, 0x24, 0xdc, 0x70, 0x10, 0x8f, 0x8e, + 0xac, 0xf6, 0x53, 0x70, 0xf8, 0x39, 0x61, 0x38, 0x04, 0x0d, 0x67, 0x21, 0x1c, 0x86, 0x29, 0x58, + 0xfc, 0xbc, 0x60, 0x21, 0x68, 0x08, 0x8b, 0x97, 0x82, 0x85, 0xd6, 0xc1, 0x7b, 0x86, 0xeb, 0x39, + 0xcc, 0x25, 0x3f, 0x9a, 0xd5, 0x2f, 0x7c, 0x39, 0xea, 0x84, 0x29, 0x21, 0x52, 0x62, 0x89, 0xf8, + 0xd6, 0x07, 0x0d, 0xd9, 0x26, 0x37, 0xec, 0x17, 0x85, 0x25, 0x0a, 0x91, 0x91, 0xb6, 0x85, 0x3c, + 0x44, 0x22, 0x76, 0x9d, 0x04, 0x2a, 0x53, 0xb0, 0xfb, 0xc7, 0x03, 0x8d, 0x6b, 0x09, 0x5a, 0xc2, + 0x33, 0xe4, 0xff, 0xf4, 0xcd, 0x5b, 0xf8, 0x70, 0x2a, 0xed, 0xfc, 0xa5, 0x01, 0xff, 0x67, 0x9b, + 0x51, 0x32, 0x1b, 0x52, 0x1e, 0xf0, 0xa7, 0xd0, 0xa4, 0xb3, 0x7e, 0x0b, 0xdf, 0xfc, 0x15, 0xde, + 0xdf, 0xa8, 0x3b, 0xb5, 0xb2, 0x46, 0x94, 0x3c, 0xea, 0xf4, 0x4c, 0x66, 0xf6, 0xc1, 0xaf, 0xf8, + 0x7a, 0x1e, 0xf1, 0x79, 0x56, 0xae, 0x42, 0x31, 0xe2, 0xf0, 0x4c, 0x66, 0xf5, 0x2d, 0x9c, 0x55, + 0x21, 0xec, 0xef, 0xac, 0x5c, 0x82, 0x24, 0x71, 0x5e, 0x26, 0x93, 0x7f, 0x2b, 0x27, 0xa7, 0xe8, + 0x2b, 0xef, 0x82, 0xac, 0x70, 0x5a, 0x26, 0x93, 0xfe, 0x0d, 0x4e, 0xea, 0x93, 0x10, 0x72, 0xe1, + 0xb0, 0x4c, 0x26, 0xff, 0x9b, 0x82, 0x5c, 0x90, 0x10, 0xf2, 0xe9, 0x45, 0xf8, 0x2b, 0xdf, 0x9e, + 0xe4, 0x8b, 0x8e, 0x90, 0xdd, 0x15, 0xc8, 0x70, 0x4f, 0x65, 0x32, 0xf5, 0xb7, 0xf1, 0xca, 0x05, + 0xc5, 0xca, 0xb3, 0x90, 0x9a, 0x52, 0xe0, 0xdf, 0xc9, 0x49, 0x19, 0xfe, 0x4a, 0x1d, 0xf2, 0x21, + 0xef, 0x64, 0x32, 0xf9, 0x77, 0x71, 0xf2, 0x30, 0x15, 0x69, 0x3a, 0xf7, 0x4e, 0x26, 0x33, 0xf8, + 0x5b, 0xa2, 0xe9, 0x9c, 0x82, 0x88, 0x4d, 0x38, 0x26, 0x93, 0xa9, 0x3f, 0x2c, 0xa4, 0x2e, 0x48, + 0x56, 0x5e, 0x80, 0x9c, 0xbf, 0xd8, 0x4c, 0xa6, 0xff, 0x6e, 0x4e, 0x1f, 0xd0, 0x10, 0x09, 0x84, + 0x16, 0xbb, 0xc9, 0x2c, 0xfe, 0xb6, 0x90, 0x40, 0x88, 0x8a, 0x4c, 0xa3, 0x41, 0x07, 0x66, 0x32, + 0xa7, 0xef, 0x11, 0xd3, 0x68, 0xc0, 0x7f, 0x21, 0xa3, 0x49, 0x6d, 0xfe, 0x64, 0x16, 0xdf, 0x2b, + 0x46, 0x93, 0xe2, 0x93, 0x66, 0x0c, 0x7a, 0x04, 0x93, 0x79, 0x7c, 0xbf, 0x68, 0xc6, 0x80, 0x43, + 0xb0, 0xb2, 0x05, 0x68, 0xd8, 0x1b, 0x98, 0xcc, 0xef, 0x23, 0x9c, 0xdf, 0xec, 0x90, 0x33, 0xb0, + 0xf2, 0x1e, 0x38, 0x39, 0xda, 0x13, 0x98, 0xcc, 0xf5, 0x07, 0xbe, 0x32, 0x10, 0xbb, 0x85, 0x1d, + 0x81, 0x95, 0x76, 0xb0, 0xa4, 0x84, 0xbd, 0x80, 0xc9, 0x6c, 0x7f, 0xf0, 0x2b, 0x51, 0xc3, 0x1d, + 0x76, 0x02, 0x56, 0xaa, 0x00, 0xc1, 0x02, 0x3c, 0x99, 0xd7, 0xc7, 0x38, 0xaf, 0x10, 0x11, 0x99, + 0x1a, 0x7c, 0xfd, 0x9d, 0x4c, 0x7f, 0x57, 0x4c, 0x0d, 0x4e, 0x41, 0xa6, 0x86, 0x58, 0x7a, 0x27, + 0x53, 0xff, 0x90, 0x98, 0x1a, 0x82, 0x84, 0x68, 0x76, 0x68, 0x75, 0x9b, 0xcc, 0xe1, 0x13, 0x42, + 0xb3, 0x43, 0x54, 0x2b, 0x1b, 0x30, 0x3b, 0xb4, 0x20, 0x4e, 0x66, 0xf5, 0x23, 0x9c, 0x95, 0x34, + 0xb8, 0x1e, 0x86, 0x17, 0x2f, 0xbe, 0x18, 0x4e, 0xe6, 0xf6, 0xa3, 0x03, 0x8b, 0x17, 0x5f, 0x0b, + 0x57, 0xae, 0x40, 0xd6, 0xec, 0x77, 0xbb, 0x64, 0xf2, 0xa0, 0xa3, 0xcf, 0xe7, 0x2e, 0xfc, 0xd7, + 0xaf, 0x72, 0xe9, 0x08, 0x82, 0x95, 0x4b, 0x90, 0xc2, 0xbd, 0x1d, 0xdc, 0x99, 0x44, 0xf9, 0xa5, + 0xaf, 0x0a, 0x83, 0x49, 0xb0, 0x57, 0x5e, 0x00, 0x60, 0xa9, 0x11, 0xba, 0x71, 0x3e, 0x81, 0xf6, + 0xf7, 0xbe, 0xca, 0x0f, 0xc4, 0x05, 0x24, 0x01, 0x03, 0x76, 0xbc, 0xee, 0x68, 0x06, 0x5f, 0x8e, + 0x32, 0xa0, 0x23, 0xf2, 0x3c, 0x64, 0x5e, 0x73, 0x2d, 0xd3, 0xd3, 0xf6, 0x26, 0x51, 0xff, 0x3e, + 0xa7, 0x16, 0xf8, 0x44, 0x60, 0x3d, 0xcb, 0xc1, 0x9e, 0xb6, 0xe7, 0x4e, 0xa2, 0xfd, 0x6f, 0x9c, + 0xd6, 0x27, 0x20, 0xc4, 0xba, 0xe6, 0x7a, 0xd3, 0xf4, 0xfb, 0xbf, 0x0b, 0x62, 0x41, 0x40, 0x1a, + 0x4d, 0x7e, 0xdf, 0xc2, 0x87, 0x93, 0x68, 0xff, 0x40, 0x34, 0x9a, 0xe3, 0xaf, 0xbc, 0x0b, 0x72, + 0xe4, 0x27, 0x3b, 0xe5, 0x3a, 0x81, 0xf8, 0x0f, 0x39, 0x71, 0x40, 0x41, 0x6a, 0x76, 0xbd, 0x8e, + 0x67, 0x4c, 0x16, 0xf6, 0x1f, 0xf1, 0x91, 0x16, 0xf8, 0x2b, 0x55, 0xc8, 0xbb, 0x5e, 0xa7, 0xd3, + 0xe7, 0xfe, 0xe9, 0x04, 0xf2, 0x3f, 0xfe, 0xaa, 0x9f, 0xb2, 0xf0, 0x69, 0xc8, 0x68, 0xdf, 0xb9, + 0xe5, 0xd9, 0x16, 0xdd, 0x6f, 0x99, 0xc4, 0xe1, 0x2b, 0x9c, 0x43, 0x88, 0x64, 0xa5, 0x0e, 0x05, + 0xd2, 0x17, 0x07, 0xdb, 0x98, 0x6e, 0x8e, 0x4d, 0x60, 0xf1, 0x27, 0x5c, 0x00, 0x11, 0xa2, 0xda, + 0x37, 0x7d, 0xe6, 0x73, 0x67, 0x63, 0x9f, 0xfd, 0xdc, 0xd9, 0xd8, 0x6f, 0x7f, 0xee, 0x6c, 0xec, + 0xc3, 0x9f, 0x3f, 0x3b, 0xf3, 0xd9, 0xcf, 0x9f, 0x9d, 0xf9, 0xcd, 0xcf, 0x9f, 0x9d, 0x19, 0x9d, + 0x25, 0x86, 0x6b, 0xd6, 0x35, 0x8b, 0xe5, 0x87, 0x5f, 0x7d, 0x68, 0xcf, 0xf0, 0xf6, 0xfb, 0x3b, + 0xcb, 0xba, 0xd5, 0xbb, 0xa0, 0x5b, 0x6e, 0xcf, 0x72, 0x2f, 0x44, 0xf3, 0xba, 0xf4, 0x17, 0xfc, + 0xef, 0x18, 0x89, 0x99, 0xa3, 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0x77, 0x99, 0xee, 0x32, 0x24, 0xaa, + 0xe6, 0x21, 0x3a, 0xcd, 0x0c, 0x9c, 0xda, 0x77, 0xba, 0xfc, 0xa8, 0x65, 0x86, 0x7c, 0x6f, 0x3b, + 0x5d, 0x34, 0x1f, 0x9c, 0x87, 0x8e, 0x9d, 0x2b, 0xf0, 0x43, 0xce, 0xb5, 0xef, 0x8a, 0x1d, 0xaf, + 0x27, 0xd9, 0xaa, 0x79, 0x48, 0x3b, 0xb2, 0x15, 0x7b, 0xf5, 0xf1, 0x89, 0x79, 0xee, 0x5b, 0xa6, + 0x75, 0xc7, 0x24, 0xcd, 0xb6, 0x77, 0x44, 0x8e, 0xfb, 0xec, 0x60, 0x8e, 0xfb, 0x3d, 0xb8, 0xdb, + 0x7d, 0x91, 0xe0, 0xb5, 0x09, 0xc9, 0x4e, 0x9a, 0x9d, 0xea, 0x87, 0xef, 0x89, 0xc3, 0xd9, 0xa1, + 0x74, 0x36, 0x57, 0x82, 0x71, 0x42, 0x58, 0x81, 0xec, 0xaa, 0xd0, 0xad, 0x05, 0xc8, 0xb8, 0x58, + 0xb7, 0xcc, 0x8e, 0x4b, 0x05, 0x91, 0x50, 0xc4, 0x27, 0x11, 0x84, 0xa9, 0x99, 0x96, 0xcb, 0x0f, + 0x2b, 0xb3, 0x8f, 0xda, 0x47, 0x8f, 0x29, 0x88, 0xa2, 0xa8, 0x49, 0x48, 0xe3, 0xa9, 0x29, 0xa5, + 0x21, 0x3a, 0x11, 0xc9, 0xfc, 0x4f, 0x2b, 0x95, 0xef, 0x8f, 0xc3, 0xe2, 0xa0, 0x54, 0xc8, 0xcc, + 0x72, 0x3d, 0xad, 0x67, 0x8f, 0x13, 0xcb, 0x15, 0xc8, 0xb5, 0x05, 0xce, 0xb1, 0xe5, 0x72, 0xf7, + 0x98, 0x72, 0x29, 0xf9, 0x55, 0x09, 0xc1, 0x5c, 0x9c, 0x52, 0x30, 0x7e, 0x3f, 0xee, 0x49, 0x32, + 0xff, 0x2b, 0x0d, 0xa7, 0xd9, 0x74, 0x52, 0xd9, 0x54, 0x62, 0x1f, 0x5c, 0x26, 0x85, 0x70, 0xd1, + 0xe4, 0x7d, 0x12, 0xf9, 0x45, 0x98, 0x6b, 0x12, 0x6b, 0x41, 0xa2, 0xa0, 0x60, 0x87, 0x67, 0xe4, + 0x79, 0xee, 0xa5, 0x88, 0xc3, 0xcf, 0xf7, 0xb7, 0xc2, 0x20, 0xf9, 0x9b, 0x63, 0x20, 0xb5, 0x74, + 0xad, 0xab, 0x39, 0x5f, 0x2b, 0x2b, 0xf4, 0x2c, 0x00, 0x3b, 0xee, 0xe1, 0x5f, 0xdc, 0x2b, 0x5d, + 0x5c, 0x58, 0x0e, 0x77, 0x6e, 0x99, 0xd5, 0x44, 0x4f, 0x50, 0xe5, 0x28, 0x2e, 0xf9, 0x79, 0xfe, + 0x65, 0x80, 0xa0, 0x00, 0x9d, 0x81, 0x53, 0xad, 0x7a, 0x75, 0xad, 0xaa, 0x88, 0x43, 0x42, 0xad, + 0xad, 0x46, 0xbd, 0x79, 0xb5, 0xd9, 0x58, 0x95, 0x66, 0xd0, 0x49, 0x40, 0xe1, 0x42, 0xff, 0x50, + 0xd3, 0x09, 0x98, 0x0d, 0xc3, 0xd9, 0x2d, 0x95, 0x38, 0xf1, 0x14, 0x8d, 0x9e, 0xdd, 0xc5, 0x74, + 0xe7, 0x51, 0x35, 0x84, 0xd4, 0x26, 0x3b, 0x21, 0xbf, 0xf6, 0xef, 0xd9, 0xcd, 0x85, 0xb9, 0x80, + 0xdc, 0x97, 0xf9, 0xca, 0x1a, 0xcc, 0x6a, 0xba, 0x8e, 0xed, 0x08, 0xcb, 0x09, 0xa6, 0x9a, 0x30, + 0xa4, 0x7b, 0xa9, 0x9c, 0x32, 0xe0, 0xf6, 0x2c, 0xa4, 0x5d, 0xda, 0xfb, 0x49, 0x2c, 0x7e, 0x9d, + 0xb3, 0xe0, 0xe8, 0x2b, 0x26, 0xcc, 0x12, 0xcf, 0x4f, 0x73, 0x70, 0xa8, 0x19, 0x47, 0xe7, 0x19, + 0xfe, 0xc9, 0xcf, 0x3e, 0x49, 0x77, 0x56, 0x1f, 0x88, 0x0e, 0xcb, 0x08, 0x75, 0x52, 0x24, 0xce, + 0x3b, 0x68, 0x28, 0x86, 0x92, 0xa8, 0x8f, 0x37, 0xf8, 0xe8, 0xca, 0x7e, 0x99, 0x57, 0x76, 0x76, + 0x94, 0x0e, 0x84, 0x6a, 0x2a, 0x72, 0xae, 0xac, 0xa0, 0xd6, 0x18, 0x37, 0xa7, 0x5f, 0x7d, 0x6c, + 0x78, 0x75, 0x62, 0xff, 0x3d, 0x41, 0x39, 0x5f, 0x09, 0x57, 0xe3, 0xcf, 0xbd, 0x8f, 0x26, 0x61, + 0x56, 0xeb, 0x19, 0xa6, 0x75, 0x81, 0xfe, 0xcb, 0xe7, 0x5c, 0x8a, 0x7e, 0x4c, 0xb1, 0x29, 0x79, + 0x99, 0x4d, 0x85, 0xc9, 0x1a, 0xf3, 0x87, 0xdf, 0xf1, 0xe3, 0xa9, 0x60, 0xba, 0xac, 0xac, 0x83, + 0x24, 0x0e, 0xf1, 0x62, 0x53, 0xb7, 0x3a, 0x53, 0x65, 0x29, 0xfe, 0x48, 0xf0, 0x10, 0xf9, 0xad, + 0x06, 0x27, 0x5d, 0x79, 0x27, 0x64, 0x7d, 0x36, 0x93, 0x3c, 0x13, 0xc1, 0xc4, 0xa7, 0x20, 0x7e, + 0x09, 0x9b, 0x99, 0xd3, 0x78, 0xa1, 0x5f, 0x11, 0xf4, 0x6c, 0x86, 0x6e, 0x90, 0xde, 0x5c, 0x83, + 0x52, 0xc7, 0x32, 0x3d, 0xd5, 0xea, 0x19, 0x1e, 0xee, 0xd9, 0xde, 0x44, 0xbf, 0xee, 0x4f, 0x18, + 0x93, 0xac, 0x52, 0x24, 0x74, 0x9b, 0x82, 0x8c, 0xb4, 0x84, 0xdd, 0xd3, 0x9b, 0xa6, 0x25, 0xff, + 0xc3, 0x6f, 0x09, 0xa5, 0x21, 0x2d, 0xb9, 0x27, 0xed, 0x70, 0x3b, 0xb7, 0xb8, 0x31, 0xf7, 0x0e, + 0x98, 0x16, 0xf8, 0xda, 0xf1, 0xc9, 0x04, 0x9c, 0xe5, 0xc8, 0x3b, 0x9a, 0x8b, 0x2f, 0xdc, 0x7e, + 0x6a, 0x07, 0x7b, 0xda, 0x53, 0x17, 0x74, 0xcb, 0x10, 0x2b, 0xf9, 0x1c, 0x37, 0xd6, 0xa4, 0x7c, + 0x99, 0x97, 0x57, 0x46, 0x6e, 0x77, 0x57, 0xc6, 0x1b, 0xf9, 0xca, 0xb0, 0x0e, 0xca, 0x5d, 0x48, + 0xd6, 0x2d, 0xc3, 0x24, 0x6b, 0x5b, 0x07, 0x9b, 0x56, 0x8f, 0x9b, 0x5b, 0xf6, 0x81, 0xae, 0x43, + 0x5a, 0xeb, 0x59, 0x7d, 0xd3, 0x63, 0xa6, 0xb6, 0xf6, 0xe4, 0x67, 0xde, 0x5c, 0x9c, 0xf9, 0x4f, + 0x6f, 0x2e, 0x9e, 0x60, 0x6c, 0xdd, 0xce, 0xad, 0x65, 0xc3, 0xba, 0xd0, 0xd3, 0xbc, 0x7d, 0x32, + 0x7d, 0x7f, 0xe3, 0xd3, 0x4f, 0x00, 0xaf, 0xaf, 0x69, 0x7a, 0x9f, 0xfa, 0xc2, 0x4f, 0x9d, 0x8f, + 0x29, 0x9c, 0x7e, 0x25, 0xf9, 0xc5, 0x8f, 0x2f, 0xc6, 0x64, 0x1b, 0x32, 0xab, 0x58, 0x3f, 0xa2, + 0xc2, 0xe6, 0x40, 0x85, 0x4f, 0xf1, 0x0a, 0xcf, 0x0c, 0x57, 0xc8, 0x0e, 0xec, 0xad, 0x62, 0x3d, + 0x54, 0xed, 0x2a, 0xd6, 0xa3, 0x35, 0xd6, 0x56, 0x7f, 0xf3, 0x77, 0xce, 0xce, 0x7c, 0xe0, 0x73, + 0x67, 0x67, 0xc6, 0x0e, 0x99, 0x3c, 0x79, 0xc8, 0xfc, 0x91, 0xfa, 0xf1, 0x24, 0xdc, 0x4f, 0x6f, + 0x84, 0x3a, 0x3d, 0xc3, 0xf4, 0x2e, 0xe8, 0xce, 0xa1, 0xed, 0x59, 0x64, 0xe2, 0x5a, 0xbb, 0x7c, + 0xa0, 0x66, 0x83, 0xe2, 0x65, 0x56, 0x3c, 0x7a, 0x98, 0xe4, 0x5d, 0x48, 0x6d, 0x11, 0x3a, 0x22, + 0x08, 0xcf, 0xf2, 0xb4, 0x2e, 0xf7, 0x36, 0xd8, 0x07, 0x81, 0xb2, 0x5b, 0xa4, 0x71, 0x06, 0x35, + 0xc4, 0x05, 0xd2, 0x2e, 0xd6, 0x76, 0xd9, 0x65, 0x9c, 0x04, 0x75, 0x53, 0xb3, 0x04, 0x40, 0xef, + 0xdd, 0xcc, 0x43, 0x4a, 0xeb, 0xb3, 0x03, 0x33, 0x09, 0xe2, 0xbf, 0xd2, 0x0f, 0xf9, 0x45, 0xc8, + 0xf0, 0x7d, 0x73, 0x24, 0x41, 0xe2, 0x16, 0x3e, 0xa4, 0xf5, 0x14, 0x14, 0xf2, 0x13, 0x2d, 0x43, + 0x8a, 0x36, 0x9e, 0xdf, 0x32, 0x5c, 0x58, 0x1e, 0x6a, 0xfd, 0x32, 0x6d, 0xa4, 0xc2, 0xd0, 0xe4, + 0x1b, 0x90, 0x5d, 0xb5, 0x88, 0xf6, 0x44, 0xb9, 0xe5, 0x18, 0x37, 0xda, 0x66, 0xbb, 0xcf, 0xc7, + 0x4e, 0x61, 0x1f, 0xe8, 0x24, 0xa4, 0xd9, 0xe5, 0x2c, 0x7e, 0xe8, 0x87, 0x7f, 0xc9, 0x75, 0xc8, + 0x50, 0xde, 0x9b, 0x36, 0x59, 0xea, 0xfd, 0xf3, 0xea, 0x39, 0x7e, 0x55, 0x97, 0xb3, 0x8f, 0x07, + 0x8d, 0x45, 0x90, 0xec, 0x68, 0x9e, 0xc6, 0xfb, 0x4d, 0x7f, 0xcb, 0xef, 0x86, 0x2c, 0x67, 0xe2, + 0xa2, 0x8b, 0x90, 0xb0, 0x6c, 0x97, 0x1f, 0xdb, 0xa9, 0x8c, 0xeb, 0xca, 0xa6, 0x5d, 0x4b, 0x12, + 0xa5, 0x52, 0x08, 0x72, 0x6d, 0x63, 0xac, 0x5a, 0x3c, 0x13, 0x51, 0x8b, 0x1e, 0xf6, 0x76, 0x76, + 0xbd, 0xe0, 0x07, 0x1b, 0xce, 0x21, 0x55, 0xf0, 0x15, 0xe5, 0x6e, 0x1c, 0xce, 0x86, 0x4a, 0x6f, + 0x63, 0xc7, 0x35, 0x2c, 0x93, 0x69, 0x13, 0xd7, 0x14, 0x14, 0x6a, 0x20, 0x2f, 0x1f, 0xa3, 0x2a, + 0xef, 0x82, 0x44, 0xd5, 0xb6, 0x51, 0x05, 0xb2, 0xf4, 0x5b, 0xb7, 0x98, 0xae, 0x24, 0x15, 0xff, + 0x9b, 0x94, 0xb9, 0xd6, 0xae, 0x77, 0x47, 0x73, 0xfc, 0xbb, 0xcb, 0xe2, 0x5b, 0x7e, 0x1e, 0x72, + 0x75, 0xcb, 0x74, 0xb1, 0xe9, 0xf6, 0xa9, 0x0f, 0xbb, 0xd3, 0xb5, 0xf4, 0x5b, 0x9c, 0x03, 0xfb, + 0x20, 0xc2, 0xd6, 0x6c, 0x9b, 0x52, 0x26, 0x15, 0xf2, 0x93, 0xcf, 0x9e, 0xcd, 0xb1, 0xe2, 0xb9, + 0x74, 0x3c, 0xf1, 0xf0, 0x0e, 0x06, 0xce, 0x68, 0x0c, 0xee, 0x1b, 0x9e, 0x48, 0xb7, 0xf0, 0xa1, + 0x7b, 0xdc, 0x79, 0xf4, 0x32, 0xe4, 0xb6, 0xe8, 0xb3, 0x22, 0x2f, 0xe2, 0x43, 0x54, 0x81, 0x0c, + 0xee, 0x5c, 0xbc, 0x74, 0xe9, 0xa9, 0xe7, 0x99, 0x96, 0x5f, 0x9f, 0x51, 0x04, 0x00, 0x9d, 0x85, + 0x9c, 0x8b, 0x75, 0xfb, 0xe2, 0xa5, 0xcb, 0xb7, 0x9e, 0x62, 0x6a, 0x75, 0x7d, 0x46, 0x09, 0x40, + 0x2b, 0x59, 0xd2, 0xe3, 0x2f, 0x7e, 0x62, 0x31, 0x56, 0x4b, 0x41, 0xc2, 0xed, 0xf7, 0xde, 0x36, + 0xdd, 0xf8, 0x83, 0x34, 0x2c, 0x85, 0x4a, 0xd9, 0xa2, 0x70, 0x5b, 0xeb, 0x1a, 0x1d, 0x2d, 0x78, + 0x0c, 0x46, 0x0a, 0xf5, 0x9f, 0x62, 0x8c, 0xb1, 0xf6, 0x47, 0x4a, 0x51, 0xfe, 0x99, 0x18, 0x14, + 0x6e, 0x0a, 0xce, 0x2d, 0xec, 0xa1, 0x2b, 0x00, 0x7e, 0x4d, 0x62, 0xaa, 0x9c, 0x59, 0x1e, 0xac, + 0x6b, 0xd9, 0xa7, 0x51, 0x42, 0xe8, 0xe8, 0x59, 0xaa, 0x80, 0xb6, 0xe5, 0xf2, 0x7b, 0xac, 0x13, + 0x48, 0x7d, 0x64, 0xf4, 0x38, 0x20, 0x6a, 0xd5, 0xd4, 0xdb, 0x96, 0x67, 0x98, 0x7b, 0xaa, 0x6d, + 0xdd, 0xe1, 0xaf, 0x03, 0x24, 0x14, 0x89, 0x96, 0xdc, 0xa4, 0x05, 0x5b, 0x04, 0x4e, 0x1a, 0x9d, + 0xf3, 0xb9, 0x90, 0x70, 0x4c, 0xeb, 0x74, 0x1c, 0xec, 0xba, 0xdc, 0x70, 0x89, 0x4f, 0x74, 0x05, + 0x32, 0x76, 0x7f, 0x47, 0x15, 0x56, 0x22, 0x7f, 0xf1, 0xbe, 0x51, 0x73, 0x5e, 0xe8, 0x06, 0x9f, + 0xf5, 0x69, 0xbb, 0xbf, 0x43, 0x34, 0xe5, 0x01, 0x28, 0x8c, 0x68, 0x4c, 0xfe, 0x76, 0xd0, 0x0e, + 0xfa, 0x92, 0x0d, 0xef, 0x81, 0x6a, 0x3b, 0x86, 0xe5, 0x18, 0xde, 0x21, 0x3d, 0x6e, 0x97, 0x50, + 0x24, 0x51, 0xb0, 0xc5, 0xe1, 0xf2, 0x2d, 0x28, 0xb7, 0xa8, 0x9b, 0x1e, 0xb4, 0xfc, 0x52, 0xd0, + 0xbe, 0xd8, 0xe4, 0xf6, 0x8d, 0x6d, 0x59, 0x7c, 0xa8, 0x65, 0xe7, 0xff, 0x43, 0x0c, 0xf2, 0x35, + 0x32, 0x71, 0x9b, 0xab, 0x57, 0xbb, 0xda, 0x1e, 0x7a, 0x0a, 0x4e, 0xd4, 0xd6, 0x36, 0xeb, 0x2f, + 0xaa, 0xcd, 0x55, 0xf5, 0xea, 0x5a, 0xf5, 0x5a, 0x70, 0xbe, 0xb7, 0x72, 0xf2, 0x8d, 0xbb, 0x4b, + 0x28, 0x84, 0xbb, 0x6d, 0xd2, 0x58, 0x12, 0x5d, 0x80, 0xf9, 0x28, 0x49, 0xb5, 0xd6, 0x6a, 0x6c, + 0xb4, 0xa5, 0x58, 0xe5, 0xc4, 0x1b, 0x77, 0x97, 0x66, 0x43, 0x14, 0xd5, 0x1d, 0x17, 0x9b, 0xde, + 0x30, 0x41, 0x7d, 0x73, 0x7d, 0xbd, 0xd9, 0x96, 0xe2, 0x43, 0x04, 0x75, 0xab, 0xd7, 0x33, 0x3c, + 0xf4, 0x28, 0xcc, 0x46, 0x09, 0x36, 0x9a, 0x6b, 0x52, 0xa2, 0x82, 0xde, 0xb8, 0xbb, 0x54, 0x0a, + 0x61, 0x6f, 0x18, 0xdd, 0x4a, 0xf6, 0x43, 0x3f, 0x7a, 0x76, 0xe6, 0x53, 0x7f, 0xe7, 0x6c, 0xac, + 0xb6, 0x3e, 0x76, 0xce, 0x3d, 0x7d, 0xbc, 0x39, 0x17, 0x5d, 0xb7, 0xbf, 0x7a, 0x5f, 0xc4, 0xdc, + 0x70, 0x3f, 0x2c, 0x64, 0x8c, 0xa7, 0x9d, 0x6e, 0x93, 0x72, 0x0b, 0x95, 0xa3, 0xdd, 0x83, 0xca, + 0x84, 0x45, 0xa1, 0x32, 0xd1, 0x30, 0xc8, 0xcf, 0x43, 0x71, 0x4b, 0x73, 0xbc, 0x16, 0xf6, 0xae, + 0x63, 0xad, 0x83, 0x9d, 0xa8, 0xff, 0x50, 0x14, 0xfe, 0x03, 0x82, 0x24, 0x75, 0x12, 0xd8, 0xfa, + 0x49, 0x7f, 0xcb, 0xfb, 0x90, 0xa4, 0x27, 0x89, 0x7d, 0xdf, 0x82, 0x53, 0x30, 0xdf, 0x82, 0xac, + 0x0c, 0x87, 0x1e, 0x76, 0x45, 0xfa, 0x8b, 0x7e, 0xa0, 0x67, 0x84, 0x87, 0x90, 0x38, 0xda, 0x43, + 0xe0, 0xd3, 0x8b, 0xfb, 0x09, 0x5d, 0xc8, 0xf0, 0x21, 0xf6, 0x1b, 0x12, 0x0b, 0x1a, 0x82, 0xd6, + 0xa1, 0x6c, 0x6b, 0x8e, 0x47, 0x6f, 0x16, 0xee, 0xd3, 0x5e, 0xf0, 0x19, 0xbc, 0x38, 0x6c, 0x4f, + 0x22, 0x9d, 0xe5, 0xb5, 0x14, 0xed, 0x30, 0x50, 0xfe, 0x2f, 0x49, 0x48, 0x73, 0x61, 0xbc, 0x0b, + 0x32, 0x5c, 0xac, 0x7c, 0xce, 0xdd, 0xbf, 0x3c, 0xbc, 0xcc, 0x2e, 0xfb, 0xcb, 0x21, 0xe7, 0x27, + 0x68, 0xd0, 0xc3, 0x90, 0xd5, 0xf7, 0x35, 0xc3, 0x54, 0x8d, 0x0e, 0x77, 0x40, 0xf3, 0x9f, 0x7b, + 0x73, 0x31, 0x53, 0x27, 0xb0, 0xe6, 0xaa, 0x92, 0xa1, 0x85, 0xcd, 0x0e, 0xf1, 0x69, 0xf6, 0xb1, + 0xb1, 0xb7, 0xef, 0x71, 0xbb, 0xc1, 0xbf, 0xd0, 0x73, 0x90, 0x24, 0x0a, 0xc1, 0xef, 0x9d, 0x57, + 0x86, 0x22, 0x0b, 0x3f, 0xf5, 0x53, 0xcb, 0x92, 0x8a, 0x3f, 0xfc, 0x9f, 0x17, 0x63, 0x0a, 0xa5, + 0x40, 0x75, 0x28, 0x76, 0x35, 0xd7, 0x53, 0xe9, 0x7a, 0x4c, 0xaa, 0x4f, 0x51, 0x16, 0xa7, 0x87, + 0x05, 0xc2, 0x05, 0xcb, 0x9b, 0x9e, 0x27, 0x54, 0x0c, 0xd4, 0x41, 0xe7, 0x40, 0xa2, 0x4c, 0x74, + 0x3a, 0x03, 0x99, 0x97, 0x98, 0xa6, 0x72, 0x2f, 0x11, 0x38, 0x9b, 0x98, 0xd4, 0x57, 0x3c, 0x03, + 0x39, 0x7a, 0xd3, 0x95, 0xa2, 0xb0, 0xe3, 0xeb, 0x59, 0x02, 0xa0, 0x85, 0x8f, 0x40, 0x39, 0xb0, + 0xfa, 0x0c, 0x25, 0xcb, 0xb8, 0x04, 0x60, 0x8a, 0xf8, 0x24, 0xcc, 0x9b, 0xf8, 0x80, 0x1e, 0xa8, + 0x8f, 0x60, 0xe7, 0x28, 0x36, 0x22, 0x65, 0x37, 0xa3, 0x14, 0x0f, 0x41, 0x49, 0x17, 0xc2, 0x67, + 0xb8, 0x40, 0x71, 0x8b, 0x3e, 0x94, 0xa2, 0x9d, 0x86, 0xac, 0x66, 0xdb, 0x0c, 0x21, 0xcf, 0xad, + 0xbe, 0x6d, 0xd3, 0xa2, 0xf3, 0x30, 0x4b, 0xfb, 0xe8, 0x60, 0xb7, 0xdf, 0xf5, 0x38, 0x93, 0x02, + 0xc5, 0x29, 0x93, 0x02, 0x85, 0xc1, 0x29, 0xee, 0x83, 0x50, 0xc4, 0xb7, 0x8d, 0x0e, 0x36, 0x75, + 0xcc, 0xf0, 0x8a, 0x14, 0xaf, 0x20, 0x80, 0x14, 0xe9, 0x51, 0xf0, 0xad, 0xb9, 0x2a, 0x56, 0x9a, + 0x12, 0xe3, 0x27, 0xe0, 0x55, 0x06, 0x96, 0x17, 0x20, 0xb9, 0xaa, 0x79, 0x1a, 0x71, 0x97, 0xbc, + 0x03, 0xb6, 0x7c, 0x16, 0x14, 0xf2, 0x53, 0xfe, 0xf9, 0x04, 0x24, 0x6f, 0x5a, 0x1e, 0x46, 0x4f, + 0x87, 0x5c, 0xd9, 0xd2, 0x28, 0x7d, 0x6e, 0x19, 0x7b, 0x26, 0xee, 0xac, 0xbb, 0x7b, 0xa1, 0x67, + 0x69, 0x02, 0x75, 0x8a, 0x47, 0xd4, 0x69, 0x1e, 0x52, 0x8e, 0xd5, 0x37, 0x3b, 0xe2, 0xe0, 0x37, + 0xfd, 0x40, 0x0d, 0xc8, 0xfa, 0x5a, 0x92, 0x9c, 0xa4, 0x25, 0x65, 0xa2, 0x25, 0x44, 0x87, 0x39, + 0x40, 0xc9, 0xec, 0x70, 0x65, 0xa9, 0x41, 0xce, 0x37, 0x5e, 0x5c, 0xdb, 0xa6, 0x53, 0xd8, 0x80, + 0x8c, 0x2c, 0x91, 0xfe, 0xd8, 0xfb, 0xc2, 0x63, 0x1a, 0x27, 0xf9, 0x05, 0x5c, 0x7a, 0x11, 0xb5, + 0xe2, 0x4f, 0xe4, 0x64, 0x68, 0xbf, 0x02, 0xb5, 0x62, 0xcf, 0xe4, 0xdc, 0x07, 0x39, 0xd7, 0xd8, + 0x33, 0x35, 0xaf, 0xef, 0x60, 0xae, 0x79, 0x01, 0x80, 0x94, 0x06, 0x97, 0x20, 0x98, 0xa6, 0x85, + 0x5e, 0xee, 0xba, 0x00, 0x73, 0xc1, 0x9b, 0x59, 0x01, 0x17, 0xa6, 0x65, 0xc8, 0x2f, 0x6a, 0x89, + 0x12, 0xf9, 0x57, 0x62, 0x90, 0xe6, 0x2b, 0x56, 0x30, 0x0c, 0xb1, 0xd1, 0xc3, 0x10, 0x1f, 0x37, + 0x0c, 0x89, 0x7b, 0x1f, 0x86, 0x2a, 0x80, 0xdf, 0x4c, 0x97, 0x3f, 0x84, 0x32, 0xc2, 0xad, 0x62, + 0x4d, 0x6c, 0x19, 0x7b, 0x7c, 0xde, 0x87, 0x88, 0xe4, 0xdf, 0x8a, 0x11, 0x0f, 0x9f, 0x97, 0xa3, + 0x2a, 0x14, 0x45, 0xbb, 0xd4, 0xdd, 0xae, 0xb6, 0xc7, 0x55, 0xf1, 0xfe, 0xb1, 0x8d, 0x23, 0xab, + 0xb0, 0x92, 0xe7, 0xed, 0xa1, 0xfe, 0xc4, 0xc8, 0x61, 0x8d, 0x8f, 0x19, 0xd6, 0x88, 0x1e, 0x25, + 0xee, 0x4d, 0x8f, 0x22, 0x23, 0x9e, 0x1c, 0x18, 0x71, 0xf9, 0x77, 0x62, 0xfc, 0xc5, 0xae, 0x0e, + 0xbb, 0xc1, 0xf1, 0x67, 0x35, 0x54, 0xaf, 0x72, 0xdd, 0xea, 0xe0, 0x8e, 0x3a, 0x34, 0x66, 0x0f, + 0x0e, 0x73, 0x8c, 0xb6, 0x39, 0x18, 0x3b, 0x24, 0xb8, 0xb4, 0x82, 0x31, 0xfc, 0x74, 0x1c, 0x66, + 0x87, 0xf0, 0xff, 0xe2, 0x8d, 0x65, 0x74, 0xf6, 0xa6, 0xa6, 0x9c, 0xbd, 0xe9, 0xb1, 0xb3, 0xf7, + 0x67, 0xe3, 0x34, 0x01, 0x60, 0x5b, 0xae, 0xd6, 0xfd, 0x7a, 0xd8, 0xde, 0x33, 0x90, 0xb3, 0xad, + 0xae, 0xca, 0x4a, 0xd8, 0xd5, 0x9b, 0xac, 0x6d, 0x75, 0x95, 0x21, 0x35, 0x4b, 0xbd, 0x45, 0x86, + 0x39, 0xfd, 0x16, 0x0c, 0x42, 0x66, 0x70, 0x42, 0x39, 0x50, 0x60, 0xa2, 0xe0, 0x5e, 0xd3, 0x93, + 0x44, 0x06, 0xd4, 0x0d, 0x8b, 0x0d, 0x7b, 0x79, 0xac, 0xd9, 0x0c, 0x53, 0xe1, 0x78, 0x84, 0x82, + 0x39, 0x19, 0xa3, 0x32, 0x47, 0x61, 0x8b, 0xa5, 0x70, 0x3c, 0xf9, 0xfb, 0x62, 0x00, 0x6b, 0x44, + 0xb2, 0xb4, 0xbf, 0xc4, 0xdf, 0x71, 0x69, 0x13, 0xd4, 0x48, 0xcd, 0x67, 0xc7, 0x0d, 0x1a, 0xaf, + 0xbf, 0xe0, 0x86, 0xdb, 0x5d, 0x87, 0x62, 0xa0, 0xdb, 0x2e, 0x16, 0x8d, 0x39, 0x7b, 0x44, 0x54, + 0xda, 0xc2, 0x9e, 0x52, 0xb8, 0x1d, 0xfa, 0x92, 0xff, 0x59, 0x0c, 0x72, 0xb4, 0x4d, 0xeb, 0xd8, + 0xd3, 0x22, 0x63, 0x18, 0xbb, 0xf7, 0x31, 0xbc, 0x1f, 0x80, 0xb1, 0x71, 0x8d, 0xd7, 0x31, 0xd7, + 0xac, 0x1c, 0x85, 0xb4, 0x8c, 0xd7, 0x31, 0xba, 0xec, 0x0b, 0x3c, 0x71, 0xb4, 0xc0, 0x45, 0xd4, + 0xca, 0xc5, 0x7e, 0x0a, 0x32, 0xf4, 0x4d, 0xc9, 0x03, 0x97, 0x07, 0xa2, 0x69, 0xb3, 0xdf, 0x6b, + 0x1f, 0xb8, 0xf2, 0x6b, 0x90, 0x69, 0x1f, 0xb0, 0x7c, 0xe2, 0x19, 0xc8, 0x39, 0x96, 0xc5, 0xbd, + 0x3f, 0xe6, 0x75, 0x67, 0x09, 0x80, 0x3a, 0x3b, 0x22, 0x87, 0x16, 0x0f, 0x72, 0x68, 0x41, 0x12, + 0x30, 0x31, 0x55, 0x12, 0x90, 0x44, 0x9f, 0xc5, 0xc8, 0x4c, 0x42, 0x8f, 0xc3, 0xa9, 0x56, 0xf3, + 0xda, 0x46, 0x63, 0x55, 0x5d, 0x6f, 0x5d, 0x1b, 0xb8, 0x56, 0x5f, 0x29, 0xbf, 0x71, 0x77, 0x29, + 0xcf, 0xc3, 0xce, 0x71, 0xd8, 0x5b, 0x4a, 0xe3, 0xe6, 0x66, 0xbb, 0x21, 0xc5, 0x18, 0xf6, 0x96, + 0x83, 0x6f, 0x5b, 0x1e, 0x7b, 0xb4, 0xf5, 0x49, 0x38, 0x3d, 0x02, 0xdb, 0x0f, 0x3e, 0x67, 0xdf, + 0xb8, 0xbb, 0x54, 0xdc, 0x72, 0x30, 0xd3, 0x32, 0x4a, 0xb1, 0x0c, 0x0b, 0xc3, 0x14, 0x9b, 0x5b, + 0x9b, 0xad, 0xea, 0x9a, 0xb4, 0x54, 0x91, 0xde, 0xb8, 0xbb, 0x54, 0x10, 0x26, 0x83, 0xe0, 0xbf, + 0xfd, 0xd1, 0xe7, 0xb7, 0x65, 0x23, 0x59, 0x63, 0x16, 0xd7, 0xd9, 0x9a, 0xa3, 0xf5, 0x8e, 0x1b, + 0x7e, 0x4e, 0xd8, 0xf0, 0x97, 0x7f, 0x26, 0x0e, 0x65, 0x3f, 0xb8, 0xd9, 0xa2, 0x35, 0xa0, 0xa7, + 0xc3, 0x19, 0xbf, 0xfc, 0xd8, 0xb5, 0x83, 0x61, 0x8b, 0x84, 0xe0, 0x3b, 0x21, 0x2b, 0x9c, 0x64, + 0x3e, 0xa9, 0x96, 0x46, 0xac, 0x6f, 0x1c, 0x83, 0x93, 0xfa, 0x14, 0xe8, 0x05, 0xc8, 0xf9, 0x53, + 0xcc, 0x7f, 0xd8, 0x6c, 0xfc, 0x9c, 0xe4, 0xf4, 0x01, 0x0d, 0x7a, 0x3e, 0x08, 0xe3, 0x92, 0xe3, + 0x02, 0xc3, 0x9b, 0x0c, 0x81, 0x13, 0xfb, 0x21, 0xdc, 0x93, 0x90, 0xd4, 0x76, 0x74, 0x83, 0x1b, + 0xe0, 0xfb, 0x86, 0xe9, 0xaa, 0xb5, 0x7a, 0x93, 0x13, 0x51, 0x4c, 0xb9, 0xc9, 0x93, 0x29, 0x5c, + 0x5e, 0xf4, 0x19, 0x99, 0x03, 0x95, 0xc5, 0xc2, 0xcc, 0xbb, 0xc8, 0xf6, 0xb4, 0x83, 0x1a, 0x0d, + 0x87, 0x4f, 0x41, 0x86, 0x14, 0xee, 0xf1, 0x87, 0x0a, 0x12, 0x4a, 0xba, 0xa7, 0x1d, 0x5c, 0xd3, + 0xdc, 0x1b, 0xc9, 0x6c, 0x42, 0x4a, 0xca, 0x3f, 0x41, 0x3c, 0x95, 0x88, 0x54, 0xd0, 0x63, 0x80, + 0x08, 0x85, 0xb6, 0x87, 0x55, 0x32, 0x75, 0xa9, 0x78, 0x05, 0xdf, 0x72, 0x4f, 0x3b, 0xa8, 0xee, + 0xe1, 0x8d, 0x7e, 0x8f, 0x36, 0xc0, 0x45, 0xeb, 0x20, 0x09, 0x64, 0x31, 0xb2, 0x5c, 0xfc, 0xa7, + 0x87, 0x1f, 0x46, 0xe5, 0x08, 0x6c, 0x01, 0xf8, 0x08, 0x59, 0x00, 0x4a, 0x8c, 0x9f, 0x7f, 0xc4, + 0x23, 0xd2, 0x95, 0x44, 0xb4, 0x2b, 0xf2, 0x0b, 0x50, 0x1e, 0x18, 0x01, 0x24, 0x43, 0x91, 0x67, + 0xac, 0xe8, 0xf6, 0x39, 0x8b, 0x70, 0x72, 0x4a, 0x9e, 0x65, 0xa6, 0xe8, 0x71, 0x82, 0x95, 0xec, + 0x2f, 0x7c, 0x7c, 0x31, 0x46, 0x37, 0x73, 0x1e, 0x83, 0x62, 0x64, 0x0c, 0x44, 0x16, 0x39, 0x16, + 0x64, 0x91, 0x03, 0xe4, 0x57, 0xa1, 0x40, 0x0c, 0x10, 0xee, 0x70, 0xdc, 0x87, 0xa1, 0xcc, 0x0c, + 0xe4, 0xa0, 0xac, 0x99, 0xc3, 0xb3, 0x2e, 0x04, 0x2e, 0x0b, 0x0f, 0x28, 0x2a, 0xf6, 0xbc, 0xc0, + 0xba, 0xa6, 0xb9, 0xf2, 0x26, 0x40, 0x30, 0xa8, 0xa8, 0x0a, 0xf7, 0x13, 0xe3, 0x11, 0x3e, 0xee, + 0xc9, 0x9f, 0xb4, 0x8a, 0x78, 0x8c, 0x15, 0x82, 0x14, 0x1c, 0xe9, 0x64, 0x0f, 0x5b, 0x5d, 0xa7, + 0x18, 0xb5, 0x97, 0x3e, 0xf5, 0xb9, 0xb3, 0xb1, 0xb7, 0xc7, 0x16, 0xfc, 0xc7, 0x57, 0xe0, 0x4c, + 0xa8, 0x90, 0x28, 0x60, 0x24, 0x11, 0x55, 0x0e, 0xe9, 0x2b, 0x29, 0x9c, 0x94, 0x50, 0x3a, 0x32, + 0xff, 0x5b, 0x39, 0xda, 0xec, 0x4c, 0xce, 0x36, 0x4d, 0xce, 0x77, 0x8d, 0x4e, 0xca, 0xff, 0xd3, + 0x1c, 0x64, 0x14, 0xfc, 0xfe, 0x3e, 0x76, 0x3d, 0x74, 0x11, 0x92, 0x58, 0xdf, 0xb7, 0x46, 0xe5, + 0x40, 0x49, 0x07, 0x97, 0x39, 0x5e, 0x43, 0xdf, 0xb7, 0xae, 0xcf, 0x28, 0x14, 0x17, 0x5d, 0x82, + 0xd4, 0x6e, 0xb7, 0xcf, 0xd3, 0x57, 0x03, 0x36, 0x2b, 0x4c, 0x74, 0x95, 0x20, 0x5d, 0x9f, 0x51, + 0x18, 0x36, 0xa9, 0x8a, 0xbe, 0x68, 0x9d, 0x38, 0xba, 0xaa, 0xa6, 0xb9, 0x4b, 0xab, 0x22, 0xb8, + 0xa8, 0x06, 0x60, 0x98, 0x86, 0xa7, 0xd2, 0xd4, 0x0e, 0xb7, 0x1a, 0x0f, 0x8c, 0xa7, 0x34, 0x3c, + 0x9a, 0x0c, 0xba, 0x3e, 0xa3, 0xe4, 0x0c, 0xf1, 0x41, 0x9a, 0xfb, 0xfe, 0x3e, 0x76, 0x0e, 0xb9, + 0xb7, 0x36, 0xb6, 0xb9, 0x2f, 0x11, 0x24, 0xd2, 0x5c, 0x8a, 0x4d, 0x8c, 0x2c, 0x7b, 0x1c, 0xcf, + 0x3b, 0xe0, 0x4f, 0xbe, 0x2e, 0x8e, 0xa3, 0xa4, 0x2f, 0xe4, 0xb5, 0x0f, 0xae, 0xcf, 0x28, 0x19, + 0x9d, 0xfd, 0x44, 0xcf, 0xf9, 0x2e, 0x58, 0x7e, 0xd8, 0xeb, 0x89, 0xd0, 0xb2, 0xb4, 0xcf, 0x8c, + 0x70, 0xc5, 0xd0, 0x06, 0x94, 0xba, 0x86, 0xeb, 0xa9, 0xae, 0xa9, 0xd9, 0xee, 0xbe, 0xe5, 0xb9, + 0x34, 0x7f, 0x92, 0xbf, 0xf8, 0xd0, 0x38, 0x0e, 0x6b, 0x86, 0xeb, 0xb5, 0x04, 0xf2, 0xf5, 0x19, + 0xa5, 0xd8, 0x0d, 0x03, 0x08, 0x3f, 0x6b, 0x77, 0x17, 0x3b, 0x3e, 0x43, 0x9a, 0x67, 0x39, 0x82, + 0xdf, 0x26, 0xc1, 0x16, 0xf4, 0x84, 0x9f, 0x15, 0x06, 0xa0, 0x6f, 0x80, 0xb9, 0xae, 0xa5, 0x75, + 0x7c, 0x76, 0xaa, 0xbe, 0xdf, 0x37, 0x6f, 0xd1, 0xa4, 0x4c, 0xfe, 0xe2, 0xa3, 0x63, 0x1b, 0x69, + 0x69, 0x1d, 0xc1, 0xa2, 0x4e, 0x08, 0xae, 0xcf, 0x28, 0xb3, 0xdd, 0x41, 0x20, 0x7a, 0x1f, 0xcc, + 0x6b, 0xb6, 0xdd, 0x3d, 0x1c, 0xe4, 0x5e, 0xa6, 0xdc, 0xcf, 0x8f, 0xe3, 0x5e, 0x25, 0x34, 0x83, + 0xec, 0x91, 0x36, 0x04, 0x45, 0x6d, 0x90, 0x6c, 0x07, 0xd3, 0x1b, 0x53, 0x36, 0xf7, 0x32, 0xe8, + 0x7b, 0x52, 0xf9, 0x8b, 0x8f, 0x8c, 0xe3, 0xbd, 0xc5, 0xf0, 0x85, 0x53, 0x72, 0x7d, 0x46, 0x29, + 0xdb, 0x51, 0x10, 0xe3, 0x6a, 0xe9, 0x98, 0x3e, 0x77, 0xc7, 0xb9, 0xce, 0x4e, 0xe2, 0x4a, 0xf1, + 0xa3, 0x5c, 0x23, 0x20, 0xd4, 0x80, 0x3c, 0x0b, 0x45, 0x55, 0x62, 0x0c, 0xe9, 0x2b, 0x54, 0xf9, + 0x8b, 0xf2, 0xd8, 0x19, 0x4a, 0x51, 0x6f, 0x5a, 0x1e, 0xbe, 0x3e, 0xa3, 0x00, 0xf6, 0xbf, 0x90, + 0x06, 0x27, 0xe8, 0x83, 0x5c, 0x87, 0x6a, 0xd4, 0xf0, 0x2e, 0xcc, 0x51, 0x86, 0x8f, 0x8d, 0x63, + 0x78, 0x93, 0x12, 0xdd, 0x0c, 0xdb, 0xe1, 0xeb, 0x33, 0xca, 0xdc, 0xed, 0x61, 0x30, 0x51, 0xb1, + 0x5d, 0xc3, 0xd4, 0xba, 0xc6, 0xeb, 0x98, 0x2d, 0xa1, 0xf4, 0x29, 0xca, 0x23, 0x54, 0xec, 0x2a, + 0xc7, 0xa6, 0x0b, 0x2b, 0x51, 0xb1, 0xdd, 0x30, 0xa0, 0x96, 0xe1, 0x67, 0x3d, 0xfd, 0xa7, 0xd5, + 0x32, 0x52, 0x96, 0x3d, 0xa7, 0x76, 0x23, 0x99, 0x05, 0x29, 0x2f, 0x3f, 0x02, 0xf9, 0x90, 0x61, + 0x42, 0x0b, 0x90, 0xe1, 0xa7, 0x61, 0xc4, 0xa9, 0x51, 0xfe, 0x29, 0x97, 0xa0, 0x10, 0x36, 0x46, + 0xf2, 0x87, 0x63, 0x3e, 0x25, 0x7d, 0x53, 0x62, 0x21, 0x9a, 0x91, 0xce, 0x05, 0x9e, 0xca, 0x83, + 0x62, 0x69, 0x13, 0xe5, 0x6c, 0xfb, 0xb5, 0x40, 0x81, 0x7c, 0x65, 0x45, 0x8b, 0x90, 0xb7, 0x2f, + 0xda, 0x3e, 0x4a, 0x82, 0xa2, 0x80, 0x7d, 0xd1, 0x16, 0x08, 0x0f, 0x40, 0x81, 0xf4, 0x5b, 0x0d, + 0xfb, 0x4b, 0x39, 0x25, 0x4f, 0x60, 0x1c, 0x45, 0xfe, 0xd7, 0x71, 0x90, 0x06, 0x0d, 0x98, 0x9f, + 0xaa, 0x8e, 0x1d, 0x3b, 0x55, 0x7d, 0x7a, 0x30, 0x49, 0x1e, 0xe4, 0xc5, 0xd7, 0x40, 0x0a, 0xd2, + 0xbb, 0x6c, 0xa9, 0x19, 0xef, 0xff, 0x0d, 0x38, 0xaa, 0x4a, 0x59, 0x1f, 0xf0, 0x5c, 0xaf, 0x46, + 0x36, 0x2b, 0xc5, 0x9f, 0x7c, 0x18, 0x1c, 0x70, 0xdf, 0x89, 0xd9, 0xb6, 0x3b, 0x9a, 0x87, 0x45, + 0x7e, 0x2c, 0xb4, 0x6f, 0xf9, 0x30, 0x94, 0x35, 0xdb, 0x56, 0x5d, 0x4f, 0xf3, 0x30, 0xf7, 0x35, + 0x58, 0xe6, 0xa1, 0xa8, 0xd9, 0x76, 0x8b, 0x40, 0x99, 0xaf, 0xf1, 0x10, 0x94, 0x88, 0x4d, 0x37, + 0xb4, 0xae, 0x70, 0x15, 0xd2, 0xcc, 0x25, 0xe1, 0x50, 0xe6, 0x1d, 0xc8, 0x1d, 0x7f, 0xc4, 0xa9, + 0x3d, 0xf7, 0x63, 0xaa, 0x58, 0x28, 0xa6, 0x42, 0xfc, 0xad, 0x0f, 0x26, 0x1f, 0xf1, 0x3e, 0xca, + 0xe8, 0x4d, 0x83, 0x79, 0x1a, 0x7f, 0xdd, 0x66, 0xc9, 0x92, 0xac, 0xc2, 0x3e, 0x64, 0x05, 0x4a, + 0x51, 0xdb, 0x8f, 0x4a, 0x10, 0xf7, 0x0e, 0x78, 0x2d, 0x71, 0xef, 0x80, 0x78, 0xba, 0xfe, 0x0b, + 0xb9, 0xa5, 0x11, 0xab, 0x1d, 0xa7, 0x0b, 0x72, 0x1d, 0x72, 0x19, 0x8a, 0x91, 0x35, 0x41, 0x3e, + 0x09, 0xf3, 0xa3, 0x4c, 0xbc, 0xbc, 0xef, 0xc3, 0x23, 0xa6, 0x1a, 0x5d, 0x82, 0xac, 0x6f, 0xe3, + 0x47, 0x44, 0xc7, 0xb4, 0x5a, 0x81, 0xac, 0xf8, 0xa8, 0x91, 0x74, 0x7e, 0x3c, 0x92, 0xce, 0x97, + 0xbf, 0x09, 0x16, 0xc6, 0xd9, 0xef, 0x81, 0x24, 0x5f, 0xd2, 0x17, 0xd8, 0x49, 0x48, 0xf3, 0xa7, + 0x28, 0xe3, 0x74, 0x03, 0x8b, 0x7f, 0x11, 0x41, 0x32, 0x5b, 0x9e, 0x60, 0xfb, 0x5a, 0xf4, 0x43, + 0x56, 0xe1, 0xf4, 0x58, 0x1b, 0x3e, 0x7e, 0x2b, 0x8c, 0x31, 0xe2, 0x5b, 0x61, 0xba, 0x68, 0x8e, + 0x4b, 0xfb, 0x2a, 0x0e, 0xb2, 0xb0, 0x2f, 0xf9, 0x23, 0x09, 0x38, 0x39, 0xda, 0x92, 0xa3, 0x25, + 0x28, 0x10, 0xbf, 0xd5, 0x8b, 0xba, 0xb8, 0xd0, 0xd3, 0x0e, 0xda, 0xdc, 0xbf, 0xe5, 0x5b, 0x09, + 0x71, 0x7f, 0x2b, 0x01, 0x6d, 0xc3, 0x6c, 0xd7, 0xd2, 0xb5, 0xae, 0x1a, 0xda, 0xca, 0xe1, 0x93, + 0xe8, 0xc1, 0x21, 0x61, 0x47, 0x53, 0x86, 0xc4, 0xe0, 0x70, 0xfd, 0x2f, 0x53, 0x1e, 0x6b, 0xfe, + 0xae, 0x0f, 0x5a, 0x85, 0x7c, 0xcf, 0x70, 0x77, 0xf0, 0xbe, 0x76, 0xdb, 0xb0, 0x1c, 0x3e, 0x9b, + 0x86, 0x95, 0x66, 0x3d, 0xc0, 0x11, 0x3b, 0x4c, 0x21, 0xb2, 0xd0, 0x90, 0xa4, 0x46, 0x6e, 0x7c, + 0xa5, 0x8f, 0x6d, 0x4d, 0xc6, 0xed, 0x21, 0x65, 0xc6, 0xee, 0x21, 0x8d, 0xda, 0xb0, 0xc9, 0x8e, + 0xde, 0xb0, 0xf9, 0x50, 0x78, 0x68, 0xa2, 0x6b, 0xdf, 0xd0, 0x1e, 0x0e, 0x6a, 0xc1, 0x3c, 0xa7, + 0xef, 0x44, 0x64, 0x3f, 0xe2, 0xa8, 0x03, 0x9b, 0x5f, 0x83, 0x32, 0x47, 0x82, 0x7c, 0xbc, 0xd8, + 0x13, 0xf7, 0x26, 0x76, 0xb1, 0x89, 0x9a, 0x0c, 0x6d, 0xa2, 0xfe, 0x3f, 0x36, 0x14, 0x1f, 0x4c, + 0xc0, 0xec, 0x90, 0x23, 0x31, 0x72, 0x77, 0x78, 0x5c, 0x46, 0x56, 0x74, 0x2c, 0x71, 0xec, 0x8e, + 0xf1, 0xb1, 0x4e, 0x4e, 0x1e, 0xeb, 0xd4, 0x5b, 0x38, 0xd6, 0xe9, 0x7b, 0x1b, 0xeb, 0xb7, 0x75, + 0x14, 0x3e, 0x16, 0x83, 0xca, 0x78, 0xef, 0x6b, 0xe4, 0x70, 0x1c, 0x6b, 0x03, 0x61, 0xdc, 0x1a, + 0xf7, 0x10, 0x94, 0x06, 0x7c, 0x43, 0xa6, 0xca, 0xc5, 0x48, 0x14, 0x2e, 0x7f, 0x4b, 0xc2, 0x5f, + 0x78, 0x22, 0x0e, 0xdc, 0x88, 0xd9, 0xfa, 0x12, 0xcc, 0x75, 0xb0, 0x6e, 0x74, 0xee, 0x75, 0xb2, + 0xce, 0x72, 0xea, 0xff, 0x3f, 0x57, 0x87, 0xb5, 0xe4, 0x7b, 0x01, 0xb2, 0x0a, 0x76, 0x6d, 0xe2, + 0x8f, 0xa1, 0x1a, 0xe4, 0xf0, 0x81, 0x8e, 0x6d, 0x2f, 0x38, 0x54, 0x31, 0x2a, 0x44, 0x60, 0xd8, + 0x0d, 0x81, 0x49, 0x02, 0x64, 0x9f, 0x0c, 0x3d, 0xcd, 0x73, 0x00, 0xe3, 0xc3, 0x79, 0x4e, 0x1e, + 0x4e, 0x02, 0x5c, 0x16, 0x49, 0x80, 0xc4, 0xd8, 0xf8, 0x96, 0x51, 0x0d, 0x64, 0x01, 0x9e, 0xe6, + 0x59, 0x80, 0xe4, 0x84, 0xca, 0x22, 0x69, 0x80, 0x7a, 0x24, 0x0d, 0x90, 0x9e, 0xd0, 0xcd, 0x31, + 0x79, 0x80, 0xcb, 0x22, 0x0f, 0x90, 0x99, 0xd0, 0xe2, 0x81, 0x44, 0xc0, 0xbb, 0x42, 0x89, 0x80, + 0xdc, 0x70, 0xb6, 0x35, 0x42, 0x3a, 0x22, 0x13, 0xf0, 0xbc, 0x9f, 0x09, 0x28, 0x8c, 0xcd, 0x22, + 0x70, 0xe2, 0xc1, 0x54, 0xc0, 0xe6, 0x50, 0x2a, 0xa0, 0xc8, 0xff, 0xb0, 0xd1, 0x38, 0x16, 0x13, + 0x72, 0x01, 0x9b, 0x43, 0xb9, 0x80, 0xd2, 0x04, 0x86, 0x13, 0x92, 0x01, 0xdf, 0x38, 0x3a, 0x19, + 0x30, 0x3e, 0x5c, 0xe7, 0xcd, 0x9c, 0x2e, 0x1b, 0xa0, 0x8e, 0xc9, 0x06, 0x48, 0x63, 0x23, 0x57, + 0xc6, 0x7e, 0xea, 0x74, 0xc0, 0xf6, 0x88, 0x74, 0x00, 0x0b, 0xdc, 0xcf, 0x8d, 0x65, 0x3e, 0x45, + 0x3e, 0x60, 0x7b, 0x44, 0x3e, 0x00, 0x4d, 0x64, 0x3b, 0x31, 0x21, 0x70, 0x35, 0x9a, 0x10, 0x98, + 0x1b, 0xe3, 0x75, 0x06, 0xb3, 0x7d, 0x4c, 0x46, 0x60, 0x67, 0x5c, 0x46, 0x80, 0x45, 0xed, 0x8f, + 0x8f, 0xe5, 0x78, 0x8c, 0x94, 0xc0, 0xe6, 0x50, 0x4a, 0xe0, 0xc4, 0x04, 0x4d, 0x9b, 0x3e, 0x27, + 0xc0, 0x1e, 0x5a, 0x67, 0x4f, 0xac, 0x83, 0x94, 0xbf, 0x91, 0xcc, 0xe6, 0xa5, 0x82, 0xfc, 0x28, + 0xf1, 0x60, 0x06, 0xec, 0x1c, 0x89, 0x15, 0xb0, 0xe3, 0x58, 0x8e, 0xb8, 0xc7, 0x40, 0x3f, 0xe4, + 0x73, 0x24, 0x46, 0x0c, 0x6c, 0xda, 0x11, 0xf9, 0x03, 0x1a, 0x93, 0x85, 0xec, 0x98, 0xfc, 0x0b, + 0xb1, 0x80, 0x96, 0x66, 0x10, 0xc2, 0xf1, 0x65, 0x8e, 0xc7, 0x97, 0xa1, 0xac, 0x42, 0x3c, 0x9a, + 0x55, 0x58, 0x84, 0x3c, 0x89, 0xb5, 0x06, 0x12, 0x06, 0x9a, 0xed, 0x27, 0x0c, 0xc4, 0x01, 0x2a, + 0x96, 0x7b, 0xe0, 0xcb, 0x12, 0xdb, 0x4d, 0x2c, 0xfb, 0x87, 0xc9, 0x58, 0xa8, 0x8b, 0x9e, 0x80, + 0xb9, 0x10, 0xae, 0x1f, 0xc3, 0xb1, 0xe8, 0x59, 0xf2, 0xb1, 0xab, 0x3c, 0x98, 0xfb, 0xe7, 0xb1, + 0x40, 0x42, 0x41, 0xa6, 0x61, 0x54, 0x52, 0x20, 0xf6, 0x16, 0x25, 0x05, 0xe2, 0xf7, 0x9c, 0x14, + 0x08, 0xc7, 0xa4, 0x89, 0x68, 0x4c, 0xfa, 0x3f, 0x63, 0xc1, 0x98, 0xf8, 0x21, 0xbe, 0x6e, 0x75, + 0x30, 0x8f, 0x12, 0xe9, 0x6f, 0xe2, 0x92, 0x74, 0xad, 0x3d, 0x1e, 0x0b, 0x92, 0x9f, 0x04, 0xcb, + 0x5f, 0x78, 0x72, 0x7c, 0x5d, 0xf1, 0x03, 0xcc, 0x54, 0xf8, 0x1e, 0x07, 0xbf, 0xdc, 0x90, 0x0e, + 0x2e, 0x37, 0xf8, 0x97, 0x8f, 0x33, 0xa1, 0xcb, 0xc7, 0xe8, 0x39, 0xc8, 0xd1, 0x64, 0xbf, 0x6a, + 0xd9, 0xe2, 0xaf, 0x82, 0x9d, 0x19, 0x7f, 0xb1, 0xc1, 0xa5, 0x47, 0xae, 0xd9, 0x65, 0x88, 0xc0, + 0xe3, 0xc8, 0x45, 0x3c, 0x8e, 0xfb, 0x20, 0x47, 0x5a, 0xcf, 0xfe, 0xba, 0x05, 0xf0, 0x9b, 0xeb, + 0x02, 0x20, 0xff, 0x64, 0x1c, 0xca, 0x03, 0x0b, 0xcd, 0xc8, 0xbe, 0x8f, 0xda, 0x46, 0x9e, 0x4e, + 0x1e, 0x67, 0x01, 0xf6, 0x34, 0x57, 0xbd, 0xa3, 0x99, 0x1e, 0xee, 0x70, 0xa1, 0x84, 0x20, 0xa8, + 0x02, 0x59, 0xf2, 0xd5, 0x77, 0x71, 0x87, 0x67, 0x5f, 0xfc, 0x6f, 0x74, 0x1d, 0xd2, 0xf8, 0x36, + 0x7d, 0xdd, 0x95, 0xbd, 0x91, 0x7c, 0x72, 0x38, 0x1c, 0x26, 0xc5, 0xb5, 0x05, 0x32, 0xd8, 0x5f, + 0x7a, 0x73, 0x51, 0x62, 0xd8, 0x8f, 0xfb, 0x17, 0xc6, 0x14, 0x4e, 0x1f, 0x95, 0x42, 0x76, 0x40, + 0x0a, 0x34, 0x0f, 0x58, 0x10, 0xe1, 0x3d, 0x91, 0x29, 0x3b, 0xe3, 0xad, 0x14, 0x7b, 0xb8, 0x67, + 0x5b, 0x56, 0x57, 0x65, 0x73, 0xbc, 0x0a, 0xa5, 0xe8, 0xba, 0xca, 0xfe, 0xf2, 0x94, 0xa7, 0x19, + 0xa6, 0x1a, 0x71, 0x82, 0x0b, 0x0c, 0xc8, 0xe6, 0xd4, 0x8d, 0x64, 0x36, 0x26, 0xc5, 0x6f, 0x24, + 0xb3, 0x71, 0x29, 0x21, 0x6f, 0xc1, 0x89, 0x91, 0xeb, 0x2a, 0x7a, 0x16, 0x72, 0xc1, 0x92, 0xcc, + 0x8e, 0xe9, 0x1f, 0x91, 0x69, 0x09, 0x70, 0xe5, 0x5f, 0x8e, 0x05, 0x2c, 0xa3, 0xb9, 0x9b, 0x06, + 0xa4, 0xd9, 0x99, 0x49, 0x7e, 0x3e, 0xe6, 0x89, 0xe9, 0x56, 0xe4, 0x65, 0x76, 0xa0, 0x52, 0xe1, + 0xc4, 0xf2, 0xfb, 0x20, 0xcd, 0x20, 0x28, 0x0f, 0x99, 0xe0, 0x1d, 0x69, 0x80, 0x74, 0xb5, 0x5e, + 0x6f, 0x6c, 0x89, 0x47, 0x61, 0x6b, 0x9b, 0x4a, 0x5b, 0x8a, 0x13, 0xb0, 0xd2, 0xb8, 0xd1, 0xa8, + 0xb7, 0xa5, 0x04, 0x9a, 0x85, 0x22, 0xfb, 0xad, 0x5e, 0xdd, 0x54, 0xd6, 0xab, 0x6d, 0x29, 0x19, + 0x02, 0xb5, 0x1a, 0x1b, 0xab, 0x0d, 0x45, 0x4a, 0xc9, 0x4f, 0xc1, 0xe9, 0xb1, 0x6b, 0x78, 0x90, + 0x98, 0x89, 0x85, 0x12, 0x33, 0xf2, 0x47, 0xe2, 0x24, 0xa8, 0x19, 0xb7, 0x30, 0xa3, 0x1b, 0x03, + 0x1d, 0xbf, 0x78, 0x8c, 0x55, 0x7d, 0xa0, 0xf7, 0x24, 0x8e, 0x71, 0xf0, 0x2e, 0xf6, 0xf4, 0x7d, + 0xe6, 0x28, 0x30, 0x0b, 0x54, 0x54, 0x8a, 0x1c, 0x4a, 0x89, 0x5c, 0x86, 0xf6, 0x1a, 0xd6, 0x3d, + 0x95, 0x29, 0x91, 0xcb, 0xff, 0x50, 0x6e, 0x91, 0x41, 0x5b, 0x0c, 0x28, 0x7f, 0xd3, 0xb1, 0x64, + 0x99, 0x83, 0x94, 0xd2, 0x68, 0x2b, 0xaf, 0x48, 0x09, 0x84, 0xa0, 0x44, 0x7f, 0xaa, 0xad, 0x8d, + 0xea, 0x56, 0xeb, 0xfa, 0x26, 0x91, 0xe5, 0x1c, 0x94, 0x85, 0x2c, 0x05, 0x30, 0x25, 0x3f, 0x06, + 0xa7, 0xc6, 0x78, 0x15, 0x23, 0x0e, 0xb1, 0x7e, 0x22, 0x16, 0xc6, 0x8e, 0x7a, 0x06, 0x9b, 0x90, + 0x76, 0x3d, 0xcd, 0xeb, 0xbb, 0x5c, 0x88, 0xcf, 0x4e, 0xeb, 0x66, 0x2c, 0x8b, 0x1f, 0x2d, 0x4a, + 0xae, 0x70, 0x36, 0xf2, 0x25, 0x28, 0x45, 0x4b, 0xc6, 0xcb, 0x20, 0x50, 0xa2, 0xb8, 0x7c, 0x05, + 0xd0, 0xb0, 0xf7, 0x31, 0x22, 0xbc, 0x8c, 0x8d, 0x0a, 0x2f, 0x7f, 0x2c, 0x06, 0x67, 0x8e, 0xf0, + 0x34, 0xd0, 0x4b, 0x03, 0x9d, 0x7c, 0xfe, 0x38, 0x7e, 0xca, 0x32, 0x83, 0x0d, 0x74, 0xf3, 0x69, + 0x28, 0x84, 0xe1, 0xd3, 0x75, 0xf2, 0x4b, 0xf1, 0x60, 0x12, 0x47, 0xe3, 0xe0, 0xc0, 0x04, 0xc6, + 0xbe, 0x46, 0x13, 0xf8, 0x4e, 0x00, 0xef, 0x40, 0x9c, 0xa2, 0xe6, 0xeb, 0xe8, 0xfd, 0x23, 0xf2, + 0x8b, 0x58, 0x6f, 0x1f, 0xf0, 0x49, 0x90, 0xf3, 0xf8, 0x2f, 0x17, 0xb5, 0xc2, 0x49, 0x81, 0x3e, + 0x5d, 0x63, 0x5d, 0xff, 0xcf, 0xe4, 0x4e, 0xb7, 0x18, 0x07, 0xc9, 0x03, 0x06, 0x76, 0xd1, 0x2b, + 0x70, 0x6a, 0xc0, 0x51, 0xf0, 0x59, 0x27, 0xa7, 0xf5, 0x17, 0x4e, 0x44, 0xfd, 0x05, 0xc1, 0x3a, + 0xbc, 0xda, 0xa7, 0xa2, 0xab, 0xfd, 0x2b, 0x00, 0x41, 0x72, 0x20, 0x38, 0xf6, 0x17, 0x0b, 0x1f, + 0xfb, 0xbb, 0x04, 0x29, 0xa2, 0x49, 0x42, 0x4e, 0xc3, 0xa6, 0x98, 0x68, 0x42, 0x28, 0xb9, 0xc0, + 0xb0, 0x65, 0x03, 0xd0, 0x70, 0x82, 0x76, 0x4c, 0x15, 0xef, 0x8a, 0x56, 0xf1, 0xc0, 0xd8, 0x54, + 0xef, 0xe8, 0xaa, 0x5e, 0x87, 0x14, 0x1d, 0xf9, 0x91, 0x77, 0x29, 0xdf, 0x0b, 0xa0, 0x79, 0x9e, + 0x63, 0xec, 0xf4, 0x83, 0x0a, 0x16, 0x47, 0x6b, 0x4e, 0x55, 0xe0, 0xd5, 0xee, 0xe3, 0x2a, 0x34, + 0x1f, 0x90, 0x86, 0xd4, 0x28, 0xc4, 0x50, 0xde, 0x80, 0x52, 0x94, 0x76, 0xf4, 0xdd, 0xd0, 0xe0, + 0x71, 0x95, 0x9c, 0xf0, 0x6f, 0x7c, 0xef, 0x88, 0x3f, 0x78, 0x44, 0x3f, 0xe4, 0x0f, 0xc4, 0xa1, + 0x10, 0x56, 0xbc, 0xbf, 0x7c, 0x2e, 0x88, 0xfc, 0xad, 0x31, 0xc8, 0xfa, 0xdd, 0x3f, 0xe2, 0xb0, + 0x73, 0x70, 0x47, 0xd8, 0xdf, 0xbc, 0x60, 0xdb, 0x44, 0x09, 0x7f, 0x9b, 0xe8, 0x8a, 0xbf, 0xfc, + 0x8d, 0x4b, 0x88, 0x84, 0x65, 0x2d, 0x0e, 0x1c, 0xf2, 0xd5, 0xfe, 0xca, 0x74, 0x57, 0xf1, 0xe6, + 0x21, 0x15, 0xbe, 0x46, 0xc7, 0x3e, 0xe4, 0x4e, 0xe8, 0x84, 0x11, 0x9b, 0x88, 0xe1, 0x3b, 0x7b, + 0xb1, 0x63, 0xdf, 0xd9, 0xf3, 0x6b, 0x89, 0x87, 0x6b, 0xf9, 0x9e, 0x18, 0x64, 0xc5, 0x9c, 0x40, + 0xef, 0x0e, 0x9f, 0x3c, 0x13, 0x5b, 0x9b, 0x63, 0xed, 0x11, 0xe7, 0x1f, 0x3a, 0x78, 0x36, 0x74, + 0xe0, 0x3a, 0x71, 0xdc, 0x03, 0xd7, 0xdc, 0xb3, 0xfb, 0xe3, 0x18, 0x48, 0x83, 0x33, 0xf6, 0x6b, + 0x6e, 0xdd, 0xf0, 0x32, 0x97, 0x18, 0xb1, 0xcc, 0x8d, 0x3b, 0x45, 0x9d, 0x1c, 0x77, 0x8a, 0x7a, + 0xb8, 0xd7, 0xa9, 0x7b, 0xec, 0xf5, 0x07, 0xe3, 0x90, 0x0f, 0xa5, 0x47, 0xd1, 0x33, 0x91, 0x13, + 0xd9, 0x4b, 0x47, 0xa5, 0x52, 0x43, 0x47, 0xb2, 0x23, 0x62, 0x8a, 0x1f, 0x5f, 0x4c, 0x6f, 0xfd, + 0xed, 0xac, 0xd1, 0x17, 0x58, 0x53, 0x63, 0x2e, 0xb0, 0xfe, 0xf5, 0x18, 0x64, 0x7d, 0xb7, 0xfb, + 0xb8, 0x9b, 0x98, 0x27, 0x21, 0xcd, 0x3d, 0x4b, 0xb6, 0x8b, 0xc9, 0xbf, 0x46, 0xa6, 0x95, 0x2b, + 0x90, 0x15, 0x7f, 0xb3, 0x90, 0xaf, 0x6a, 0xfe, 0xf7, 0xf9, 0xe7, 0x21, 0x1f, 0xda, 0x00, 0x26, + 0xa6, 0x71, 0xa3, 0xf1, 0x1e, 0x69, 0xa6, 0x92, 0x79, 0xe3, 0xee, 0x52, 0x62, 0x03, 0xdf, 0x21, + 0xb3, 0x59, 0x69, 0xd4, 0xaf, 0x37, 0xea, 0x2f, 0x4a, 0xb1, 0x4a, 0xfe, 0x8d, 0xbb, 0x4b, 0x19, + 0x05, 0xd3, 0x8c, 0xe2, 0xf9, 0x17, 0xa1, 0x3c, 0x30, 0x30, 0x51, 0xb7, 0x05, 0x41, 0x69, 0x75, + 0x7b, 0x6b, 0xad, 0x59, 0xaf, 0xb6, 0x1b, 0x2a, 0x3b, 0xb7, 0x8b, 0x4e, 0xc1, 0xdc, 0x5a, 0xf3, + 0xda, 0xf5, 0xb6, 0x5a, 0x5f, 0x6b, 0x36, 0x36, 0xda, 0x6a, 0xb5, 0xdd, 0xae, 0xd6, 0x5f, 0x94, + 0xe2, 0x17, 0xef, 0xe6, 0x21, 0x59, 0xad, 0xd5, 0x9b, 0xa8, 0x0e, 0x49, 0x9a, 0x0a, 0x39, 0xf2, + 0x04, 0x58, 0xe5, 0xe8, 0xdc, 0x30, 0xba, 0x0a, 0x29, 0x9a, 0x25, 0x41, 0x47, 0x1f, 0x09, 0xab, + 0x4c, 0x48, 0x16, 0x93, 0xc6, 0xd0, 0x19, 0x79, 0xe4, 0x19, 0xb1, 0xca, 0xd1, 0xb9, 0x63, 0xb4, + 0x06, 0x19, 0x11, 0x24, 0x4f, 0x3a, 0xb8, 0x55, 0x99, 0x98, 0xd0, 0x25, 0x5d, 0x63, 0xc9, 0x86, + 0xa3, 0x8f, 0x8f, 0x55, 0x26, 0x64, 0x95, 0x51, 0xd3, 0xbf, 0xcf, 0x34, 0xe1, 0x44, 0x58, 0x65, + 0x52, 0x9e, 0x18, 0x29, 0x90, 0x0b, 0xd2, 0x38, 0x93, 0x0f, 0xc5, 0x55, 0xa6, 0x48, 0x98, 0xa3, + 0xf7, 0x41, 0x31, 0x1a, 0xea, 0x4e, 0x77, 0xea, 0xac, 0x32, 0x65, 0x46, 0x9a, 0xf0, 0x8f, 0xc6, + 0xbd, 0xd3, 0x9d, 0x42, 0xab, 0x4c, 0x99, 0xa0, 0x46, 0xaf, 0xc1, 0xec, 0x70, 0x5c, 0x3a, 0xfd, + 0xa1, 0xb4, 0xca, 0x31, 0x52, 0xd6, 0xa8, 0x07, 0x68, 0x44, 0x3c, 0x7b, 0x8c, 0x33, 0x6a, 0x95, + 0xe3, 0x64, 0xb0, 0x51, 0x07, 0xca, 0x83, 0x41, 0xe2, 0xb4, 0x67, 0xd6, 0x2a, 0x53, 0x67, 0xb3, + 0x59, 0x2d, 0xd1, 0xe0, 0x72, 0xda, 0x33, 0x6c, 0x95, 0xa9, 0x93, 0xdb, 0x68, 0x1b, 0x20, 0x14, + 0x1f, 0x4e, 0x71, 0xa6, 0xad, 0x32, 0x4d, 0x9a, 0x1b, 0xd9, 0x30, 0x37, 0x2a, 0x70, 0x3c, 0xce, + 0x11, 0xb7, 0xca, 0xb1, 0xb2, 0xdf, 0x44, 0x9f, 0xa3, 0x21, 0xe0, 0x74, 0x47, 0xde, 0x2a, 0x53, + 0xa6, 0xc1, 0x6b, 0xd5, 0xb1, 0xe7, 0x9c, 0x1f, 0x39, 0xf2, 0x9c, 0x73, 0x70, 0x72, 0xd9, 0x3f, + 0xdb, 0xfc, 0x99, 0x67, 0xe0, 0x1d, 0xfc, 0x05, 0x1d, 0xd7, 0xd3, 0x6e, 0x19, 0xe6, 0x9e, 0xff, + 0x94, 0x11, 0xff, 0xe6, 0x87, 0x9c, 0x4f, 0xf2, 0xe7, 0x7a, 0x04, 0x74, 0xc2, 0x83, 0x46, 0x63, + 0x5f, 0x79, 0x9c, 0x74, 0x1f, 0x62, 0xf2, 0xf1, 0xe5, 0x23, 0x1e, 0x4b, 0x9a, 0xf0, 0x24, 0xd3, + 0x88, 0xc7, 0x94, 0x2a, 0x47, 0xbe, 0x31, 0x50, 0x39, 0xea, 0xdc, 0xb7, 0xfc, 0xfd, 0x31, 0x28, + 0x5d, 0x37, 0x5c, 0xcf, 0x72, 0x0c, 0x5d, 0xeb, 0xd2, 0xe5, 0xe5, 0xca, 0xb4, 0xb7, 0xb2, 0x6a, + 0x39, 0xe2, 0xae, 0xf0, 0xf7, 0x96, 0xf8, 0x4d, 0xa1, 0x55, 0x48, 0xdf, 0xd6, 0xba, 0xec, 0x4e, + 0x54, 0xf8, 0xb1, 0xb5, 0x41, 0x99, 0x87, 0xfc, 0xa8, 0x30, 0x17, 0x46, 0xbb, 0x12, 0x5f, 0x88, + 0xc9, 0xdf, 0x1e, 0x03, 0x29, 0x68, 0x99, 0x82, 0x75, 0xcb, 0xe9, 0xd0, 0x50, 0xc0, 0xb6, 0x43, + 0x67, 0x05, 0xc4, 0x27, 0x75, 0xf9, 0x8c, 0x1e, 0xf6, 0xfd, 0xb6, 0xf1, 0x4e, 0x56, 0x32, 0xe4, + 0x60, 0x8d, 0xb8, 0x72, 0x9e, 0x18, 0x75, 0xe5, 0x5c, 0xfe, 0x3e, 0x7a, 0xc3, 0xa5, 0xd7, 0x33, + 0x5c, 0x32, 0x3b, 0x14, 0x1a, 0xdc, 0xdf, 0x80, 0xa4, 0xa3, 0x79, 0x3c, 0xe4, 0xad, 0x5d, 0x3e, + 0xf6, 0x93, 0x51, 0xac, 0xcf, 0x94, 0x07, 0x7a, 0x09, 0xb2, 0x3d, 0xed, 0x40, 0xa5, 0xfc, 0xe2, + 0x5f, 0x13, 0xbf, 0x4c, 0x4f, 0x3b, 0x20, 0xed, 0x43, 0xef, 0x83, 0x32, 0x61, 0xa9, 0xef, 0x6b, + 0xe6, 0x1e, 0x66, 0x9c, 0x13, 0x5f, 0x13, 0xe7, 0x62, 0x4f, 0x3b, 0xa8, 0x53, 0x6e, 0x84, 0x3f, + 0x7f, 0x5a, 0xeb, 0x57, 0x63, 0x3c, 0x8f, 0x41, 0x05, 0x83, 0x34, 0x90, 0x74, 0xff, 0x8b, 0x56, + 0x2a, 0x36, 0x5d, 0x1e, 0x19, 0xa7, 0x09, 0x03, 0x62, 0xad, 0x15, 0x49, 0xf3, 0x3e, 0xfb, 0xe6, + 0x62, 0x8c, 0xd5, 0x5a, 0xd6, 0x87, 0xc4, 0x9e, 0x67, 0xe9, 0x19, 0x75, 0xca, 0x01, 0x2f, 0x0a, + 0xaf, 0x9a, 0x31, 0x04, 0x46, 0x4d, 0xca, 0x79, 0x1f, 0x3e, 0x15, 0x83, 0xfc, 0x6a, 0xe8, 0x31, + 0xc7, 0x05, 0xc8, 0xf4, 0x2c, 0xd3, 0xb8, 0x85, 0x1d, 0x7f, 0xd7, 0x8c, 0x7d, 0x12, 0xcf, 0x97, + 0xfd, 0x4d, 0x40, 0xef, 0x50, 0xbc, 0x77, 0x24, 0xbe, 0x09, 0xd5, 0x1d, 0xbc, 0xe3, 0x1a, 0x42, + 0xce, 0x8a, 0xf8, 0x44, 0x8f, 0x82, 0xe4, 0x62, 0xbd, 0xef, 0x18, 0xde, 0xa1, 0xaa, 0x5b, 0xa6, + 0xa7, 0xe9, 0x1e, 0xcf, 0x0c, 0x94, 0x05, 0xbc, 0xce, 0xc0, 0x84, 0x49, 0x07, 0x7b, 0x9a, 0xd1, + 0x65, 0x67, 0x45, 0x73, 0x8a, 0xf8, 0xe4, 0x4d, 0x7d, 0x23, 0x13, 0x8e, 0x8c, 0xeb, 0x20, 0x59, + 0x36, 0x76, 0x22, 0x47, 0x64, 0x98, 0x36, 0x2e, 0xfc, 0xc6, 0xa7, 0x9f, 0x98, 0xe7, 0x02, 0xe7, + 0xc7, 0x2b, 0xd8, 0xdf, 0x2e, 0x50, 0xca, 0x82, 0x42, 0x9c, 0x9d, 0x79, 0x25, 0xb2, 0x4f, 0xd6, + 0xdf, 0x09, 0x1e, 0xb6, 0x99, 0x1f, 0x12, 0x6a, 0xd5, 0x3c, 0xac, 0x2d, 0xfc, 0x7a, 0xc0, 0x3a, + 0x88, 0x9c, 0x5f, 0xc4, 0x87, 0xe1, 0x4d, 0x33, 0xca, 0x86, 0x04, 0x15, 0xaf, 0x69, 0x46, 0x57, + 0xfc, 0xf9, 0x54, 0x85, 0x7f, 0xa1, 0x15, 0x3f, 0xe1, 0x99, 0xa4, 0x11, 0x9a, 0x3c, 0x4e, 0x37, + 0x6a, 0x96, 0xd9, 0x89, 0x66, 0x36, 0x51, 0x1d, 0xd2, 0x9e, 0x75, 0x0b, 0x9b, 0x5c, 0x40, 0xb5, + 0xc7, 0x8e, 0xf1, 0x36, 0x9c, 0xc2, 0x49, 0xd1, 0x37, 0x82, 0xd4, 0xc1, 0x5d, 0xbc, 0xc7, 0x6e, + 0x70, 0xee, 0x6b, 0x0e, 0x66, 0xef, 0x07, 0xdc, 0xd3, 0xcb, 0x6f, 0x65, 0x9f, 0x55, 0x8b, 0x72, + 0x42, 0x5b, 0xd1, 0xe7, 0x42, 0x33, 0x7c, 0x3b, 0x7b, 0x4c, 0x1f, 0x43, 0x9a, 0x17, 0xb6, 0x85, + 0x91, 0xe7, 0x45, 0x1f, 0x05, 0xa9, 0x6f, 0xee, 0x58, 0x26, 0xfd, 0xab, 0x83, 0x3c, 0xae, 0xcb, + 0xb2, 0xbd, 0x53, 0x1f, 0xce, 0xf7, 0x4e, 0xb7, 0xa0, 0x14, 0xa0, 0xd2, 0x19, 0x92, 0x3b, 0xee, + 0x0c, 0x29, 0xfa, 0x0c, 0x08, 0x0a, 0x5a, 0x07, 0x08, 0xe6, 0x20, 0xdd, 0xbc, 0xcb, 0x8f, 0x1f, + 0xb1, 0x60, 0x36, 0x87, 0x3b, 0x13, 0x62, 0x80, 0xbe, 0x01, 0xe6, 0x7a, 0x86, 0xa9, 0xba, 0xb8, + 0xbb, 0xab, 0x72, 0xc9, 0x11, 0xbe, 0xf9, 0xe3, 0x8f, 0xe6, 0x6c, 0xcf, 0x30, 0x5b, 0xb8, 0xbb, + 0xbb, 0xea, 0x73, 0x41, 0xef, 0x84, 0x33, 0x41, 0xef, 0x2d, 0x53, 0xdd, 0xb7, 0xba, 0x1d, 0xd5, + 0xc1, 0xbb, 0xaa, 0x4e, 0x5f, 0xf7, 0x2b, 0x50, 0x99, 0x9d, 0xf2, 0x51, 0x36, 0xcd, 0xeb, 0x56, + 0xb7, 0xa3, 0xe0, 0xdd, 0x3a, 0x29, 0x46, 0x0f, 0x42, 0xd0, 0x75, 0xd5, 0xe8, 0xb8, 0x0b, 0xc5, + 0xa5, 0xc4, 0xb9, 0xa4, 0x52, 0xf0, 0x81, 0xcd, 0x8e, 0xbb, 0x92, 0xfd, 0xd0, 0xc7, 0x17, 0x67, + 0xbe, 0xf8, 0xf1, 0xc5, 0x19, 0xf9, 0x2a, 0x7d, 0xe5, 0x8a, 0xcf, 0x23, 0xec, 0xa2, 0xcb, 0x90, + 0xd3, 0xc4, 0x07, 0xbb, 0xc3, 0x76, 0xc4, 0x3c, 0x0c, 0x50, 0xe5, 0x9f, 0x88, 0x41, 0x7a, 0xf5, + 0xe6, 0x96, 0x66, 0x38, 0xa8, 0x01, 0xb3, 0x81, 0x62, 0x4e, 0x3b, 0xa5, 0x03, 0x5d, 0x16, 0x73, + 0x7a, 0x63, 0xdc, 0xe1, 0xb9, 0x5c, 0xed, 0x81, 0xdf, 0xf8, 0xf4, 0x13, 0xf7, 0x73, 0x36, 0x37, + 0x07, 0xce, 0xd1, 0x09, 0x7e, 0x83, 0xe7, 0xeb, 0x42, 0x7d, 0xbe, 0x01, 0x19, 0xd6, 0x54, 0x17, + 0xbd, 0x00, 0x29, 0x9b, 0xfc, 0xe0, 0x7b, 0x02, 0x67, 0xc7, 0x2a, 0x38, 0xc5, 0x0f, 0xab, 0x03, + 0xa3, 0x93, 0xbf, 0x3d, 0x0e, 0xb0, 0x7a, 0xf3, 0x66, 0xdb, 0x31, 0xec, 0x2e, 0xf6, 0xde, 0xaa, + 0xbe, 0x6f, 0xc3, 0x89, 0xd0, 0xed, 0x6c, 0x47, 0x3f, 0x7e, 0xff, 0xe7, 0x82, 0x8b, 0xda, 0x8e, + 0x3e, 0x92, 0x6d, 0xc7, 0xf5, 0x7c, 0xb6, 0x89, 0xe3, 0xb3, 0x5d, 0x75, 0xbd, 0x61, 0xc9, 0xbe, + 0x0c, 0xf9, 0x40, 0x18, 0x2e, 0x6a, 0x42, 0xd6, 0xe3, 0xbf, 0xb9, 0x80, 0xe5, 0xf1, 0x02, 0x16, + 0x64, 0x61, 0x21, 0xfb, 0xe4, 0xf2, 0x9f, 0xc6, 0x00, 0x42, 0x73, 0xe4, 0xcf, 0xa7, 0x8e, 0xa1, + 0x26, 0xa4, 0xb9, 0x25, 0x4e, 0xdc, 0xf3, 0x1b, 0x9c, 0x8c, 0x41, 0x48, 0xa8, 0xdf, 0x19, 0x87, + 0xb9, 0x6d, 0x31, 0x7b, 0xff, 0xfc, 0xcb, 0x60, 0x1b, 0x32, 0xd8, 0xf4, 0x1c, 0xc3, 0xdf, 0xd5, + 0x7a, 0x72, 0xdc, 0x98, 0x8f, 0xe8, 0x54, 0xc3, 0xf4, 0x9c, 0xc3, 0xb0, 0x06, 0x08, 0x5e, 0x21, + 0x79, 0x7c, 0x34, 0x01, 0x0b, 0xe3, 0x48, 0x89, 0x37, 0xac, 0x3b, 0x98, 0x02, 0xa2, 0x97, 0x56, + 0x4b, 0x02, 0xcc, 0xd7, 0x18, 0x05, 0x88, 0x57, 0x46, 0x94, 0x8b, 0xa0, 0xde, 0x9b, 0x1b, 0x56, + 0x0a, 0x38, 0xd0, 0x55, 0xa6, 0x0d, 0x65, 0x71, 0x0b, 0x66, 0x47, 0xeb, 0x6a, 0xa6, 0x2e, 0xdc, + 0xd5, 0x63, 0x2d, 0x09, 0xe2, 0x26, 0x4d, 0x8d, 0xb1, 0x40, 0x0d, 0xc8, 0x08, 0x6e, 0xc9, 0xe3, + 0x73, 0x13, 0xb4, 0xe8, 0x01, 0x28, 0x84, 0x17, 0x06, 0xea, 0x7a, 0x24, 0x95, 0x7c, 0x68, 0x5d, + 0x98, 0xb4, 0xf2, 0xa4, 0x8f, 0x5c, 0x79, 0xb8, 0x77, 0xf7, 0xc3, 0xf4, 0xb0, 0x7a, 0xe7, 0x2f, + 0xfe, 0xb0, 0x6c, 0x01, 0xb0, 0xa9, 0x4a, 0x2c, 0x29, 0x1f, 0x99, 0x7b, 0x98, 0xef, 0x39, 0xc6, + 0x64, 0xd5, 0xf5, 0xbe, 0x5e, 0x23, 0xf4, 0x5b, 0x71, 0x28, 0x84, 0x47, 0xe8, 0x2f, 0xe5, 0xa2, + 0x85, 0x36, 0x02, 0x33, 0xc5, 0x2e, 0xf4, 0x3c, 0x3a, 0xce, 0x4c, 0x0d, 0x69, 0xf3, 0x04, 0xfb, + 0xf4, 0x85, 0x04, 0xa4, 0xf9, 0x89, 0xbb, 0xcd, 0x21, 0x47, 0x36, 0x36, 0xe9, 0x49, 0x82, 0xa2, + 0x78, 0x92, 0x60, 0xa4, 0x1f, 0xfb, 0x10, 0x94, 0x48, 0x40, 0x1c, 0x39, 0xc6, 0x17, 0x3b, 0x57, + 0xa4, 0x71, 0x6d, 0x70, 0x68, 0x1d, 0x2d, 0x42, 0x9e, 0xa0, 0x05, 0x76, 0x98, 0xe0, 0x40, 0x4f, + 0x3b, 0x68, 0x30, 0x08, 0x7a, 0x02, 0xd0, 0xbe, 0x9f, 0x98, 0x50, 0x03, 0x41, 0x10, 0xbc, 0xd9, + 0xa0, 0x44, 0xa0, 0xdf, 0x0f, 0x40, 0x5a, 0xa1, 0xb2, 0x67, 0xa7, 0xf9, 0xa3, 0xde, 0x04, 0xb2, + 0x4a, 0x9f, 0x9e, 0xfe, 0x96, 0x18, 0xf3, 0x87, 0x07, 0xc2, 0x66, 0x1e, 0x8e, 0xb4, 0xa7, 0x98, + 0x14, 0x7f, 0xf4, 0xe6, 0x62, 0xe5, 0x50, 0xeb, 0x75, 0x57, 0xe4, 0x11, 0x7c, 0xe4, 0x51, 0x91, + 0x3c, 0x71, 0x9c, 0xa3, 0x61, 0x37, 0x6a, 0x82, 0x74, 0x0b, 0x1f, 0xaa, 0x0e, 0xff, 0x9b, 0xdc, + 0xea, 0x2e, 0xc6, 0x3c, 0x70, 0x39, 0xbd, 0x3c, 0xe2, 0x11, 0xf0, 0xe5, 0xba, 0x65, 0x98, 0x7c, + 0x0b, 0xac, 0x74, 0x0b, 0x1f, 0x2a, 0x9c, 0xee, 0x2a, 0xc6, 0x2b, 0xef, 0x20, 0x33, 0xe5, 0x8d, + 0x2f, 0xfc, 0xd4, 0xf9, 0x33, 0xa1, 0x07, 0xad, 0x0f, 0xfc, 0xdc, 0x1c, 0x1b, 0x5e, 0xe2, 0xf4, + 0xa2, 0x60, 0x01, 0xf2, 0x8f, 0xfd, 0xaf, 0x03, 0x84, 0x82, 0x82, 0xd8, 0xd1, 0xc1, 0x46, 0x40, + 0x1f, 0x09, 0x36, 0x42, 0xd3, 0xf3, 0xdd, 0x81, 0xfd, 0x8f, 0x4f, 0xea, 0x4d, 0x58, 0x33, 0x39, + 0x11, 0x9d, 0xf5, 0x33, 0xf2, 0xbf, 0x89, 0xc1, 0xe9, 0x21, 0x4d, 0xf6, 0x9b, 0xac, 0x03, 0x72, + 0x42, 0x85, 0x54, 0x23, 0xc4, 0x3e, 0xf3, 0xbd, 0x4d, 0x8c, 0x59, 0x67, 0x68, 0x11, 0x78, 0x6b, + 0x16, 0x32, 0x6e, 0xc5, 0x7e, 0x2d, 0x06, 0xf3, 0xe1, 0x06, 0xf8, 0x5d, 0x69, 0x41, 0x21, 0x5c, + 0x35, 0xef, 0xc4, 0x3b, 0xa6, 0xe9, 0x44, 0xb8, 0xfd, 0x11, 0x26, 0xe8, 0x66, 0x60, 0x2d, 0x58, + 0x52, 0xf0, 0xa9, 0xa9, 0x85, 0x22, 0x1a, 0x36, 0xd2, 0x6a, 0xb0, 0xb1, 0xf9, 0xbd, 0x18, 0x24, + 0xb7, 0x2c, 0xab, 0x8b, 0xde, 0x0f, 0xb3, 0xa6, 0xe5, 0xa9, 0x64, 0x66, 0xe1, 0x8e, 0xca, 0x73, + 0x04, 0xcc, 0x12, 0x37, 0x8e, 0x94, 0xd5, 0x97, 0xde, 0x5c, 0x1c, 0xa6, 0x1c, 0xf5, 0xa8, 0x7c, + 0xd9, 0xb4, 0xbc, 0x1a, 0x45, 0x6a, 0xb3, 0x34, 0xc2, 0x2e, 0x14, 0xa3, 0xd5, 0x31, 0x6b, 0x5d, + 0x9d, 0x54, 0x5d, 0x71, 0x62, 0x55, 0x85, 0x9d, 0x50, 0x3d, 0xec, 0x8d, 0xe8, 0x3f, 0x20, 0x23, + 0xf7, 0x5e, 0x90, 0x6e, 0x0e, 0x9e, 0x5f, 0x6a, 0x40, 0x46, 0x9c, 0x57, 0x8a, 0x4d, 0x79, 0x14, + 0x2a, 0x2c, 0x4e, 0x4e, 0x4b, 0x93, 0xae, 0x9f, 0x8d, 0xc3, 0xe9, 0xba, 0x65, 0xba, 0x3c, 0xa1, + 0xc3, 0x27, 0x35, 0x4b, 0xc3, 0x1e, 0xa2, 0x47, 0xc7, 0xa4, 0x9b, 0x0a, 0xc3, 0x49, 0xa5, 0x9b, + 0x50, 0x26, 0xab, 0xab, 0x6e, 0x99, 0x5f, 0x63, 0x4e, 0xa9, 0x68, 0x75, 0x3b, 0xbc, 0x45, 0xb7, + 0xf0, 0x21, 0xe1, 0x6b, 0xe2, 0x3b, 0x11, 0xbe, 0x89, 0x7b, 0xe3, 0x6b, 0xe2, 0x3b, 0x21, 0xbe, + 0xc1, 0x76, 0x79, 0x32, 0xb2, 0x5d, 0x7e, 0x19, 0x12, 0xc4, 0x12, 0xa6, 0x8e, 0x61, 0x3b, 0x08, + 0x41, 0x68, 0x45, 0x6b, 0xc1, 0x69, 0x9e, 0x24, 0x70, 0x37, 0x77, 0xa9, 0x44, 0x31, 0xed, 0xd0, + 0x8b, 0xf8, 0x70, 0x44, 0xc6, 0xa0, 0x30, 0x55, 0xc6, 0xe0, 0xfc, 0xcf, 0xc5, 0x00, 0x82, 0xdc, + 0x18, 0x7a, 0x1c, 0x4e, 0xd5, 0x36, 0x37, 0x56, 0xd5, 0x56, 0xbb, 0xda, 0xde, 0x6e, 0x45, 0xff, + 0x6c, 0x8c, 0x78, 0x08, 0xcb, 0xb5, 0xb1, 0x6e, 0xec, 0x1a, 0xb8, 0x83, 0x1e, 0x86, 0xf9, 0x28, + 0x36, 0xf9, 0x6a, 0xac, 0x4a, 0xb1, 0x4a, 0xe1, 0x8d, 0xbb, 0x4b, 0x59, 0x16, 0x1e, 0xe0, 0x0e, + 0x3a, 0x07, 0x27, 0x86, 0xf1, 0x9a, 0x1b, 0xd7, 0xa4, 0x78, 0xa5, 0xf8, 0xc6, 0xdd, 0xa5, 0x9c, + 0x1f, 0x47, 0x20, 0x19, 0x50, 0x18, 0x93, 0xf3, 0x4b, 0x54, 0xe0, 0x8d, 0xbb, 0x4b, 0x69, 0x36, + 0x63, 0x2a, 0xc9, 0x0f, 0xfd, 0xe8, 0xd9, 0x99, 0xf3, 0xef, 0x05, 0x68, 0x9a, 0xbb, 0x8e, 0xa6, + 0x53, 0xcb, 0x50, 0x81, 0x93, 0xcd, 0x8d, 0xab, 0x4a, 0xb5, 0xde, 0x6e, 0x6e, 0x6e, 0x0c, 0xfc, + 0xb5, 0x9b, 0x68, 0xd9, 0xea, 0xe6, 0x76, 0x6d, 0xad, 0xa1, 0xb6, 0x9a, 0xd7, 0x36, 0xd8, 0xae, + 0x7f, 0xa4, 0xec, 0x3d, 0x1b, 0xed, 0xe6, 0x7a, 0x43, 0x8a, 0xd7, 0x2e, 0x8f, 0xdd, 0x55, 0xba, + 0x2f, 0x32, 0x17, 0x83, 0xd5, 0x28, 0xb2, 0x95, 0xf4, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x98, + 0x91, 0x83, 0x6e, 0x31, 0xa3, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) diff --git a/x/staking/types/validator.go b/x/staking/types/validator.go index 63ed25456fae..2ce46b00b104 100644 --- a/x/staking/types/validator.go +++ b/x/staking/types/validator.go @@ -7,10 +7,10 @@ import ( "strings" "time" - abci "github.com/cometbft/cometbft/abci/types" cmtprotocrypto "github.com/cometbft/cometbft/proto/tendermint/crypto" "cosmossdk.io/core/address" + "cosmossdk.io/core/appmodule" "cosmossdk.io/errors" "cosmossdk.io/math" @@ -20,7 +20,6 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/types/module" ) const ( @@ -257,58 +256,32 @@ func (d Description) EnsureLength() (Description, error) { return d, nil } -// ABCIValidatorUpdate returns an abci.ValidatorUpdate from a staking validator type -// with the full validator power -func (v Validator) ABCIValidatorUpdate(r math.Int) abci.ValidatorUpdate { - tmProtoPk, err := v.CmtConsPublicKey() - if err != nil { - panic(err) - } - - return abci.ValidatorUpdate{ - PubKey: tmProtoPk, - Power: v.ConsensusPower(r), - } -} - -// ModuleValidatorUpdate returns a module.ValidatorUpdate from a staking validator type -// with the full validator power -func (v Validator) ModuleValidatorUpdate(r math.Int) module.ValidatorUpdate { +// ModuleValidatorUpdate returns a appmodule.ValidatorUpdate from a staking validator type +// with the full validator power. +// It replaces the previous ABCIValidatorUpdate function. +func (v Validator) ModuleValidatorUpdate(r math.Int) appmodule.ValidatorUpdate { consPk, err := v.ConsPubKey() if err != nil { panic(err) } - return module.ValidatorUpdate{ + return appmodule.ValidatorUpdate{ PubKey: consPk.Bytes(), PubKeyType: consPk.Type(), Power: v.ConsensusPower(r), } } -// ABCIValidatorUpdateZero returns an abci.ValidatorUpdate from a staking validator type -// with zero power used for validator updates. -func (v Validator) ABCIValidatorUpdateZero() abci.ValidatorUpdate { - tmProtoPk, err := v.CmtConsPublicKey() - if err != nil { - panic(err) - } - - return abci.ValidatorUpdate{ - PubKey: tmProtoPk, - Power: 0, - } -} - -// ModuleValidatorUpdateZero returns a module.ValidatorUpdate from a staking validator type +// ModuleValidatorUpdateZero returns a appmodule.ValidatorUpdate from a staking validator type // with zero power used for validator updates. -func (v Validator) ModuleValidatorUpdateZero() module.ValidatorUpdate { +// It replaces the previous ABCIValidatorUpdateZero function. +func (v Validator) ModuleValidatorUpdateZero() appmodule.ValidatorUpdate { consPk, err := v.ConsPubKey() if err != nil { panic(err) } - return module.ValidatorUpdate{ + return appmodule.ValidatorUpdate{ PubKey: consPk.Bytes(), PubKeyType: consPk.Type(), Power: 0, diff --git a/x/staking/types/validator_test.go b/x/staking/types/validator_test.go index 504562eb6e91..4fc7ee7262b5 100644 --- a/x/staking/types/validator_test.go +++ b/x/staking/types/validator_test.go @@ -60,24 +60,6 @@ func TestUpdateDescription(t *testing.T) { require.Equal(t, d, d3) } -func TestABCIValidatorUpdate(t *testing.T) { - validator := newValidator(t, valAddr1, pk1) - abciVal := validator.ABCIValidatorUpdate(sdk.DefaultPowerReduction) - pk, err := validator.TmConsPublicKey() - require.NoError(t, err) - require.Equal(t, pk, abciVal.PubKey) - require.Equal(t, validator.BondedTokens().Int64(), abciVal.Power) -} - -func TestABCIValidatorUpdateZero(t *testing.T) { - validator := newValidator(t, valAddr1, pk1) - abciVal := validator.ABCIValidatorUpdateZero() - pk, err := validator.TmConsPublicKey() - require.NoError(t, err) - require.Equal(t, pk, abciVal.PubKey) - require.Equal(t, int64(0), abciVal.Power) -} - func TestShareTokens(t *testing.T) { validator := mkValidator(100, math.LegacyNewDec(100)) assert.True(math.LegacyDecEq(t, math.LegacyNewDec(50), validator.TokensFromShares(math.LegacyNewDec(50)))) From b9c8d60ea05e6996769ff17ae7408724a44083f3 Mon Sep 17 00:00:00 2001 From: Ezequiel Raynaudo Date: Thu, 28 Mar 2024 16:53:21 -0300 Subject: [PATCH 5/6] refactor: bump gogoproto (#19869) --- CHANGELOG.md | 1 + UPGRADING.md | 3 + baseapp/grpcrouter_test.go | 2 +- baseapp/testutil/buf.gen.yaml | 2 +- client/grpc/cmtservice/query.pb.go | 40 +- codec/any_test.go | 20 +- codec/types/any.go | 169 +----- codec/types/any.pb.go | 535 ------------------ codec/types/any_internal_test.go | 2 +- codec/types/compat.go | 210 ------- codec/types/compat_test.go | 132 ----- codec/types/interface_registry.go | 78 +-- codec/types/types_test.go | 64 ++- codec/yaml_test.go | 13 +- crypto/keyring/record.pb.go | 10 +- crypto/keys/multisig/keys.pb.go | 8 +- proto/buf.gen.gogo.yaml | 2 +- proto/buf.lock | 4 +- store/db/pebbledb.go | 7 +- store/db/rocksdb_noflag.go | 14 +- store/root/migrate_test.go | 4 +- .../integration/tx/internal/buf.gen.gogo.yaml | 2 +- .../{buf.gen.yaml => buf.gen.gogo.yaml} | 2 +- testutil/testdata/codec.go | 8 +- testutil/testdata/grpc_query.go | 5 +- testutil/testdata/query.pb.go | 8 +- testutil/testdata/testdata.pb.go | 22 +- testutil/testdata/unknonwnproto.pb.go | 84 +-- types/abci.pb.go | 38 +- types/tx/signing/signing.pb.go | 16 +- types/tx/tx.pb.go | 46 +- x/accounts/defaults/lockup/types/tx.pb.go | 8 +- x/accounts/proto/buf.gen.gogo.yaml | 2 +- x/accounts/v1/query.pb.go | 14 +- x/accounts/v1/tx.pb.go | 40 +- x/auth/proto/buf.gen.gogo.yaml | 2 +- x/auth/signing/adapter.go | 1 + x/auth/types/auth.pb.go | 12 +- x/auth/types/genesis.pb.go | 8 +- x/auth/types/query.pb.go | 26 +- x/authz/authz.pb.go | 10 +- x/authz/proto/buf.gen.gogo.yaml | 2 +- x/authz/tx.pb.go | 6 +- x/bank/proto/buf.gen.gogo.yaml | 2 +- x/circuit/proto/buf.gen.gogo.yaml | 2 +- x/consensus/proto/buf.gen.gogo.yaml | 2 +- x/counter/proto/buf.gen.gogo.yaml | 2 +- x/crisis/proto/buf.gen.gogo.yaml | 2 +- x/distribution/proto/buf.gen.gogo.yaml | 2 +- x/evidence/proto/buf.gen.gogo.yaml | 2 +- x/evidence/types/genesis.pb.go | 8 +- x/evidence/types/query.pb.go | 14 +- x/evidence/types/tx.pb.go | 6 +- x/feegrant/feegrant.pb.go | 12 +- x/feegrant/proto/buf.gen.gogo.yaml | 2 +- x/feegrant/tx.pb.go | 8 +- x/genutil/proto/buf.gen.gogo.yaml | 2 +- x/gov/proto/buf.gen.gogo.yaml | 2 +- x/gov/types/v1/gov.pb.go | 8 +- x/gov/types/v1/tx.pb.go | 32 +- x/gov/types/v1beta1/gov.pb.go | 6 +- x/gov/types/v1beta1/tx.pb.go | 12 +- x/group/proto/buf.gen.gogo.yaml | 2 +- x/group/tx.pb.go | 18 +- x/group/types.pb.go | 10 +- x/mint/proto/buf.gen.gogo.yaml | 2 +- x/nft/nft.pb.go | 14 +- x/nft/proto/buf.gen.gogo.yaml | 2 +- x/params/proto/buf.gen.gogo.yaml | 2 +- x/protocolpool/proto/buf.gen.gogo.yaml | 2 +- x/slashing/proto/buf.gen.gogo.yaml | 2 +- x/staking/proto/buf.gen.gogo.yaml | 2 +- x/staking/types/staking.pb.go | 38 +- x/staking/types/tx.pb.go | 48 +- x/upgrade/proto/buf.gen.gogo.yaml | 2 +- x/upgrade/types/upgrade.pb.go | 6 +- 76 files changed, 494 insertions(+), 1464 deletions(-) delete mode 100644 codec/types/any.pb.go delete mode 100644 codec/types/compat.go delete mode 100644 codec/types/compat_test.go rename testutil/testdata/{buf.gen.yaml => buf.gen.gogo.yaml} (83%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c8069f4e79f..4d72b6cd7494 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i ### Improvements +* (types) [#19869](https://github.com/cosmos/cosmos-sdk/pull/19869) Removed `Any` type from `codec/types` and replaced it with an alias for `cosmos/gogoproto/types/any`. * (server) [#19854](https://github.com/cosmos/cosmos-sdk/pull/19854) Add customizability to start command. * Add `StartCmdOptions` in `server.AddCommands` instead of `servertypes.ModuleInitFlags`. To set custom flags set them in the `StartCmdOptions` struct on the `AddFlags` field. * Add `StartCommandHandler` to `StartCmdOptions` to allow custom start command handlers. Users now have total control over how the app starts. diff --git a/UPGRADING.md b/UPGRADING.md index fc91c8335e19..ba8f57630a8c 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -440,6 +440,9 @@ With the deprecation of the Amino JSON codec defined in [cosmos/gogoproto](https For core SDK types equivalence is asserted by generative testing of [SignableTypes](https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-beta.0/tests/integration/rapidgen/rapidgen.go#L102) in [TestAminoJSON_Equivalence](https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-beta.0/tests/integration/tx/aminojson/aminojson_test.go#L94). +Due to the `Any` type moving to the `github.com/cosmos/gogoproto/types/any` repository, module developers must update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for correct mapping to the new `Any` type location. + + **TODO: summarize proto annotation requirements.** #### Stringer diff --git a/baseapp/grpcrouter_test.go b/baseapp/grpcrouter_test.go index af5c24c4ccce..512877babfb7 100644 --- a/baseapp/grpcrouter_test.go +++ b/baseapp/grpcrouter_test.go @@ -168,7 +168,7 @@ func testQueryDataRacesSameHandler(t *testing.T, makeClientConn func(*baseapp.GR qr := baseapp.NewGRPCQueryRouter() interfaceRegistry := testdata.NewTestInterfaceRegistry() qr.SetInterfaceRegistry(interfaceRegistry) - testdata.RegisterQueryServer(qr, testdata.QueryImpl{}) + testdata_pulsar.RegisterQueryServer(qr, testdata_pulsar.QueryImpl{}) // The goal is to invoke the router concurrently and check for any data races. // 0. Run with: go test -race diff --git a/baseapp/testutil/buf.gen.yaml b/baseapp/testutil/buf.gen.yaml index d7d17bbb26f8..28cf98c279ed 100644 --- a/baseapp/testutil/buf.gen.yaml +++ b/baseapp/testutil/buf.gen.yaml @@ -2,4 +2,4 @@ version: v1 plugins: - name: gocosmos out: ../.. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any diff --git a/client/grpc/cmtservice/query.pb.go b/client/grpc/cmtservice/query.pb.go index d745dca1867e..647a30af955a 100644 --- a/client/grpc/cmtservice/query.pb.go +++ b/client/grpc/cmtservice/query.pb.go @@ -7,14 +7,14 @@ import ( context "context" fmt "fmt" p2p "github.com/cometbft/cometbft/proto/tendermint/p2p" - types1 "github.com/cometbft/cometbft/proto/tendermint/types" + types "github.com/cometbft/cometbft/proto/tendermint/types" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -261,10 +261,10 @@ func (m *GetLatestValidatorSetResponse) GetPagination() *query.PageResponse { // Validator is the type for the validator-set. type Validator struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - PubKey *types.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - VotingPower int64 `protobuf:"varint,3,opt,name=voting_power,json=votingPower,proto3" json:"voting_power,omitempty"` - ProposerPriority int64 `protobuf:"varint,4,opt,name=proposer_priority,json=proposerPriority,proto3" json:"proposer_priority,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + PubKey *any.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` + VotingPower int64 `protobuf:"varint,3,opt,name=voting_power,json=votingPower,proto3" json:"voting_power,omitempty"` + ProposerPriority int64 `protobuf:"varint,4,opt,name=proposer_priority,json=proposerPriority,proto3" json:"proposer_priority,omitempty"` } func (m *Validator) Reset() { *m = Validator{} } @@ -307,7 +307,7 @@ func (m *Validator) GetAddress() string { return "" } -func (m *Validator) GetPubKey() *types.Any { +func (m *Validator) GetPubKey() *any.Any { if m != nil { return m.PubKey } @@ -375,9 +375,9 @@ func (m *GetBlockByHeightRequest) GetHeight() int64 { // GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method. type GetBlockByHeightResponse struct { - BlockId *types1.BlockID `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + BlockId *types.BlockID `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` // Deprecated: please use `sdk_block` instead - Block *types1.Block `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + Block *types.Block `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` // Since: cosmos-sdk 0.47 SdkBlock *Block `protobuf:"bytes,3,opt,name=sdk_block,json=sdkBlock,proto3" json:"sdk_block,omitempty"` } @@ -415,14 +415,14 @@ func (m *GetBlockByHeightResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetBlockByHeightResponse proto.InternalMessageInfo -func (m *GetBlockByHeightResponse) GetBlockId() *types1.BlockID { +func (m *GetBlockByHeightResponse) GetBlockId() *types.BlockID { if m != nil { return m.BlockId } return nil } -func (m *GetBlockByHeightResponse) GetBlock() *types1.Block { +func (m *GetBlockByHeightResponse) GetBlock() *types.Block { if m != nil { return m.Block } @@ -475,9 +475,9 @@ var xxx_messageInfo_GetLatestBlockRequest proto.InternalMessageInfo // GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method. type GetLatestBlockResponse struct { - BlockId *types1.BlockID `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + BlockId *types.BlockID `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` // Deprecated: please use `sdk_block` instead - Block *types1.Block `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` + Block *types.Block `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` // Since: cosmos-sdk 0.47 SdkBlock *Block `protobuf:"bytes,3,opt,name=sdk_block,json=sdkBlock,proto3" json:"sdk_block,omitempty"` } @@ -515,14 +515,14 @@ func (m *GetLatestBlockResponse) XXX_DiscardUnknown() { var xxx_messageInfo_GetLatestBlockResponse proto.InternalMessageInfo -func (m *GetLatestBlockResponse) GetBlockId() *types1.BlockID { +func (m *GetLatestBlockResponse) GetBlockId() *types.BlockID { if m != nil { return m.BlockId } return nil } -func (m *GetLatestBlockResponse) GetBlock() *types1.Block { +func (m *GetLatestBlockResponse) GetBlock() *types.Block { if m != nil { return m.Block } @@ -3429,7 +3429,7 @@ func (m *Validator) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PubKey == nil { - m.PubKey = &types.Any{} + m.PubKey = &any.Any{} } if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3622,7 +3622,7 @@ func (m *GetBlockByHeightResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.BlockId == nil { - m.BlockId = &types1.BlockID{} + m.BlockId = &types.BlockID{} } if err := m.BlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3658,7 +3658,7 @@ func (m *GetBlockByHeightResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Block == nil { - m.Block = &types1.Block{} + m.Block = &types.Block{} } if err := m.Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3830,7 +3830,7 @@ func (m *GetLatestBlockResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.BlockId == nil { - m.BlockId = &types1.BlockID{} + m.BlockId = &types.BlockID{} } if err := m.BlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3866,7 +3866,7 @@ func (m *GetLatestBlockResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Block == nil { - m.Block = &types1.Block{} + m.Block = &types.Block{} } if err := m.Block.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/codec/any_test.go b/codec/any_test.go index d9996ec3d3c4..29efddbf6a21 100644 --- a/codec/any_test.go +++ b/codec/any_test.go @@ -3,6 +3,7 @@ package codec_test import ( "testing" + "github.com/cosmos/gogoproto/types/any/test" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/codec" @@ -10,30 +11,29 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/cosmos-sdk/testutil/testdata" "github.com/cosmos/cosmos-sdk/types/module/testutil" ) func NewTestInterfaceRegistry() codectypes.InterfaceRegistry { registry := codectypes.NewInterfaceRegistry() - registry.RegisterInterface("Animal", (*testdata.Animal)(nil)) + registry.RegisterInterface("Animal", (*test.Animal)(nil)) registry.RegisterImplementations( - (*testdata.Animal)(nil), - &testdata.Dog{}, - &testdata.Cat{}, + (*test.Animal)(nil), + &test.Dog{}, + &test.Cat{}, ) return registry } func TestMarshalAny(t *testing.T) { catRegistry := codectypes.NewInterfaceRegistry() - catRegistry.RegisterImplementations((*testdata.Animal)(nil), &testdata.Cat{}) + catRegistry.RegisterImplementations((*test.Animal)(nil), &test.Cat{}) registry := codectypes.NewInterfaceRegistry() cdc := codec.NewProtoCodec(registry) - kitty := &testdata.Cat{Moniker: "Kitty"} + kitty := &test.Cat{Moniker: "Kitty"} emptyBz, err := cdc.MarshalInterface(kitty) require.ErrorContains(t, err, "does not have a registered interface") @@ -41,11 +41,11 @@ func TestMarshalAny(t *testing.T) { require.NoError(t, err) require.NotEmpty(t, catBz) - var animal testdata.Animal + var animal test.Animal // deserializing cat bytes should error in an empty registry err = cdc.UnmarshalInterface(catBz, &animal) - require.ErrorContains(t, err, "no registered implementations of type testdata.Animal") + require.ErrorContains(t, err, "no registered implementations of type test.Animal") // deserializing an empty byte array will return nil, but no error err = cdc.UnmarshalInterface(emptyBz, &animal) @@ -53,7 +53,7 @@ func TestMarshalAny(t *testing.T) { require.NoError(t, err) // wrong type registration should fail - registry.RegisterImplementations((*testdata.Animal)(nil), &testdata.Dog{}) + registry.RegisterImplementations((*test.Animal)(nil), &test.Dog{}) err = cdc.UnmarshalInterface(catBz, &animal) require.Error(t, err) diff --git a/codec/types/any.go b/codec/types/any.go index 557cda0687ca..a3b4b7548afe 100644 --- a/codec/types/any.go +++ b/codec/types/any.go @@ -1,154 +1,39 @@ package types import ( - fmt "fmt" - - "github.com/cosmos/gogoproto/proto" - protov2 "google.golang.org/protobuf/proto" - - errorsmod "cosmossdk.io/errors" - - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + gogoproto "github.com/cosmos/gogoproto/types/any" ) -type Any struct { - // A URL/resource name that uniquely identifies the type of the serialized - // protocol buffer message. This string must contain at least - // one "/" character. The last segment of the URL's path must represent - // the fully qualified name of the type (as in - // `path/google.protobuf.Duration`). The name should be in a canonical form - // (e.g., leading "." is not accepted). - // - // In practice, teams usually precompile into the binary all types that they - // expect it to use in the context of Any. However, for URLs which use the - // scheme `http`, `https`, or no scheme, one can optionally set up a type - // server that maps type URLs to message definitions as follows: - // - // * If no scheme is provided, `https` is assumed. - // * An HTTP GET on the URL must yield a [google.protobuf.Type][] - // value in binary format, or produce an error. - // * Applications are allowed to cache lookup results based on the - // URL, or have them precompiled into a binary to avoid any - // lookup. Therefore, binary compatibility needs to be preserved - // on changes to types. (Use versioned type names to manage - // breaking changes.) - // - // Note: this functionality is not currently available in the official - // protobuf release, and it is not used for type URLs beginning with - // type.googleapis.com. - // - // Schemes other than `http`, `https` (or the empty scheme) might be - // used with implementation specific semantics. - - TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` - - // Must be a valid serialized protocol buffer of the above specified type. - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` - - cachedValue interface{} - - compat *anyCompat -} - -// NewAnyWithValue constructs a new Any packed with the value provided or -// returns an error if that value couldn't be packed. This also caches -// the packed value so that it can be retrieved from GetCachedValue without -// unmarshaling -func NewAnyWithValue(v proto.Message) (*Any, error) { - if v == nil { - return nil, errorsmod.Wrap(sdkerrors.ErrPackAny, "Expecting non nil value to create a new Any") - } - - var ( - bz []byte - err error - ) - if msg, ok := v.(protov2.Message); ok { - protov2MarshalOpts := protov2.MarshalOptions{Deterministic: true} - bz, err = protov2MarshalOpts.Marshal(msg) - } else { - bz, err = proto.Marshal(v) - } - if err != nil { - return nil, err - } - - return &Any{ - TypeUrl: MsgTypeURL(v), - Value: bz, - cachedValue: v, - }, nil -} - -// UnsafePackAny packs the value x in the Any and instead of returning the error -// in the case of a packing failure, keeps the cached value. This should only -// be used in situations where compatibility is needed with amino. Amino-only -// values can safely be packed using this method when they will only be -// marshaled with amino and not protobuf. -func UnsafePackAny(x interface{}) *Any { - if msg, ok := x.(proto.Message); ok { - any, err := NewAnyWithValue(msg) - if err == nil { - return any - } - } - return &Any{cachedValue: x} -} +// Any is an alias for gogoproto.Any. It represents a protocol buffer message +// that can contain any arbitrary data. This is used for encoding and decoding +// unknown or dynamic content in a type-safe manner. +type Any = gogoproto.Any -// pack packs the value x in the Any or returns an error. This also caches -// the packed value so that it can be retrieved from GetCachedValue without -// unmarshaling -func (any *Any) pack(x proto.Message) error { - any.TypeUrl = MsgTypeURL(x) +// AminoPacker is an alias for gogoproto.AminoPacker. It provides functionality +// for packing and unpacking data using the Amino encoding. +type AminoPacker = gogoproto.AminoPacker - var ( - bz []byte - err error - ) - if msg, ok := x.(protov2.Message); ok { - protov2MarshalOpts := protov2.MarshalOptions{Deterministic: true} - bz, err = protov2MarshalOpts.Marshal(msg) - } else { - bz, err = proto.Marshal(x) - } - if err != nil { - return err - } +// AminoUnpacker is an alias for gogoproto.AminoUnpacker. It is used for +// unpacking Amino-encoded data into Go types. +type AminoUnpacker = gogoproto.AminoUnpacker - any.Value = bz - any.cachedValue = x +// AminoJSONPacker is an alias for gogoproto.AminoJSONPacker. It allows for +// packing data into a JSON format using Amino encoding rules. +type AminoJSONPacker = gogoproto.AminoJSONPacker - return nil -} +// AminoJSONUnpacker is an alias for gogoproto.AminoJSONUnpacker. It provides +// the ability to unpack JSON data encoded with Amino encoding rules. +type AminoJSONUnpacker = gogoproto.AminoJSONUnpacker -// GetCachedValue returns the cached value from the Any if present -func (any *Any) GetCachedValue() interface{} { - return any.cachedValue -} +// ProtoJSONPacker is an alias for gogoproto.ProtoJSONPacker. This is used for +// packing protocol buffer messages into a JSON format. +type ProtoJSONPacker = gogoproto.ProtoJSONPacker -// GoString returns a string representing valid go code to reproduce the current state of -// the struct. -func (any *Any) GoString() string { - if any == nil { - return "nil" - } - extra := "" - if any.XXX_unrecognized != nil { - extra = fmt.Sprintf(",\n XXX_unrecognized: %#v,\n", any.XXX_unrecognized) - } - return fmt.Sprintf("&Any{TypeUrl: %#v,\n Value: %#v%s\n}", - any.TypeUrl, any.Value, extra) -} +// NewAnyWithValue is an alias for gogoproto.NewAnyWithCacheWithValue. This function +// creates a new Any instance containing the provided value, with caching +// mechanisms to improve performance. +var NewAnyWithValue = gogoproto.NewAnyWithCacheWithValue -// String implements the stringer interface -func (any *Any) String() string { - if any == nil { - return "nil" - } - return fmt.Sprintf("&Any{TypeUrl:%v,Value:%v,XXX_unrecognized:%v}", - any.TypeUrl, any.Value, any.XXX_unrecognized) -} +// UnsafePackAny is an alias for gogoproto.UnsafePackAnyWithCache. This function +// packs a given message into an Any type without performing safety checks. +var UnsafePackAny = gogoproto.UnsafePackAnyWithCache diff --git a/codec/types/any.pb.go b/codec/types/any.pb.go deleted file mode 100644 index 8dc80f395291..000000000000 --- a/codec/types/any.pb.go +++ /dev/null @@ -1,535 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: google/protobuf/any.proto - -package types - -import ( - bytes "bytes" - fmt "fmt" - _ "github.com/cosmos/gogoproto/gogoproto" - proto "github.com/cosmos/gogoproto/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -func (m *Any) Reset() { *m = Any{} } -func (*Any) ProtoMessage() {} -func (*Any) Descriptor() ([]byte, []int) { - return fileDescriptor_b53526c13ae22eb4, []int{0} -} -func (*Any) XXX_WellKnownType() string { return "Any" } -func (m *Any) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Any.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Any) XXX_Merge(src proto.Message) { - xxx_messageInfo_Any.Merge(m, src) -} -func (m *Any) XXX_Size() int { - return m.Size() -} -func (m *Any) XXX_DiscardUnknown() { - xxx_messageInfo_Any.DiscardUnknown(m) -} - -var xxx_messageInfo_Any proto.InternalMessageInfo - -func (m *Any) GetTypeUrl() string { - if m != nil { - return m.TypeUrl - } - return "" -} - -func (m *Any) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (*Any) XXX_MessageName() string { - return "google.protobuf.Any" -} -func init() { -} - -func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) } - -var fileDescriptor_b53526c13ae22eb4 = []byte{ - // 248 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, - 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, 0x30, - 0x4f, 0x1f, 0xc4, 0x82, 0x48, 0x28, 0x79, 0x70, 0x31, 0x3b, 0xe6, 0x55, 0x0a, 0x49, 0x72, 0x71, - 0x94, 0x54, 0x16, 0xa4, 0xc6, 0x97, 0x16, 0xe5, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0xb1, - 0x83, 0xf8, 0xa1, 0x45, 0x39, 0x42, 0x22, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0xa9, 0x12, 0x4c, - 0x0a, 0x8c, 0x1a, 0x3c, 0x41, 0x10, 0x8e, 0x95, 0xc0, 0x8c, 0x05, 0xf2, 0x0c, 0x1b, 0x16, 0xc8, - 0x33, 0x7c, 0x58, 0x28, 0xcf, 0xd0, 0x70, 0x47, 0x81, 0xc1, 0xa9, 0x99, 0xf1, 0xc6, 0x43, 0x39, - 0x86, 0x0f, 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x6c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, - 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0xf8, 0xe2, - 0x91, 0x1c, 0xc3, 0x07, 0x90, 0xf8, 0x63, 0x39, 0xc6, 0x03, 0x8f, 0xe5, 0x18, 0x4e, 0x3c, 0x96, - 0x63, 0xe4, 0x12, 0x4e, 0xce, 0xcf, 0xd5, 0x43, 0x73, 0xab, 0x13, 0x87, 0x63, 0x5e, 0x65, 0x00, - 0x88, 0x13, 0xc0, 0x18, 0xc5, 0x0a, 0x72, 0x48, 0xf1, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, - 0x4c, 0x72, 0xee, 0x10, 0xa5, 0x01, 0x50, 0xa5, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, - 0xe5, 0x79, 0x21, 0x20, 0x65, 0x49, 0x6c, 0x60, 0x33, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, - 0x4d, 0x91, 0x00, 0xa0, 0x1a, 0x01, 0x00, 0x00, -} - -func (this *Any) Compare(that interface{}) int { - if that == nil { - if this == nil { - return 0 - } - return 1 - } - - that1, ok := that.(*Any) - if !ok { - that2, ok := that.(Any) - if ok { - that1 = &that2 - } else { - return 1 - } - } - if that1 == nil { - if this == nil { - return 0 - } - return 1 - } else if this == nil { - return -1 - } - if this.TypeUrl != that1.TypeUrl { - if this.TypeUrl < that1.TypeUrl { - return -1 - } - return 1 - } - if c := bytes.Compare(this.Value, that1.Value); c != 0 { - return c - } - if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { - return c - } - return 0 -} -func (this *Any) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*Any) - if !ok { - that2, ok := that.(Any) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if this.TypeUrl != that1.TypeUrl { - return false - } - if !bytes.Equal(this.Value, that1.Value) { - return false - } - if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { - return false - } - return true -} -func (m *Any) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Any) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Any) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XXX_unrecognized != nil { - i -= len(m.XXX_unrecognized) - copy(dAtA[i:], m.XXX_unrecognized) - } - if len(m.Value) > 0 { - i -= len(m.Value) - copy(dAtA[i:], m.Value) - i = encodeVarintAny(dAtA, i, uint64(len(m.Value))) - i-- - dAtA[i] = 0x12 - } - if len(m.TypeUrl) > 0 { - i -= len(m.TypeUrl) - copy(dAtA[i:], m.TypeUrl) - i = encodeVarintAny(dAtA, i, uint64(len(m.TypeUrl))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintAny(dAtA []byte, offset int, v uint64) int { - offset -= sovAny(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func NewPopulatedAny(r randyAny, easy bool) *Any { - this := &Any{} - this.TypeUrl = string(randStringAny(r)) - v1 := r.Intn(100) - this.Value = make([]byte, v1) - for i := 0; i < v1; i++ { - this.Value[i] = byte(r.Intn(256)) - } - if !easy && r.Intn(10) != 0 { - this.XXX_unrecognized = randUnrecognizedAny(r, 3) - } - return this -} - -type randyAny interface { - Float32() float32 - Float64() float64 - Int63() int64 - Int31() int32 - Uint32() uint32 - Intn(n int) int -} - -func randUTF8RuneAny(r randyAny) rune { - ru := r.Intn(62) - if ru < 10 { - return rune(ru + 48) - } else if ru < 36 { - return rune(ru + 55) - } - return rune(ru + 61) -} -func randStringAny(r randyAny) string { - v2 := r.Intn(100) - tmps := make([]rune, v2) - for i := 0; i < v2; i++ { - tmps[i] = randUTF8RuneAny(r) - } - return string(tmps) -} -func randUnrecognizedAny(r randyAny, maxFieldNumber int) (dAtA []byte) { - l := r.Intn(5) - for i := 0; i < l; i++ { - wire := r.Intn(4) - if wire == 3 { - wire = 5 - } - fieldNumber := maxFieldNumber + r.Intn(100) - dAtA = randFieldAny(dAtA, r, fieldNumber, wire) - } - return dAtA -} -func randFieldAny(dAtA []byte, r randyAny, fieldNumber int, wire int) []byte { - key := uint32(fieldNumber)<<3 | uint32(wire) - switch wire { - case 0: - dAtA = encodeVarintPopulateAny(dAtA, uint64(key)) - v3 := r.Int63() - if r.Intn(2) == 0 { - v3 *= -1 - } - dAtA = encodeVarintPopulateAny(dAtA, uint64(v3)) - case 1: - dAtA = encodeVarintPopulateAny(dAtA, uint64(key)) - dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) - case 2: - dAtA = encodeVarintPopulateAny(dAtA, uint64(key)) - ll := r.Intn(100) - dAtA = encodeVarintPopulateAny(dAtA, uint64(ll)) - for j := 0; j < ll; j++ { - dAtA = append(dAtA, byte(r.Intn(256))) - } - default: - dAtA = encodeVarintPopulateAny(dAtA, uint64(key)) - dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) - } - return dAtA -} -func encodeVarintPopulateAny(dAtA []byte, v uint64) []byte { - for v >= 1<<7 { - dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80)) - v >>= 7 - } - dAtA = append(dAtA, uint8(v)) - return dAtA -} -func (m *Any) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.TypeUrl) - if l > 0 { - n += 1 + l + sovAny(uint64(l)) - } - l = len(m.Value) - if l > 0 { - n += 1 + l + sovAny(uint64(l)) - } - if m.XXX_unrecognized != nil { - n += len(m.XXX_unrecognized) - } - return n -} - -func sovAny(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozAny(x uint64) (n int) { - return sovAny(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Any) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowAny - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Any: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Any: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TypeUrl", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowAny - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthAny - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthAny - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TypeUrl = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowAny - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthAny - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthAny - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...) - if m.Value == nil { - m.Value = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipAny(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthAny - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipAny(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowAny - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowAny - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowAny - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthAny - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupAny - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthAny - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthAny = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowAny = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupAny = fmt.Errorf("proto: unexpected end of group") -) diff --git a/codec/types/any_internal_test.go b/codec/types/any_internal_test.go index 0b3c155821b7..282380b1d63d 100644 --- a/codec/types/any_internal_test.go +++ b/codec/types/any_internal_test.go @@ -48,7 +48,7 @@ func TestAnyPackUnpack(t *testing.T) { require.Equal(t, spot, animal) // without cache - any.cachedValue = nil + any.ResetCachedValue() err = registry.UnpackAny(any, &animal) require.NoError(t, err) require.Equal(t, spot, animal) diff --git a/codec/types/compat.go b/codec/types/compat.go deleted file mode 100644 index bb4dff0bf438..000000000000 --- a/codec/types/compat.go +++ /dev/null @@ -1,210 +0,0 @@ -package types - -import ( - "fmt" - "reflect" - "runtime/debug" - - "github.com/cosmos/gogoproto/jsonpb" - "github.com/cosmos/gogoproto/proto" - amino "github.com/tendermint/go-amino" -) - -type anyCompat struct { - aminoBz []byte - jsonBz []byte - err error -} - -var Debug = true - -func anyCompatError(errType string, x interface{}) error { - if Debug { - debug.PrintStack() - } - return fmt.Errorf( - "%s marshaling error for %+v, this is likely because "+ - "amino is being used directly (instead of codec.LegacyAmino which is preferred) "+ - "or UnpackInterfacesMessage is not defined for some type which contains "+ - "a protobuf Any either directly or via one of its members. To see a "+ - "stacktrace of where the error is coming from, set the var Debug = true "+ - "in codec/types/compat.go", - errType, x, - ) -} - -func (any Any) MarshalAmino() ([]byte, error) { - ac := any.compat - if ac == nil { - return nil, anyCompatError("amino binary marshal", any) - } - return ac.aminoBz, ac.err -} - -func (any *Any) UnmarshalAmino(bz []byte) error { - any.compat = &anyCompat{ - aminoBz: bz, - err: nil, - } - return nil -} - -func (any *Any) MarshalJSON() ([]byte, error) { - ac := any.compat - if ac == nil { - return nil, anyCompatError("JSON marshal", any) - } - return ac.jsonBz, ac.err -} - -func (any *Any) UnmarshalJSON(bz []byte) error { - any.compat = &anyCompat{ - jsonBz: bz, - err: nil, - } - return nil -} - -// AminoUnpacker is an AnyUnpacker provided for backwards compatibility with -// amino for the binary un-marshaling phase -type AminoUnpacker struct { - Cdc *amino.Codec -} - -var _ AnyUnpacker = AminoUnpacker{} - -func (a AminoUnpacker) UnpackAny(any *Any, iface interface{}) error { - ac := any.compat - if ac == nil { - return anyCompatError("amino binary unmarshal", reflect.TypeOf(iface)) - } - err := a.Cdc.UnmarshalBinaryBare(ac.aminoBz, iface) - if err != nil { - return err - } - val := reflect.ValueOf(iface).Elem().Interface() - err = UnpackInterfaces(val, a) - if err != nil { - return err - } - if m, ok := val.(proto.Message); ok { - if err = any.pack(m); err != nil { - return err - } - } else { - any.cachedValue = val - } - - // this is necessary for tests that use reflect.DeepEqual and compare - // proto vs amino marshaled values - any.compat = nil - - return nil -} - -// AminoPacker is provided for backwards compatibility with -// amino for the binary marshaling phase -type AminoPacker struct { - Cdc *amino.Codec -} - -var _ AnyUnpacker = AminoPacker{} - -func (a AminoPacker) UnpackAny(any *Any, _ interface{}) error { - err := UnpackInterfaces(any.cachedValue, a) - if err != nil { - return err - } - bz, err := a.Cdc.MarshalBinaryBare(any.cachedValue) - any.compat = &anyCompat{ - aminoBz: bz, - err: err, - } - return err -} - -// AminoJSONUnpacker is an AnyUnpacker provided for backwards compatibility with -// amino for the JSON marshaling phase -type AminoJSONUnpacker struct { - Cdc *amino.Codec -} - -var _ AnyUnpacker = AminoJSONUnpacker{} - -func (a AminoJSONUnpacker) UnpackAny(any *Any, iface interface{}) error { - ac := any.compat - if ac == nil { - return anyCompatError("JSON unmarshal", reflect.TypeOf(iface)) - } - err := a.Cdc.UnmarshalJSON(ac.jsonBz, iface) - if err != nil { - return err - } - val := reflect.ValueOf(iface).Elem().Interface() - err = UnpackInterfaces(val, a) - if err != nil { - return err - } - if m, ok := val.(proto.Message); ok { - if err = any.pack(m); err != nil { - return err - } - } else { - any.cachedValue = val - } - - // this is necessary for tests that use reflect.DeepEqual and compare - // proto vs amino marshaled values - any.compat = nil - - return nil -} - -// AminoJSONPacker is an AnyUnpacker provided for backwards compatibility with -// amino for the JSON un-marshaling phase -type AminoJSONPacker struct { - Cdc *amino.Codec -} - -var _ AnyUnpacker = AminoJSONPacker{} - -func (a AminoJSONPacker) UnpackAny(any *Any, _ interface{}) error { - err := UnpackInterfaces(any.cachedValue, a) - if err != nil { - return err - } - bz, err := a.Cdc.MarshalJSON(any.cachedValue) - any.compat = &anyCompat{ - jsonBz: bz, - err: err, - } - return err -} - -// ProtoJSONPacker is an AnyUnpacker provided for compatibility with jsonpb -type ProtoJSONPacker struct { - JSONPBMarshaler *jsonpb.Marshaler -} - -var _ AnyUnpacker = ProtoJSONPacker{} - -func (a ProtoJSONPacker) UnpackAny(any *Any, _ interface{}) error { - if any == nil { - return nil - } - - if any.cachedValue != nil { - err := UnpackInterfaces(any.cachedValue, a) - if err != nil { - return err - } - } - - bz, err := a.JSONPBMarshaler.MarshalToString(any) - any.compat = &anyCompat{ - jsonBz: []byte(bz), - err: err, - } - - return err -} diff --git a/codec/types/compat_test.go b/codec/types/compat_test.go deleted file mode 100644 index 56cb32e82cc0..000000000000 --- a/codec/types/compat_test.go +++ /dev/null @@ -1,132 +0,0 @@ -package types_test - -import ( - "testing" - - "github.com/stretchr/testify/suite" - amino "github.com/tendermint/go-amino" - - "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/testutil/testdata" -) - -type TypeWithInterface struct { - Animal testdata.Animal `json:"animal"` - X int64 `json:"x,omitempty"` -} - -type Suite struct { - suite.Suite - cdc *amino.Codec - a TypeWithInterface - b testdata.HasAnimal - spot *testdata.Dog -} - -func (s *Suite) SetupTest() { - s.cdc = amino.NewCodec() - s.cdc.RegisterInterface((*testdata.Animal)(nil), nil) - s.cdc.RegisterConcrete(&testdata.Dog{}, "testdata/Dog", nil) - - s.spot = &testdata.Dog{Size_: "small", Name: "Spot"} - s.a = TypeWithInterface{Animal: s.spot} - - any, err := types.NewAnyWithValue(s.spot) - s.Require().NoError(err) - s.b = testdata.HasAnimal{Animal: any} -} - -func (s *Suite) TestAminoBinary() { - bz, err := s.cdc.MarshalBinaryBare(s.a) - s.Require().NoError(err) - - // expect plain amino marshal to fail - _, err = s.cdc.MarshalBinaryBare(s.b) - s.Require().Error(err) - - // expect unpack interfaces before amino marshal to succeed - err = types.UnpackInterfaces(s.b, types.AminoPacker{Cdc: s.cdc}) - s.Require().NoError(err) - bz2, err := s.cdc.MarshalBinaryBare(s.b) - s.Require().NoError(err) - s.Require().Equal(bz, bz2) - - var c testdata.HasAnimal - err = s.cdc.UnmarshalBinaryBare(bz, &c) - s.Require().NoError(err) - err = types.UnpackInterfaces(c, types.AminoUnpacker{Cdc: s.cdc}) - s.Require().NoError(err) - s.Require().Equal(s.spot, c.Animal.GetCachedValue()) -} - -func (s *Suite) TestAminoJSON() { - bz, err := s.cdc.MarshalJSON(s.a) - s.Require().NoError(err) - - // expect plain amino marshal to fail - _, err = s.cdc.MarshalJSON(s.b) - s.Require().Error(err) - - // expect unpack interfaces before amino marshal to succeed - err = types.UnpackInterfaces(s.b, types.AminoJSONPacker{Cdc: s.cdc}) - s.Require().NoError(err) - bz2, err := s.cdc.MarshalJSON(s.b) - s.Require().NoError(err) - s.Require().Equal(string(bz), string(bz2)) - - var c testdata.HasAnimal - err = s.cdc.UnmarshalJSON(bz, &c) - s.Require().NoError(err) - err = types.UnpackInterfaces(c, types.AminoJSONUnpacker{Cdc: s.cdc}) - s.Require().NoError(err) - s.Require().Equal(s.spot, c.Animal.GetCachedValue()) -} - -func (s *Suite) TestNested() { - s.cdc.RegisterInterface((*testdata.HasAnimalI)(nil), nil) - s.cdc.RegisterInterface((*testdata.HasHasAnimalI)(nil), nil) - s.cdc.RegisterConcrete(&testdata.HasAnimal{}, "testdata/HasAnimal", nil) - s.cdc.RegisterConcrete(&testdata.HasHasAnimal{}, "testdata/HasHasAnimal", nil) - s.cdc.RegisterConcrete(&testdata.HasHasHasAnimal{}, "testdata/HasHasHasAnimal", nil) - - any, err := types.NewAnyWithValue(&s.b) - s.Require().NoError(err) - hha := testdata.HasHasAnimal{HasAnimal: any} - any2, err := types.NewAnyWithValue(&hha) - s.Require().NoError(err) - hhha := testdata.HasHasHasAnimal{HasHasAnimal: any2} - - // marshal - err = types.UnpackInterfaces(hhha, types.AminoPacker{Cdc: s.cdc}) - s.Require().NoError(err) - bz, err := s.cdc.MarshalBinaryBare(hhha) - s.Require().NoError(err) - - // unmarshal - var hhha2 testdata.HasHasHasAnimal - err = s.cdc.UnmarshalBinaryBare(bz, &hhha2) - s.Require().NoError(err) - err = types.UnpackInterfaces(hhha2, types.AminoUnpacker{Cdc: s.cdc}) - s.Require().NoError(err) - - s.Require().Equal(s.spot, hhha2.TheHasHasAnimal().TheHasAnimal().TheAnimal()) - - // json marshal - err = types.UnpackInterfaces(hhha, types.AminoJSONPacker{Cdc: s.cdc}) - s.Require().NoError(err) - jsonBz, err := s.cdc.MarshalJSON(hhha) - s.Require().NoError(err) - - // json unmarshal - var hhha3 testdata.HasHasHasAnimal - err = s.cdc.UnmarshalJSON(jsonBz, &hhha3) - s.Require().NoError(err) - err = types.UnpackInterfaces(hhha3, types.AminoJSONUnpacker{Cdc: s.cdc}) - s.Require().NoError(err) - - s.Require().Equal(s.spot, hhha3.TheHasHasAnimal().TheHasAnimal().TheAnimal()) -} - -func TestSuite(t *testing.T) { - suite.Run(t, &Suite{}) -} diff --git a/codec/types/interface_registry.go b/codec/types/interface_registry.go index b621d7a19856..ca1d1e61e60b 100644 --- a/codec/types/interface_registry.go +++ b/codec/types/interface_registry.go @@ -15,8 +15,6 @@ import ( "cosmossdk.io/x/tx/signing" ) -var protoMessageType = reflect.TypeOf((*proto.Message)(nil)).Elem() - // AnyUnpacker is an interface which allows safely unpacking types packed // in Any's against a whitelist of registered types type AnyUnpacker interface { @@ -30,6 +28,41 @@ type AnyUnpacker interface { UnpackAny(any *Any, iface interface{}) error } +// UnpackInterfacesMessage is meant to extend protobuf types (which implement +// proto.Message) to support a post-deserialization phase which unpacks +// types packed within Any's using the whitelist provided by AnyUnpacker +type UnpackInterfacesMessage interface { + // UnpackInterfaces is implemented in order to unpack values packed within + // Any's using the AnyUnpacker. It should generally be implemented as + // follows: + // func (s *MyStruct) UnpackInterfaces(unpacker AnyUnpacker) error { + // var x AnyInterface + // // where X is an Any field on MyStruct + // err := unpacker.UnpackAny(s.X, &x) + // if err != nil { + // return nil + // } + // // where Y is a field on MyStruct that implements UnpackInterfacesMessage itself + // err = s.Y.UnpackInterfaces(unpacker) + // if err != nil { + // return nil + // } + // return nil + // } + UnpackInterfaces(unpacker AnyUnpacker) error +} + +// UnpackInterfaces is a convenience function that calls UnpackInterfaces +// on x if x implements UnpackInterfacesMessage +func UnpackInterfaces(x interface{}, unpacker AnyUnpacker) error { + if msg, ok := x.(UnpackInterfacesMessage); ok { + return msg.UnpackInterfaces(unpacker) + } + return nil +} + +var protoMessageType = reflect.TypeOf((*proto.Message)(nil)).Elem() + // InterfaceRegistry provides a mechanism for registering interfaces and // implementations that can be safely unpacked from Any type InterfaceRegistry interface { @@ -62,30 +95,6 @@ type InterfaceRegistry interface { mustEmbedInterfaceRegistry() } -// UnpackInterfacesMessage is meant to extend protobuf types (which implement -// proto.Message) to support a post-deserialization phase which unpacks -// types packed within Any's using the whitelist provided by AnyUnpacker -type UnpackInterfacesMessage interface { - // UnpackInterfaces is implemented in order to unpack values packed within - // Any's using the AnyUnpacker. It should generally be implemented as - // follows: - // func (s *MyStruct) UnpackInterfaces(unpacker AnyUnpacker) error { - // var x AnyInterface - // // where X is an Any field on MyStruct - // err := unpacker.UnpackAny(s.X, &x) - // if err != nil { - // return nil - // } - // // where Y is a field on MyStruct that implements UnpackInterfacesMessage itself - // err = s.Y.UnpackInterfaces(unpacker) - // if err != nil { - // return nil - // } - // return nil - // } - UnpackInterfaces(unpacker AnyUnpacker) error -} - type interfaceRegistry struct { signing.ProtoFileResolver interfaceNames map[string]reflect.Type @@ -275,7 +284,7 @@ func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error rt := rv.Elem().Type() - cachedValue := any.cachedValue + cachedValue := any.GetCachedValue() if cachedValue != nil { if reflect.TypeOf(cachedValue).AssignableTo(rt) { rv.Elem().Set(reflect.ValueOf(cachedValue)) @@ -312,8 +321,12 @@ func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error rv.Elem().Set(reflect.ValueOf(msg)) - any.cachedValue = msg + newAnyWithCache, err := NewAnyWithValue(msg) + if err != nil { + return err + } + *any = *newAnyWithCache return nil } @@ -340,15 +353,6 @@ func (registry *interfaceRegistry) SigningContext() *signing.Context { func (registry *interfaceRegistry) mustEmbedInterfaceRegistry() {} -// UnpackInterfaces is a convenience function that calls UnpackInterfaces -// on x if x implements UnpackInterfacesMessage -func UnpackInterfaces(x interface{}, unpacker AnyUnpacker) error { - if msg, ok := x.(UnpackInterfacesMessage); ok { - return msg.UnpackInterfaces(unpacker) - } - return nil -} - type failingAddressCodec struct{} func (f failingAddressCodec) StringToBytes(string) ([]byte, error) { diff --git a/codec/types/types_test.go b/codec/types/types_test.go index dddacfe18b0f..f8a26769db9e 100644 --- a/codec/types/types_test.go +++ b/codec/types/types_test.go @@ -6,23 +6,45 @@ import ( "github.com/cosmos/gogoproto/jsonpb" "github.com/cosmos/gogoproto/proto" + testdata "github.com/cosmos/gogoproto/types/any/test" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/testutil/testdata" + test "github.com/cosmos/cosmos-sdk/testutil/testdata" ) func TestAnyPackUnpack(t *testing.T) { - registry := testdata.NewTestInterfaceRegistry() + registry := test.NewTestInterfaceRegistry() spot := &testdata.Dog{Name: "Spot"} var animal testdata.Animal // with cache - any, err := types.NewAnyWithValue(spot) + anyWithCache, err := types.NewAnyWithValue(spot) require.NoError(t, err) - require.Equal(t, spot, any.GetCachedValue()) - err = registry.UnpackAny(any, &animal) + require.Equal(t, spot, anyWithCache.GetCachedValue()) + err = registry.UnpackAny(anyWithCache, &animal) + require.NoError(t, err) + require.Equal(t, spot, animal) +} + +func TestAnyResetCache(t *testing.T) { + registry := test.NewTestInterfaceRegistry() + + spot := &test.Dog{Name: "Spot"} + var animal test.Animal + + // with cache + anyWithCache, err := types.NewAnyWithValue(spot) + require.NoError(t, err) + require.Equal(t, spot, anyWithCache.GetCachedValue()) + + // delete cache + anyWithCache.ResetCachedValue() + require.Nil(t, anyWithCache.GetCachedValue()) + + // restore cache + err = registry.UnpackAny(anyWithCache, &animal) require.NoError(t, err) require.Equal(t, spot, animal) } @@ -80,7 +102,7 @@ func TestRegister(t *testing.T) { // Duplicate registration with different concrete type on same typeURL. require.PanicsWithError( t, - "concrete type *testdata.Dog has already been registered under typeURL /testpb.Dog, cannot register *types_test.FakeDog under same typeURL. "+ + "concrete type *test.Dog has already been registered under typeURL /test.Dog, cannot register *types_test.FakeDog under same typeURL. "+ "This usually means that there are conflicting modules registering different concrete types for a same interface implementation", func() { registry.RegisterImplementations((*testdata.Animal)(nil), &FakeDog{}) @@ -89,20 +111,20 @@ func TestRegister(t *testing.T) { } func TestUnpackInterfaces(t *testing.T) { - registry := testdata.NewTestInterfaceRegistry() + registry := test.NewTestInterfaceRegistry() - spot := &testdata.Dog{Name: "Spot"} + spot := &test.Dog{Name: "Spot"} any, err := types.NewAnyWithValue(spot) require.NoError(t, err) - hasAny := testdata.HasAnimal{ + hasAny := test.HasAnimal{ Animal: any, X: 1, } bz, err := hasAny.Marshal() require.NoError(t, err) - var hasAny2 testdata.HasAnimal + var hasAny2 test.HasAnimal err = hasAny2.Unmarshal(bz) require.NoError(t, err) @@ -113,28 +135,28 @@ func TestUnpackInterfaces(t *testing.T) { } func TestNested(t *testing.T) { - registry := testdata.NewTestInterfaceRegistry() + registry := test.NewTestInterfaceRegistry() - spot := &testdata.Dog{Name: "Spot"} + spot := &test.Dog{Name: "Spot"} any, err := types.NewAnyWithValue(spot) require.NoError(t, err) - ha := &testdata.HasAnimal{Animal: any} + ha := &test.HasAnimal{Animal: any} any2, err := types.NewAnyWithValue(ha) require.NoError(t, err) - hha := &testdata.HasHasAnimal{HasAnimal: any2} + hha := &test.HasHasAnimal{HasAnimal: any2} any3, err := types.NewAnyWithValue(hha) require.NoError(t, err) - hhha := testdata.HasHasHasAnimal{HasHasAnimal: any3} + hhha := test.HasHasHasAnimal{HasHasAnimal: any3} // marshal bz, err := hhha.Marshal() require.NoError(t, err) // unmarshal - var hhha2 testdata.HasHasHasAnimal + var hhha2 test.HasHasHasAnimal err = hhha2.Unmarshal(bz) require.NoError(t, err) err = types.UnpackInterfaces(hhha2, registry) @@ -144,7 +166,7 @@ func TestNested(t *testing.T) { } func TestAny_ProtoJSON(t *testing.T) { - spot := &testdata.Dog{Name: "Spot"} + spot := &test.Dog{Name: "Spot"} any, err := types.NewAnyWithValue(spot) require.NoError(t, err) @@ -153,17 +175,17 @@ func TestAny_ProtoJSON(t *testing.T) { require.NoError(t, err) require.Equal(t, "{\"@type\":\"/testpb.Dog\",\"name\":\"Spot\"}", json) - registry := testdata.NewTestInterfaceRegistry() + registry := test.NewTestInterfaceRegistry() jum := &jsonpb.Unmarshaler{} var any2 types.Any err = jum.Unmarshal(strings.NewReader(json), &any2) require.NoError(t, err) - var animal testdata.Animal + var animal test.Animal err = registry.UnpackAny(&any2, &animal) require.NoError(t, err) require.Equal(t, spot, animal) - ha := &testdata.HasAnimal{ + ha := &test.HasAnimal{ Animal: any, } err = ha.UnpackInterfaces(types.ProtoJSONPacker{JSONPBMarshaler: jm}) @@ -173,7 +195,7 @@ func TestAny_ProtoJSON(t *testing.T) { require.Equal(t, "{\"animal\":{\"@type\":\"/testpb.Dog\",\"name\":\"Spot\"}}", json) require.NoError(t, err) - var ha2 testdata.HasAnimal + var ha2 test.HasAnimal err = jum.Unmarshal(strings.NewReader(json), &ha2) require.NoError(t, err) err = ha2.UnpackInterfaces(registry) diff --git a/codec/yaml_test.go b/codec/yaml_test.go index 6d9445fe97b9..99808603b199 100644 --- a/codec/yaml_test.go +++ b/codec/yaml_test.go @@ -3,6 +3,7 @@ package codec_test import ( "testing" + "github.com/cosmos/gogoproto/types/any/test" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/codec" @@ -11,7 +12,7 @@ import ( ) func TestMarshalYAML(t *testing.T) { - dog := &testdata.Dog{ + dog := &test.Dog{ Size_: "small", Name: "Spot", } @@ -27,7 +28,7 @@ func TestMarshalYAML(t *testing.T) { bz, err := codec.MarshalYAML(protoCdc, hasAnimal) require.NoError(t, err) require.Equal(t, `animal: - '@type': /testpb.Dog + '@type': /test.Dog name: Spot size: small x: "0" @@ -37,12 +38,10 @@ x: "0" aminoCdc := codec.NewAminoCodec(&codec.LegacyAmino{testdata.NewTestAmino()}) bz, err = codec.MarshalYAML(aminoCdc, hasAnimal) require.NoError(t, err) - require.Equal(t, `type: testpb/HasAnimal + require.Equal(t, `type: test/HasAnimal value: animal: - type: testpb/Dog - value: - name: Spot - size: small + name: Spot + size: small `, string(bz)) } diff --git a/crypto/keyring/record.pb.go b/crypto/keyring/record.pb.go index 081b456bea20..1af36b46c31e 100644 --- a/crypto/keyring/record.pb.go +++ b/crypto/keyring/record.pb.go @@ -5,9 +5,9 @@ package keyring import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" hd "github.com/cosmos/cosmos-sdk/crypto/hd" _ "github.com/cosmos/gogoproto/gogoproto" + any "github.com/cosmos/gogoproto/types/any" proto "github.com/golang/protobuf/proto" io "io" math "math" @@ -30,7 +30,7 @@ type Record struct { // name represents a name of Record Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // pub_key represents a public key in any format - PubKey *types.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` + PubKey *any.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` // Record contains one of the following items // // Types that are valid to be assigned to Item: @@ -146,7 +146,7 @@ func (*Record) XXX_OneofWrappers() []interface{} { // Item is a keyring item stored in a keyring backend. // Local item type Record_Local struct { - PrivKey *types.Any `protobuf:"bytes,1,opt,name=priv_key,json=privKey,proto3" json:"priv_key,omitempty"` + PrivKey *any.Any `protobuf:"bytes,1,opt,name=priv_key,json=privKey,proto3" json:"priv_key,omitempty"` } func (m *Record_Local) Reset() { *m = Record_Local{} } @@ -807,7 +807,7 @@ func (m *Record) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PubKey == nil { - m.PubKey = &types.Any{} + m.PubKey = &any.Any{} } if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1033,7 +1033,7 @@ func (m *Record_Local) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PrivKey == nil { - m.PrivKey = &types.Any{} + m.PrivKey = &any.Any{} } if err := m.PrivKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/crypto/keys/multisig/keys.pb.go b/crypto/keys/multisig/keys.pb.go index b181232634fd..b66ca1df3eb3 100644 --- a/crypto/keys/multisig/keys.pb.go +++ b/crypto/keys/multisig/keys.pb.go @@ -5,10 +5,10 @@ package multisig import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -29,8 +29,8 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // which nests multiple public keys and a threshold, // it uses legacy amino address rules. type LegacyAminoPubKey struct { - Threshold uint32 `protobuf:"varint,1,opt,name=threshold,proto3" json:"threshold,omitempty"` - PubKeys []*types.Any `protobuf:"bytes,2,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"` + Threshold uint32 `protobuf:"varint,1,opt,name=threshold,proto3" json:"threshold,omitempty"` + PubKeys []*any.Any `protobuf:"bytes,2,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"` } func (m *LegacyAminoPubKey) Reset() { *m = LegacyAminoPubKey{} } @@ -250,7 +250,7 @@ func (m *LegacyAminoPubKey) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PubKeys = append(m.PubKeys, &types.Any{}) + m.PubKeys = append(m.PubKeys, &any.Any{}) if err := m.PubKeys[len(m.PubKeys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/proto/buf.gen.gogo.yaml b/proto/buf.gen.gogo.yaml index e3cd0b1acb5a..820d0b5bd29a 100644 --- a/proto/buf.gen.gogo.yaml +++ b/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any,Mcosmos/orm/v1/orm.proto=cosmossdk.io/orm - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/proto/buf.lock b/proto/buf.lock index 6ea1b634f7b0..80de36dcab73 100644 --- a/proto/buf.lock +++ b/proto/buf.lock @@ -14,8 +14,8 @@ deps: - remote: buf.build owner: googleapis repository: googleapis - commit: 7e6f6e774e29406da95bd61cdcdbc8bc - digest: shake256:fe43dd2265ea0c07d76bd925eeba612667cf4c948d2ce53d6e367e1b4b3cb5fa69a51e6acb1a6a50d32f894f054a35e6c0406f6808a483f2752e10c866ffbf73 + commit: 7a6bc1e3207144b38e9066861e1de0ff + digest: shake256:d646836485c34192401253703c4e7ce899c826fceec060bf4b2a62c4749bd9976dc960833e134a1f814725e1ffd60b1bb3cf0335a7e99ef0e8cec34b070ffb66 - remote: buf.build owner: protocolbuffers repository: wellknowntypes diff --git a/store/db/pebbledb.go b/store/db/pebbledb.go index bc7d77c99660..fd661f9ff5d9 100644 --- a/store/db/pebbledb.go +++ b/store/db/pebbledb.go @@ -7,11 +7,12 @@ import ( "path/filepath" "slices" + "github.com/cockroachdb/pebble" + "github.com/spf13/cast" + corestore "cosmossdk.io/core/store" "cosmossdk.io/store/v2" storeerrors "cosmossdk.io/store/v2/errors" - "github.com/cockroachdb/pebble" - "github.com/spf13/cast" ) var _ store.RawDB = (*PebbleDB)(nil) @@ -24,9 +25,7 @@ type PebbleDB struct { } func NewPebbleDB(name, dataDir string) (*PebbleDB, error) { - return NewPebbleDBWithOpts(name, dataDir, nil) - } func NewPebbleDBWithOpts(name, dataDir string, opts store.DBOptions) (*PebbleDB, error) { diff --git a/store/db/rocksdb_noflag.go b/store/db/rocksdb_noflag.go index 1d1fa4e21d80..b51ff681a11a 100644 --- a/store/db/rocksdb_noflag.go +++ b/store/db/rocksdb_noflag.go @@ -8,19 +8,15 @@ import ( "cosmossdk.io/store/v2" ) -var ( - _ store.RawDB = (*RocksDB)(nil) -) +var _ store.RawDB = (*RocksDB)(nil) // RocksDB implements RawDB using RocksDB as the underlying storage engine. // It is used for only store v2 migration, since some clients use RocksDB as // the IAVL v0/v1 backend. -type RocksDB struct { -} +type RocksDB struct{} func NewRocksDB(name, dataDir string) (*RocksDB, error) { panic("rocksdb must be built with -tags rocksdb") - } func NewRocksDBWithOpts(dataDir string, opts store.DBOptions) (*RocksDB, error) { @@ -57,8 +53,7 @@ func (db *RocksDB) NewBatchWithSize(_ int) store.RawBatch { var _ corestore.Iterator = (*rocksDBIterator)(nil) -type rocksDBIterator struct { -} +type rocksDBIterator struct{} func (itr *rocksDBIterator) Domain() (start, end []byte) { panic("rocksdb must be built with -tags rocksdb") @@ -92,8 +87,7 @@ func (itr *rocksDBIterator) assertIsValid() { panic("rocksdb must be built with -tags rocksdb") } -type rocksDBBatch struct { -} +type rocksDBBatch struct{} func (b *rocksDBBatch) Set(key, value []byte) error { panic("rocksdb must be built with -tags rocksdb") diff --git a/store/root/migrate_test.go b/store/root/migrate_test.go index 63919d667f96..38f4568f21d5 100644 --- a/store/root/migrate_test.go +++ b/store/root/migrate_test.go @@ -19,9 +19,7 @@ import ( "cosmossdk.io/store/v2/storage/sqlite" ) -var ( - storeKeys = []string{"store1", "store2", "store3"} -) +var storeKeys = []string{"store1", "store2", "store3"} type MigrateStoreTestSuite struct { suite.Suite diff --git a/tests/integration/tx/internal/buf.gen.gogo.yaml b/tests/integration/tx/internal/buf.gen.gogo.yaml index d1b5140d80ad..a7a88a898af4 100644 --- a/tests/integration/tx/internal/buf.gen.gogo.yaml +++ b/tests/integration/tx/internal/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: ./gogo - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: ./gogo opt: logtostderr=true,allow_colon_final_segments=true diff --git a/testutil/testdata/buf.gen.yaml b/testutil/testdata/buf.gen.gogo.yaml similarity index 83% rename from testutil/testdata/buf.gen.yaml rename to testutil/testdata/buf.gen.gogo.yaml index 5a8136666e67..6b06e51321b3 100644 --- a/testutil/testdata/buf.gen.yaml +++ b/testutil/testdata/buf.gen.gogo.yaml @@ -3,4 +3,4 @@ plugins: - name: gocosmos out: ../.. opt: - - plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + - plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any diff --git a/testutil/testdata/codec.go b/testutil/testdata/codec.go index 6e4dcc253b58..ffecb3444435 100644 --- a/testutil/testdata/codec.go +++ b/testutil/testdata/codec.go @@ -43,14 +43,14 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { func NewTestAmino() *amino.Codec { cdc := amino.NewCodec() cdc.RegisterInterface((*Animal)(nil), nil) - cdc.RegisterConcrete(&Dog{}, "testpb/Dog", nil) - cdc.RegisterConcrete(&Cat{}, "testpb/Cat", nil) + cdc.RegisterConcrete(&Dog{}, "test/Dog", nil) + cdc.RegisterConcrete(&Cat{}, "test/Cat", nil) cdc.RegisterInterface((*HasAnimalI)(nil), nil) - cdc.RegisterConcrete(&HasAnimal{}, "testpb/HasAnimal", nil) + cdc.RegisterConcrete(&HasAnimal{}, "test/HasAnimal", nil) cdc.RegisterInterface((*HasHasAnimalI)(nil), nil) - cdc.RegisterConcrete(&HasHasAnimal{}, "testpb/HasHasAnimal", nil) + cdc.RegisterConcrete(&HasHasAnimal{}, "test/HasHasAnimal", nil) return cdc } diff --git a/testutil/testdata/grpc_query.go b/testutil/testdata/grpc_query.go index 510e554d433e..4aec7622a929 100644 --- a/testutil/testdata/grpc_query.go +++ b/testutil/testdata/grpc_query.go @@ -3,6 +3,7 @@ package testdata import ( "context" "fmt" + "github.com/cosmos/gogoproto/types/any/test" "testing" "github.com/cosmos/gogoproto/proto" @@ -22,7 +23,7 @@ type QueryImpl struct{} var _ QueryServer = QueryImpl{} func (e QueryImpl) TestAny(_ context.Context, request *TestAnyRequest) (*TestAnyResponse, error) { - animal, ok := request.AnyAnimal.GetCachedValue().(Animal) + animal, ok := request.AnyAnimal.GetCachedValue().(test.Animal) if !ok { return nil, fmt.Errorf("expected Animal") } @@ -50,7 +51,7 @@ func (e QueryImpl) SayHello(_ context.Context, request *SayHelloRequest) (*SayHe var _ types.UnpackInterfacesMessage = &TestAnyRequest{} func (m *TestAnyRequest) UnpackInterfaces(unpacker types.AnyUnpacker) error { - var animal Animal + var animal test.Animal return unpacker.UnpackAny(m.AnyAnimal, &animal) } diff --git a/testutil/testdata/query.pb.go b/testutil/testdata/query.pb.go index d104840c5dce..935dfad2bf51 100644 --- a/testutil/testdata/query.pb.go +++ b/testutil/testdata/query.pb.go @@ -6,9 +6,9 @@ package testdata import ( context "context" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -205,7 +205,7 @@ func (m *SayHelloResponse) GetGreeting() string { } type TestAnyRequest struct { - AnyAnimal *types.Any `protobuf:"bytes,1,opt,name=any_animal,json=anyAnimal,proto3" json:"any_animal,omitempty"` + AnyAnimal *any.Any `protobuf:"bytes,1,opt,name=any_animal,json=anyAnimal,proto3" json:"any_animal,omitempty"` } func (m *TestAnyRequest) Reset() { *m = TestAnyRequest{} } @@ -241,7 +241,7 @@ func (m *TestAnyRequest) XXX_DiscardUnknown() { var xxx_messageInfo_TestAnyRequest proto.InternalMessageInfo -func (m *TestAnyRequest) GetAnyAnimal() *types.Any { +func (m *TestAnyRequest) GetAnyAnimal() *any.Any { if m != nil { return m.AnyAnimal } @@ -1154,7 +1154,7 @@ func (m *TestAnyRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.AnyAnimal == nil { - m.AnyAnimal = &types.Any{} + m.AnyAnimal = &any.Any{} } if err := m.AnyAnimal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/testutil/testdata/testdata.pb.go b/testutil/testdata/testdata.pb.go index 3db89888b056..98afc44115ad 100644 --- a/testutil/testdata/testdata.pb.go +++ b/testutil/testdata/testdata.pb.go @@ -5,9 +5,9 @@ package testdata import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -181,8 +181,8 @@ func (m *Bird) GetColor() int32 { } type HasAnimal struct { - Animal *types.Any `protobuf:"bytes,1,opt,name=animal,proto3" json:"animal,omitempty"` - X int64 `protobuf:"varint,2,opt,name=x,proto3" json:"x,omitempty"` + Animal *any.Any `protobuf:"bytes,1,opt,name=animal,proto3" json:"animal,omitempty"` + X int64 `protobuf:"varint,2,opt,name=x,proto3" json:"x,omitempty"` } func (m *HasAnimal) Reset() { *m = HasAnimal{} } @@ -218,7 +218,7 @@ func (m *HasAnimal) XXX_DiscardUnknown() { var xxx_messageInfo_HasAnimal proto.InternalMessageInfo -func (m *HasAnimal) GetAnimal() *types.Any { +func (m *HasAnimal) GetAnimal() *any.Any { if m != nil { return m.Animal } @@ -233,7 +233,7 @@ func (m *HasAnimal) GetX() int64 { } type HasHasAnimal struct { - HasAnimal *types.Any `protobuf:"bytes,1,opt,name=has_animal,json=hasAnimal,proto3" json:"has_animal,omitempty"` + HasAnimal *any.Any `protobuf:"bytes,1,opt,name=has_animal,json=hasAnimal,proto3" json:"has_animal,omitempty"` } func (m *HasHasAnimal) Reset() { *m = HasHasAnimal{} } @@ -269,7 +269,7 @@ func (m *HasHasAnimal) XXX_DiscardUnknown() { var xxx_messageInfo_HasHasAnimal proto.InternalMessageInfo -func (m *HasHasAnimal) GetHasAnimal() *types.Any { +func (m *HasHasAnimal) GetHasAnimal() *any.Any { if m != nil { return m.HasAnimal } @@ -277,7 +277,7 @@ func (m *HasHasAnimal) GetHasAnimal() *types.Any { } type HasHasHasAnimal struct { - HasHasAnimal *types.Any `protobuf:"bytes,1,opt,name=has_has_animal,json=hasHasAnimal,proto3" json:"has_has_animal,omitempty"` + HasHasAnimal *any.Any `protobuf:"bytes,1,opt,name=has_has_animal,json=hasHasAnimal,proto3" json:"has_has_animal,omitempty"` } func (m *HasHasHasAnimal) Reset() { *m = HasHasHasAnimal{} } @@ -313,7 +313,7 @@ func (m *HasHasHasAnimal) XXX_DiscardUnknown() { var xxx_messageInfo_HasHasHasAnimal proto.InternalMessageInfo -func (m *HasHasHasAnimal) GetHasHasAnimal() *types.Any { +func (m *HasHasHasAnimal) GetHasHasAnimal() *any.Any { if m != nil { return m.HasHasAnimal } @@ -1322,7 +1322,7 @@ func (m *HasAnimal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Animal == nil { - m.Animal = &types.Any{} + m.Animal = &any.Any{} } if err := m.Animal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1427,7 +1427,7 @@ func (m *HasHasAnimal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.HasAnimal == nil { - m.HasAnimal = &types.Any{} + m.HasAnimal = &any.Any{} } if err := m.HasAnimal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1513,7 +1513,7 @@ func (m *HasHasHasAnimal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.HasHasAnimal == nil { - m.HasHasAnimal = &types.Any{} + m.HasHasAnimal = &any.Any{} } if err := m.HasHasAnimal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/testutil/testdata/unknonwnproto.pb.go b/testutil/testdata/unknonwnproto.pb.go index 406d624a3c24..e80d9745b8cc 100644 --- a/testutil/testdata/unknonwnproto.pb.go +++ b/testutil/testdata/unknonwnproto.pb.go @@ -6,10 +6,10 @@ package testdata import ( encoding_binary "encoding/binary" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" tx "github.com/cosmos/cosmos-sdk/types/tx" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -135,7 +135,7 @@ type Customer2 struct { Fewer float32 `protobuf:"fixed32,4,opt,name=fewer,proto3" json:"fewer,omitempty"` Reserved int64 `protobuf:"varint,1047,opt,name=reserved,proto3" json:"reserved,omitempty"` City Customer2_City `protobuf:"varint,6,opt,name=city,proto3,enum=testpb.Customer2_City" json:"city,omitempty"` - Miscellaneous *types.Any `protobuf:"bytes,10,opt,name=miscellaneous,proto3" json:"miscellaneous,omitempty"` + Miscellaneous *any.Any `protobuf:"bytes,10,opt,name=miscellaneous,proto3" json:"miscellaneous,omitempty"` } func (m *Customer2) Reset() { *m = Customer2{} } @@ -213,7 +213,7 @@ func (m *Customer2) GetCity() Customer2_City { return Customer2_Laos } -func (m *Customer2) GetMiscellaneous() *types.Any { +func (m *Customer2) GetMiscellaneous() *any.Any { if m != nil { return m.Miscellaneous } @@ -853,7 +853,7 @@ type TestVersion1 struct { // *TestVersion1_E // *TestVersion1_F Sum isTestVersion1_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -965,7 +965,7 @@ func (m *TestVersion1) GetF() *TestVersion1 { return nil } -func (m *TestVersion1) GetG() *types.Any { +func (m *TestVersion1) GetG() *any.Any { if m != nil { return m.G } @@ -998,7 +998,7 @@ type TestVersion2 struct { // *TestVersion2_E // *TestVersion2_F Sum isTestVersion2_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -1111,7 +1111,7 @@ func (m *TestVersion2) GetF() *TestVersion2 { return nil } -func (m *TestVersion2) GetG() *types.Any { +func (m *TestVersion2) GetG() *any.Any { if m != nil { return m.G } @@ -1151,7 +1151,7 @@ type TestVersion3 struct { // *TestVersion3_E // *TestVersion3_F Sum isTestVersion3_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -1264,7 +1264,7 @@ func (m *TestVersion3) GetF() *TestVersion3 { return nil } -func (m *TestVersion3) GetG() *types.Any { +func (m *TestVersion3) GetG() *any.Any { if m != nil { return m.G } @@ -1303,7 +1303,7 @@ type TestVersion3LoneOneOfValue struct { // // *TestVersion3LoneOneOfValue_E Sum isTestVersion3LoneOneOfValue_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -1405,7 +1405,7 @@ func (m *TestVersion3LoneOneOfValue) GetE() int32 { return 0 } -func (m *TestVersion3LoneOneOfValue) GetG() *types.Any { +func (m *TestVersion3LoneOneOfValue) GetG() *any.Any { if m != nil { return m.G } @@ -1443,7 +1443,7 @@ type TestVersion3LoneNesting struct { // // *TestVersion3LoneNesting_F Sum isTestVersion3LoneNesting_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -1547,7 +1547,7 @@ func (m *TestVersion3LoneNesting) GetF() *TestVersion3LoneNesting { return nil } -func (m *TestVersion3LoneNesting) GetG() *types.Any { +func (m *TestVersion3LoneNesting) GetG() *any.Any { if m != nil { return m.G } @@ -1831,7 +1831,7 @@ type TestVersion4LoneNesting struct { // // *TestVersion4LoneNesting_F Sum isTestVersion4LoneNesting_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` // google.protobuf.Timestamp i = 10; // google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true]; @@ -1935,7 +1935,7 @@ func (m *TestVersion4LoneNesting) GetF() *TestVersion3LoneNesting { return nil } -func (m *TestVersion4LoneNesting) GetG() *types.Any { +func (m *TestVersion4LoneNesting) GetG() *any.Any { if m != nil { return m.G } @@ -2217,7 +2217,7 @@ type TestVersionFD1 struct { // *TestVersionFD1_E // *TestVersionFD1_F Sum isTestVersionFD1_Sum `protobuf_oneof:"sum"` - G *types.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` + G *any.Any `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"` H []*TestVersion1 `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"` } @@ -2305,7 +2305,7 @@ func (m *TestVersionFD1) GetF() *TestVersion1 { return nil } -func (m *TestVersionFD1) GetG() *types.Any { +func (m *TestVersionFD1) GetG() *any.Any { if m != nil { return m.G } @@ -2446,9 +2446,9 @@ func (*TestVersionFD1WithExtraAny) XXX_OneofWrappers() []interface{} { } type AnyWithExtra struct { - *types.Any `protobuf:"bytes,1,opt,name=a,proto3,embedded=a" json:"a,omitempty"` - B int64 `protobuf:"varint,3,opt,name=b,proto3" json:"b,omitempty"` - C int64 `protobuf:"varint,4,opt,name=c,proto3" json:"c,omitempty"` + *any.Any `protobuf:"bytes,1,opt,name=a,proto3,embedded=a" json:"a,omitempty"` + B int64 `protobuf:"varint,3,opt,name=b,proto3" json:"b,omitempty"` + C int64 `protobuf:"varint,4,opt,name=c,proto3" json:"c,omitempty"` } func (m *AnyWithExtra) Reset() { *m = AnyWithExtra{} } @@ -2575,13 +2575,13 @@ func (m *TestUpdatedTxRaw) GetNewField_1024() []byte { } type TestUpdatedTxBody struct { - Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` - Memo string `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"` - TimeoutHeight int64 `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` - SomeNewField uint64 `protobuf:"varint,5,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"` - SomeNewFieldNonCriticalField string `protobuf:"bytes,1050,opt,name=some_new_field_non_critical_field,json=someNewFieldNonCriticalField,proto3" json:"some_new_field_non_critical_field,omitempty"` - ExtensionOptions []*types.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"` - NonCriticalExtensionOptions []*types.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"` + Messages []*any.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + Memo string `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"` + TimeoutHeight int64 `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` + SomeNewField uint64 `protobuf:"varint,5,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"` + SomeNewFieldNonCriticalField string `protobuf:"bytes,1050,opt,name=some_new_field_non_critical_field,json=someNewFieldNonCriticalField,proto3" json:"some_new_field_non_critical_field,omitempty"` + ExtensionOptions []*any.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"` + NonCriticalExtensionOptions []*any.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"` } func (m *TestUpdatedTxBody) Reset() { *m = TestUpdatedTxBody{} } @@ -2617,7 +2617,7 @@ func (m *TestUpdatedTxBody) XXX_DiscardUnknown() { var xxx_messageInfo_TestUpdatedTxBody proto.InternalMessageInfo -func (m *TestUpdatedTxBody) GetMessages() []*types.Any { +func (m *TestUpdatedTxBody) GetMessages() []*any.Any { if m != nil { return m.Messages } @@ -2652,14 +2652,14 @@ func (m *TestUpdatedTxBody) GetSomeNewFieldNonCriticalField() string { return "" } -func (m *TestUpdatedTxBody) GetExtensionOptions() []*types.Any { +func (m *TestUpdatedTxBody) GetExtensionOptions() []*any.Any { if m != nil { return m.ExtensionOptions } return nil } -func (m *TestUpdatedTxBody) GetNonCriticalExtensionOptions() []*types.Any { +func (m *TestUpdatedTxBody) GetNonCriticalExtensionOptions() []*any.Any { if m != nil { return m.NonCriticalExtensionOptions } @@ -6806,7 +6806,7 @@ func (m *Customer2) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Miscellaneous == nil { - m.Miscellaneous = &types.Any{} + m.Miscellaneous = &any.Any{} } if err := m.Miscellaneous.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8519,7 +8519,7 @@ func (m *TestVersion1) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8889,7 +8889,7 @@ func (m *TestVersion2) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9278,7 +9278,7 @@ func (m *TestVersion3) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -9645,7 +9645,7 @@ func (m *TestVersion3LoneOneOfValue) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10027,7 +10027,7 @@ func (m *TestVersion3LoneNesting) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10996,7 +10996,7 @@ func (m *TestVersion4LoneNesting) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11855,7 +11855,7 @@ func (m *TestVersionFD1) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.G == nil { - m.G = &types.Any{} + m.G = &any.Any{} } if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12205,7 +12205,7 @@ func (m *AnyWithExtra) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Any == nil { - m.Any = &types.Any{} + m.Any = &any.Any{} } if err := m.Any.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -12546,7 +12546,7 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -12650,7 +12650,7 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ExtensionOptions = append(m.ExtensionOptions, &types.Any{}) + m.ExtensionOptions = append(m.ExtensionOptions, &any.Any{}) if err := m.ExtensionOptions[len(m.ExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -12716,7 +12716,7 @@ func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NonCriticalExtensionOptions = append(m.NonCriticalExtensionOptions, &types.Any{}) + m.NonCriticalExtensionOptions = append(m.NonCriticalExtensionOptions, &any.Any{}) if err := m.NonCriticalExtensionOptions[len(m.NonCriticalExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/types/abci.pb.go b/types/abci.pb.go index 5f4da7f089d1..815a58d41aa1 100644 --- a/types/abci.pb.go +++ b/types/abci.pb.go @@ -5,11 +5,11 @@ package types import ( fmt "fmt" - types1 "github.com/cometbft/cometbft/abci/types" - types2 "github.com/cometbft/cometbft/proto/tendermint/types" - types "github.com/cosmos/cosmos-sdk/codec/types" + types "github.com/cometbft/cometbft/abci/types" + types1 "github.com/cometbft/cometbft/proto/tendermint/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -53,7 +53,7 @@ type TxResponse struct { // Amount of gas consumed by transaction. GasUsed int64 `protobuf:"varint,10,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` // The request transaction bytes. - Tx *types.Any `protobuf:"bytes,11,opt,name=tx,proto3" json:"tx,omitempty"` + Tx *any.Any `protobuf:"bytes,11,opt,name=tx,proto3" json:"tx,omitempty"` // Time of the previous block. For heights > 1, it's the weighted median of // the timestamps of the valid votes in the block.LastCommit. For height == 1, // it's genesis time. @@ -64,7 +64,7 @@ type TxResponse struct { // additional metadata, emitted only by processing the messages. // // Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - Events []types1.Event `protobuf:"bytes,13,rep,name=events,proto3" json:"events"` + Events []types.Event `protobuf:"bytes,13,rep,name=events,proto3" json:"events"` } func (m *TxResponse) Reset() { *m = TxResponse{} } @@ -332,11 +332,11 @@ type Result struct { Log string `protobuf:"bytes,2,opt,name=log,proto3" json:"log,omitempty"` // Events contains a slice of Event objects that were emitted during message // or handler execution. - Events []types1.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events"` + Events []types.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events"` // msg_responses contains the Msg handler responses type packed in Anys. // // Since: cosmos-sdk 0.46 - MsgResponses []*types.Any `protobuf:"bytes,4,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"` + MsgResponses []*any.Any `protobuf:"bytes,4,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"` } func (m *Result) Reset() { *m = Result{} } @@ -480,7 +480,7 @@ type TxMsgData struct { // msg_responses contains the Msg handler responses packed into Anys. // // Since: cosmos-sdk 0.46 - MsgResponses []*types.Any `protobuf:"bytes,2,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"` + MsgResponses []*any.Any `protobuf:"bytes,2,rep,name=msg_responses,json=msgResponses,proto3" json:"msg_responses,omitempty"` } func (m *TxMsgData) Reset() { *m = TxMsgData{} } @@ -523,7 +523,7 @@ func (m *TxMsgData) GetData() []*MsgData { return nil } -func (m *TxMsgData) GetMsgResponses() []*types.Any { +func (m *TxMsgData) GetMsgResponses() []*any.Any { if m != nil { return m.MsgResponses } @@ -633,7 +633,7 @@ type SearchBlocksResult struct { // Max count blocks per page Limit int64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // List of blocks in current page - Blocks []*types2.Block `protobuf:"bytes,6,rep,name=blocks,proto3" json:"blocks,omitempty"` + Blocks []*types1.Block `protobuf:"bytes,6,rep,name=blocks,proto3" json:"blocks,omitempty"` } func (m *SearchBlocksResult) Reset() { *m = SearchBlocksResult{} } @@ -703,7 +703,7 @@ func (m *SearchBlocksResult) GetLimit() int64 { return 0 } -func (m *SearchBlocksResult) GetBlocks() []*types2.Block { +func (m *SearchBlocksResult) GetBlocks() []*types1.Block { if m != nil { return m.Blocks } @@ -1751,7 +1751,7 @@ func (this *TxMsgData) String() string { repeatedStringForData += "}" repeatedStringForMsgResponses := "[]*Any{" for _, f := range this.MsgResponses { - repeatedStringForMsgResponses += strings.Replace(fmt.Sprintf("%v", f), "Any", "types.Any", 1) + "," + repeatedStringForMsgResponses += strings.Replace(fmt.Sprintf("%v", f), "Any", "any.Any", 1) + "," } repeatedStringForMsgResponses += "}" s := strings.Join([]string{`&TxMsgData{`, @@ -1787,7 +1787,7 @@ func (this *SearchBlocksResult) String() string { } repeatedStringForBlocks := "[]*Block{" for _, f := range this.Blocks { - repeatedStringForBlocks += strings.Replace(fmt.Sprintf("%v", f), "Block", "types2.Block", 1) + "," + repeatedStringForBlocks += strings.Replace(fmt.Sprintf("%v", f), "Block", "types1.Block", 1) + "," } repeatedStringForBlocks += "}" s := strings.Join([]string{`&SearchBlocksResult{`, @@ -2138,7 +2138,7 @@ func (m *TxResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Tx == nil { - m.Tx = &types.Any{} + m.Tx = &any.Any{} } if err := m.Tx.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2205,7 +2205,7 @@ func (m *TxResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Events = append(m.Events, types1.Event{}) + m.Events = append(m.Events, types.Event{}) if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -2808,7 +2808,7 @@ func (m *Result) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Events = append(m.Events, types1.Event{}) + m.Events = append(m.Events, types.Event{}) if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -2842,7 +2842,7 @@ func (m *Result) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MsgResponses = append(m.MsgResponses, &types.Any{}) + m.MsgResponses = append(m.MsgResponses, &any.Any{}) if err := m.MsgResponses[len(m.MsgResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3195,7 +3195,7 @@ func (m *TxMsgData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.MsgResponses = append(m.MsgResponses, &types.Any{}) + m.MsgResponses = append(m.MsgResponses, &any.Any{}) if err := m.MsgResponses[len(m.MsgResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3553,7 +3553,7 @@ func (m *SearchBlocksResult) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Blocks = append(m.Blocks, &types2.Block{}) + m.Blocks = append(m.Blocks, &types1.Block{}) if err := m.Blocks[len(m.Blocks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/types/tx/signing/signing.pb.go b/types/tx/signing/signing.pb.go index 7503cc3a4dec..7cbf43670814 100644 --- a/types/tx/signing/signing.pb.go +++ b/types/tx/signing/signing.pb.go @@ -5,9 +5,9 @@ package signing import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/cosmos-sdk/crypto/types" + types "github.com/cosmos/cosmos-sdk/crypto/types" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -152,7 +152,7 @@ func (m *SignatureDescriptors) GetSignatures() []*SignatureDescriptor { // clients. type SignatureDescriptor struct { // public_key is the public key of the signer - PublicKey *types.Any `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *any.Any `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` Data *SignatureDescriptor_Data `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // sequence is the sequence of the account, which describes the // number of committed transactions signed by a given address. It is used to prevent @@ -193,7 +193,7 @@ func (m *SignatureDescriptor) XXX_DiscardUnknown() { var xxx_messageInfo_SignatureDescriptor proto.InternalMessageInfo -func (m *SignatureDescriptor) GetPublicKey() *types.Any { +func (m *SignatureDescriptor) GetPublicKey() *any.Any { if m != nil { return m.PublicKey } @@ -361,7 +361,7 @@ func (m *SignatureDescriptor_Data_Single) GetSignature() []byte { // Multi is the signature data for a multisig public key type SignatureDescriptor_Data_Multi struct { // bitarray specifies which keys within the multisig are signing - Bitarray *types1.CompactBitArray `protobuf:"bytes,1,opt,name=bitarray,proto3" json:"bitarray,omitempty"` + Bitarray *types.CompactBitArray `protobuf:"bytes,1,opt,name=bitarray,proto3" json:"bitarray,omitempty"` // signatures is the signatures of the multi-signature Signatures []*SignatureDescriptor_Data `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` } @@ -399,7 +399,7 @@ func (m *SignatureDescriptor_Data_Multi) XXX_DiscardUnknown() { var xxx_messageInfo_SignatureDescriptor_Data_Multi proto.InternalMessageInfo -func (m *SignatureDescriptor_Data_Multi) GetBitarray() *types1.CompactBitArray { +func (m *SignatureDescriptor_Data_Multi) GetBitarray() *types.CompactBitArray { if m != nil { return m.Bitarray } @@ -979,7 +979,7 @@ func (m *SignatureDescriptor) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PublicKey == nil { - m.PublicKey = &types.Any{} + m.PublicKey = &any.Any{} } if err := m.PublicKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1343,7 +1343,7 @@ func (m *SignatureDescriptor_Data_Multi) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Bitarray == nil { - m.Bitarray = &types1.CompactBitArray{} + m.Bitarray = &types.CompactBitArray{} } if err := m.Bitarray.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/types/tx/tx.pb.go b/types/tx/tx.pb.go index e76864156971..8f35592976ca 100644 --- a/types/tx/tx.pb.go +++ b/types/tx/tx.pb.go @@ -6,14 +6,14 @@ package tx import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/cosmos-sdk/crypto/types" + types "github.com/cosmos/cosmos-sdk/crypto/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types2 "github.com/cosmos/cosmos-sdk/types" + types1 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" signing "github.com/cosmos/cosmos-sdk/types/tx/signing" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -255,7 +255,7 @@ type SignDocDirectAux struct { // representation in TxRaw. BodyBytes []byte `protobuf:"bytes,1,opt,name=body_bytes,json=bodyBytes,proto3" json:"body_bytes,omitempty"` // public_key is the public key of the signing account. - PublicKey *types.Any `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *any.Any `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // chain_id is the identifier of the chain this transaction targets. // It prevents signed transactions from being used on another chain by an // attacker. @@ -308,7 +308,7 @@ func (m *SignDocDirectAux) GetBodyBytes() []byte { return nil } -func (m *SignDocDirectAux) GetPublicKey() *types.Any { +func (m *SignDocDirectAux) GetPublicKey() *any.Any { if m != nil { return m.PublicKey } @@ -353,7 +353,7 @@ type TxBody struct { // By convention, the first required signer (usually from the first message) // is referred to as the primary signer and pays the fee for the whole // transaction. - Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + Messages []*any.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` // memo is any arbitrary note/comment to be added to the transaction. // WARNING: in clients, any publicly exposed text should not be called memo, // but should be called `note` instead (see @@ -379,11 +379,11 @@ type TxBody struct { // extension_options are arbitrary options that can be added by chains // when the default options are not sufficient. If any of these are present // and can't be handled, the transaction will be rejected - ExtensionOptions []*types.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"` + ExtensionOptions []*any.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"` // extension_options are arbitrary options that can be added by chains // when the default options are not sufficient. If any of these are present // and can't be handled, they will be ignored - NonCriticalExtensionOptions []*types.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"` + NonCriticalExtensionOptions []*any.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"` } func (m *TxBody) Reset() { *m = TxBody{} } @@ -419,7 +419,7 @@ func (m *TxBody) XXX_DiscardUnknown() { var xxx_messageInfo_TxBody proto.InternalMessageInfo -func (m *TxBody) GetMessages() []*types.Any { +func (m *TxBody) GetMessages() []*any.Any { if m != nil { return m.Messages } @@ -447,14 +447,14 @@ func (m *TxBody) GetUnordered() bool { return false } -func (m *TxBody) GetExtensionOptions() []*types.Any { +func (m *TxBody) GetExtensionOptions() []*any.Any { if m != nil { return m.ExtensionOptions } return nil } -func (m *TxBody) GetNonCriticalExtensionOptions() []*types.Any { +func (m *TxBody) GetNonCriticalExtensionOptions() []*any.Any { if m != nil { return m.NonCriticalExtensionOptions } @@ -544,7 +544,7 @@ type SignerInfo struct { // public_key is the public key of the signer. It is optional for accounts // that already exist in state. If unset, the verifier can use the required \ // signer address for this position and lookup the public key. - PublicKey *types.Any `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + PublicKey *any.Any `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` // mode_info describes the signing mode of the signer and is a nested // structure to support nested multisig pubkey's ModeInfo *ModeInfo `protobuf:"bytes,2,opt,name=mode_info,json=modeInfo,proto3" json:"mode_info,omitempty"` @@ -587,7 +587,7 @@ func (m *SignerInfo) XXX_DiscardUnknown() { var xxx_messageInfo_SignerInfo proto.InternalMessageInfo -func (m *SignerInfo) GetPublicKey() *types.Any { +func (m *SignerInfo) GetPublicKey() *any.Any { if m != nil { return m.PublicKey } @@ -749,7 +749,7 @@ func (m *ModeInfo_Single) GetMode() signing.SignMode { // Multi is the mode info for a multisig public key type ModeInfo_Multi struct { // bitarray specifies which keys within the multisig are signing - Bitarray *types1.CompactBitArray `protobuf:"bytes,1,opt,name=bitarray,proto3" json:"bitarray,omitempty"` + Bitarray *types.CompactBitArray `protobuf:"bytes,1,opt,name=bitarray,proto3" json:"bitarray,omitempty"` // mode_infos is the corresponding modes of the signers of the multisig // which could include nested multisig public keys ModeInfos []*ModeInfo `protobuf:"bytes,2,rep,name=mode_infos,json=modeInfos,proto3" json:"mode_infos,omitempty"` @@ -788,7 +788,7 @@ func (m *ModeInfo_Multi) XXX_DiscardUnknown() { var xxx_messageInfo_ModeInfo_Multi proto.InternalMessageInfo -func (m *ModeInfo_Multi) GetBitarray() *types1.CompactBitArray { +func (m *ModeInfo_Multi) GetBitarray() *types.CompactBitArray { if m != nil { return m.Bitarray } @@ -2746,7 +2746,7 @@ func (m *SignDocDirectAux) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PublicKey == nil { - m.PublicKey = &types.Any{} + m.PublicKey = &any.Any{} } if err := m.PublicKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -2937,7 +2937,7 @@ func (m *TxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3042,7 +3042,7 @@ func (m *TxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ExtensionOptions = append(m.ExtensionOptions, &types.Any{}) + m.ExtensionOptions = append(m.ExtensionOptions, &any.Any{}) if err := m.ExtensionOptions[len(m.ExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3076,7 +3076,7 @@ func (m *TxBody) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NonCriticalExtensionOptions = append(m.NonCriticalExtensionOptions, &types.Any{}) + m.NonCriticalExtensionOptions = append(m.NonCriticalExtensionOptions, &any.Any{}) if err := m.NonCriticalExtensionOptions[len(m.NonCriticalExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3317,7 +3317,7 @@ func (m *SignerInfo) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PublicKey == nil { - m.PublicKey = &types.Any{} + m.PublicKey = &any.Any{} } if err := m.PublicKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3647,7 +3647,7 @@ func (m *ModeInfo_Multi) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Bitarray == nil { - m.Bitarray = &types1.CompactBitArray{} + m.Bitarray = &types.CompactBitArray{} } if err := m.Bitarray.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3766,7 +3766,7 @@ func (m *Fee) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Amount = append(m.Amount, types2.Coin{}) + m.Amount = append(m.Amount, types1.Coin{}) if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3933,7 +3933,7 @@ func (m *Tip) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Amount = append(m.Amount, types2.Coin{}) + m.Amount = append(m.Amount, types1.Coin{}) if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/accounts/defaults/lockup/types/tx.pb.go b/x/accounts/defaults/lockup/types/tx.pb.go index 6d394bd0631c..c50ab2f5c360 100644 --- a/x/accounts/defaults/lockup/types/tx.pb.go +++ b/x/accounts/defaults/lockup/types/tx.pb.go @@ -6,7 +6,6 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" @@ -14,6 +13,7 @@ import ( _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" @@ -360,7 +360,7 @@ var xxx_messageInfo_MsgSend proto.InternalMessageInfo // MsgExecuteMessagesResponse defines the response for lockup execute operations type MsgExecuteMessagesResponse struct { - Responses []*types1.Any `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + Responses []*any.Any `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` } func (m *MsgExecuteMessagesResponse) Reset() { *m = MsgExecuteMessagesResponse{} } @@ -396,7 +396,7 @@ func (m *MsgExecuteMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgExecuteMessagesResponse proto.InternalMessageInfo -func (m *MsgExecuteMessagesResponse) GetResponses() []*types1.Any { +func (m *MsgExecuteMessagesResponse) GetResponses() []*any.Any { if m != nil { return m.Responses } @@ -2102,7 +2102,7 @@ func (m *MsgExecuteMessagesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Responses = append(m.Responses, &types1.Any{}) + m.Responses = append(m.Responses, &any.Any{}) if err := m.Responses[len(m.Responses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/accounts/proto/buf.gen.gogo.yaml b/x/accounts/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/accounts/proto/buf.gen.gogo.yaml +++ b/x/accounts/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/accounts/v1/query.pb.go b/x/accounts/v1/query.pb.go index 0beb657ff633..0e734500c33d 100644 --- a/x/accounts/v1/query.pb.go +++ b/x/accounts/v1/query.pb.go @@ -6,9 +6,9 @@ package v1 import ( context "context" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -33,7 +33,7 @@ type AccountQueryRequest struct { // target defines the account to be queried. Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // request defines the query message being sent to the account. - Request *types.Any `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + Request *any.Any `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` } func (m *AccountQueryRequest) Reset() { *m = AccountQueryRequest{} } @@ -76,7 +76,7 @@ func (m *AccountQueryRequest) GetTarget() string { return "" } -func (m *AccountQueryRequest) GetRequest() *types.Any { +func (m *AccountQueryRequest) GetRequest() *any.Any { if m != nil { return m.Request } @@ -86,7 +86,7 @@ func (m *AccountQueryRequest) GetRequest() *types.Any { // AccountQueryResponse is the response type for the Query/AccountQuery RPC method. type AccountQueryResponse struct { // response defines the query response of the account. - Response *types.Any `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Response *any.Any `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (m *AccountQueryResponse) Reset() { *m = AccountQueryResponse{} } @@ -122,7 +122,7 @@ func (m *AccountQueryResponse) XXX_DiscardUnknown() { var xxx_messageInfo_AccountQueryResponse proto.InternalMessageInfo -func (m *AccountQueryResponse) GetResponse() *types.Any { +func (m *AccountQueryResponse) GetResponse() *any.Any { if m != nil { return m.Response } @@ -1296,7 +1296,7 @@ func (m *AccountQueryRequest) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Request == nil { - m.Request = &types.Any{} + m.Request = &any.Any{} } if err := m.Request.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1382,7 +1382,7 @@ func (m *AccountQueryResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Response == nil { - m.Response = &types.Any{} + m.Response = &any.Any{} } if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/accounts/v1/tx.pb.go b/x/accounts/v1/tx.pb.go index 3a890f035698..e1eca4cc4770 100644 --- a/x/accounts/v1/tx.pb.go +++ b/x/accounts/v1/tx.pb.go @@ -6,14 +6,14 @@ package v1 import ( context "context" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" tx "github.com/cosmos/cosmos-sdk/types/tx" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -40,7 +40,7 @@ type MsgInit struct { // account_type is the type of the account to be created. AccountType string `protobuf:"bytes,2,opt,name=account_type,json=accountType,proto3" json:"account_type,omitempty"` // message is the message to be sent to the account. - Message *types.Any `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Message *any.Any `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // funds contains the coins that the account wants to // send alongside the request. Funds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=funds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds"` @@ -93,7 +93,7 @@ func (m *MsgInit) GetAccountType() string { return "" } -func (m *MsgInit) GetMessage() *types.Any { +func (m *MsgInit) GetMessage() *any.Any { if m != nil { return m.Message } @@ -112,7 +112,7 @@ type MsgInitResponse struct { // account_address is the address of the newly created account. AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"` // response is the response returned by the account implementation. - Response *types.Any `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + Response *any.Any `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` } func (m *MsgInitResponse) Reset() { *m = MsgInitResponse{} } @@ -155,7 +155,7 @@ func (m *MsgInitResponse) GetAccountAddress() string { return "" } -func (m *MsgInitResponse) GetResponse() *types.Any { +func (m *MsgInitResponse) GetResponse() *any.Any { if m != nil { return m.Response } @@ -169,7 +169,7 @@ type MsgExecute struct { // target is the address of the account to be executed. Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` // message is the message to be sent to the account. - Message *types.Any `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Message *any.Any `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // funds contains the coins that the account wants to // send alongside the request. Funds github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,4,rep,name=funds,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"funds"` @@ -222,7 +222,7 @@ func (m *MsgExecute) GetTarget() string { return "" } -func (m *MsgExecute) GetMessage() *types.Any { +func (m *MsgExecute) GetMessage() *any.Any { if m != nil { return m.Message } @@ -239,7 +239,7 @@ func (m *MsgExecute) GetFunds() github_com_cosmos_cosmos_sdk_types.Coins { // MsgExecuteResponse defines the Execute response type for the Msg/Execute RPC method. type MsgExecuteResponse struct { // response is the response returned by the account implementation. - Response *types.Any `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Response *any.Any `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` } func (m *MsgExecuteResponse) Reset() { *m = MsgExecuteResponse{} } @@ -275,7 +275,7 @@ func (m *MsgExecuteResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgExecuteResponse proto.InternalMessageInfo -func (m *MsgExecuteResponse) GetResponse() *types.Any { +func (m *MsgExecuteResponse) GetResponse() *any.Any { if m != nil { return m.Response } @@ -340,8 +340,8 @@ func (m *MsgExecuteBundle) GetTxs() []*tx.TxRaw { // BundledTxResponse defines the response of a bundled tx. type BundledTxResponse struct { - ExecResponses *types.Any `protobuf:"bytes,1,opt,name=exec_responses,json=execResponses,proto3" json:"exec_responses,omitempty"` - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + ExecResponses *any.Any `protobuf:"bytes,1,opt,name=exec_responses,json=execResponses,proto3" json:"exec_responses,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (m *BundledTxResponse) Reset() { *m = BundledTxResponse{} } @@ -377,7 +377,7 @@ func (m *BundledTxResponse) XXX_DiscardUnknown() { var xxx_messageInfo_BundledTxResponse proto.InternalMessageInfo -func (m *BundledTxResponse) GetExecResponses() *types.Any { +func (m *BundledTxResponse) GetExecResponses() *any.Any { if m != nil { return m.ExecResponses } @@ -1253,7 +1253,7 @@ func (m *MsgInit) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Message == nil { - m.Message = &types.Any{} + m.Message = &any.Any{} } if err := m.Message.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1288,7 +1288,7 @@ func (m *MsgInit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Funds = append(m.Funds, types1.Coin{}) + m.Funds = append(m.Funds, types.Coin{}) if err := m.Funds[len(m.Funds)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -1405,7 +1405,7 @@ func (m *MsgInitResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Response == nil { - m.Response = &types.Any{} + m.Response = &any.Any{} } if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1555,7 +1555,7 @@ func (m *MsgExecute) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Message == nil { - m.Message = &types.Any{} + m.Message = &any.Any{} } if err := m.Message.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1590,7 +1590,7 @@ func (m *MsgExecute) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Funds = append(m.Funds, types1.Coin{}) + m.Funds = append(m.Funds, types.Coin{}) if err := m.Funds[len(m.Funds)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -1675,7 +1675,7 @@ func (m *MsgExecuteResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Response == nil { - m.Response = &types.Any{} + m.Response = &any.Any{} } if err := m.Response.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1877,7 +1877,7 @@ func (m *BundledTxResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ExecResponses == nil { - m.ExecResponses = &types.Any{} + m.ExecResponses = &any.Any{} } if err := m.ExecResponses.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/auth/proto/buf.gen.gogo.yaml b/x/auth/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/auth/proto/buf.gen.gogo.yaml +++ b/x/auth/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/auth/signing/adapter.go b/x/auth/signing/adapter.go index 42b1b82fdc48..3230b49a80f3 100644 --- a/x/auth/signing/adapter.go +++ b/x/auth/signing/adapter.go @@ -27,6 +27,7 @@ func GetSignBytesAdapter( ctx context.Context, handlerMap *txsigning.HandlerMap, mode signing.SignMode, + signerData SignerData, tx sdk.Tx, ) ([]byte, error) { diff --git a/x/auth/types/auth.pb.go b/x/auth/types/auth.pb.go index 965822434943..89667c1fee9d 100644 --- a/x/auth/types/auth.pb.go +++ b/x/auth/types/auth.pb.go @@ -6,10 +6,10 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -30,10 +30,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // for basic account functionality. Any custom account type should extend this // type for additional functionality (e.g. vesting). type BaseAccount struct { - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - PubKey *types.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"public_key,omitempty"` - AccountNumber uint64 `protobuf:"varint,3,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` - Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + PubKey *any.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"public_key,omitempty"` + AccountNumber uint64 `protobuf:"varint,3,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"` + Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (m *BaseAccount) Reset() { *m = BaseAccount{} } @@ -726,7 +726,7 @@ func (m *BaseAccount) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.PubKey == nil { - m.PubKey = &types.Any{} + m.PubKey = &any.Any{} } if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/auth/types/genesis.pb.go b/x/auth/types/genesis.pb.go index 2fff60df2b98..c7bd41ddb544 100644 --- a/x/auth/types/genesis.pb.go +++ b/x/auth/types/genesis.pb.go @@ -5,10 +5,10 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -30,7 +30,7 @@ type GenesisState struct { // params defines all the parameters of the module. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` // accounts are the accounts present at genesis. - Accounts []*types.Any `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"` + Accounts []*any.Any `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -73,7 +73,7 @@ func (m *GenesisState) GetParams() Params { return Params{} } -func (m *GenesisState) GetAccounts() []*types.Any { +func (m *GenesisState) GetAccounts() []*any.Any { if m != nil { return m.Accounts } @@ -279,7 +279,7 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Accounts = append(m.Accounts, &types.Any{}) + m.Accounts = append(m.Accounts, &any.Any{}) if err := m.Accounts[len(m.Accounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/auth/types/query.pb.go b/x/auth/types/query.pb.go index e97260c963e5..9825cb7c7b92 100644 --- a/x/auth/types/query.pb.go +++ b/x/auth/types/query.pb.go @@ -7,11 +7,11 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -85,7 +85,7 @@ func (m *QueryAccountsRequest) GetPagination() *query.PageRequest { // Since: cosmos-sdk 0.43 type QueryAccountsResponse struct { // accounts are the existing accounts - Accounts []*types.Any `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + Accounts []*any.Any `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -123,7 +123,7 @@ func (m *QueryAccountsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAccountsResponse proto.InternalMessageInfo -func (m *QueryAccountsResponse) GetAccounts() []*types.Any { +func (m *QueryAccountsResponse) GetAccounts() []*any.Any { if m != nil { return m.Accounts } @@ -179,7 +179,7 @@ var xxx_messageInfo_QueryAccountRequest proto.InternalMessageInfo // QueryAccountResponse is the response type for the Query/Account RPC method. type QueryAccountResponse struct { // account defines the account of the corresponding address. - Account *types.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Account *any.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } func (m *QueryAccountResponse) Reset() { *m = QueryAccountResponse{} } @@ -215,7 +215,7 @@ func (m *QueryAccountResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAccountResponse proto.InternalMessageInfo -func (m *QueryAccountResponse) GetAccount() *types.Any { +func (m *QueryAccountResponse) GetAccount() *any.Any { if m != nil { return m.Account } @@ -348,7 +348,7 @@ var xxx_messageInfo_QueryModuleAccountsRequest proto.InternalMessageInfo // // Since: cosmos-sdk 0.46 type QueryModuleAccountsResponse struct { - Accounts []*types.Any `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + Accounts []*any.Any `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } func (m *QueryModuleAccountsResponse) Reset() { *m = QueryModuleAccountsResponse{} } @@ -384,7 +384,7 @@ func (m *QueryModuleAccountsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleAccountsResponse proto.InternalMessageInfo -func (m *QueryModuleAccountsResponse) GetAccounts() []*types.Any { +func (m *QueryModuleAccountsResponse) GetAccounts() []*any.Any { if m != nil { return m.Accounts } @@ -438,7 +438,7 @@ func (m *QueryModuleAccountByNameRequest) GetName() string { // QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method. type QueryModuleAccountByNameResponse struct { - Account *types.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Account *any.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } func (m *QueryModuleAccountByNameResponse) Reset() { *m = QueryModuleAccountByNameResponse{} } @@ -474,7 +474,7 @@ func (m *QueryModuleAccountByNameResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryModuleAccountByNameResponse proto.InternalMessageInfo -func (m *QueryModuleAccountByNameResponse) GetAccount() *types.Any { +func (m *QueryModuleAccountByNameResponse) GetAccount() *any.Any { if m != nil { return m.Account } @@ -2563,7 +2563,7 @@ func (m *QueryAccountsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Accounts = append(m.Accounts, &types.Any{}) + m.Accounts = append(m.Accounts, &any.Any{}) if err := m.Accounts[len(m.Accounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -2766,7 +2766,7 @@ func (m *QueryAccountResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Account == nil { - m.Account = &types.Any{} + m.Account = &any.Any{} } if err := m.Account.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3034,7 +3034,7 @@ func (m *QueryModuleAccountsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Accounts = append(m.Accounts, &types.Any{}) + m.Accounts = append(m.Accounts, &any.Any{}) if err := m.Accounts[len(m.Accounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3201,7 +3201,7 @@ func (m *QueryModuleAccountByNameResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Account == nil { - m.Account = &types.Any{} + m.Account = &any.Any{} } if err := m.Account.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/authz/authz.pb.go b/x/authz/authz.pb.go index 6be85430a132..14a8c7b972d8 100644 --- a/x/authz/authz.pb.go +++ b/x/authz/authz.pb.go @@ -6,11 +6,11 @@ package authz import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" @@ -73,7 +73,7 @@ var xxx_messageInfo_GenericAuthorization proto.InternalMessageInfo // Grant gives permissions to execute // the provide method with expiration time. type Grant struct { - Authorization *types.Any `protobuf:"bytes,1,opt,name=authorization,proto3" json:"authorization,omitempty"` + Authorization *any.Any `protobuf:"bytes,1,opt,name=authorization,proto3" json:"authorization,omitempty"` // time when the grant will expire and will be pruned. If null, then the grant // doesn't have a time expiration (other conditions in `authorization` // may apply to invalidate the grant) @@ -118,7 +118,7 @@ var xxx_messageInfo_Grant proto.InternalMessageInfo type GrantAuthorization struct { Granter string `protobuf:"bytes,1,opt,name=granter,proto3" json:"granter,omitempty"` Grantee string `protobuf:"bytes,2,opt,name=grantee,proto3" json:"grantee,omitempty"` - Authorization *types.Any `protobuf:"bytes,3,opt,name=authorization,proto3" json:"authorization,omitempty"` + Authorization *any.Any `protobuf:"bytes,3,opt,name=authorization,proto3" json:"authorization,omitempty"` Expiration *time.Time `protobuf:"bytes,4,opt,name=expiration,proto3,stdtime" json:"expiration,omitempty"` } @@ -629,7 +629,7 @@ func (m *Grant) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Authorization == nil { - m.Authorization = &types.Any{} + m.Authorization = &any.Any{} } if err := m.Authorization.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -815,7 +815,7 @@ func (m *GrantAuthorization) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Authorization == nil { - m.Authorization = &types.Any{} + m.Authorization = &any.Any{} } if err := m.Authorization.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/authz/proto/buf.gen.gogo.yaml b/x/authz/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/authz/proto/buf.gen.gogo.yaml +++ b/x/authz/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/authz/tx.pb.go b/x/authz/tx.pb.go index d46af9385590..2b52d6c36f10 100644 --- a/x/authz/tx.pb.go +++ b/x/authz/tx.pb.go @@ -7,12 +7,12 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -118,7 +118,7 @@ type MsgExec struct { // Execute Msg. // The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) // triple and validate it. - Msgs []*types.Any `protobuf:"bytes,2,rep,name=msgs,proto3" json:"msgs,omitempty"` + Msgs []*any.Any `protobuf:"bytes,2,rep,name=msgs,proto3" json:"msgs,omitempty"` } func (m *MsgExec) Reset() { *m = MsgExec{} } @@ -1300,7 +1300,7 @@ func (m *MsgExec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Msgs = append(m.Msgs, &types.Any{}) + m.Msgs = append(m.Msgs, &any.Any{}) if err := m.Msgs[len(m.Msgs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/bank/proto/buf.gen.gogo.yaml b/x/bank/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/bank/proto/buf.gen.gogo.yaml +++ b/x/bank/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/circuit/proto/buf.gen.gogo.yaml b/x/circuit/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/circuit/proto/buf.gen.gogo.yaml +++ b/x/circuit/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/consensus/proto/buf.gen.gogo.yaml b/x/consensus/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/consensus/proto/buf.gen.gogo.yaml +++ b/x/consensus/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/counter/proto/buf.gen.gogo.yaml b/x/counter/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/counter/proto/buf.gen.gogo.yaml +++ b/x/counter/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/crisis/proto/buf.gen.gogo.yaml b/x/crisis/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/crisis/proto/buf.gen.gogo.yaml +++ b/x/crisis/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/distribution/proto/buf.gen.gogo.yaml b/x/distribution/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/distribution/proto/buf.gen.gogo.yaml +++ b/x/distribution/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/evidence/proto/buf.gen.gogo.yaml b/x/evidence/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/evidence/proto/buf.gen.gogo.yaml +++ b/x/evidence/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/evidence/types/genesis.pb.go b/x/evidence/types/genesis.pb.go index 38de45a6dc45..dddbba2e8fb3 100644 --- a/x/evidence/types/genesis.pb.go +++ b/x/evidence/types/genesis.pb.go @@ -5,8 +5,8 @@ package types import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -26,7 +26,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // GenesisState defines the evidence module's genesis state. type GenesisState struct { // evidence defines all the evidence at genesis. - Evidence []*types.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` + Evidence []*any.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -62,7 +62,7 @@ func (m *GenesisState) XXX_DiscardUnknown() { var xxx_messageInfo_GenesisState proto.InternalMessageInfo -func (m *GenesisState) GetEvidence() []*types.Any { +func (m *GenesisState) GetEvidence() []*any.Any { if m != nil { return m.Evidence } @@ -220,7 +220,7 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Evidence = append(m.Evidence, &types.Any{}) + m.Evidence = append(m.Evidence, &any.Any{}) if err := m.Evidence[len(m.Evidence)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/evidence/types/query.pb.go b/x/evidence/types/query.pb.go index 655a454a775e..55a32ace58ac 100644 --- a/x/evidence/types/query.pb.go +++ b/x/evidence/types/query.pb.go @@ -6,10 +6,10 @@ package types import ( context "context" fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" query "github.com/cosmos/cosmos-sdk/types/query" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -92,7 +92,7 @@ func (m *QueryEvidenceRequest) GetHash() string { // QueryEvidenceResponse is the response type for the Query/Evidence RPC method. type QueryEvidenceResponse struct { // evidence returns the requested evidence. - Evidence *types.Any `protobuf:"bytes,1,opt,name=evidence,proto3" json:"evidence,omitempty"` + Evidence *any.Any `protobuf:"bytes,1,opt,name=evidence,proto3" json:"evidence,omitempty"` } func (m *QueryEvidenceResponse) Reset() { *m = QueryEvidenceResponse{} } @@ -128,7 +128,7 @@ func (m *QueryEvidenceResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryEvidenceResponse proto.InternalMessageInfo -func (m *QueryEvidenceResponse) GetEvidence() *types.Any { +func (m *QueryEvidenceResponse) GetEvidence() *any.Any { if m != nil { return m.Evidence } @@ -186,7 +186,7 @@ func (m *QueryAllEvidenceRequest) GetPagination() *query.PageRequest { // method. type QueryAllEvidenceResponse struct { // evidence returns all evidences. - Evidence []*types.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` + Evidence []*any.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -224,7 +224,7 @@ func (m *QueryAllEvidenceResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAllEvidenceResponse proto.InternalMessageInfo -func (m *QueryAllEvidenceResponse) GetEvidence() []*types.Any { +func (m *QueryAllEvidenceResponse) GetEvidence() []*any.Any { if m != nil { return m.Evidence } @@ -810,7 +810,7 @@ func (m *QueryEvidenceResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Evidence == nil { - m.Evidence = &types.Any{} + m.Evidence = &any.Any{} } if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -981,7 +981,7 @@ func (m *QueryAllEvidenceResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Evidence = append(m.Evidence, &types.Any{}) + m.Evidence = append(m.Evidence, &any.Any{}) if err := m.Evidence[len(m.Evidence)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/evidence/types/tx.pb.go b/x/evidence/types/tx.pb.go index 2b11405a2e01..b849930f3a32 100644 --- a/x/evidence/types/tx.pb.go +++ b/x/evidence/types/tx.pb.go @@ -8,12 +8,12 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -39,7 +39,7 @@ type MsgSubmitEvidence struct { // submitter is the signer account address of evidence. Submitter string `protobuf:"bytes,1,opt,name=submitter,proto3" json:"submitter,omitempty"` // evidence defines the evidence of misbehavior. - Evidence *types.Any `protobuf:"bytes,2,opt,name=evidence,proto3" json:"evidence,omitempty"` + Evidence *any.Any `protobuf:"bytes,2,opt,name=evidence,proto3" json:"evidence,omitempty"` } func (m *MsgSubmitEvidence) Reset() { *m = MsgSubmitEvidence{} } @@ -475,7 +475,7 @@ func (m *MsgSubmitEvidence) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Evidence == nil { - m.Evidence = &types.Any{} + m.Evidence = &any.Any{} } if err := m.Evidence.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/feegrant/feegrant.pb.go b/x/feegrant/feegrant.pb.go index b30f725c8a7f..6c0a332334d8 100644 --- a/x/feegrant/feegrant.pb.go +++ b/x/feegrant/feegrant.pb.go @@ -6,13 +6,13 @@ package feegrant import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -181,7 +181,7 @@ func (m *PeriodicAllowance) GetPeriodReset() time.Time { // AllowedMsgAllowance creates allowance only for specified message types. type AllowedMsgAllowance struct { // allowance can be any of basic and periodic fee allowance. - Allowance *types1.Any `protobuf:"bytes,1,opt,name=allowance,proto3" json:"allowance,omitempty"` + Allowance *any.Any `protobuf:"bytes,1,opt,name=allowance,proto3" json:"allowance,omitempty"` // allowed_messages are the messages for which the grantee has the access. AllowedMessages []string `protobuf:"bytes,2,rep,name=allowed_messages,json=allowedMessages,proto3" json:"allowed_messages,omitempty"` } @@ -226,7 +226,7 @@ type Grant struct { // grantee is the address of the user being granted an allowance of another user's funds. Grantee string `protobuf:"bytes,2,opt,name=grantee,proto3" json:"grantee,omitempty"` // allowance can be any of basic, periodic, allowed fee allowance. - Allowance *types1.Any `protobuf:"bytes,3,opt,name=allowance,proto3" json:"allowance,omitempty"` + Allowance *any.Any `protobuf:"bytes,3,opt,name=allowance,proto3" json:"allowance,omitempty"` } func (m *Grant) Reset() { *m = Grant{} } @@ -276,7 +276,7 @@ func (m *Grant) GetGrantee() string { return "" } -func (m *Grant) GetAllowance() *types1.Any { +func (m *Grant) GetAllowance() *any.Any { if m != nil { return m.Allowance } @@ -1056,7 +1056,7 @@ func (m *AllowedMsgAllowance) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Allowance == nil { - m.Allowance = &types1.Any{} + m.Allowance = &any.Any{} } if err := m.Allowance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1238,7 +1238,7 @@ func (m *Grant) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Allowance == nil { - m.Allowance = &types1.Any{} + m.Allowance = &any.Any{} } if err := m.Allowance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/feegrant/proto/buf.gen.gogo.yaml b/x/feegrant/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/feegrant/proto/buf.gen.gogo.yaml +++ b/x/feegrant/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/feegrant/tx.pb.go b/x/feegrant/tx.pb.go index 7646b28741a1..1adcff142ba6 100644 --- a/x/feegrant/tx.pb.go +++ b/x/feegrant/tx.pb.go @@ -7,11 +7,11 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -39,7 +39,7 @@ type MsgGrantAllowance struct { // grantee is the address of the user being granted an allowance of another user's funds. Grantee string `protobuf:"bytes,2,opt,name=grantee,proto3" json:"grantee,omitempty"` // allowance can be any of basic, periodic, allowed fee allowance. - Allowance *types.Any `protobuf:"bytes,3,opt,name=allowance,proto3" json:"allowance,omitempty"` + Allowance *any.Any `protobuf:"bytes,3,opt,name=allowance,proto3" json:"allowance,omitempty"` } func (m *MsgGrantAllowance) Reset() { *m = MsgGrantAllowance{} } @@ -89,7 +89,7 @@ func (m *MsgGrantAllowance) GetGrantee() string { return "" } -func (m *MsgGrantAllowance) GetAllowance() *types.Any { +func (m *MsgGrantAllowance) GetAllowance() *any.Any { if m != nil { return m.Allowance } @@ -925,7 +925,7 @@ func (m *MsgGrantAllowance) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Allowance == nil { - m.Allowance = &types.Any{} + m.Allowance = &any.Any{} } if err := m.Allowance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/genutil/proto/buf.gen.gogo.yaml b/x/genutil/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/genutil/proto/buf.gen.gogo.yaml +++ b/x/genutil/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/gov/proto/buf.gen.gogo.yaml b/x/gov/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/gov/proto/buf.gen.gogo.yaml +++ b/x/gov/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/gov/types/v1/gov.pb.go b/x/gov/types/v1/gov.pb.go index cc9b058d7ddd..eae89e2e78d4 100644 --- a/x/gov/types/v1/gov.pb.go +++ b/x/gov/types/v1/gov.pb.go @@ -6,12 +6,12 @@ package v1 import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -307,7 +307,7 @@ type Proposal struct { // id defines the unique id of the proposal. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // messages are the arbitrary messages to be executed if the proposal passes. - Messages []*types1.Any `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` + Messages []*any.Any `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` // status defines the proposal status. Status ProposalStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cosmos.gov.v1.ProposalStatus" json:"status,omitempty"` // final_tally_result is the final tally result of the proposal. When @@ -395,7 +395,7 @@ func (m *Proposal) GetId() uint64 { return 0 } -func (m *Proposal) GetMessages() []*types1.Any { +func (m *Proposal) GetMessages() []*any.Any { if m != nil { return m.Messages } @@ -3025,7 +3025,7 @@ func (m *Proposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types1.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/gov/types/v1/tx.pb.go b/x/gov/types/v1/tx.pb.go index ca922adfee29..362ba39ebedb 100644 --- a/x/gov/types/v1/tx.pb.go +++ b/x/gov/types/v1/tx.pb.go @@ -7,15 +7,15 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -42,7 +42,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // proposal Content. type MsgSubmitProposal struct { // messages are the arbitrary messages to be executed if proposal passes. - Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + Messages []*any.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` // initial_deposit is the deposit value that must be paid at proposal submission. InitialDeposit github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=initial_deposit,json=initialDeposit,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"initial_deposit"` // proposer is the account address of the proposer. @@ -104,7 +104,7 @@ func (m *MsgSubmitProposal) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSubmitProposal proto.InternalMessageInfo -func (m *MsgSubmitProposal) GetMessages() []*types.Any { +func (m *MsgSubmitProposal) GetMessages() []*any.Any { if m != nil { return m.Messages } @@ -211,7 +211,7 @@ func (m *MsgSubmitProposalResponse) GetProposalId() uint64 { // This ensures backwards compatibility with v1beta1.MsgSubmitProposal. type MsgExecLegacyContent struct { // content is the proposal's content. - Content *types.Any `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + Content *any.Any `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` // authority must be the gov module address. Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"` } @@ -249,7 +249,7 @@ func (m *MsgExecLegacyContent) XXX_DiscardUnknown() { var xxx_messageInfo_MsgExecLegacyContent proto.InternalMessageInfo -func (m *MsgExecLegacyContent) GetContent() *types.Any { +func (m *MsgExecLegacyContent) GetContent() *any.Any { if m != nil { return m.Content } @@ -527,7 +527,7 @@ type MsgDeposit struct { // depositor defines the deposit addresses from the proposals. Depositor string `protobuf:"bytes,2,opt,name=depositor,proto3" json:"depositor,omitempty"` // amount to be deposited by depositor. - Amount []types1.Coin `protobuf:"bytes,3,rep,name=amount,proto3" json:"amount"` + Amount []types.Coin `protobuf:"bytes,3,rep,name=amount,proto3" json:"amount"` } func (m *MsgDeposit) Reset() { *m = MsgDeposit{} } @@ -577,7 +577,7 @@ func (m *MsgDeposit) GetDepositor() string { return "" } -func (m *MsgDeposit) GetAmount() []types1.Coin { +func (m *MsgDeposit) GetAmount() []types.Coin { if m != nil { return m.Amount } @@ -1099,7 +1099,7 @@ type MsgSudoExec struct { // authority is the address that controls the module (defaults to x/gov unless overwritten). Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` // msg is the arbitrary message to be executed. - Msg *types.Any `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Msg *any.Any `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (m *MsgSudoExec) Reset() { *m = MsgSudoExec{} } @@ -1142,7 +1142,7 @@ func (m *MsgSudoExec) GetAuthority() string { return "" } -func (m *MsgSudoExec) GetMsg() *types.Any { +func (m *MsgSudoExec) GetMsg() *any.Any { if m != nil { return m.Msg } @@ -2976,7 +2976,7 @@ func (m *MsgSubmitProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3010,7 +3010,7 @@ func (m *MsgSubmitProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.InitialDeposit = append(m.InitialDeposit, types1.Coin{}) + m.InitialDeposit = append(m.InitialDeposit, types.Coin{}) if err := m.InitialDeposit[len(m.InitialDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -3331,7 +3331,7 @@ func (m *MsgExecLegacyContent) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Content == nil { - m.Content = &types.Any{} + m.Content = &any.Any{} } if err := m.Content.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3968,7 +3968,7 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Amount = append(m.Amount, types1.Coin{}) + m.Amount = append(m.Amount, types.Coin{}) if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -4489,7 +4489,7 @@ func (m *MsgSubmitMultipleChoiceProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.InitialDeposit = append(m.InitialDeposit, types1.Coin{}) + m.InitialDeposit = append(m.InitialDeposit, types.Coin{}) if err := m.InitialDeposit[len(m.InitialDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -5039,7 +5039,7 @@ func (m *MsgSudoExec) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Msg == nil { - m.Msg = &types.Any{} + m.Msg = &any.Any{} } if err := m.Msg.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/gov/types/v1beta1/gov.pb.go b/x/gov/types/v1beta1/gov.pb.go index 21c15f41ff13..488c60381cc9 100644 --- a/x/gov/types/v1beta1/gov.pb.go +++ b/x/gov/types/v1beta1/gov.pb.go @@ -7,13 +7,13 @@ import ( cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -257,7 +257,7 @@ type Proposal struct { // proposal_id defines the unique id of the proposal. ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` // content is the proposal's content. - Content *types1.Any `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + Content *any.Any `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` // status defines the proposal status. Status ProposalStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cosmos.gov.v1beta1.ProposalStatus" json:"status,omitempty"` // final_tally_result is the final tally result of the proposal. When @@ -1843,7 +1843,7 @@ func (m *Proposal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Content == nil { - m.Content = &types1.Any{} + m.Content = &any.Any{} } if err := m.Content.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/gov/types/v1beta1/tx.pb.go b/x/gov/types/v1beta1/tx.pb.go index 9d4e1f38586b..914ea13d3d2a 100644 --- a/x/gov/types/v1beta1/tx.pb.go +++ b/x/gov/types/v1beta1/tx.pb.go @@ -7,14 +7,14 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - types1 "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -38,7 +38,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // proposal Content. type MsgSubmitProposal struct { // content is the proposal's content. - Content *types.Any `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + Content *any.Any `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` // initial_deposit is the deposit value that must be paid at proposal submission. InitialDeposit github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,2,rep,name=initial_deposit,json=initialDeposit,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"initial_deposit"` // proposer is the account address of the proposer. @@ -1125,7 +1125,7 @@ func (m *MsgSubmitProposal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Content == nil { - m.Content = &types.Any{} + m.Content = &any.Any{} } if err := m.Content.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -1160,7 +1160,7 @@ func (m *MsgSubmitProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.InitialDeposit = append(m.InitialDeposit, types1.Coin{}) + m.InitialDeposit = append(m.InitialDeposit, types.Coin{}) if err := m.InitialDeposit[len(m.InitialDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -1751,7 +1751,7 @@ func (m *MsgDeposit) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Amount = append(m.Amount, types1.Coin{}) + m.Amount = append(m.Amount, types.Coin{}) if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/group/proto/buf.gen.gogo.yaml b/x/group/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/group/proto/buf.gen.gogo.yaml +++ b/x/group/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/group/tx.pb.go b/x/group/tx.pb.go index 9dc7196a837c..27c588cf672d 100644 --- a/x/group/tx.pb.go +++ b/x/group/tx.pb.go @@ -7,12 +7,12 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -487,7 +487,7 @@ type MsgCreateGroupPolicy struct { // metadata is any arbitrary metadata attached to the group policy. Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // decision_policy specifies the group policy's decision policy. - DecisionPolicy *types.Any `protobuf:"bytes,4,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` + DecisionPolicy *any.Any `protobuf:"bytes,4,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` } func (m *MsgCreateGroupPolicy) Reset() { *m = MsgCreateGroupPolicy{} } @@ -684,7 +684,7 @@ type MsgCreateGroupWithPolicy struct { // and group policy admin. GroupPolicyAsAdmin bool `protobuf:"varint,5,opt,name=group_policy_as_admin,json=groupPolicyAsAdmin,proto3" json:"group_policy_as_admin,omitempty"` // decision_policy specifies the group policy's decision policy. - DecisionPolicy *types.Any `protobuf:"bytes,6,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` + DecisionPolicy *any.Any `protobuf:"bytes,6,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` } func (m *MsgCreateGroupWithPolicy) Reset() { *m = MsgCreateGroupWithPolicy{} } @@ -782,7 +782,7 @@ type MsgUpdateGroupPolicyDecisionPolicy struct { // group_policy_address is the account address of group policy. GroupPolicyAddress string `protobuf:"bytes,2,opt,name=group_policy_address,json=groupPolicyAddress,proto3" json:"group_policy_address,omitempty"` // decision_policy is the updated group policy's decision policy. - DecisionPolicy *types.Any `protobuf:"bytes,3,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` + DecisionPolicy *any.Any `protobuf:"bytes,3,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` } func (m *MsgUpdateGroupPolicyDecisionPolicy) Reset() { *m = MsgUpdateGroupPolicyDecisionPolicy{} } @@ -970,7 +970,7 @@ type MsgSubmitProposal struct { // metadata is any arbitrary metadata attached to the proposal. Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` // messages is a list of `sdk.Msg`s that will be executed if the proposal passes. - Messages []*types.Any `protobuf:"bytes,4,rep,name=messages,proto3" json:"messages,omitempty"` + Messages []*any.Any `protobuf:"bytes,4,rep,name=messages,proto3" json:"messages,omitempty"` // exec defines the mode of execution of the proposal, // whether it should be executed immediately on creation or not. // If so, proposers signatures are considered as Yes votes. @@ -4613,7 +4613,7 @@ func (m *MsgCreateGroupPolicy) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.DecisionPolicy == nil { - m.DecisionPolicy = &types.Any{} + m.DecisionPolicy = &any.Any{} } if err := m.DecisionPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5127,7 +5127,7 @@ func (m *MsgCreateGroupWithPolicy) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.DecisionPolicy == nil { - m.DecisionPolicy = &types.Any{} + m.DecisionPolicy = &any.Any{} } if err := m.DecisionPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5378,7 +5378,7 @@ func (m *MsgUpdateGroupPolicyDecisionPolicy) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.DecisionPolicy == nil { - m.DecisionPolicy = &types.Any{} + m.DecisionPolicy = &any.Any{} } if err := m.DecisionPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -5805,7 +5805,7 @@ func (m *MsgSubmitProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/group/types.pb.go b/x/group/types.pb.go index 868d4c5ba5a5..72070d5c0a9e 100644 --- a/x/group/types.pb.go +++ b/x/group/types.pb.go @@ -6,11 +6,11 @@ package group import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -650,7 +650,7 @@ type GroupPolicyInfo struct { // would create a different result on a running proposal. Version uint64 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"` // decision_policy specifies the group policy's decision policy. - DecisionPolicy *types.Any `protobuf:"bytes,6,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` + DecisionPolicy *any.Any `protobuf:"bytes,6,opt,name=decision_policy,json=decisionPolicy,proto3" json:"decision_policy,omitempty"` // created_at is a timestamp specifying when a group policy was created. CreatedAt time.Time `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3,stdtime" json:"created_at"` } @@ -729,7 +729,7 @@ type Proposal struct { // executor_result is the final result of the proposal execution. Initial value is NotRun. ExecutorResult ProposalExecutorResult `protobuf:"varint,11,opt,name=executor_result,json=executorResult,proto3,enum=cosmos.group.v1.ProposalExecutorResult" json:"executor_result,omitempty"` // messages is a list of `sdk.Msg`s that will be executed if the proposal passes. - Messages []*types.Any `protobuf:"bytes,12,rep,name=messages,proto3" json:"messages,omitempty"` + Messages []*any.Any `protobuf:"bytes,12,rep,name=messages,proto3" json:"messages,omitempty"` // title is the title of the proposal // // Since: cosmos-sdk 0.47 @@ -3163,7 +3163,7 @@ func (m *GroupPolicyInfo) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.DecisionPolicy == nil { - m.DecisionPolicy = &types.Any{} + m.DecisionPolicy = &any.Any{} } if err := m.DecisionPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3571,7 +3571,7 @@ func (m *Proposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Messages = append(m.Messages, &types.Any{}) + m.Messages = append(m.Messages, &any.Any{}) if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/x/mint/proto/buf.gen.gogo.yaml b/x/mint/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/mint/proto/buf.gen.gogo.yaml +++ b/x/mint/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/nft/nft.pb.go b/x/nft/nft.pb.go index ff696d7aca55..3c51d2dcf6b0 100644 --- a/x/nft/nft.pb.go +++ b/x/nft/nft.pb.go @@ -5,8 +5,8 @@ package nft import ( fmt "fmt" - types "github.com/cosmos/cosmos-sdk/codec/types" proto "github.com/cosmos/gogoproto/proto" + any "github.com/cosmos/gogoproto/types/any" io "io" math "math" math_bits "math/bits" @@ -38,7 +38,7 @@ type Class struct { // uri_hash is a hash of the document pointed by uri. Optional UriHash string `protobuf:"bytes,6,opt,name=uri_hash,json=uriHash,proto3" json:"uri_hash,omitempty"` // data is the app specific metadata of the NFT class. Optional - Data *types.Any `protobuf:"bytes,7,opt,name=data,proto3" json:"data,omitempty"` + Data *any.Any `protobuf:"bytes,7,opt,name=data,proto3" json:"data,omitempty"` } func (m *Class) Reset() { *m = Class{} } @@ -116,7 +116,7 @@ func (m *Class) GetUriHash() string { return "" } -func (m *Class) GetData() *types.Any { +func (m *Class) GetData() *any.Any { if m != nil { return m.Data } @@ -134,7 +134,7 @@ type NFT struct { // uri_hash is a hash of the document pointed by uri UriHash string `protobuf:"bytes,4,opt,name=uri_hash,json=uriHash,proto3" json:"uri_hash,omitempty"` // data is an app specific data of the NFT. Optional - Data *types.Any `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` + Data *any.Any `protobuf:"bytes,10,opt,name=data,proto3" json:"data,omitempty"` } func (m *NFT) Reset() { *m = NFT{} } @@ -198,7 +198,7 @@ func (m *NFT) GetUriHash() string { return "" } -func (m *NFT) GetData() *types.Any { +func (m *NFT) GetData() *any.Any { if m != nil { return m.Data } @@ -710,7 +710,7 @@ func (m *Class) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Data == nil { - m.Data = &types.Any{} + m.Data = &any.Any{} } if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -924,7 +924,7 @@ func (m *NFT) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Data == nil { - m.Data = &types.Any{} + m.Data = &any.Any{} } if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/nft/proto/buf.gen.gogo.yaml b/x/nft/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/nft/proto/buf.gen.gogo.yaml +++ b/x/nft/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/params/proto/buf.gen.gogo.yaml b/x/params/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/params/proto/buf.gen.gogo.yaml +++ b/x/params/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/protocolpool/proto/buf.gen.gogo.yaml b/x/protocolpool/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/protocolpool/proto/buf.gen.gogo.yaml +++ b/x/protocolpool/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/slashing/proto/buf.gen.gogo.yaml b/x/slashing/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/slashing/proto/buf.gen.gogo.yaml +++ b/x/slashing/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/staking/proto/buf.gen.gogo.yaml b/x/staking/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/staking/proto/buf.gen.gogo.yaml +++ b/x/staking/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 51a2d2b4eefe..fc5531046214 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -8,17 +8,17 @@ import ( compress_gzip "compress/gzip" cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" - types3 "github.com/cometbft/cometbft/abci/types" + types2 "github.com/cometbft/cometbft/abci/types" types "github.com/cometbft/cometbft/proto/tendermint/types" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" - types2 "github.com/cosmos/cosmos-sdk/types" + types1 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" github_com_cosmos_gogoproto_proto "github.com/cosmos/gogoproto/proto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor "github.com/cosmos/gogoproto/protoc-gen-gogo/descriptor" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/durationpb" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" @@ -416,7 +416,7 @@ type Validator struct { // operator_address defines the address of the validator's operator; bech encoded in JSON. OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"` // consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. - ConsensusPubkey *types1.Any `protobuf:"bytes,2,opt,name=consensus_pubkey,json=consensusPubkey,proto3" json:"consensus_pubkey,omitempty"` + ConsensusPubkey *any.Any `protobuf:"bytes,2,opt,name=consensus_pubkey,json=consensusPubkey,proto3" json:"consensus_pubkey,omitempty"` // jailed defined whether the validator has been jailed from bonded status or not. Jailed bool `protobuf:"varint,3,opt,name=jailed,proto3" json:"jailed,omitempty"` // status is the validator status (bonded/unbonding/unbonded). @@ -1000,7 +1000,7 @@ type Params struct { MinCommissionRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_commission_rate" yaml:"min_commission_rate"` // key_rotation_fee is fee to be spent when rotating validator's key // (either consensus pubkey or operator key) - KeyRotationFee types2.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee"` + KeyRotationFee types1.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee"` } func (m *Params) Reset() { *m = Params{} } @@ -1071,18 +1071,18 @@ func (m *Params) GetBondDenom() string { return "" } -func (m *Params) GetKeyRotationFee() types2.Coin { +func (m *Params) GetKeyRotationFee() types1.Coin { if m != nil { return m.KeyRotationFee } - return types2.Coin{} + return types1.Coin{} } // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { Delegation Delegation `protobuf:"bytes,1,opt,name=delegation,proto3" json:"delegation"` - Balance types2.Coin `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance"` + Balance types1.Coin `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance"` } func (m *DelegationResponse) Reset() { *m = DelegationResponse{} } @@ -1125,11 +1125,11 @@ func (m *DelegationResponse) GetDelegation() Delegation { return Delegation{} } -func (m *DelegationResponse) GetBalance() types2.Coin { +func (m *DelegationResponse) GetBalance() types1.Coin { if m != nil { return m.Balance } - return types2.Coin{} + return types1.Coin{} } // RedelegationEntryResponse is equivalent to a RedelegationEntry except that it @@ -1280,7 +1280,7 @@ var xxx_messageInfo_Pool proto.InternalMessageInfo // // Deprecated: Do not use. type ValidatorUpdates struct { - Updates []types3.ValidatorUpdate `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates"` + Updates []types2.ValidatorUpdate `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates"` } func (m *ValidatorUpdates) Reset() { *m = ValidatorUpdates{} } @@ -1316,7 +1316,7 @@ func (m *ValidatorUpdates) XXX_DiscardUnknown() { var xxx_messageInfo_ValidatorUpdates proto.InternalMessageInfo -func (m *ValidatorUpdates) GetUpdates() []types3.ValidatorUpdate { +func (m *ValidatorUpdates) GetUpdates() []types2.ValidatorUpdate { if m != nil { return m.Updates } @@ -1328,13 +1328,13 @@ type ConsPubKeyRotationHistory struct { // operator_address defines the address of the validator's operator; bech encoded in JSON. OperatorAddress []byte `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"` // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. - OldConsPubkey *types1.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty"` + OldConsPubkey *any.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty"` // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. - NewConsPubkey *types1.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` + NewConsPubkey *any.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` // height defines the block height at which the rotation event occurred. Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` // fee holds the amount of fee deduced for the rotation. - Fee types2.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee"` + Fee types1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee"` } func (m *ConsPubKeyRotationHistory) Reset() { *m = ConsPubKeyRotationHistory{} } @@ -5173,7 +5173,7 @@ func (m *Validator) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusPubkey == nil { - m.ConsensusPubkey = &types1.Any{} + m.ConsensusPubkey = &any.Any{} } if err := m.ConsensusPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7721,7 +7721,7 @@ func (m *ValidatorUpdates) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Updates = append(m.Updates, types3.ValidatorUpdate{}) + m.Updates = append(m.Updates, types2.ValidatorUpdate{}) if err := m.Updates[len(m.Updates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -7840,7 +7840,7 @@ func (m *ConsPubKeyRotationHistory) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.OldConsPubkey == nil { - m.OldConsPubkey = &types1.Any{} + m.OldConsPubkey = &any.Any{} } if err := m.OldConsPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -7876,7 +7876,7 @@ func (m *ConsPubKeyRotationHistory) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.NewConsPubkey == nil { - m.NewConsPubkey = &types1.Any{} + m.NewConsPubkey = &any.Any{} } if err := m.NewConsPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index c5b66a095871..711adcfa20ba 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -8,14 +8,14 @@ import ( cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" - types1 "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/msgservice" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -46,10 +46,10 @@ type MsgCreateValidator struct { // Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. // The validator address bytes and delegator address bytes refer to the same account while creating validator (defer // only in bech32 notation). - DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` // Deprecated: Do not use. - ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Pubkey *types.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - Value types1.Coin `protobuf:"bytes,7,opt,name=value,proto3" json:"value"` + DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` // Deprecated: Do not use. + ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Pubkey *any.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + Value types.Coin `protobuf:"bytes,7,opt,name=value,proto3" json:"value"` } func (m *MsgCreateValidator) Reset() { *m = MsgCreateValidator{} } @@ -207,9 +207,9 @@ var xxx_messageInfo_MsgEditValidatorResponse proto.InternalMessageInfo // MsgDelegate defines a SDK message for performing a delegation of coins // from a delegator to a validator. type MsgDelegate struct { - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Amount types1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` } func (m *MsgDelegate) Reset() { *m = MsgDelegate{} } @@ -285,10 +285,10 @@ var xxx_messageInfo_MsgDelegateResponse proto.InternalMessageInfo // MsgBeginRedelegate defines a SDK message for performing a redelegation // of coins from a delegator and source validator to a destination validator. type MsgBeginRedelegate struct { - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorSrcAddress string `protobuf:"bytes,2,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` - ValidatorDstAddress string `protobuf:"bytes,3,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` - Amount types1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorSrcAddress string `protobuf:"bytes,2,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` + ValidatorDstAddress string `protobuf:"bytes,3,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` + Amount types.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount"` } func (m *MsgBeginRedelegate) Reset() { *m = MsgBeginRedelegate{} } @@ -372,9 +372,9 @@ func (m *MsgBeginRedelegateResponse) GetCompletionTime() time.Time { // MsgUndelegate defines a SDK message for performing an undelegation from a // delegate and a validator. type MsgUndelegate struct { - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Amount types1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` } func (m *MsgUndelegate) Reset() { *m = MsgUndelegate{} } @@ -416,7 +416,7 @@ type MsgUndelegateResponse struct { // amount returns the amount of undelegated coins // // Since: cosmos-sdk 0.50 - Amount types1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` } func (m *MsgUndelegateResponse) Reset() { *m = MsgUndelegateResponse{} } @@ -459,11 +459,11 @@ func (m *MsgUndelegateResponse) GetCompletionTime() time.Time { return time.Time{} } -func (m *MsgUndelegateResponse) GetAmount() types1.Coin { +func (m *MsgUndelegateResponse) GetAmount() types.Coin { if m != nil { return m.Amount } - return types1.Coin{} + return types.Coin{} } // MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator @@ -473,7 +473,7 @@ type MsgCancelUnbondingDelegation struct { DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` // amount is always less than or equal to unbonding delegation entry balance - Amount types1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` + Amount types.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` // creation_height is the height which the unbonding took place. CreationHeight int64 `protobuf:"varint,4,opt,name=creation_height,json=creationHeight,proto3" json:"creation_height,omitempty"` } @@ -653,8 +653,8 @@ var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo // // Since: cosmos-sdk 0.51 type MsgRotateConsPubKey struct { - ValidatorAddress string `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - NewPubkey *types.Any `protobuf:"bytes,2,opt,name=new_pubkey,json=newPubkey,proto3" json:"new_pubkey,omitempty"` + ValidatorAddress string `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + NewPubkey *any.Any `protobuf:"bytes,2,opt,name=new_pubkey,json=newPubkey,proto3" json:"new_pubkey,omitempty"` } func (m *MsgRotateConsPubKey) Reset() { *m = MsgRotateConsPubKey{} } @@ -2330,7 +2330,7 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Pubkey == nil { - m.Pubkey = &types.Any{} + m.Pubkey = &any.Any{} } if err := m.Pubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3871,7 +3871,7 @@ func (m *MsgRotateConsPubKey) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.NewPubkey == nil { - m.NewPubkey = &types.Any{} + m.NewPubkey = &any.Any{} } if err := m.NewPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/x/upgrade/proto/buf.gen.gogo.yaml b/x/upgrade/proto/buf.gen.gogo.yaml index 9c8ba0a4b1fd..db36231d0c82 100644 --- a/x/upgrade/proto/buf.gen.gogo.yaml +++ b/x/upgrade/proto/buf.gen.gogo.yaml @@ -2,7 +2,7 @@ version: v1 plugins: - name: gocosmos out: .. - opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types + opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any - name: grpc-gateway out: .. opt: logtostderr=true,allow_colon_final_segments=true diff --git a/x/upgrade/types/upgrade.pb.go b/x/upgrade/types/upgrade.pb.go index 8bf85395893b..b56040ef2001 100644 --- a/x/upgrade/types/upgrade.pb.go +++ b/x/upgrade/types/upgrade.pb.go @@ -6,11 +6,11 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + any "github.com/cosmos/gogoproto/types/any" _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" @@ -52,7 +52,7 @@ type Plan struct { // Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been // moved to the IBC module in the sub module 02-client. // If this field is not empty, an error will be thrown. - UpgradedClientState *types.Any `protobuf:"bytes,5,opt,name=upgraded_client_state,json=upgradedClientState,proto3" json:"upgraded_client_state,omitempty"` // Deprecated: Do not use. + UpgradedClientState *any.Any `protobuf:"bytes,5,opt,name=upgraded_client_state,json=upgradedClientState,proto3" json:"upgraded_client_state,omitempty"` // Deprecated: Do not use. } func (m *Plan) Reset() { *m = Plan{} } @@ -844,7 +844,7 @@ func (m *Plan) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.UpgradedClientState == nil { - m.UpgradedClientState = &types.Any{} + m.UpgradedClientState = &any.Any{} } if err := m.UpgradedClientState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err From cb5d34e136b6055e28752fa73091b5d4f5f1798a Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 28 Mar 2024 23:31:12 +0100 Subject: [PATCH 6/6] fix(x/accounts/defaults/lockup): rename lockup `go.mod` properly (#19899) --- scripts/go-mod-tidy-all.sh | 3 +- simapp/app.go | 2 +- simapp/go.mod | 4 +- store/go.mod | 2 +- tests/go.mod | 4 +- tests/starship/tests/go.mod | 4 +- .../lockup/continuous_locking_account.go | 2 +- .../lockup/delayed_locking_account.go | 2 +- x/accounts/defaults/lockup/go.mod | 30 ++++----- x/accounts/defaults/lockup/go.sum | 62 +++---------------- x/accounts/defaults/lockup/lockup.go | 2 +- .../lockup/periodic_locking_account.go | 6 +- .../lockup/permanent_locking_account.go | 2 +- 13 files changed, 36 insertions(+), 89 deletions(-) diff --git a/scripts/go-mod-tidy-all.sh b/scripts/go-mod-tidy-all.sh index adbac085dded..41b020217b77 100755 --- a/scripts/go-mod-tidy-all.sh +++ b/scripts/go-mod-tidy-all.sh @@ -13,8 +13,9 @@ done # automatically. cd simapp if command -v nix &> /dev/null - nix develop .. -c gomod2nix then + nix develop .. -c gomod2nix + if ! command -v gomod2nix &> /dev/null then echo "gomod2nix could not be found in PATH, installing..." diff --git a/simapp/app.go b/simapp/app.go index 3610f28c4035..c9e0e77ac865 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -23,7 +23,7 @@ import ( "cosmossdk.io/x/accounts" "cosmossdk.io/x/accounts/accountstd" baseaccount "cosmossdk.io/x/accounts/defaults/base" - lockup "cosmossdk.io/x/accounts/lockup" + lockup "cosmossdk.io/x/accounts/defaults/lockup" "cosmossdk.io/x/accounts/testing/account_abstraction" "cosmossdk.io/x/accounts/testing/counter" "cosmossdk.io/x/auth" diff --git a/simapp/go.mod b/simapp/go.mod index 1954a643efb6..7cae6a0a5ecc 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -13,7 +13,7 @@ require ( cosmossdk.io/store v1.1.0 cosmossdk.io/tools/confix v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/accounts/lockup v0.0.0-00010101000000-000000000000 + cosmossdk.io/x/accounts/defaults/lockup v0.0.0-00010101000000-000000000000 cosmossdk.io/x/auth v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/authz v0.0.0-00010101000000-000000000000 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 @@ -240,7 +240,7 @@ replace ( cosmossdk.io/depinject => ../depinject cosmossdk.io/tools/confix => ../tools/confix cosmossdk.io/x/accounts => ../x/accounts - cosmossdk.io/x/accounts/lockup => ../x/accounts/defaults/lockup + cosmossdk.io/x/accounts/defaults/lockup => ../x/accounts/defaults/lockup cosmossdk.io/x/auth => ../x/auth cosmossdk.io/x/authz => ../x/authz cosmossdk.io/x/bank => ../x/bank diff --git a/store/go.mod b/store/go.mod index 5a6998bb38a9..fec65efd761c 100644 --- a/store/go.mod +++ b/store/go.mod @@ -19,7 +19,6 @@ require ( github.com/spf13/cast v1.6.0 github.com/stretchr/testify v1.9.0 github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d - golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f golang.org/x/sync v0.6.0 ) @@ -60,6 +59,7 @@ require ( github.com/rs/zerolog v1.32.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect golang.org/x/crypto v0.21.0 // indirect + golang.org/x/exp v0.0.0-20240314144324-c7f7c6466f7f // indirect golang.org/x/net v0.22.0 // indirect golang.org/x/sys v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect diff --git a/tests/go.mod b/tests/go.mod index c1bd91fc4dda..53db9ee603e9 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -59,7 +59,7 @@ require ( cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.36.0 // indirect cosmossdk.io/client/v2 v2.0.0-20230630094428-02b760776860 // indirect - cosmossdk.io/x/accounts/lockup v0.0.0-00010101000000-000000000000 // indirect + cosmossdk.io/x/accounts/defaults/lockup v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -236,7 +236,7 @@ replace ( cosmossdk.io/core => ../core cosmossdk.io/depinject => ../depinject cosmossdk.io/x/accounts => ../x/accounts - cosmossdk.io/x/accounts/lockup => ../x/accounts/defaults/lockup + cosmossdk.io/x/accounts/defaults/lockup => ../x/accounts/defaults/lockup cosmossdk.io/x/auth => ../x/auth cosmossdk.io/x/authz => ../x/authz cosmossdk.io/x/bank => ../x/bank diff --git a/tests/starship/tests/go.mod b/tests/starship/tests/go.mod index cce68233b081..1676a91ffcea 100644 --- a/tests/starship/tests/go.mod +++ b/tests/starship/tests/go.mod @@ -20,7 +20,7 @@ replace ( cosmossdk.io/depinject => ../../../depinject cosmossdk.io/simapp => ../../../simapp cosmossdk.io/x/accounts => ../../../x/accounts - cosmossdk.io/x/accounts/lockup => ../../../x/accounts/defaults/lockup + cosmossdk.io/x/accounts/defaults/lockup => ../../../x/accounts/defaults/lockup cosmossdk.io/x/auth => ../../../x/auth cosmossdk.io/x/authz => ../../../x/authz cosmossdk.io/x/bank => ../../../x/bank @@ -67,7 +67,7 @@ require ( cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/store v1.1.0 // indirect cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/accounts/lockup v0.0.0-00010101000000-000000000000 // indirect + cosmossdk.io/x/accounts/defaults/lockup v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/authz v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/distribution v0.0.0-20240227221813-a248d05f70f4 // indirect diff --git a/x/accounts/defaults/lockup/continuous_locking_account.go b/x/accounts/defaults/lockup/continuous_locking_account.go index 4380388caa55..c38a48d4ee08 100644 --- a/x/accounts/defaults/lockup/continuous_locking_account.go +++ b/x/accounts/defaults/lockup/continuous_locking_account.go @@ -8,7 +8,7 @@ import ( collcodec "cosmossdk.io/collections/codec" "cosmossdk.io/math" "cosmossdk.io/x/accounts/accountstd" - lockuptypes "cosmossdk.io/x/accounts/lockup/types" + lockuptypes "cosmossdk.io/x/accounts/defaults/lockup/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" diff --git a/x/accounts/defaults/lockup/delayed_locking_account.go b/x/accounts/defaults/lockup/delayed_locking_account.go index 8de0c9f024ef..dbc19d960081 100644 --- a/x/accounts/defaults/lockup/delayed_locking_account.go +++ b/x/accounts/defaults/lockup/delayed_locking_account.go @@ -6,7 +6,7 @@ import ( "cosmossdk.io/math" "cosmossdk.io/x/accounts/accountstd" - lockuptypes "cosmossdk.io/x/accounts/lockup/types" + lockuptypes "cosmossdk.io/x/accounts/defaults/lockup/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 092c14a03a05..d0c57781ab10 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -1,4 +1,4 @@ -module cosmossdk.io/x/accounts/lockup +module cosmossdk.io/x/accounts/defaults/lockup go 1.21 @@ -12,20 +12,14 @@ require ( ) require ( + buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.32.0-20240130113600-88ef6483f90f.1 // indirect + buf.build/gen/go/tendermint/tendermint/protocolbuffers/go v1.32.0-20231117195010-33ed361a9051.1 // indirect cosmossdk.io/api v0.7.3 - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/spf13/cobra v1.8.0 // indirect - github.com/stretchr/testify v1.9.0 // indirect - golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect - google.golang.org/grpc v1.62.1 // indirect - google.golang.org/protobuf v1.33.0 -) - -require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.3.1 // indirect cosmossdk.io/math v1.3.0 cosmossdk.io/store v1.0.2 // indirect + cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v0.13.1 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -43,6 +37,7 @@ require ( github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect github.com/cockroachdb/pebble v1.1.0 // indirect github.com/cockroachdb/redact v1.1.5 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v0.38.6 // indirect github.com/cometbft/cometbft-db v0.11.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect @@ -82,6 +77,7 @@ require ( github.com/gorilla/mux v1.8.1 // indirect github.com/gorilla/websocket v1.5.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect + github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/hashicorp/go-hclog v1.6.2 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect @@ -127,8 +123,10 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.18.2 // indirect + github.com/stretchr/testify v1.9.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect @@ -140,6 +138,7 @@ require ( go.etcd.io/bbolt v1.3.9 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.21.0 // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.22.0 // indirect golang.org/x/sync v0.6.0 // indirect @@ -150,6 +149,8 @@ require ( google.golang.org/genproto v0.0.0-20240221002015-b0ce06bbee7c // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240221002015-b0ce06bbee7c // indirect + google.golang.org/grpc v1.62.1 // indirect + google.golang.org/protobuf v1.33.0 gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.1 // indirect @@ -158,17 +159,11 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require ( - buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.32.0-20240130113600-88ef6483f90f.1 // indirect - buf.build/gen/go/tendermint/tendermint/protocolbuffers/go v1.32.0-20231117195010-33ed361a9051.1 // indirect - cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 // indirect - github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect -) - replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( cosmossdk.io/api => ../../../../api + cosmossdk.io/collections => ../../../../collections // TODO tag new collections ASAP cosmossdk.io/core => ../../../../core cosmossdk.io/depinject => ../../../../depinject cosmossdk.io/x/accounts => ../../. @@ -180,5 +175,4 @@ replace ( cosmossdk.io/x/protocolpool => ../../../protocolpool cosmossdk.io/x/slashing => ../../../slashing cosmossdk.io/x/staking => ../../../staking - github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.9.1 ) diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 77220de4593a..4e9745165623 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -5,8 +5,6 @@ buf.build/gen/go/tendermint/tendermint/protocolbuffers/go v1.32.0-20231117195010 buf.build/gen/go/tendermint/tendermint/protocolbuffers/go v1.32.0-20231117195010-33ed361a9051.1/go.mod h1:9KmeMJUsSG3IiIwK63Lh1ipZJrwd7KHrWZseJeHukcs= 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= -cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= -cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= @@ -73,8 +71,6 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOF github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/bufbuild/protocompile v0.5.1 h1:mixz5lJX4Hiz4FpqFREJHIXLfaLBntfaJv1h+/jS+Qg= github.com/bufbuild/protocompile v0.5.1/go.mod h1:G5iLmavmF4NsYtpZFvE3B/zFch2GIY8+wjsYLR/lc40= -github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= 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= @@ -86,8 +82,6 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/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/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= -github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= 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= @@ -208,12 +202,11 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -230,17 +223,16 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= -github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +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-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -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= @@ -396,7 +388,6 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u 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.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= 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= @@ -409,8 +400,6 @@ github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= 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/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -421,7 +410,7 @@ 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/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= 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= @@ -468,7 +457,6 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ 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/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= 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= @@ -522,7 +510,6 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= 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.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo= github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= @@ -652,9 +639,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= @@ -668,16 +652,15 @@ github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +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.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= 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/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= @@ -708,8 +691,6 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= -golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= 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= @@ -719,9 +700,6 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -742,8 +720,6 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB 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.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -768,16 +744,11 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-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-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/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.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.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -790,8 +761,6 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ 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-20201020160332-67f06af15bc9/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.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -843,21 +812,14 @@ golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/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-20221010170243-090e33056c14/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.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/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.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -866,10 +828,6 @@ golang.org/x/text v0.3.3/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.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/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -894,8 +852,6 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -957,7 +913,6 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= @@ -1002,7 +957,6 @@ nhooyr.io/websocket v1.8.10 h1:mv4p+MnGrLDcPlBoWsvPP7XCzTYMXP9F9eIGoKbgx7Q= nhooyr.io/websocket v1.8.10/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/x/accounts/defaults/lockup/lockup.go b/x/accounts/defaults/lockup/lockup.go index d24f3ff46d80..6917f2407b5d 100644 --- a/x/accounts/defaults/lockup/lockup.go +++ b/x/accounts/defaults/lockup/lockup.go @@ -13,7 +13,7 @@ import ( errorsmod "cosmossdk.io/errors" "cosmossdk.io/math" "cosmossdk.io/x/accounts/accountstd" - lockuptypes "cosmossdk.io/x/accounts/lockup/types" + lockuptypes "cosmossdk.io/x/accounts/defaults/lockup/types" banktypes "cosmossdk.io/x/bank/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/gogoproto/proto" diff --git a/x/accounts/defaults/lockup/periodic_locking_account.go b/x/accounts/defaults/lockup/periodic_locking_account.go index ae306e3b51b8..be3ce30c1539 100644 --- a/x/accounts/defaults/lockup/periodic_locking_account.go +++ b/x/accounts/defaults/lockup/periodic_locking_account.go @@ -9,7 +9,7 @@ import ( errorsmod "cosmossdk.io/errors" "cosmossdk.io/math" "cosmossdk.io/x/accounts/accountstd" - lockuptypes "cosmossdk.io/x/accounts/lockup/types" + lockuptypes "cosmossdk.io/x/accounts/defaults/lockup/types" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" @@ -17,9 +17,7 @@ import ( ) // Compile-time type assertions -var ( - _ accountstd.Interface = (*PeriodicLockingAccount)(nil) -) +var _ accountstd.Interface = (*PeriodicLockingAccount)(nil) // NewPeriodicLockingAccount creates a new PeriodicLockingAccount object. func NewPeriodicLockingAccount(d accountstd.Dependencies) (*PeriodicLockingAccount, error) { diff --git a/x/accounts/defaults/lockup/permanent_locking_account.go b/x/accounts/defaults/lockup/permanent_locking_account.go index 954139d93819..70a8b98dd1d7 100644 --- a/x/accounts/defaults/lockup/permanent_locking_account.go +++ b/x/accounts/defaults/lockup/permanent_locking_account.go @@ -6,7 +6,7 @@ import ( "cosmossdk.io/math" "cosmossdk.io/x/accounts/accountstd" - lockuptypes "cosmossdk.io/x/accounts/lockup/types" + lockuptypes "cosmossdk.io/x/accounts/defaults/lockup/types" sdk "github.com/cosmos/cosmos-sdk/types" )