From ec943c800121bca9534869e0c30d9e455db05d9d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Mon, 21 Aug 2023 11:32:53 +0200 Subject: [PATCH] Fixed matches --- app/app.go | 2 + docs/static/openapi.yml | 90 +- proto/cardchain/cardchain/match.proto | 3 +- proto/cardchain/cardchain/params.proto | 1 + proto/cardchain/cardchain/query.proto | 3 +- proto/cardchain/cardchain/tx.proto | 8 +- proto/cardchain/cardchain/user.proto | 2 +- proto/cardchain/cardchain/vote_right.proto | 10 - .../{voting_results.proto => voteing.proto} | 22 +- proto/cardchain/cardchain/voting_result.proto | 14 - x/cardchain/genesis.go | 3 + x/cardchain/keeper/match.go | 93 +- x/cardchain/keeper/match_test.go | 14 +- .../keeper/msg_server_confirm_match.go | 10 +- .../keeper/msg_server_msg_open_match.go | 2 - .../keeper/msg_server_multi_vote_card.go | 13 +- x/cardchain/keeper/msg_server_report_match.go | 2 + x/cardchain/keeper/msg_server_vote_card.go | 2 +- x/cardchain/keeper/voting.go | 46 +- x/cardchain/types/match.pb.go | 227 ++- x/cardchain/types/params.go | 12 + x/cardchain/types/params.pb.go | 114 +- x/cardchain/types/query.pb.go | 257 ++-- x/cardchain/types/tx.pb.go | 721 +++------ x/cardchain/types/user.pb.go | 78 +- x/cardchain/types/vote_right.pb.go | 337 ----- x/cardchain/types/voteing.pb.go | 1307 +++++++++++++++++ x/cardchain/types/voting_result.pb.go | 498 ------- x/cardchain/types/voting_results.pb.go | 563 ------- 29 files changed, 2115 insertions(+), 2339 deletions(-) delete mode 100644 proto/cardchain/cardchain/vote_right.proto rename proto/cardchain/cardchain/{voting_results.proto => voteing.proto} (54%) delete mode 100644 proto/cardchain/cardchain/voting_result.proto delete mode 100644 x/cardchain/types/vote_right.pb.go create mode 100644 x/cardchain/types/voteing.pb.go delete mode 100644 x/cardchain/types/voting_result.pb.go delete mode 100644 x/cardchain/types/voting_results.pb.go diff --git a/app/app.go b/app/app.go index 6535f3d6..391f45c3 100644 --- a/app/app.go +++ b/app/app.go @@ -810,6 +810,8 @@ func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.Respo } } + app.CardchainKeeper.MatchWorker(ctx) + return app.mm.EndBlock(ctx, req) } diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e5b9f2c0..20fe92d5 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -33050,6 +33050,9 @@ paths: votingRewardCap: type: string format: int64 + matchWorkerDelay: + type: string + format: uint64 description: >- QueryParamsResponse is response type for the Query/Params RPC method. @@ -33521,8 +33524,13 @@ paths: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -33551,8 +33559,13 @@ paths: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: @@ -33644,8 +33657,13 @@ paths: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -33674,8 +33692,13 @@ paths: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: @@ -68574,8 +68597,13 @@ definitions: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -68604,8 +68632,13 @@ definitions: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: @@ -68646,8 +68679,13 @@ definitions: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string DecentralCardGame.cardchain.cardchain.MsgAddArtworkResponse: type: object DecentralCardGame.cardchain.cardchain.MsgAddArtworkToCollectionResponse: @@ -68909,6 +68947,9 @@ definitions: votingRewardCap: type: string format: int64 + matchWorkerDelay: + type: string + format: uint64 description: Params defines the parameters for the module. DecentralCardGame.cardchain.cardchain.QueryParamsResponse: type: object @@ -68970,6 +69011,9 @@ definitions: votingRewardCap: type: string format: int64 + matchWorkerDelay: + type: string + format: uint64 description: QueryParamsResponse is response type for the Query/Params RPC method. DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse: type: object @@ -69080,8 +69124,13 @@ definitions: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -69110,8 +69159,13 @@ definitions: votedCards: type: array items: - type: string - format: uint64 + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: diff --git a/proto/cardchain/cardchain/match.proto b/proto/cardchain/cardchain/match.proto index a9a0057a..52b2f906 100644 --- a/proto/cardchain/cardchain/match.proto +++ b/proto/cardchain/cardchain/match.proto @@ -2,6 +2,7 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; +import "cardchain/cardchain/voteing.proto"; message Match { @@ -20,7 +21,7 @@ message MatchPlayer { bool confirmed = 3; Outcome outcome = 4; repeated uint64 deck = 5; - repeated uint64 votedCards = 6; + repeated SingleVote votedCards = 6; } enum Outcome { diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto index bcca740e..0e47ffe3 100644 --- a/proto/cardchain/cardchain/params.proto +++ b/proto/cardchain/cardchain/params.proto @@ -28,4 +28,5 @@ message Params { string trialVoteReward = 19 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; int64 votePoolFraction = 20; int64 votingRewardCap = 8; + uint64 matchWorkerDelay = 21; } diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index a47bb281..11806ace 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -5,8 +5,7 @@ import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/vote_right.proto"; -import "cardchain/cardchain/voting_results.proto"; +import "cardchain/cardchain/voteing.proto"; import "cardchain/cardchain/card.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/match.proto"; diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 765dfa9e..a50f58a1 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -5,6 +5,7 @@ package DecentralCardGame.cardchain.cardchain; import "gogoproto/gogo.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/voteing.proto"; import "cosmos/base/v1beta1/coin.proto"; // this line is used by starport scaffolding # proto/tx/import @@ -337,7 +338,7 @@ message MsgConfirmMatch { string creator = 1; uint64 matchId = 2; Outcome outcome = 3; - repeated uint64 votedCards = 4; + repeated SingleVote votedCards = 4; } message MsgConfirmMatchResponse {} @@ -396,11 +397,6 @@ message MsgSetUserBiography { message MsgSetUserBiographyResponse {} -message SingleVote { - uint64 cardId = 1; - string voteType = 2; -} - // this line is used by starport scaffolding # proto/tx/message message MsgMultiVoteCard { string creator = 1; diff --git a/proto/cardchain/cardchain/user.proto b/proto/cardchain/cardchain/user.proto index 813b9c66..158ee9b8 100644 --- a/proto/cardchain/cardchain/user.proto +++ b/proto/cardchain/cardchain/user.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/vote_right.proto"; +import "cardchain/cardchain/voteing.proto"; message User { diff --git a/proto/cardchain/cardchain/vote_right.proto b/proto/cardchain/cardchain/vote_right.proto deleted file mode 100644 index 86c13be2..00000000 --- a/proto/cardchain/cardchain/vote_right.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message VoteRight { - - uint64 cardId = 1; - int64 expireBlock = 2; -} diff --git a/proto/cardchain/cardchain/voting_results.proto b/proto/cardchain/cardchain/voteing.proto similarity index 54% rename from proto/cardchain/cardchain/voting_results.proto rename to proto/cardchain/cardchain/voteing.proto index 0f0bba13..5d39cc53 100644 --- a/proto/cardchain/cardchain/voting_results.proto +++ b/proto/cardchain/cardchain/voteing.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/voting_result.proto"; message VotingResults { @@ -14,3 +13,24 @@ message VotingResults { repeated VotingResult cardResults = 6; string notes = 7; } + +message VotingResult { + + uint64 cardId = 1; + uint64 fairEnoughVotes = 2; + uint64 overpoweredVotes = 3; + uint64 underpoweredVotes = 4; + uint64 inappropriateVotes = 5; + string result = 6; +} + +message SingleVote { + uint64 cardId = 1; + string voteType = 2; +} + +message VoteRight { + + uint64 cardId = 1; + int64 expireBlock = 2; +} \ No newline at end of file diff --git a/proto/cardchain/cardchain/voting_result.proto b/proto/cardchain/cardchain/voting_result.proto deleted file mode 100644 index 4915f32a..00000000 --- a/proto/cardchain/cardchain/voting_result.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message VotingResult { - - uint64 cardId = 1; - uint64 fairEnoughVotes = 2; - uint64 overpoweredVotes = 3; - uint64 underpoweredVotes = 4; - uint64 inappropriateVotes = 5; - string result = 6; -} diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go index 4c4e3b8d..7b2719cf 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/genesis.go @@ -62,6 +62,9 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) genState.Params.AirDropValue = defaultParams.AirDropValue genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight } + if genState.Params.MatchWorkerDelay == 0 { + genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay + } k.SetParams(ctx, genState.Params) } diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index 933d7f06..336c115d 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -2,6 +2,7 @@ package keeper import ( "fmt" + "time" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -21,9 +22,9 @@ func (k Keeper) SetMatchReporter(ctx sdk.Context, address string) error { return nil } -// CalculateMatchReward Calculates the match winning rewards -func (k Keeper) CalculateMatchReward(ctx sdk.Context, outcome types.Outcome) (amountA sdk.Coin, amountB sdk.Coin) { - reward := k.GetMatchReward(ctx) +// calculateMatchReward Calculates the match winning rewards +func (k Keeper) calculateMatchReward(ctx sdk.Context, outcome types.Outcome) (amountA sdk.Coin, amountB sdk.Coin) { + reward := k.getMatchReward(ctx) amountA = sdk.NewInt64Coin("ucredits", 0) amountB = sdk.NewInt64Coin("ucredits", 0) @@ -41,8 +42,8 @@ func (k Keeper) CalculateMatchReward(ctx sdk.Context, outcome types.Outcome) (am return } -// GetMatchReward Calculates winner rewards -func (k Keeper) GetMatchReward(ctx sdk.Context) sdk.Coin { +// getMatchReward Calculates winner rewards +func (k Keeper) getMatchReward(ctx sdk.Context) sdk.Coin { pool := k.Pools.Get(ctx, WinnersPoolKey) reward := QuoCoin(*pool, k.GetParams(ctx).WinnerReward) if reward.Amount.Int64() > 1000000 { @@ -51,8 +52,8 @@ func (k Keeper) GetMatchReward(ctx sdk.Context) sdk.Coin { return reward } -// GetMatchAddresses Get's and verifies the players of a match -func (k Keeper) GetMatchAddresses(ctx sdk.Context, match types.Match) (addresses []sdk.AccAddress, err error) { +// getMatchAddresses Get's and verifies the players of a match +func (k Keeper) getMatchAddresses(ctx sdk.Context, match types.Match) (addresses []sdk.AccAddress, err error) { for _, player := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { var address sdk.AccAddress address, err = sdk.AccAddressFromBech32(player) @@ -66,14 +67,26 @@ func (k Keeper) GetMatchAddresses(ctx sdk.Context, match types.Match) (addresses return } -// DistributeCoins to players of a match -func (k Keeper) DistributeCoins(ctx sdk.Context, match *types.Match, outcome types.Outcome) error { - addresses, err := k.GetMatchAddresses(ctx, *match) +func (k Keeper) getMatchUsers(ctx sdk.Context, match types.Match) (users []*User, err error) { + for _, address := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { + user, err := k.GetUserFromString(ctx, address) + if err != nil { + return []*User{}, err + } + users = append(users, &user) + } + + return +} + +// distributeCoins to players of a match +func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome types.Outcome) error { + addresses, err := k.getMatchAddresses(ctx, *match) if err != nil { return err } - amountA, amountB := k.CalculateMatchReward(ctx, outcome) + amountA, amountB := k.calculateMatchReward(ctx, outcome) amounts := []sdk.Coin{amountA, amountB} for idx, address := range addresses { if !amounts[idx].IsZero() { @@ -139,8 +152,6 @@ func (k Keeper) TryHandleMatchOutcome(ctx sdk.Context, match *types.Match) error } func (k Keeper) HandleMatchOutcome(ctx sdk.Context, match *types.Match) error { - players := []*types.MatchPlayer{match.PlayerA, match.PlayerB} - // Evaluate Outcome outcomes := []types.Outcome{match.Outcome, match.PlayerA.Outcome, match.PlayerB.Outcome} slices.Sort(outcomes) @@ -155,21 +166,63 @@ func (k Keeper) HandleMatchOutcome(ctx sdk.Context, match *types.Match) error { outcome, err := k.GetOutcome(ctx, *match) match.Outcome = outcome - err = k.DistributeCoins(ctx, match, outcome) + err = k.distributeCoins(ctx, match, outcome) if err != nil { return err } + err = k.voteMatchCards(ctx, match) + if err != nil { + return err + } + + // TODO: Votes + return nil +} + +func (k Keeper) voteMatchCards(ctx sdk.Context, match *types.Match) error { + users, err := k.getMatchUsers(ctx, *match) + if err != nil { + return err + } + players := []*types.MatchPlayer{match.PlayerA, match.PlayerB} for idx, player := range players { // filter voted cards cards - var votedCards []uint64 - for _, card := range player.VotedCards { - if slices.Contains(players[(idx+1)%2].Deck, card) { - votedCards = append(votedCards, card) + otherPlayer := players[(idx+1)%2] + var otherPlayerCards []uint64 + var cleanedVotes []*types.SingleVote + if match.ServerConfirmed { + otherPlayerCards = otherPlayer.PlayedCards + } else { + otherPlayerCards = otherPlayer.Deck + } + for _, vote := range player.VotedCards { + if slices.Contains(otherPlayerCards, vote.CardId) { + cleanedVotes = append(cleanedVotes, vote) } } + err = k.multiVote(ctx, users[idx], cleanedVotes, true) + if err != nil { + return err + } + k.SetUserFromUser(ctx, *users[idx]) } - - // TODO: Votes return nil } + +func (k Keeper) MatchWorker(ctx sdk.Context) { + now := uint64(time.Now().Unix()) + if ctx.BlockHeight()%20 == 0 { + matchIter := k.Matches.GetItemIterator(ctx) + for ; matchIter.Valid(); matchIter.Next() { + id, match := matchIter.Value() + if !match.CoinsDistributed && match.Timestamp != 0 && match.Timestamp+k.GetParams(ctx).MatchWorkerDelay < now { + err := k.HandleMatchOutcome(ctx, match) + if err != nil { + k.Logger(ctx).Error(fmt.Sprintf(":: Error with matchWorker: %s", err)) + } + k.Matches.Set(ctx, id, match) + } + } + } +} diff --git a/x/cardchain/keeper/match_test.go b/x/cardchain/keeper/match_test.go index 2f130871..7640b02c 100644 --- a/x/cardchain/keeper/match_test.go +++ b/x/cardchain/keeper/match_test.go @@ -28,34 +28,34 @@ func TestMatches(t *testing.T) { require.EqualValues(t, match, *k.Matches.Get(ctx, 0)) require.EqualValues(t, []*types.Match{&match, &match}, k.Matches.GetAll(ctx)) require.EqualValues(t, 2, k.Matches.GetNumber(ctx)) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), k.GetMatchReward(ctx), k.GetMatchReward(ctx).Amount.Int64()) + require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), k.getMatchReward(ctx), k.getMatchReward(ctx).Amount.Int64()) - amountA, amountB := k.CalculateMatchReward(ctx, types.Outcome_AWon) + amountA, amountB := k.calculateMatchReward(ctx, types.Outcome_AWon) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_BWon) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_BWon) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_Draw) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_Draw) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 1), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 1), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_Aborted) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_Aborted) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountB) - addrs, err := k.GetMatchAddresses(ctx, match) + addrs, err := k.getMatchAddresses(ctx, match) require.EqualValues(t, nil, err) require.EqualValues(t, addrs[0], addrs[1]) require.EqualValues(t, 2, len(addrs)) match.PlayerA.Addr = "abc" - addrs, err = k.GetMatchAddresses(ctx, match) + addrs, err = k.getMatchAddresses(ctx, match) require.NotEqualValues(t, nil, err) outcome, err := k.GetOutcome(ctx, match) diff --git a/x/cardchain/keeper/msg_server_confirm_match.go b/x/cardchain/keeper/msg_server_confirm_match.go index b1ad1f75..7988377b 100644 --- a/x/cardchain/keeper/msg_server_confirm_match.go +++ b/x/cardchain/keeper/msg_server_confirm_match.go @@ -2,8 +2,7 @@ package keeper import ( "context" - - "golang.org/x/exp/slices" + "time" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -14,8 +13,7 @@ func (k msgServer) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatc ctx := sdk.UnwrapSDKContext(goCtx) var ( - player *types.MatchPlayer - otherPlayer *types.MatchPlayer + player *types.MatchPlayer ) match := k.Matches.Get(ctx, msg.MatchId) @@ -23,10 +21,8 @@ func (k msgServer) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatc switch msg.Creator { case match.PlayerA.Addr: player = match.PlayerA - otherPlayer = match.PlayerB case match.PlayerB.Addr: player = match.PlayerB - otherPlayer = match.PlayerA default: return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Didn't participate in match") } @@ -39,9 +35,9 @@ func (k msgServer) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatc } player.Outcome = msg.Outcome - player.VotedCards = msg.VotedCards player.Confirmed = true + match.Timestamp = uint64(time.Now().Unix()) err := k.TryHandleMatchOutcome(ctx, match) if err != nil { diff --git a/x/cardchain/keeper/msg_server_msg_open_match.go b/x/cardchain/keeper/msg_server_msg_open_match.go index 69c30e0d..5c71431b 100644 --- a/x/cardchain/keeper/msg_server_msg_open_match.go +++ b/x/cardchain/keeper/msg_server_msg_open_match.go @@ -2,7 +2,6 @@ package keeper import ( "context" - "time" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -24,7 +23,6 @@ func (k msgServer) MsgOpenMatch(goCtx context.Context, msg *types.MsgMsgOpenMatc matchId := k.Matches.GetNum(ctx) match := types.Match{ - Timestamp: uint64(time.Now().Unix()), Reporter: msg.Creator, PlayerA: types.NewMatchPlayer(msg.PlayerA, []uint64{}, msg.PlayerADeck), PlayerB: types.NewMatchPlayer(msg.PlayerB, []uint64{}, msg.PlayerBDeck), diff --git a/x/cardchain/keeper/msg_server_multi_vote_card.go b/x/cardchain/keeper/msg_server_multi_vote_card.go index 3e578df3..788643c4 100644 --- a/x/cardchain/keeper/msg_server_multi_vote_card.go +++ b/x/cardchain/keeper/msg_server_multi_vote_card.go @@ -11,23 +11,16 @@ import ( func (k msgServer) MultiVoteCard(goCtx context.Context, msg *types.MsgMultiVoteCard) (*types.MsgMultiVoteCardResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - var n = 0 voter, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") } - for i, vote := range msg.Votes { - err := k.voteCard(ctx, &voter, vote.CardId, vote.VoteType) - if err != nil { - return nil, err - } - n = i + err = k.multiVote(ctx, &voter, msg.Votes, false) + if err != nil { + return nil, err } - - k.incVotesAverageBy(ctx, int64(n+1)) - k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) k.SetUserFromUser(ctx, voter) diff --git a/x/cardchain/keeper/msg_server_report_match.go b/x/cardchain/keeper/msg_server_report_match.go index 84fc6e91..b4367153 100644 --- a/x/cardchain/keeper/msg_server_report_match.go +++ b/x/cardchain/keeper/msg_server_report_match.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "time" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -31,6 +32,7 @@ func (k msgServer) ReportMatch(goCtx context.Context, msg *types.MsgReportMatch) } match.Outcome = msg.Outcome + match.Timestamp = uint64(time.Now().Unix()) err = k.TryHandleMatchOutcome(ctx, match) if err != nil { diff --git a/x/cardchain/keeper/msg_server_vote_card.go b/x/cardchain/keeper/msg_server_vote_card.go index 4355e813..31d83d1e 100644 --- a/x/cardchain/keeper/msg_server_vote_card.go +++ b/x/cardchain/keeper/msg_server_vote_card.go @@ -16,7 +16,7 @@ func (k msgServer) VoteCard(goCtx context.Context, msg *types.MsgVoteCard) (*typ return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") } - k.voteCard(ctx, &voter, msg.CardId, msg.VoteType) + k.voteCard(ctx, &voter, msg.CardId, msg.VoteType, false) k.incVotesAverageBy(ctx, 1) diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go index c44678e7..e16ac2dc 100644 --- a/x/cardchain/keeper/voting.go +++ b/x/cardchain/keeper/voting.go @@ -9,23 +9,27 @@ import ( "golang.org/x/exp/slices" ) -func (k msgServer) voteCard( +func (k Keeper) voteCard( ctx sdk.Context, voter *User, cardId uint64, voteType string, + ignoreVoteRights bool, ) error { - rightsIndex := slices.IndexFunc(voter.VoteRights, func(s *types.VoteRight) bool { return s.CardId == cardId }) + var rightsIndex int + if !ignoreVoteRights { + rightsIndex = slices.IndexFunc(voter.VoteRights, func(s *types.VoteRight) bool { return s.CardId == cardId }) - // check if voting rights are true - if rightsIndex < 0 { - return sdkerrors.Wrap(types.ErrVoterHasNoVotingRights, "No Voting Rights") - } + // check if voting rights are true + if rightsIndex < 0 { + return sdkerrors.Wrap(types.ErrVoterHasNoVotingRights, "No Voting Rights") + } - //check if voting rights are timed out - if ctx.BlockHeight() > (voter.VoteRights)[rightsIndex].ExpireBlock { - k.RemoveVoteRight(ctx, voter, rightsIndex) - return sdkerrors.Wrap(types.ErrVoteRightIsExpired, "Voting Right has expired") + //check if voting rights are timed out + if ctx.BlockHeight() > (voter.VoteRights)[rightsIndex].ExpireBlock { + k.RemoveVoteRight(ctx, voter, rightsIndex) + return sdkerrors.Wrap(types.ErrVoteRightIsExpired, "Voting Right has expired") + } } // if the vote right is valid, get the Card @@ -64,15 +68,33 @@ func (k msgServer) voteCard( amount := k.GetVoteReward(ctx) k.MintCoinsToAddr(ctx, voter.Addr, sdk.Coins{amount}) k.SubPoolCredits(ctx, BalancersPoolKey, amount) - k.RemoveVoteRight(ctx, voter, rightsIndex) + if !ignoreVoteRights { + k.RemoveVoteRight(ctx, voter, rightsIndex) + } k.Cards.Set(ctx, cardId, card) return nil } -func (k msgServer) incVotesAverageBy(ctx sdk.Context, n int64) { +func (k Keeper) incVotesAverageBy(ctx sdk.Context, n int64) { votes := k.RunningAverages.Get(ctx, Votes24ValueKey) votes.Arr[len(votes.Arr)-1] += n k.RunningAverages.Set(ctx, Votes24ValueKey, votes) } + +func (k Keeper) multiVote(ctx sdk.Context, voter *User, votes []*types.SingleVote, ignoreVotingRights bool) error { + var n = 0 + + for i, vote := range votes { + err := k.voteCard(ctx, voter, vote.CardId, vote.VoteType, ignoreVotingRights) + if err != nil { + return err + } + n = i + } + + k.incVotesAverageBy(ctx, int64(n+1)) + + return nil +} diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index 807fc212..7e0ec77b 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -146,12 +146,12 @@ func (m *Match) GetServerConfirmed() bool { } type MatchPlayer struct { - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - PlayedCards []uint64 `protobuf:"varint,2,rep,packed,name=playedCards,proto3" json:"playedCards,omitempty"` - Confirmed bool `protobuf:"varint,3,opt,name=confirmed,proto3" json:"confirmed,omitempty"` - Outcome Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` - Deck []uint64 `protobuf:"varint,5,rep,packed,name=deck,proto3" json:"deck,omitempty"` - VotedCards []uint64 `protobuf:"varint,6,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + PlayedCards []uint64 `protobuf:"varint,2,rep,packed,name=playedCards,proto3" json:"playedCards,omitempty"` + Confirmed bool `protobuf:"varint,3,opt,name=confirmed,proto3" json:"confirmed,omitempty"` + Outcome Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Deck []uint64 `protobuf:"varint,5,rep,packed,name=deck,proto3" json:"deck,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,6,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } func (m *MatchPlayer) Reset() { *m = MatchPlayer{} } @@ -222,7 +222,7 @@ func (m *MatchPlayer) GetDeck() []uint64 { return nil } -func (m *MatchPlayer) GetVotedCards() []uint64 { +func (m *MatchPlayer) GetVotedCards() []*SingleVote { if m != nil { return m.VotedCards } @@ -238,33 +238,35 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/match.proto", fileDescriptor_f49b609716516c9f) } var fileDescriptor_f49b609716516c9f = []byte{ - // 408 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x8b, 0xd3, 0x40, - 0x18, 0xce, 0x24, 0xd9, 0x4d, 0xfa, 0x06, 0x34, 0xcc, 0x69, 0x10, 0x89, 0x61, 0x41, 0x08, 0x7b, - 0x48, 0xa1, 0x7a, 0xf0, 0xda, 0xb4, 0xa0, 0x07, 0x45, 0x99, 0x8b, 0xe0, 0x6d, 0x32, 0x33, 0xda, - 0xe0, 0x26, 0x13, 0x26, 0xd3, 0xd5, 0xfd, 0x17, 0xfe, 0x2c, 0x8f, 0x7b, 0xf4, 0xa6, 0xb4, 0xbf, - 0x43, 0x90, 0x8c, 0x36, 0x09, 0xf6, 0x52, 0xe8, 0xed, 0xc9, 0x93, 0x79, 0x3e, 0xe6, 0xe3, 0x85, - 0x27, 0x9c, 0x69, 0xc1, 0x37, 0xac, 0x6a, 0xe6, 0x23, 0xaa, 0x99, 0xe1, 0x9b, 0xbc, 0xd5, 0xca, - 0x28, 0xfc, 0x74, 0x2d, 0xb9, 0x6c, 0x8c, 0x66, 0x37, 0x2b, 0xa6, 0xc5, 0x4b, 0x56, 0xcb, 0x7c, - 0x58, 0x38, 0xa2, 0xab, 0xdf, 0x2e, 0x5c, 0xbc, 0xe9, 0x65, 0xf8, 0x31, 0xcc, 0x4c, 0x55, 0xcb, - 0xce, 0xb0, 0xba, 0x25, 0x28, 0x45, 0x99, 0x4f, 0x47, 0x02, 0x3f, 0x82, 0x50, 0xcb, 0x56, 0x69, - 0x23, 0x35, 0x71, 0x53, 0x94, 0xcd, 0xe8, 0xf0, 0x8d, 0x5f, 0x43, 0xd0, 0xde, 0xb0, 0x3b, 0xa9, - 0x97, 0xc4, 0x4b, 0x51, 0x16, 0x2d, 0x16, 0xf9, 0x49, 0xe1, 0xb9, 0x0d, 0x7e, 0x67, 0xa5, 0xf4, - 0x60, 0x31, 0xba, 0x15, 0xc4, 0x3f, 0xd7, 0xad, 0xc0, 0xaf, 0x20, 0x50, 0x5b, 0xc3, 0x55, 0x2d, - 0x49, 0x90, 0xa2, 0xec, 0xc1, 0x22, 0x3f, 0xd1, 0xed, 0xed, 0x5f, 0x15, 0x3d, 0xc8, 0xf1, 0x35, - 0xc4, 0x5c, 0x55, 0x4d, 0xb7, 0xae, 0x3a, 0xa3, 0xab, 0x72, 0x6b, 0xa4, 0x20, 0x90, 0xa2, 0x2c, - 0xa4, 0x47, 0x3c, 0xce, 0xe0, 0x61, 0x27, 0xf5, 0xad, 0xd4, 0x2b, 0xd5, 0x7c, 0xac, 0x74, 0x2d, - 0x05, 0x09, 0xed, 0xd2, 0xff, 0xe9, 0xab, 0x9f, 0x08, 0xa2, 0x49, 0x71, 0x8c, 0xc1, 0x67, 0x42, - 0x68, 0x7b, 0x01, 0x33, 0x6a, 0x31, 0x4e, 0x21, 0xb2, 0xdb, 0x11, 0x7d, 0xe1, 0x8e, 0xb8, 0xa9, - 0x97, 0xf9, 0x74, 0x4a, 0xf5, 0x77, 0xc7, 0x87, 0x24, 0xcf, 0x26, 0x8d, 0xc4, 0xf4, 0x0c, 0xfc, - 0xf3, 0xce, 0x00, 0x83, 0x2f, 0x24, 0xff, 0x4c, 0x2e, 0x6c, 0x05, 0x8b, 0x71, 0x02, 0x70, 0xab, - 0xcc, 0xa1, 0xdc, 0xa5, 0xfd, 0x33, 0x61, 0xae, 0x9f, 0x43, 0xf0, 0xcf, 0x07, 0x87, 0xe0, 0x2f, - 0xdf, 0xab, 0x26, 0x76, 0x7a, 0x54, 0xf4, 0x08, 0xf5, 0x68, 0xad, 0xd9, 0x97, 0xd8, 0xc5, 0x11, - 0x04, 0xcb, 0xb2, 0x7f, 0x51, 0x22, 0xf6, 0x0a, 0xfa, 0x7d, 0x97, 0xa0, 0xfb, 0x5d, 0x82, 0x7e, - 0xed, 0x12, 0xf4, 0x6d, 0x9f, 0x38, 0xf7, 0xfb, 0xc4, 0xf9, 0xb1, 0x4f, 0x9c, 0x0f, 0x2f, 0x3e, - 0x55, 0x66, 0xb3, 0x2d, 0x73, 0xae, 0xea, 0xf9, 0xd1, 0x36, 0xe6, 0xab, 0x61, 0x18, 0xbe, 0x4e, - 0x06, 0xc3, 0xdc, 0xb5, 0xb2, 0x2b, 0x2f, 0xed, 0x64, 0x3c, 0xfb, 0x13, 0x00, 0x00, 0xff, 0xff, - 0x75, 0xa9, 0x1c, 0x8b, 0x3c, 0x03, 0x00, 0x00, + // 439 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcf, 0x8b, 0xd3, 0x40, + 0x18, 0xed, 0x24, 0xd9, 0x4d, 0xfb, 0x05, 0xb4, 0xcc, 0x29, 0x2c, 0x12, 0xe3, 0x82, 0x10, 0xf6, + 0x90, 0x62, 0xf5, 0xe0, 0xb5, 0x3f, 0x40, 0x0f, 0x8a, 0x3a, 0x82, 0x82, 0xb7, 0xe9, 0xcc, 0x67, + 0x3b, 0xd8, 0x64, 0xc2, 0x64, 0xba, 0xba, 0xff, 0x85, 0xf8, 0x57, 0x79, 0xdc, 0xa3, 0x47, 0x69, + 0xff, 0x0e, 0x41, 0x32, 0xbb, 0xdb, 0x04, 0xd7, 0x43, 0x61, 0x6f, 0x2f, 0x8f, 0xf9, 0xde, 0x7b, + 0xf9, 0x7e, 0xc0, 0x43, 0xc1, 0x8d, 0x14, 0x2b, 0xae, 0xca, 0x51, 0x8b, 0x0a, 0x6e, 0xc5, 0x2a, + 0xaf, 0x8c, 0xb6, 0x9a, 0x3e, 0x9e, 0xa3, 0xc0, 0xd2, 0x1a, 0xbe, 0x9e, 0x71, 0x23, 0x5f, 0xf0, + 0x02, 0xf3, 0xfd, 0xc3, 0x16, 0x9d, 0x3c, 0xfa, 0x9f, 0xce, 0xb9, 0xb6, 0xa8, 0xca, 0xe5, 0x95, + 0xd2, 0xe9, 0x1f, 0x0f, 0x8e, 0x5e, 0x37, 0xca, 0xf4, 0x01, 0x0c, 0xac, 0x2a, 0xb0, 0xb6, 0xbc, + 0xa8, 0x62, 0x92, 0x92, 0x2c, 0x60, 0x2d, 0x41, 0x4f, 0xa0, 0x6f, 0xb0, 0xd2, 0xc6, 0xa2, 0x89, + 0xbd, 0x94, 0x64, 0x03, 0xb6, 0xff, 0xa6, 0xaf, 0x20, 0xac, 0xd6, 0xfc, 0x02, 0xcd, 0x24, 0xf6, + 0x53, 0x92, 0x45, 0xe3, 0x71, 0x7e, 0x50, 0xbe, 0xdc, 0x19, 0xbf, 0x75, 0xa5, 0xec, 0x46, 0xa2, + 0x55, 0x9b, 0xc6, 0xc1, 0x5d, 0xd5, 0xa6, 0xf4, 0x25, 0x84, 0x7a, 0x63, 0x85, 0x2e, 0x30, 0x0e, + 0x53, 0x92, 0xdd, 0x1b, 0xe7, 0x07, 0xaa, 0xbd, 0xb9, 0xaa, 0x62, 0x37, 0xe5, 0xf4, 0x0c, 0x86, + 0x42, 0xab, 0xb2, 0x9e, 0xab, 0xda, 0x1a, 0xb5, 0xd8, 0x58, 0x94, 0x31, 0xa4, 0x24, 0xeb, 0xb3, + 0x5b, 0x3c, 0xcd, 0xe0, 0x7e, 0x8d, 0xe6, 0x1c, 0xcd, 0x4c, 0x97, 0x9f, 0x95, 0x29, 0x50, 0xc6, + 0x7d, 0xf7, 0xf4, 0x5f, 0xfa, 0xf4, 0x87, 0x07, 0x51, 0x27, 0x38, 0xa5, 0x10, 0x70, 0x29, 0x8d, + 0x1b, 0xc0, 0x80, 0x39, 0x4c, 0x53, 0x88, 0xdc, 0xef, 0xc8, 0x26, 0x70, 0x1d, 0x7b, 0xa9, 0x9f, + 0x05, 0xac, 0x4b, 0x35, 0xb3, 0x13, 0x7b, 0x27, 0xdf, 0x39, 0xb5, 0x44, 0xb7, 0x07, 0xc1, 0xdd, + 0x7a, 0x40, 0x21, 0x90, 0x28, 0xbe, 0xc4, 0x47, 0x2e, 0x82, 0xc3, 0xf4, 0x1d, 0x40, 0xb3, 0x52, + 0xd7, 0xe1, 0x8e, 0x53, 0x3f, 0x8b, 0xc6, 0x4f, 0x0e, 0x34, 0x78, 0xaf, 0xca, 0xe5, 0x1a, 0x3f, + 0x68, 0x8b, 0xac, 0x23, 0x72, 0xf6, 0x0c, 0xc2, 0x6b, 0x6b, 0xda, 0x87, 0x60, 0xf2, 0x51, 0x97, + 0xc3, 0x5e, 0x83, 0xa6, 0x0d, 0x22, 0x0d, 0x9a, 0x1b, 0xfe, 0x75, 0xe8, 0xd1, 0x08, 0xc2, 0xc9, + 0xa2, 0x59, 0x42, 0x39, 0xf4, 0xa7, 0xec, 0xe7, 0x36, 0x21, 0x97, 0xdb, 0x84, 0xfc, 0xde, 0x26, + 0xe4, 0xfb, 0x2e, 0xe9, 0x5d, 0xee, 0x92, 0xde, 0xaf, 0x5d, 0xd2, 0xfb, 0xf4, 0x7c, 0xa9, 0xec, + 0x6a, 0xb3, 0xc8, 0x85, 0x2e, 0x46, 0xb7, 0x82, 0x8d, 0x66, 0xfb, 0xd3, 0xf8, 0xd6, 0x39, 0x13, + 0x7b, 0x51, 0x61, 0xbd, 0x38, 0x76, 0x57, 0xf2, 0xf4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x16, + 0xf7, 0x67, 0x02, 0x92, 0x03, 0x00, 0x00, } func (m *Match) Marshal() (dAtA []byte, err error) { @@ -372,9 +374,23 @@ func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.VotedCards) > 0 { - dAtA4 := make([]byte, len(m.VotedCards)*10) + for iNdEx := len(m.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.VotedCards[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMatch(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if len(m.Deck) > 0 { + dAtA4 := make([]byte, len(m.Deck)*10) var j3 int - for _, num := range m.VotedCards { + for _, num := range m.Deck { for num >= 1<<7 { dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -387,24 +403,6 @@ func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA4[:j3]) i = encodeVarintMatch(dAtA, i, uint64(j3)) i-- - dAtA[i] = 0x32 - } - if len(m.Deck) > 0 { - dAtA6 := make([]byte, len(m.Deck)*10) - var j5 int - for _, num := range m.Deck { - for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j5++ - } - dAtA6[j5] = uint8(num) - j5++ - } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintMatch(dAtA, i, uint64(j5)) - i-- dAtA[i] = 0x2a } if m.Outcome != 0 { @@ -423,20 +421,20 @@ func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x18 } if len(m.PlayedCards) > 0 { - dAtA8 := make([]byte, len(m.PlayedCards)*10) - var j7 int + dAtA6 := make([]byte, len(m.PlayedCards)*10) + var j5 int for _, num := range m.PlayedCards { for num >= 1<<7 { - dAtA8[j7] = uint8(uint64(num)&0x7f | 0x80) + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j7++ + j5++ } - dAtA8[j7] = uint8(num) - j7++ + dAtA6[j5] = uint8(num) + j5++ } - i -= j7 - copy(dAtA[i:], dAtA8[:j7]) - i = encodeVarintMatch(dAtA, i, uint64(j7)) + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintMatch(dAtA, i, uint64(j5)) i-- dAtA[i] = 0x12 } @@ -525,11 +523,10 @@ func (m *MatchPlayer) Size() (n int) { n += 1 + sovMatch(uint64(l)) + l } if len(m.VotedCards) > 0 { - l = 0 for _, e := range m.VotedCards { - l += sovMatch(uint64(e)) + l = e.Size() + n += 1 + l + sovMatch(uint64(l)) } - n += 1 + sovMatch(uint64(l)) + l } return n } @@ -1025,81 +1022,39 @@ func (m *MatchPlayer) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: wrong wireType = %d for field Deck", wireType) } case 6: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.VotedCards = append(m.VotedCards, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthMatch - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthMatch + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(m.VotedCards) == 0 { - m.VotedCards = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowMatch - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.VotedCards = append(m.VotedCards, v) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) } + if msglen < 0 { + return ErrInvalidLengthMatch + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMatch + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VotedCards = append(m.VotedCards, &SingleVote{}) + if err := m.VotedCards[len(m.VotedCards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMatch(dAtA[iNdEx:]) diff --git a/x/cardchain/types/params.go b/x/cardchain/types/params.go index 2de707dc..1a2ffc20 100644 --- a/x/cardchain/types/params.go +++ b/x/cardchain/types/params.go @@ -12,6 +12,8 @@ import ( var _ paramtypes.ParamSet = (*Params)(nil) +const DefaultMatchWorkerDelay = 20 * 60 + // ParamKeyTable the param key table for launch module func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) @@ -40,6 +42,7 @@ func NewParams() Params { CardAuctionPriceReductionPeriod: 20, AirDropValue: sdk.NewInt64Coin("ubpf", int64(5*math.Pow(10, 6))), AirDropMaxBlockHeight: 5000000, + MatchWorkerDelay: DefaultMatchWorkerDelay, } } @@ -71,6 +74,7 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair([]byte("CardAuctionPriceReductionPeriod"), &p.CardAuctionPriceReductionPeriod, validateCardAuctionPriceReductionPeriod), paramtypes.NewParamSetPair([]byte("AirDropValue"), &p.AirDropValue, validateAirDropValue), paramtypes.NewParamSetPair([]byte("AirDropMaxBlockHeight"), &p.AirDropMaxBlockHeight, validateAirDropMaxBlockHeight), + paramtypes.NewParamSetPair([]byte("MatchWorkerDelay"), &p.MatchWorkerDelay, validateMatchWorkerDelay), } } @@ -291,3 +295,11 @@ func validateInflationRate(i interface{}) error { } return nil } + +func validateMatchWorkerDelay(i interface{}) error { + _, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index dee58010..c0a665ed 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -46,6 +46,7 @@ type Params struct { TrialVoteReward github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,19,opt,name=trialVoteReward,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"trialVoteReward"` VotePoolFraction int64 `protobuf:"varint,20,opt,name=votePoolFraction,proto3" json:"votePoolFraction,omitempty"` VotingRewardCap int64 `protobuf:"varint,8,opt,name=votingRewardCap,proto3" json:"votingRewardCap,omitempty"` + MatchWorkerDelay uint64 `protobuf:"varint,21,opt,name=matchWorkerDelay,proto3" json:"matchWorkerDelay,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -178,6 +179,13 @@ func (m *Params) GetVotingRewardCap() int64 { return 0 } +func (m *Params) GetMatchWorkerDelay() uint64 { + if m != nil { + return m.MatchWorkerDelay + } + return 0 +} + func init() { proto.RegisterType((*Params)(nil), "DecentralCardGame.cardchain.cardchain.Params") } @@ -185,44 +193,45 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } var fileDescriptor_8843e481ee664a23 = []byte{ - // 590 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0x8d, 0xbf, 0xf6, 0x2b, 0x64, 0x9a, 0x36, 0xed, 0xd0, 0x8a, 0x51, 0x17, 0x4e, 0x54, 0xf1, - 0x13, 0x21, 0x11, 0x2f, 0x60, 0x51, 0xb1, 0x40, 0x6a, 0x1c, 0x42, 0x37, 0x48, 0x96, 0x8b, 0x2a, - 0x81, 0xc4, 0x62, 0x3a, 0xbe, 0x38, 0xa3, 0xd8, 0x1e, 0x6b, 0x3c, 0x4e, 0x53, 0x9e, 0x82, 0x25, - 0x4b, 0x9e, 0x82, 0x67, 0xe8, 0xb2, 0x4b, 0xc4, 0xa2, 0x42, 0xc9, 0x8b, 0xa0, 0x99, 0x84, 0x24, - 0x4e, 0x0a, 0x48, 0x59, 0x79, 0x7c, 0xe6, 0xdc, 0xe3, 0x73, 0x7d, 0x7f, 0x50, 0x9d, 0x51, 0x19, - 0xb0, 0x2e, 0xe5, 0x89, 0x33, 0x3b, 0xa5, 0x54, 0xd2, 0x38, 0x6b, 0xa6, 0x52, 0x28, 0x81, 0x1f, - 0xb6, 0x81, 0x41, 0xa2, 0x24, 0x8d, 0x5c, 0x2a, 0x83, 0xd7, 0x34, 0x86, 0xe6, 0x94, 0x39, 0x3b, - 0x1d, 0xec, 0x85, 0x22, 0x14, 0x26, 0xc2, 0xd1, 0xa7, 0x71, 0xf0, 0xe1, 0xb7, 0x32, 0xda, 0xf0, - 0x8c, 0x1a, 0x7e, 0x89, 0x0e, 0xfa, 0x42, 0xf1, 0x24, 0xf4, 0x79, 0xd8, 0x55, 0xd9, 0xab, 0x41, - 0xca, 0x25, 0x55, 0x5c, 0x24, 0x6f, 0x79, 0x0c, 0xc4, 0xaa, 0x5b, 0x8d, 0x35, 0xff, 0x2f, 0x0c, - 0xfc, 0x08, 0x6d, 0x33, 0x11, 0x45, 0xc0, 0x34, 0x72, 0xca, 0x3f, 0x01, 0xf9, 0xaf, 0x6e, 0x35, - 0xd6, 0xfd, 0x05, 0x14, 0xbf, 0x43, 0xd5, 0x19, 0xe2, 0x49, 0xce, 0x80, 0xac, 0xd5, 0xad, 0x46, - 0xb9, 0xe5, 0x5c, 0xdd, 0xd4, 0x4a, 0x3f, 0x6e, 0x6a, 0x8f, 0x43, 0xae, 0xba, 0xf9, 0x79, 0x93, - 0x89, 0xd8, 0x61, 0x22, 0x8b, 0x45, 0x36, 0x79, 0x3c, 0xcd, 0x82, 0x9e, 0xa3, 0x2e, 0x53, 0xc8, - 0x9a, 0xae, 0xe0, 0x89, 0xbf, 0xa8, 0x83, 0x8f, 0xd0, 0x7d, 0xca, 0x14, 0xef, 0x83, 0x3b, 0xbd, - 0xc8, 0x8e, 0x63, 0x91, 0x27, 0x8a, 0xac, 0x1b, 0x2f, 0x7f, 0xba, 0xc6, 0x80, 0xf6, 0x67, 0x62, - 0xae, 0x04, 0x93, 0x56, 0x07, 0x80, 0xfc, 0xbf, 0x9a, 0xb5, 0xdb, 0xd5, 0xf0, 0x07, 0xb4, 0xab, - 0x2f, 0xa8, 0x02, 0x49, 0xa3, 0x36, 0xa4, 0x22, 0xe3, 0x8a, 0x6c, 0xac, 0xf6, 0x89, 0x65, 0x25, - 0x7c, 0x88, 0x2a, 0x17, 0x3c, 0x49, 0x40, 0xfa, 0x70, 0x41, 0x65, 0x40, 0xee, 0x98, 0xa2, 0x15, - 0x30, 0x7c, 0x8a, 0x2a, 0x5d, 0x91, 0xcb, 0xe8, 0xb2, 0x43, 0x73, 0x06, 0x8a, 0x94, 0x57, 0xfb, - 0x7a, 0x41, 0x04, 0x3f, 0x40, 0x5b, 0x3c, 0xf9, 0x18, 0x99, 0x3c, 0x7d, 0xaa, 0x80, 0x20, 0xad, - 0xea, 0x17, 0x41, 0x6d, 0x4f, 0x52, 0x09, 0x99, 0x07, 0xd2, 0xa3, 0xac, 0x47, 0x36, 0x4d, 0x4d, - 0x0a, 0xd8, 0xb8, 0x8b, 0xe2, 0x58, 0x24, 0x53, 0x56, 0xe5, 0x77, 0x17, 0xcd, 0xa3, 0xf8, 0x09, - 0xda, 0xc9, 0x13, 0xb7, 0xc8, 0xdc, 0x32, 0xcc, 0x25, 0x1c, 0xd7, 0xd1, 0xa6, 0x92, 0x9c, 0x46, - 0x1e, 0x48, 0x2e, 0x02, 0xb2, 0x6d, 0x68, 0xf3, 0x90, 0xf6, 0x1f, 0xd2, 0x18, 0xce, 0x84, 0x02, - 0x5f, 0xfb, 0x25, 0x55, 0xf3, 0xe7, 0x8a, 0x20, 0x3e, 0x41, 0x35, 0x3d, 0x4f, 0xc7, 0xf9, 0xac, - 0xe5, 0x7c, 0x08, 0x26, 0x6f, 0x63, 0xed, 0x1d, 0x13, 0xf7, 0x2f, 0x9a, 0x2e, 0x02, 0xe5, 0xb2, - 0x2d, 0x45, 0x7a, 0x46, 0xa3, 0x1c, 0xc8, 0xee, 0x8a, 0x45, 0x98, 0x17, 0xc1, 0xcf, 0xd1, 0xfe, - 0xe4, 0xfd, 0x0d, 0x1d, 0xb4, 0x22, 0xc1, 0x7a, 0x27, 0xa0, 0x07, 0x95, 0x60, 0x63, 0xea, 0xf6, - 0x4b, 0x3d, 0x8e, 0xe6, 0x4f, 0x98, 0x34, 0xc7, 0x6d, 0x73, 0x6f, 0xc5, 0x71, 0x5c, 0xd0, 0xd1, - 0x35, 0xea, 0x0b, 0x05, 0x9e, 0x10, 0x51, 0x47, 0x52, 0x93, 0x3f, 0xd9, 0x33, 0x5e, 0x96, 0x70, - 0xdc, 0x40, 0xd5, 0xc9, 0x6e, 0x31, 0xb1, 0x2e, 0x4d, 0xc9, 0x5d, 0x43, 0x5d, 0x84, 0x5f, 0xac, - 0x7f, 0xf9, 0x5a, 0x2b, 0xb5, 0xfc, 0xab, 0xa1, 0x6d, 0x5d, 0x0f, 0x6d, 0xeb, 0xe7, 0xd0, 0xb6, - 0x3e, 0x8f, 0xec, 0xd2, 0xf5, 0xc8, 0x2e, 0x7d, 0x1f, 0xd9, 0xa5, 0xf7, 0x47, 0x73, 0x7e, 0x97, - 0x56, 0xa3, 0xe3, 0x4e, 0x97, 0xe8, 0x60, 0x6e, 0xa1, 0x9a, 0x2c, 0xce, 0x37, 0xcc, 0x4e, 0x7c, - 0xf6, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xe5, 0x71, 0xe5, 0x74, 0x05, 0x00, 0x00, + // 606 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6f, 0xd3, 0x4c, + 0x10, 0x8e, 0xdf, 0xf6, 0x2d, 0x74, 0xfb, 0xbd, 0xb4, 0x62, 0xd5, 0x83, 0x13, 0x55, 0x7c, 0x44, + 0x48, 0xc4, 0x07, 0x38, 0x54, 0x1c, 0x90, 0x5a, 0x87, 0xd2, 0x0b, 0x92, 0xe5, 0xa2, 0x22, 0x90, + 0x38, 0x4c, 0xd7, 0x83, 0xb3, 0x8a, 0xed, 0xb5, 0xd6, 0xeb, 0x7e, 0xf0, 0x2b, 0x38, 0x72, 0xe4, + 0xe7, 0xf4, 0xd8, 0x23, 0xe2, 0x50, 0xa1, 0xf4, 0x8f, 0xa0, 0xdd, 0x84, 0x24, 0x4e, 0x0a, 0x48, + 0x39, 0x79, 0xfd, 0xcc, 0x33, 0xcf, 0xce, 0xec, 0x7c, 0x90, 0x06, 0x07, 0x15, 0xf1, 0x0e, 0x88, + 0xcc, 0x1b, 0x9d, 0x72, 0x50, 0x90, 0x16, 0xad, 0x5c, 0x49, 0x2d, 0xe9, 0xc3, 0x36, 0x72, 0xcc, + 0xb4, 0x82, 0xc4, 0x07, 0x15, 0xbd, 0x86, 0x14, 0x5b, 0x43, 0xe6, 0xe8, 0xb4, 0xbd, 0x19, 0xcb, + 0x58, 0x5a, 0x0f, 0xcf, 0x9c, 0xfa, 0xce, 0x3b, 0xbd, 0x45, 0xb2, 0x10, 0x58, 0x35, 0xfa, 0x92, + 0x6c, 0x9f, 0x4a, 0x2d, 0xb2, 0x38, 0x14, 0x71, 0x47, 0x17, 0xaf, 0xce, 0x73, 0xa1, 0x40, 0x0b, + 0x99, 0xbd, 0x15, 0x29, 0x32, 0xa7, 0xe1, 0x34, 0xe7, 0xc2, 0xbf, 0x30, 0xe8, 0x23, 0xb2, 0xca, + 0x65, 0x92, 0x20, 0x37, 0xc8, 0x91, 0xf8, 0x8c, 0xec, 0xbf, 0x86, 0xd3, 0x9c, 0x0f, 0x27, 0x50, + 0xfa, 0x9e, 0xac, 0x8d, 0x90, 0x40, 0x09, 0x8e, 0x6c, 0xae, 0xe1, 0x34, 0x17, 0xf7, 0xbd, 0xcb, + 0xeb, 0x7a, 0xed, 0xc7, 0x75, 0xfd, 0x71, 0x2c, 0x74, 0xa7, 0x3c, 0x69, 0x71, 0x99, 0x7a, 0x5c, + 0x16, 0xa9, 0x2c, 0x06, 0x9f, 0xa7, 0x45, 0xd4, 0xf5, 0xf4, 0x45, 0x8e, 0x45, 0xcb, 0x97, 0x22, + 0x0b, 0x27, 0x75, 0xe8, 0x2e, 0xb9, 0x0f, 0x5c, 0x8b, 0x53, 0xf4, 0x87, 0x86, 0x62, 0x2f, 0x95, + 0x65, 0xa6, 0xd9, 0xbc, 0x8d, 0xe5, 0x4f, 0x66, 0x8a, 0x64, 0x6b, 0x24, 0xe6, 0x2b, 0xb4, 0x69, + 0x1d, 0x20, 0xb2, 0xff, 0x67, 0x0b, 0xed, 0x76, 0x35, 0xfa, 0x91, 0x6c, 0x18, 0x03, 0x68, 0x54, + 0x90, 0xb4, 0x31, 0x97, 0x85, 0xd0, 0x6c, 0x61, 0xb6, 0x2b, 0xa6, 0x95, 0xe8, 0x0e, 0x59, 0x3e, + 0x13, 0x59, 0x86, 0x2a, 0xc4, 0x33, 0x50, 0x11, 0xbb, 0x63, 0x8b, 0x56, 0xc1, 0xe8, 0x11, 0x59, + 0xee, 0xc8, 0x52, 0x25, 0x17, 0x07, 0x50, 0x72, 0xd4, 0x6c, 0x71, 0xb6, 0xdb, 0x2b, 0x22, 0xf4, + 0x01, 0x59, 0x11, 0xd9, 0xa7, 0xc4, 0xe6, 0x19, 0x82, 0x46, 0x46, 0x8c, 0x6a, 0x58, 0x05, 0x4d, + 0x78, 0x0a, 0x14, 0x16, 0x01, 0xaa, 0x00, 0x78, 0x97, 0x2d, 0xd9, 0x9a, 0x54, 0xb0, 0x7e, 0x17, + 0xa5, 0xa9, 0xcc, 0x86, 0xac, 0xe5, 0xdf, 0x5d, 0x34, 0x8e, 0xd2, 0x27, 0x64, 0xbd, 0xcc, 0xfc, + 0x2a, 0x73, 0xc5, 0x32, 0xa7, 0x70, 0xda, 0x20, 0x4b, 0x5a, 0x09, 0x48, 0x02, 0x54, 0x42, 0x46, + 0x6c, 0xd5, 0xd2, 0xc6, 0x21, 0x13, 0x7f, 0x0c, 0x29, 0x1e, 0x4b, 0x8d, 0xa1, 0x89, 0x97, 0xad, + 0xd9, 0x97, 0xab, 0x82, 0xf4, 0x90, 0xd4, 0xcd, 0x3c, 0xed, 0x95, 0xa3, 0x96, 0x0b, 0x31, 0x1a, + 0xfc, 0xf5, 0xb5, 0xd7, 0xad, 0xdf, 0xbf, 0x68, 0xa6, 0x08, 0x20, 0x54, 0x5b, 0xc9, 0xfc, 0x18, + 0x92, 0x12, 0xd9, 0xc6, 0x8c, 0x45, 0x18, 0x17, 0xa1, 0xcf, 0xc9, 0xd6, 0xe0, 0xff, 0x0d, 0x9c, + 0xef, 0x27, 0x92, 0x77, 0x0f, 0xd1, 0x0c, 0x2a, 0xa3, 0x36, 0xa8, 0xdb, 0x8d, 0x66, 0x1c, 0xed, + 0x4b, 0xd8, 0x34, 0xfb, 0x6d, 0x73, 0x6f, 0xc6, 0x71, 0x9c, 0xd0, 0x31, 0x35, 0x3a, 0x95, 0x1a, + 0x03, 0x29, 0x93, 0x03, 0x05, 0x36, 0x7f, 0xb6, 0x69, 0x63, 0x99, 0xc2, 0x69, 0x93, 0xac, 0x0d, + 0x76, 0x8b, 0xf5, 0xf5, 0x21, 0x67, 0x77, 0x2d, 0x75, 0x12, 0x36, 0xaa, 0x29, 0x68, 0xde, 0x79, + 0x27, 0x55, 0x17, 0x55, 0x1b, 0x13, 0xb8, 0x60, 0x5b, 0xfd, 0xca, 0x4f, 0xe2, 0x2f, 0xe6, 0xbf, + 0x7e, 0xab, 0xd7, 0xf6, 0xc3, 0xcb, 0x9e, 0xeb, 0x5c, 0xf5, 0x5c, 0xe7, 0x67, 0xcf, 0x75, 0xbe, + 0xdc, 0xb8, 0xb5, 0xab, 0x1b, 0xb7, 0xf6, 0xfd, 0xc6, 0xad, 0x7d, 0xd8, 0x1d, 0xcb, 0x6d, 0x6a, + 0x8d, 0x7a, 0xfe, 0x70, 0xe1, 0x9e, 0x8f, 0x2d, 0x5f, 0x9b, 0xf1, 0xc9, 0x82, 0xdd, 0x9f, 0xcf, + 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9f, 0xbd, 0x26, 0x57, 0xa0, 0x05, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -245,6 +254,13 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MatchWorkerDelay != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.MatchWorkerDelay)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } if m.VotePoolFraction != 0 { i = encodeVarintParams(dAtA, i, uint64(m.VotePoolFraction)) i-- @@ -462,6 +478,9 @@ func (m *Params) Size() (n int) { if m.VotePoolFraction != 0 { n += 2 + sovParams(uint64(m.VotePoolFraction)) } + if m.MatchWorkerDelay != 0 { + n += 2 + sovParams(uint64(m.MatchWorkerDelay)) + } return n } @@ -983,6 +1002,25 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchWorkerDelay", wireType) + } + m.MatchWorkerDelay = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MatchWorkerDelay |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 3bb6a2c0..89854075 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1692,137 +1692,136 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2072 bytes of a gzipped FileDescriptorProto + // 2063 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xd7, 0x52, 0x14, 0x45, 0x8e, 0x3e, 0x40, 0x4f, 0x5d, 0x97, 0x65, 0x0c, 0x59, 0x5d, 0x38, - 0xad, 0x9a, 0x44, 0x5c, 0x47, 0xb1, 0x1d, 0xc5, 0xb1, 0xf5, 0x1d, 0x37, 0x6a, 0xfc, 0xa5, 0x55, - 0x62, 0x14, 0xed, 0x41, 0x58, 0x72, 0xc7, 0xd4, 0x22, 0xe4, 0x0e, 0xbd, 0xb3, 0x2b, 0x87, 0x10, + 0x15, 0xd7, 0x52, 0x14, 0x45, 0x8e, 0x3e, 0x40, 0x4f, 0x5d, 0x97, 0x65, 0x0c, 0x59, 0x19, 0x38, + 0xad, 0x9b, 0x44, 0x5c, 0x47, 0xb1, 0x1d, 0xc5, 0xb1, 0xf5, 0x1d, 0x37, 0x6a, 0xfc, 0xa5, 0x55, + 0x62, 0x14, 0xed, 0x41, 0x58, 0x72, 0xc7, 0xd4, 0x22, 0xe4, 0x0e, 0xbd, 0x33, 0x2b, 0x85, 0x10, 0x78, 0x68, 0xff, 0x82, 0xa2, 0xfd, 0x13, 0xda, 0x7b, 0x81, 0xb4, 0xc8, 0xad, 0x68, 0x8f, 0x3e, - 0x1a, 0x28, 0x0a, 0xa4, 0x39, 0x18, 0x85, 0x5d, 0xb4, 0xc7, 0xf6, 0xd4, 0x73, 0x30, 0x6f, 0x66, - 0x76, 0x67, 0x49, 0xda, 0xde, 0xa5, 0x4f, 0xda, 0x79, 0xf3, 0xde, 0x9b, 0xf7, 0x9b, 0xf7, 0xe6, - 0x37, 0xf3, 0x28, 0x74, 0xa1, 0xe5, 0x04, 0x6e, 0xeb, 0xd8, 0xf1, 0x7c, 0x2b, 0xf9, 0x7a, 0x18, - 0x91, 0xa0, 0xdf, 0xe8, 0x05, 0x34, 0xa4, 0xf8, 0xcd, 0x3d, 0xd2, 0x22, 0x7e, 0x18, 0x38, 0x9d, - 0x5d, 0x27, 0x70, 0x7f, 0xe2, 0x74, 0x49, 0x23, 0x56, 0x4c, 0xbe, 0xea, 0x67, 0xdb, 0xb4, 0x4d, - 0xc1, 0xc2, 0xe2, 0x5f, 0xc2, 0xb8, 0x7e, 0xbe, 0x4d, 0x69, 0xbb, 0x43, 0x2c, 0xa7, 0xe7, 0x59, - 0x8e, 0xef, 0xd3, 0xd0, 0x09, 0x3d, 0xea, 0x33, 0x39, 0xfb, 0x56, 0x8b, 0xb2, 0x2e, 0x65, 0x56, - 0xd3, 0x61, 0x44, 0xac, 0x69, 0x9d, 0xbc, 0xdb, 0x24, 0xa1, 0xf3, 0xae, 0xd5, 0x73, 0xda, 0x9e, - 0x0f, 0xca, 0x52, 0x77, 0x79, 0x5c, 0x9c, 0x3d, 0x27, 0x70, 0xba, 0xca, 0xdb, 0xc5, 0x71, 0x1a, - 0x27, 0x34, 0x24, 0x47, 0x81, 0xd7, 0x3e, 0x0e, 0xa5, 0xd6, 0xca, 0x0b, 0xb4, 0x3c, 0xbf, 0x7d, - 0x14, 0x10, 0x16, 0x75, 0x42, 0xe5, 0x6f, 0x69, 0x9c, 0x26, 0xff, 0x7a, 0xd9, 0x7c, 0xc4, 0x48, - 0x20, 0xe7, 0xc7, 0xee, 0x6c, 0xd7, 0x09, 0x5b, 0xc7, 0x2f, 0x0b, 0xb8, 0x45, 0x3b, 0x1d, 0xd2, - 0xd2, 0x80, 0x8f, 0xd5, 0x62, 0xa4, 0xd3, 0x39, 0xa2, 0x0f, 0x1e, 0xc4, 0x8b, 0xfd, 0x60, 0xbc, - 0xaf, 0xc8, 0x6f, 0x79, 0x9d, 0x97, 0xed, 0x20, 0x23, 0xc1, 0x49, 0xec, 0xe4, 0xfc, 0x38, 0x8d, - 0xf0, 0x0b, 0x31, 0x6b, 0x9e, 0x45, 0xf8, 0x80, 0xe7, 0xe8, 0x1e, 0x6c, 0xba, 0x4d, 0x1e, 0x46, - 0x84, 0x85, 0x66, 0x13, 0x7d, 0x27, 0x25, 0x65, 0x3d, 0xea, 0x33, 0x82, 0x3f, 0x41, 0x25, 0x91, - 0x9c, 0x9a, 0xb1, 0x6c, 0xac, 0xcc, 0xad, 0xad, 0x36, 0x32, 0x95, 0x51, 0x43, 0xb8, 0xd9, 0x29, - 0x3e, 0x7e, 0x7a, 0x61, 0xca, 0x96, 0x2e, 0xcc, 0xb7, 0xd1, 0x19, 0x58, 0xe3, 0x80, 0x9b, 0xca, - 0x85, 0xf1, 0x39, 0x54, 0xe2, 0x66, 0xfb, 0x2e, 0xac, 0x50, 0xb1, 0xe5, 0xc8, 0x5c, 0x43, 0xb5, - 0x44, 0x79, 0x97, 0xfa, 0x21, 0xf1, 0xc3, 0x57, 0xd9, 0xec, 0xa3, 0xef, 0x8f, 0xb1, 0x91, 0x50, - 0x6a, 0x68, 0xb6, 0x25, 0x44, 0xd2, 0x4a, 0x0d, 0x31, 0x46, 0xc5, 0x63, 0x87, 0x1d, 0xd7, 0x0a, - 0x20, 0x86, 0x6f, 0x73, 0x55, 0xc5, 0xfa, 0x19, 0x23, 0x81, 0x5a, 0xb7, 0x86, 0x66, 0x1d, 0xd7, - 0x0d, 0x08, 0x63, 0xca, 0x85, 0x1c, 0x9a, 0xe7, 0x51, 0x3d, 0x59, 0x19, 0xb6, 0x60, 0xdf, 0x7f, - 0x40, 0xd5, 0xe6, 0xfe, 0xaf, 0x80, 0xde, 0x18, 0x3b, 0x2d, 0x43, 0xfb, 0x05, 0xaa, 0x72, 0x04, - 0xdb, 0x11, 0x14, 0xcc, 0xbd, 0xc0, 0x6b, 0x11, 0xb1, 0xc0, 0x8e, 0xc5, 0x37, 0xf0, 0x9b, 0xa7, - 0x17, 0x7e, 0xd4, 0xf6, 0xc2, 0xe3, 0xa8, 0xd9, 0x68, 0xd1, 0xae, 0x25, 0x4f, 0x9b, 0xf8, 0xb3, - 0xca, 0xdc, 0xcf, 0xad, 0xb0, 0xdf, 0x23, 0xac, 0xb1, 0x4b, 0x3d, 0xdf, 0x1e, 0x71, 0x84, 0xdf, - 0x41, 0x67, 0x9c, 0x56, 0xe8, 0x9d, 0x90, 0xdd, 0xb8, 0x24, 0x59, 0xad, 0xb0, 0x3c, 0xbd, 0x52, - 0xb4, 0x47, 0x27, 0xf0, 0x32, 0x9a, 0xe3, 0x1e, 0xd8, 0x9d, 0xa8, 0xdb, 0x24, 0x41, 0x6d, 0x7a, - 0xd9, 0x58, 0x29, 0xda, 0xba, 0x08, 0x5f, 0x44, 0x0b, 0x50, 0xfd, 0x44, 0xe9, 0x14, 0x41, 0x27, - 0x2d, 0xc4, 0x6f, 0xa1, 0x2a, 0x2f, 0xee, 0xbb, 0xbc, 0xb6, 0x95, 0xe2, 0x0c, 0x28, 0x8e, 0xc8, - 0xf1, 0x0f, 0xd1, 0xa2, 0x2c, 0x71, 0xa5, 0x59, 0x02, 0xcd, 0x21, 0x29, 0xf7, 0xd9, 0x71, 0x58, - 0xc8, 0xf7, 0xf0, 0x36, 0x75, 0xbd, 0x07, 0x1e, 0x71, 0x6b, 0xb3, 0xc2, 0xe7, 0xb0, 0x3c, 0x49, - 0xc8, 0x7d, 0xe0, 0x04, 0x5b, 0x50, 0x82, 0x4a, 0xc8, 0x2f, 0x0d, 0x95, 0x90, 0xa1, 0x69, 0x99, - 0x90, 0x26, 0x3a, 0xc3, 0x3d, 0xa6, 0x26, 0xe5, 0x09, 0xb8, 0x9c, 0xf1, 0x04, 0xa4, 0x1d, 0x8f, - 0xba, 0x33, 0xaf, 0xa8, 0x62, 0xbd, 0x4f, 0x43, 0xa7, 0xd9, 0x21, 0xdc, 0x1b, 0x7b, 0x75, 0xa5, - 0x7d, 0x65, 0x68, 0xc8, 0x34, 0x3b, 0x19, 0xb9, 0x89, 0xe6, 0x23, 0x3f, 0x20, 0x6d, 0x8f, 0x85, - 0x24, 0x20, 0xe2, 0x80, 0x94, 0xed, 0x94, 0x8c, 0xeb, 0xf8, 0xf4, 0x3e, 0x0d, 0x89, 0xcd, 0x09, - 0x95, 0x41, 0xdd, 0x97, 0xed, 0x94, 0x0c, 0xdf, 0x43, 0xe8, 0x24, 0xd1, 0x98, 0x5e, 0x9e, 0x5e, - 0x99, 0x5b, 0xbb, 0x94, 0x1d, 0xba, 0x30, 0xb4, 0x35, 0x1f, 0xe6, 0x7f, 0xa7, 0x25, 0xf1, 0x1c, - 0xa4, 0x90, 0x9e, 0x45, 0x33, 0xf4, 0x91, 0x4f, 0x02, 0x89, 0x53, 0x0c, 0xf0, 0xcf, 0x50, 0x89, - 0x85, 0x4e, 0x18, 0x89, 0xe0, 0x16, 0xd7, 0xb6, 0x32, 0x2e, 0x3d, 0xba, 0x40, 0xe3, 0x10, 0xfc, - 0xd8, 0xd2, 0x1f, 0xae, 0xa3, 0x32, 0x57, 0xff, 0xb4, 0xdf, 0x23, 0x50, 0xdd, 0x15, 0x3b, 0x1e, - 0x03, 0x45, 0x74, 0x1c, 0xc6, 0x08, 0x83, 0xa2, 0xe6, 0x14, 0x21, 0x86, 0x9c, 0x71, 0x18, 0x0d, - 0xc2, 0x9d, 0x3e, 0x14, 0x71, 0xc5, 0x96, 0x23, 0xd8, 0x4a, 0xa7, 0x4b, 0x38, 0xd7, 0x38, 0x9e, - 0xcf, 0xa0, 0x70, 0x2b, 0x76, 0x4a, 0xc6, 0xcb, 0xf6, 0x73, 0xd2, 0x7f, 0x44, 0x03, 0x97, 0xc5, - 0x7a, 0xb3, 0xa0, 0x37, 0x22, 0xe7, 0x87, 0xcb, 0xa7, 0x21, 0x49, 0x14, 0xcb, 0xa0, 0x98, 0x16, - 0x9a, 0xbf, 0x37, 0x50, 0x49, 0xc0, 0xc2, 0x08, 0x95, 0x58, 0xeb, 0x98, 0x74, 0x49, 0x75, 0x0a, - 0x2f, 0xa0, 0x0a, 0x50, 0x3c, 0xa7, 0x83, 0xaa, 0x81, 0x2b, 0x68, 0x26, 0x0c, 0x3c, 0xa7, 0x53, - 0x2d, 0xc0, 0x0c, 0x09, 0xba, 0x8e, 0x4f, 0xfc, 0xb0, 0x3a, 0xcd, 0x87, 0x2c, 0x62, 0x3d, 0xe2, - 0xbb, 0xc4, 0xad, 0x16, 0xb9, 0x8f, 0xa6, 0xe3, 0xfb, 0xc4, 0xad, 0xce, 0xe0, 0x45, 0x84, 0xc4, - 0xf7, 0x21, 0xa5, 0x7e, 0xb5, 0x84, 0x31, 0x5a, 0x14, 0xe3, 0xfb, 0x24, 0xe8, 0x83, 0x6c, 0x16, - 0x97, 0x51, 0xd1, 0xa7, 0x3e, 0xa9, 0x96, 0xf1, 0x3c, 0x2a, 0xf7, 0x3a, 0x4e, 0x9f, 0x97, 0x61, - 0xb5, 0xc2, 0x6d, 0x23, 0x3f, 0x1e, 0x23, 0xf3, 0x3d, 0x79, 0xa7, 0x1c, 0xa4, 0x4b, 0xf4, 0x3c, - 0xaa, 0x00, 0x9f, 0xdc, 0xf2, 0x18, 0xa7, 0x62, 0x4e, 0x44, 0x89, 0xc0, 0x6c, 0xa8, 0x2a, 0xb9, - 0xcd, 0xf9, 0x44, 0x3b, 0x0f, 0xc0, 0x2f, 0x92, 0xf2, 0x8b, 0xb6, 0x1a, 0x9a, 0x37, 0xd0, 0xf7, - 0xe4, 0x22, 0x31, 0x8b, 0x29, 0x23, 0x13, 0xcd, 0x27, 0xd7, 0x70, 0x6c, 0x99, 0x92, 0x99, 0xd7, - 0xd0, 0x39, 0x61, 0x7e, 0xa8, 0x58, 0x49, 0x59, 0x2f, 0xa3, 0xb9, 0x98, 0xa9, 0x62, 0x63, 0x5d, - 0x64, 0x5e, 0x46, 0x67, 0xd5, 0xd2, 0xc0, 0x53, 0xca, 0x92, 0x03, 0x14, 0x92, 0xd8, 0x2e, 0x11, - 0x98, 0xdf, 0x14, 0x94, 0xd9, 0x6d, 0xc1, 0x98, 0xca, 0xec, 0x22, 0x5a, 0x08, 0xbd, 0x2e, 0x61, - 0xa1, 0xd3, 0xed, 0xed, 0xd1, 0x47, 0xbe, 0x34, 0x4d, 0x0b, 0x79, 0x58, 0xb1, 0xe0, 0xb3, 0x1e, - 0x1c, 0x8f, 0xa2, 0xad, 0x8b, 0xb8, 0x9f, 0x96, 0xac, 0x14, 0x7e, 0x79, 0x89, 0xd3, 0x5b, 0xb1, - 0xd3, 0x42, 0x7e, 0x0e, 0x02, 0xd2, 0xa3, 0x41, 0x28, 0x19, 0xbc, 0x62, 0xc7, 0x63, 0xfc, 0x31, - 0x9a, 0xa5, 0x51, 0xd8, 0xa2, 0x5d, 0x02, 0xe5, 0xbe, 0xb8, 0xd6, 0xc8, 0x78, 0xfc, 0xee, 0x0a, - 0x2b, 0x5b, 0x99, 0xc7, 0xd7, 0xc9, 0xbd, 0x8e, 0xd3, 0x27, 0x6e, 0xad, 0x04, 0xd9, 0xd6, 0x45, - 0xf8, 0x16, 0x2a, 0x79, 0x6d, 0x9f, 0x06, 0x04, 0xce, 0x44, 0x76, 0x7e, 0xdd, 0x07, 0x23, 0xb5, - 0x85, 0xd2, 0x87, 0xf9, 0x63, 0xb4, 0x90, 0x9a, 0xe0, 0x85, 0xa3, 0xa0, 0x08, 0x2a, 0x54, 0x43, - 0x7e, 0x07, 0x7c, 0x77, 0x28, 0x0f, 0xb2, 0x40, 0x97, 0xd1, 0x9c, 0xbc, 0xcc, 0xb4, 0x12, 0xd5, - 0x45, 0xf8, 0xa6, 0x2c, 0x47, 0x22, 0x6e, 0xd2, 0xb9, 0xb5, 0x77, 0x32, 0x46, 0x2d, 0x8a, 0x5a, - 0x19, 0x9b, 0x7f, 0x2a, 0xa8, 0xea, 0x8d, 0xcb, 0x8f, 0x69, 0x55, 0xd4, 0xe3, 0x17, 0x78, 0x5c, - 0x0a, 0x15, 0x3b, 0x11, 0x70, 0x5c, 0x30, 0x90, 0x25, 0x50, 0xb1, 0xd5, 0x10, 0xa8, 0x8a, 0x74, - 0x3a, 0xf2, 0xf2, 0xe6, 0x54, 0x05, 0x23, 0x4e, 0xb4, 0xcd, 0xa8, 0x1f, 0x67, 0x5b, 0x0c, 0xf8, - 0xdb, 0x87, 0x47, 0x27, 0xef, 0x66, 0xf8, 0xc6, 0x77, 0x62, 0xf2, 0x2d, 0x41, 0xf6, 0xaf, 0x66, - 0x04, 0x17, 0x63, 0x18, 0xa2, 0xdc, 0xbb, 0x43, 0x29, 0x7e, 0x3f, 0x57, 0x8a, 0xb5, 0x9d, 0x51, - 0x59, 0xde, 0x40, 0xd5, 0xe1, 0x39, 0x80, 0x2d, 0x82, 0x16, 0x79, 0x56, 0x8b, 0x2b, 0x80, 0xe2, - 0x92, 0x83, 0x6f, 0xf3, 0x37, 0x86, 0x7a, 0x5c, 0xea, 0xdb, 0x2e, 0xb3, 0x7f, 0x11, 0x2d, 0x24, - 0x2f, 0x94, 0x7d, 0x97, 0xc9, 0xfc, 0xa7, 0x85, 0xfc, 0x7e, 0x4c, 0x04, 0xb2, 0x08, 0x2e, 0xe5, - 0xdd, 0x27, 0x5b, 0xf3, 0x61, 0xbe, 0xa9, 0xd8, 0xf2, 0x10, 0xde, 0xf2, 0xaa, 0x0c, 0x16, 0x51, - 0xc1, 0x53, 0x2c, 0x52, 0xf0, 0x5c, 0xf3, 0x9c, 0x62, 0x0f, 0xa5, 0x26, 0xc2, 0x36, 0xff, 0x1d, - 0x63, 0xd2, 0x9e, 0x73, 0xca, 0xc9, 0xcd, 0xd4, 0xe6, 0x64, 0x3f, 0xcf, 0xbb, 0x43, 0x99, 0x34, - 0xd1, 0xbc, 0x48, 0xc1, 0x61, 0x72, 0x39, 0x97, 0xed, 0x94, 0x4c, 0xb0, 0xae, 0x1f, 0x06, 0x5e, - 0x33, 0x0a, 0x69, 0xcc, 0x3e, 0x29, 0x99, 0x4e, 0x51, 0x70, 0x37, 0xd4, 0x8a, 0x62, 0x8f, 0x53, - 0xc2, 0xe4, 0x69, 0x30, 0xa3, 0x3d, 0x0d, 0xcc, 0xed, 0xf8, 0x91, 0xaf, 0xe3, 0x4c, 0x92, 0xa7, - 0xd3, 0x7b, 0x9c, 0xbc, 0x94, 0xd0, 0xdc, 0x43, 0x4b, 0xe0, 0xc2, 0x76, 0x02, 0x2f, 0xec, 0xef, - 0x79, 0x4c, 0x44, 0x96, 0xf3, 0xea, 0x38, 0x44, 0x17, 0x5e, 0xe8, 0x45, 0xeb, 0x39, 0xa2, 0x20, - 0x10, 0x3d, 0x07, 0x0f, 0x44, 0x0d, 0x79, 0xb9, 0x3e, 0x72, 0xfc, 0x90, 0xb8, 0xf2, 0x29, 0x2e, - 0x47, 0x6b, 0xbf, 0x7b, 0x03, 0xcd, 0x80, 0x57, 0xfc, 0x95, 0x81, 0x4a, 0xa2, 0x8d, 0xc2, 0x1f, - 0xe4, 0x79, 0xfd, 0xa4, 0xfa, 0xba, 0xfa, 0xb5, 0x49, 0x4c, 0x65, 0x49, 0x5d, 0xf9, 0xd5, 0xdf, - 0xfe, 0xf5, 0xdb, 0x82, 0x85, 0x57, 0xad, 0x11, 0x1f, 0xd6, 0x8b, 0xdb, 0x78, 0xfc, 0xa5, 0x81, - 0x66, 0xe0, 0xca, 0xc7, 0xeb, 0xb9, 0x5f, 0x6d, 0x2a, 0x6c, 0x2b, 0xfb, 0x85, 0xd3, 0xe3, 0x0a, - 0xe6, 0x06, 0xc4, 0xba, 0x8e, 0xaf, 0x66, 0x8c, 0xf5, 0xe1, 0x11, 0xff, 0xb6, 0x4e, 0x45, 0xe7, - 0x38, 0xc0, 0xff, 0x30, 0xd0, 0xbc, 0xde, 0x36, 0xe2, 0xcd, 0xdc, 0xb1, 0xa7, 0x9b, 0xd4, 0xfa, - 0xd6, 0xe4, 0x0e, 0xe4, 0xfe, 0xdf, 0x04, 0x4c, 0x5b, 0x78, 0x23, 0x17, 0xa6, 0x23, 0xd9, 0xd6, - 0x26, 0xd8, 0xfe, 0xc0, 0x13, 0xc2, 0x6f, 0xfd, 0x9c, 0x09, 0xd1, 0x5a, 0xdf, 0xfa, 0xdb, 0x19, - 0x2d, 0xb9, 0x8d, 0xb9, 0x09, 0x81, 0x7f, 0x80, 0xdf, 0xcf, 0x1c, 0x78, 0xc4, 0x48, 0x60, 0x9d, - 0xca, 0x1e, 0x67, 0x80, 0xbf, 0x36, 0xd0, 0x62, 0xba, 0x57, 0xc6, 0xdb, 0xb9, 0xb7, 0x73, 0xb8, - 0x0d, 0xaf, 0xef, 0xbc, 0x8e, 0x0b, 0x99, 0x93, 0xfc, 0xd0, 0xe2, 0xef, 0x23, 0x8f, 0xe3, 0x00, - 0x68, 0xa9, 0x4e, 0x30, 0x27, 0xb4, 0x71, 0x0d, 0x6d, 0x4e, 0x68, 0x63, 0x9b, 0xde, 0x09, 0xa0, - 0xa5, 0x7f, 0x6f, 0xc3, 0x4f, 0x0d, 0xb4, 0x90, 0xea, 0x4a, 0xf1, 0x56, 0xde, 0xb0, 0x86, 0x1b, - 0xe1, 0xfa, 0xf6, 0x6b, 0x78, 0x90, 0xb8, 0x3e, 0x06, 0x5c, 0x3b, 0x78, 0x2b, 0x0f, 0x2e, 0xee, - 0x06, 0x52, 0xc7, 0xb4, 0xb2, 0xfc, 0xab, 0x81, 0x4a, 0xa2, 0x99, 0xc9, 0x47, 0xc9, 0xa9, 0x86, - 0x34, 0x1f, 0x25, 0xa7, 0x7b, 0xa7, 0x09, 0xcb, 0x8f, 0x59, 0xa7, 0xe2, 0x02, 0x1f, 0xe0, 0x3f, - 0x72, 0x08, 0xf0, 0x0a, 0xcd, 0x09, 0x41, 0x6f, 0xc7, 0xea, 0xb9, 0x9e, 0xbb, 0xe6, 0x16, 0x04, - 0x7d, 0x0d, 0xaf, 0x67, 0x0e, 0x1a, 0xde, 0xc7, 0xd6, 0xa9, 0xec, 0xf1, 0x06, 0xf8, 0x89, 0x81, - 0xe6, 0xb4, 0xfb, 0x1e, 0x6f, 0xe4, 0xdb, 0xc2, 0xe1, 0xce, 0xb0, 0x7e, 0x25, 0xcf, 0xf5, 0x12, - 0x5b, 0x9b, 0x3f, 0x05, 0x20, 0x7b, 0x78, 0x27, 0xfb, 0xee, 0xc7, 0xc6, 0xd6, 0xa9, 0xfe, 0x78, - 0x18, 0xe0, 0xc7, 0x06, 0x42, 0xc9, 0xf3, 0x13, 0xdf, 0xc8, 0x85, 0x68, 0xb8, 0x59, 0xad, 0xe7, - 0x7e, 0x7a, 0x9a, 0xfb, 0x80, 0x65, 0x17, 0x6f, 0x67, 0xc6, 0x92, 0xfc, 0x58, 0x6d, 0x9d, 0x6a, - 0x6d, 0xf0, 0x00, 0xff, 0xd9, 0x40, 0x65, 0xd5, 0x03, 0xe3, 0x0f, 0x73, 0xa6, 0x46, 0xef, 0x9c, - 0xeb, 0x99, 0xdf, 0xa5, 0xc2, 0xcc, 0xdc, 0x03, 0x10, 0x1b, 0xf8, 0x7a, 0x8e, 0x84, 0x80, 0x25, - 0xcf, 0x86, 0x6c, 0xc8, 0x07, 0xf8, 0x2f, 0x3c, 0x7e, 0xd5, 0x30, 0x7e, 0x98, 0xff, 0x54, 0xc4, - 0x2d, 0x7c, 0xfd, 0xfa, 0x64, 0xc6, 0xf2, 0x70, 0xaf, 0x03, 0x9a, 0x35, 0x7c, 0x29, 0xdf, 0x39, - 0x21, 0x0c, 0xff, 0x9d, 0x9f, 0x0f, 0xad, 0x19, 0xda, 0x98, 0xac, 0x9a, 0x62, 0x1c, 0x9b, 0x13, - 0xdb, 0x4b, 0x28, 0x1f, 0x01, 0x94, 0x4d, 0x7c, 0x63, 0x82, 0xea, 0xd2, 0xd8, 0xea, 0x4b, 0x03, - 0xcd, 0xca, 0x46, 0x07, 0x5f, 0xcb, 0x19, 0x93, 0xd6, 0x44, 0xd5, 0x57, 0x33, 0x1f, 0x0f, 0x6e, - 0x65, 0x5e, 0x87, 0xe8, 0xaf, 0xe2, 0xcb, 0x39, 0xa2, 0xe7, 0x86, 0xd6, 0xa9, 0xe7, 0x0e, 0xf0, - 0x7f, 0xe0, 0x29, 0xa9, 0xfd, 0xa6, 0xbe, 0x39, 0x21, 0x5b, 0xb1, 0x09, 0x9f, 0x92, 0xa3, 0x7d, - 0x91, 0xf9, 0x29, 0x20, 0xba, 0x83, 0x6f, 0x8d, 0x41, 0xb4, 0xfb, 0x0a, 0xe6, 0x4a, 0xf2, 0x61, - 0x9d, 0xea, 0x9d, 0xde, 0x00, 0xff, 0xdf, 0x40, 0x78, 0xb4, 0xfb, 0xc1, 0x1f, 0xe5, 0x09, 0xf7, - 0x85, 0x3d, 0x58, 0xfd, 0xe6, 0xeb, 0xba, 0x91, 0xd8, 0x0f, 0x00, 0xfb, 0x27, 0x78, 0x3f, 0x23, - 0xf6, 0x00, 0x5c, 0x1d, 0xb9, 0x9a, 0xaf, 0x21, 0xf2, 0xde, 0xb1, 0x1f, 0x3f, 0x5b, 0x32, 0x9e, - 0x3c, 0x5b, 0x32, 0xfe, 0xf9, 0x6c, 0xc9, 0xf8, 0xf5, 0xf3, 0xa5, 0xa9, 0x27, 0xcf, 0x97, 0xa6, - 0xbe, 0x7e, 0xbe, 0x34, 0xf5, 0xf3, 0x75, 0xed, 0x1f, 0x35, 0x2f, 0x5b, 0xee, 0x0b, 0xfd, 0x5f, - 0x73, 0xfd, 0x1e, 0x61, 0xcd, 0x12, 0xfc, 0x76, 0xfb, 0xde, 0xb7, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xc5, 0x7f, 0x7e, 0x1a, 0xca, 0x1d, 0x00, 0x00, + 0x1a, 0x28, 0x0a, 0xa4, 0x39, 0x18, 0x85, 0x5d, 0xb4, 0xc7, 0xf6, 0xd4, 0x73, 0x31, 0x5f, 0xbb, + 0xb3, 0x24, 0x6d, 0xef, 0xd2, 0x27, 0xed, 0xbc, 0x79, 0xef, 0xcd, 0xfb, 0xcd, 0x7b, 0xf3, 0x3e, + 0x28, 0x70, 0xa1, 0xe5, 0x86, 0x5e, 0xeb, 0xc8, 0xf5, 0x03, 0x3b, 0xf9, 0x7a, 0x14, 0xe1, 0xb0, + 0xdf, 0xe8, 0x85, 0x84, 0x11, 0xf8, 0xd6, 0x2e, 0x6e, 0xe1, 0x80, 0x85, 0x6e, 0x67, 0xc7, 0x0d, + 0xbd, 0x1f, 0xbb, 0x5d, 0xdc, 0x88, 0x19, 0x93, 0xaf, 0xfa, 0xd9, 0x36, 0x69, 0x13, 0x21, 0x61, + 0xf3, 0x2f, 0x29, 0x5c, 0x3f, 0xdf, 0x26, 0xa4, 0xdd, 0xc1, 0xb6, 0xdb, 0xf3, 0x6d, 0x37, 0x08, + 0x08, 0x73, 0x99, 0x4f, 0x02, 0xaa, 0x76, 0xdf, 0x6e, 0x11, 0xda, 0x25, 0xd4, 0x6e, 0xba, 0x14, + 0xcb, 0x33, 0xed, 0xe3, 0xf7, 0x9a, 0x98, 0xb9, 0xef, 0xd9, 0x3d, 0xb7, 0xed, 0x07, 0x82, 0x59, + 0xf1, 0x2e, 0x8f, 0xb3, 0xb3, 0xe7, 0x86, 0x6e, 0x57, 0x6b, 0x7b, 0x73, 0x1c, 0xc7, 0x31, 0x61, + 0xd8, 0x0f, 0xda, 0x8a, 0x65, 0x69, 0x1c, 0x0b, 0xff, 0x7a, 0xd9, 0x7e, 0x44, 0x71, 0xa8, 0xf6, + 0xc7, 0x5e, 0x56, 0xd7, 0x65, 0xad, 0x23, 0xc5, 0x70, 0x71, 0xec, 0x01, 0xa4, 0xd3, 0xc1, 0x2d, + 0x03, 0xcb, 0x58, 0x2e, 0x8a, 0x3b, 0x9d, 0x43, 0xf2, 0xf0, 0x61, 0x7c, 0xd8, 0x9b, 0xe3, 0x75, + 0x45, 0x41, 0xcb, 0xef, 0xbc, 0xec, 0x52, 0x28, 0x0e, 0x8f, 0x63, 0x25, 0xe7, 0xc7, 0x71, 0xb0, + 0x2f, 0xe5, 0x2e, 0x3a, 0x0b, 0xe0, 0x3e, 0xbf, 0xf6, 0xfb, 0xe2, 0x1e, 0x1d, 0xfc, 0x28, 0xc2, + 0x94, 0xa1, 0x26, 0xf8, 0x4e, 0x8a, 0x4a, 0x7b, 0x24, 0xa0, 0x18, 0x7e, 0x0a, 0x4a, 0xf2, 0xbe, + 0x6b, 0xd6, 0xb2, 0x75, 0x69, 0x6e, 0x75, 0xa5, 0x91, 0x29, 0x32, 0x1a, 0x52, 0xcd, 0x76, 0xf1, + 0xf1, 0xd3, 0x0b, 0x53, 0x8e, 0x52, 0x81, 0xde, 0x01, 0x67, 0xc4, 0x19, 0xfb, 0x5c, 0x54, 0x1d, + 0x0c, 0xcf, 0x81, 0x12, 0x17, 0xdb, 0xf3, 0xc4, 0x09, 0x15, 0x47, 0xad, 0xd0, 0x2a, 0xa8, 0x25, + 0xcc, 0x3b, 0x24, 0x60, 0x38, 0x60, 0xaf, 0x92, 0xd9, 0x03, 0xdf, 0x1f, 0x23, 0xa3, 0xa0, 0xd4, + 0xc0, 0x6c, 0x4b, 0x92, 0x94, 0x94, 0x5e, 0x42, 0x08, 0x8a, 0x47, 0x2e, 0x3d, 0xaa, 0x15, 0x04, + 0x59, 0x7c, 0xa3, 0x15, 0x6d, 0xeb, 0xe7, 0x14, 0x87, 0xfa, 0xdc, 0x1a, 0x98, 0x75, 0x3d, 0x2f, + 0xc4, 0x94, 0x6a, 0x15, 0x6a, 0x89, 0xce, 0x83, 0x7a, 0x72, 0xb2, 0xb8, 0x82, 0xbd, 0xe0, 0x21, + 0xd1, 0x97, 0xfb, 0xdf, 0x02, 0x78, 0x63, 0xec, 0xb6, 0x32, 0xed, 0xe7, 0xa0, 0xca, 0x11, 0x6c, + 0x45, 0x22, 0x60, 0xee, 0x87, 0x7e, 0x0b, 0xcb, 0x03, 0xb6, 0x6d, 0x7e, 0x81, 0xdf, 0x3e, 0xbd, + 0xf0, 0xc3, 0xb6, 0xcf, 0x8e, 0xa2, 0x66, 0xa3, 0x45, 0xba, 0xb6, 0x7a, 0x40, 0xf2, 0xcf, 0x0a, + 0xf5, 0xbe, 0xb0, 0x59, 0xbf, 0x87, 0x69, 0x63, 0x87, 0xf8, 0x81, 0x33, 0xa2, 0x08, 0xbe, 0x0b, + 0xce, 0xb8, 0x2d, 0xe6, 0x1f, 0xe3, 0x9d, 0x38, 0x24, 0x69, 0xad, 0xb0, 0x3c, 0x7d, 0xa9, 0xe8, + 0x8c, 0x6e, 0xc0, 0x65, 0x30, 0xc7, 0x35, 0xd0, 0xbb, 0x51, 0xb7, 0x89, 0xc3, 0xda, 0xf4, 0xb2, + 0x75, 0xa9, 0xe8, 0x98, 0x24, 0x78, 0x11, 0x2c, 0x88, 0xe8, 0xc7, 0x9a, 0xa7, 0x28, 0x78, 0xd2, + 0x44, 0xf8, 0x36, 0xa8, 0xf2, 0xe0, 0xbe, 0xc7, 0x63, 0x5b, 0x33, 0xce, 0x08, 0xc6, 0x11, 0x3a, + 0xfc, 0x01, 0x58, 0x54, 0x21, 0xae, 0x39, 0x4b, 0x82, 0x73, 0x88, 0xca, 0x75, 0x76, 0x5c, 0xca, + 0xf8, 0x1d, 0xde, 0x21, 0x9e, 0xff, 0xd0, 0xc7, 0x5e, 0x6d, 0x56, 0xea, 0x1c, 0xa6, 0x27, 0x0e, + 0x79, 0x40, 0x98, 0x1f, 0xb4, 0x1d, 0x4c, 0xa3, 0x0e, 0x8b, 0xa3, 0xfd, 0x17, 0x96, 0x76, 0xc8, + 0xd0, 0xb6, 0x72, 0x48, 0x13, 0x9c, 0xe1, 0x1a, 0x53, 0x9b, 0xea, 0x05, 0x5c, 0xc9, 0xf8, 0x02, + 0xd2, 0x8a, 0x47, 0xd5, 0xa1, 0xab, 0x3a, 0x58, 0x1f, 0x10, 0xe6, 0x36, 0x3b, 0x98, 0x6b, 0xa3, + 0xaf, 0x8e, 0xb4, 0xaf, 0x2d, 0x03, 0x99, 0x21, 0xa7, 0x2c, 0x47, 0x60, 0x3e, 0x0a, 0x42, 0xdc, + 0xf6, 0x29, 0xc3, 0x21, 0x96, 0x0f, 0xa4, 0xec, 0xa4, 0x68, 0x9c, 0x27, 0x20, 0x0f, 0x08, 0xc3, + 0x8e, 0xdf, 0x3e, 0x62, 0x54, 0xc4, 0x7d, 0xd9, 0x49, 0xd1, 0xe0, 0x7d, 0x00, 0x8e, 0x13, 0x8e, + 0xe9, 0xe5, 0xe9, 0x4b, 0x73, 0xab, 0x97, 0xb3, 0x43, 0x97, 0x82, 0x8e, 0xa1, 0x03, 0xfd, 0x67, + 0x5a, 0x25, 0x9e, 0xfd, 0x14, 0xd2, 0xb3, 0x60, 0x86, 0x9c, 0x04, 0x38, 0x54, 0x38, 0xe5, 0x02, + 0xfe, 0x14, 0x94, 0x28, 0x73, 0x59, 0x24, 0x8d, 0x5b, 0x5c, 0xdd, 0xcc, 0x78, 0xf4, 0xe8, 0x01, + 0x8d, 0x03, 0xa1, 0xc7, 0x51, 0xfa, 0x60, 0x1d, 0x94, 0x39, 0xfb, 0x67, 0xfd, 0x1e, 0x16, 0xd1, + 0x5d, 0x71, 0xe2, 0xb5, 0x48, 0x11, 0x1d, 0x97, 0x52, 0x4c, 0x45, 0x50, 0xf3, 0x14, 0x21, 0x97, + 0x3c, 0xe3, 0x50, 0x12, 0xb2, 0xed, 0xbe, 0x08, 0xe2, 0x8a, 0xa3, 0x56, 0xe2, 0x2a, 0xdd, 0x2e, + 0xe6, 0xb9, 0xc6, 0xf5, 0x03, 0x2a, 0x02, 0xb7, 0xe2, 0xa4, 0x68, 0x3c, 0x6c, 0xbf, 0xc0, 0xfd, + 0x13, 0x12, 0x7a, 0x34, 0xe6, 0x9b, 0x15, 0x7c, 0x23, 0x74, 0xfe, 0xb8, 0x02, 0xc2, 0x70, 0xc2, + 0x58, 0x16, 0x8c, 0x69, 0x22, 0xfa, 0x9d, 0x05, 0x4a, 0x12, 0x16, 0x04, 0xa0, 0x44, 0x5b, 0x47, + 0xb8, 0x8b, 0xab, 0x53, 0x70, 0x01, 0x54, 0x44, 0x8a, 0xe7, 0xe9, 0xa0, 0x6a, 0xc1, 0x0a, 0x98, + 0x61, 0xa1, 0xef, 0x76, 0xaa, 0x05, 0xb1, 0x83, 0xc3, 0xae, 0x1b, 0xe0, 0x80, 0x55, 0xa7, 0xf9, + 0x92, 0x46, 0xb4, 0x87, 0x03, 0x0f, 0x7b, 0xd5, 0x22, 0xd7, 0xd1, 0x74, 0x83, 0x00, 0x7b, 0xd5, + 0x19, 0xb8, 0x08, 0x80, 0xfc, 0x3e, 0x20, 0x24, 0xa8, 0x96, 0x20, 0x04, 0x8b, 0x72, 0xfd, 0x00, + 0x87, 0x7d, 0x41, 0x9b, 0x85, 0x65, 0x50, 0x0c, 0x48, 0x80, 0xab, 0x65, 0x38, 0x0f, 0xca, 0xbd, + 0x8e, 0xdb, 0xe7, 0x61, 0x58, 0xad, 0x70, 0xd9, 0x28, 0x88, 0xd7, 0x00, 0xbd, 0xaf, 0x6a, 0xca, + 0x7e, 0x3a, 0x44, 0xcf, 0x83, 0x8a, 0xc8, 0x27, 0xb7, 0x7d, 0xca, 0x53, 0x31, 0x4f, 0x44, 0x09, + 0x01, 0x35, 0x74, 0x94, 0xdc, 0xe1, 0xf9, 0xc4, 0x78, 0x0f, 0x22, 0xbf, 0xa8, 0x94, 0x5f, 0x74, + 0xf4, 0x12, 0xdd, 0x04, 0xdf, 0x53, 0x87, 0xc4, 0x59, 0x4c, 0x0b, 0x21, 0x30, 0x9f, 0x94, 0xe1, + 0x58, 0x32, 0x45, 0x43, 0xd7, 0xc1, 0x39, 0x29, 0x7e, 0xa0, 0xb3, 0x92, 0x96, 0x5e, 0x06, 0x73, + 0x71, 0xa6, 0x8a, 0x85, 0x4d, 0x12, 0xba, 0x02, 0xce, 0xea, 0xa3, 0x45, 0x9e, 0xd2, 0x92, 0x1c, + 0xa0, 0xa4, 0xc4, 0x72, 0x09, 0x01, 0x7d, 0x5b, 0xd0, 0x62, 0x77, 0x64, 0xc6, 0xd4, 0x62, 0x17, + 0xc1, 0x02, 0xf3, 0xbb, 0x98, 0x32, 0xb7, 0xdb, 0xdb, 0x25, 0x27, 0x81, 0x12, 0x4d, 0x13, 0xb9, + 0x59, 0x31, 0xe1, 0xf3, 0x9e, 0x78, 0x1e, 0x45, 0xc7, 0x24, 0x71, 0x3d, 0x2d, 0x15, 0x29, 0xbc, + 0x78, 0xc9, 0xd7, 0x5b, 0x71, 0xd2, 0x44, 0xfe, 0x0e, 0x42, 0xdc, 0x23, 0x21, 0x53, 0x19, 0xbc, + 0xe2, 0xc4, 0x6b, 0xf8, 0x09, 0x98, 0x25, 0x11, 0x6b, 0x91, 0x2e, 0x16, 0xe1, 0xbe, 0xb8, 0xda, + 0xc8, 0xf8, 0xfc, 0xee, 0x49, 0x29, 0x47, 0x8b, 0xc7, 0xe5, 0xe4, 0x7e, 0xc7, 0xed, 0x63, 0xaf, + 0x56, 0x12, 0xde, 0x36, 0x49, 0xf0, 0x36, 0x28, 0xf9, 0xed, 0x80, 0x84, 0x58, 0xbc, 0x89, 0xec, + 0xf9, 0x75, 0x4f, 0x08, 0xe9, 0x2b, 0x54, 0x3a, 0xd0, 0x8f, 0xc0, 0x42, 0x6a, 0x83, 0x07, 0x8e, + 0x86, 0x22, 0x53, 0xa1, 0x5e, 0xf2, 0x1a, 0xf0, 0xdd, 0x21, 0x3f, 0xa8, 0x00, 0x5d, 0x06, 0x73, + 0xaa, 0x98, 0x19, 0x21, 0x6a, 0x92, 0xe0, 0x2d, 0x15, 0x8e, 0x58, 0x56, 0xd2, 0xb9, 0xd5, 0x77, + 0x33, 0x5a, 0x2d, 0x83, 0x5a, 0x0b, 0xa3, 0x3f, 0x16, 0x74, 0xf4, 0xc6, 0xe1, 0x47, 0x8d, 0x28, + 0xea, 0xf1, 0x02, 0x1e, 0x87, 0x42, 0xc5, 0x49, 0x08, 0x1c, 0x97, 0x58, 0xa8, 0x10, 0xa8, 0x38, + 0x7a, 0x29, 0x52, 0x15, 0xee, 0x74, 0x54, 0xf1, 0xe6, 0xa9, 0x4a, 0xac, 0x78, 0xa2, 0x6d, 0x46, + 0xfd, 0xd8, 0xdb, 0x72, 0xc1, 0x7b, 0x1f, 0x6e, 0x9d, 0xaa, 0xcd, 0xe2, 0x1b, 0xde, 0x8d, 0x93, + 0x6f, 0x49, 0x78, 0xff, 0x5a, 0x46, 0x70, 0x31, 0x86, 0xa1, 0x94, 0x7b, 0x6f, 0xc8, 0xc5, 0x1f, + 0xe4, 0x72, 0xb1, 0x71, 0x33, 0xda, 0xcb, 0xeb, 0xa0, 0x3a, 0xbc, 0x27, 0x60, 0x4b, 0xa3, 0xa5, + 0x9f, 0xf5, 0xe1, 0x1a, 0xa0, 0x2c, 0x72, 0xe2, 0x1b, 0xfd, 0xda, 0xd2, 0xcd, 0xa5, 0x79, 0xed, + 0xca, 0xfb, 0x17, 0xc1, 0x42, 0xd2, 0xa1, 0xec, 0x79, 0x54, 0xf9, 0x3f, 0x4d, 0xe4, 0xf5, 0x31, + 0x21, 0xa8, 0x20, 0xb8, 0x9c, 0xf7, 0x9e, 0x1c, 0x43, 0x07, 0x7a, 0x4b, 0x67, 0xcb, 0x03, 0xd1, + 0xcb, 0xeb, 0x30, 0x58, 0x04, 0x05, 0x5f, 0x67, 0x91, 0x82, 0xef, 0xa1, 0x73, 0x3a, 0x7b, 0x68, + 0x36, 0x69, 0x36, 0xfa, 0x57, 0x8c, 0xc9, 0x68, 0xe7, 0xb4, 0x92, 0x5b, 0xa9, 0xcb, 0xc9, 0xfe, + 0x9e, 0x77, 0x86, 0x3c, 0x89, 0xc0, 0xbc, 0x74, 0xc1, 0x41, 0x52, 0x9c, 0xcb, 0x4e, 0x8a, 0x26, + 0xb3, 0x6e, 0xc0, 0x42, 0xbf, 0x19, 0x31, 0x12, 0x67, 0x9f, 0x14, 0xcd, 0x4c, 0x51, 0xa2, 0x36, + 0xd4, 0x8a, 0xf2, 0x8e, 0x53, 0xc4, 0xa4, 0x35, 0x98, 0x31, 0x5a, 0x03, 0xb4, 0x15, 0x37, 0xf9, + 0x26, 0xce, 0xc4, 0x79, 0x66, 0x7a, 0x8f, 0x9d, 0x97, 0x22, 0xa2, 0x5d, 0xb0, 0x24, 0x54, 0x38, + 0x6e, 0xe8, 0xb3, 0xfe, 0xae, 0x4f, 0xa5, 0x65, 0x39, 0x4b, 0xc7, 0x01, 0xb8, 0xf0, 0x42, 0x2d, + 0xc6, 0xcc, 0x11, 0x85, 0xa1, 0x9c, 0x39, 0xb8, 0x21, 0x7a, 0xc9, 0xc3, 0xf5, 0xc4, 0x0d, 0x18, + 0xf6, 0x54, 0x2b, 0xae, 0x56, 0xab, 0xbf, 0x7d, 0x03, 0xcc, 0x08, 0xad, 0xf0, 0x6b, 0x0b, 0x94, + 0xe4, 0x18, 0x05, 0x3f, 0xcc, 0xd3, 0xfd, 0xa4, 0xe6, 0xba, 0xfa, 0xf5, 0x49, 0x44, 0x55, 0x48, + 0x5d, 0xfd, 0xe5, 0x5f, 0xff, 0xf9, 0x9b, 0x82, 0x0d, 0x57, 0xec, 0x11, 0x1d, 0xf6, 0x8b, 0x27, + 0x73, 0xf8, 0x95, 0x05, 0x66, 0x44, 0xc9, 0x87, 0x6b, 0xb9, 0xbb, 0x36, 0x6d, 0xb6, 0x9d, 0xbd, + 0xe0, 0xf4, 0x38, 0x03, 0x5a, 0x17, 0xb6, 0xae, 0xc1, 0x6b, 0x19, 0x6d, 0x7d, 0x74, 0xc8, 0xbf, + 0xed, 0x53, 0x39, 0x39, 0x0e, 0xe0, 0xdf, 0x2d, 0x30, 0x6f, 0x8e, 0x8d, 0x70, 0x23, 0xb7, 0xed, + 0xe9, 0x21, 0xb5, 0xbe, 0x39, 0xb9, 0x02, 0x75, 0xff, 0xb7, 0x04, 0xa6, 0x4d, 0xb8, 0x9e, 0x0b, + 0xd3, 0xa1, 0x1a, 0x6b, 0x13, 0x6c, 0xbf, 0xe7, 0x0e, 0xe1, 0x55, 0x3f, 0xa7, 0x43, 0x8c, 0xd1, + 0xb7, 0xfe, 0x4e, 0x46, 0x49, 0x2e, 0x83, 0x36, 0x84, 0xe1, 0x1f, 0xc2, 0x0f, 0x32, 0x1b, 0x1e, + 0x51, 0x1c, 0xda, 0xa7, 0x6a, 0xc6, 0x19, 0xc0, 0x6f, 0x2c, 0xb0, 0x98, 0x9e, 0x95, 0xe1, 0x56, + 0xee, 0xeb, 0x1c, 0x1e, 0xc3, 0xeb, 0xdb, 0xaf, 0xa3, 0x42, 0xf9, 0x24, 0x3f, 0xb4, 0xf8, 0xfb, + 0xd0, 0xe7, 0x38, 0x04, 0xb4, 0xd4, 0x24, 0x98, 0x13, 0xda, 0xb8, 0x81, 0x36, 0x27, 0xb4, 0xb1, + 0x43, 0xef, 0x04, 0xd0, 0x8e, 0x85, 0x9e, 0xc3, 0x50, 0xe1, 0x78, 0x6a, 0x81, 0x85, 0xd4, 0x54, + 0x0a, 0x37, 0xf3, 0x9a, 0x35, 0x3c, 0x08, 0xd7, 0xb7, 0x5e, 0x43, 0x83, 0xc2, 0xf5, 0x89, 0xc0, + 0xb5, 0x0d, 0x37, 0xf3, 0xe0, 0xe2, 0x6a, 0x84, 0xeb, 0xa8, 0x11, 0x96, 0x7f, 0xb1, 0x40, 0x49, + 0x0e, 0x33, 0xf9, 0x52, 0x72, 0x6a, 0x20, 0xcd, 0x97, 0x92, 0xd3, 0xb3, 0xd3, 0x84, 0xe1, 0x47, + 0xed, 0x53, 0x59, 0xc0, 0x07, 0xf0, 0x0f, 0x1c, 0x82, 0xe8, 0x42, 0x73, 0x42, 0x30, 0xc7, 0xb1, + 0x7a, 0xae, 0x76, 0x17, 0x6d, 0x0a, 0xa3, 0xaf, 0xc3, 0xb5, 0xcc, 0x46, 0x8b, 0xfe, 0xd8, 0x3e, + 0x55, 0x33, 0xde, 0x00, 0x3e, 0xb1, 0xc0, 0x9c, 0x51, 0xef, 0xe1, 0x7a, 0xbe, 0x2b, 0x1c, 0x9e, + 0x0c, 0xeb, 0x57, 0xf3, 0x94, 0x97, 0x58, 0x1a, 0xfd, 0x44, 0x00, 0xd9, 0x85, 0xdb, 0xd9, 0x6f, + 0x3f, 0x16, 0xb6, 0x4f, 0xcd, 0xe6, 0x61, 0x00, 0x1f, 0x5b, 0x00, 0x24, 0xed, 0x27, 0xbc, 0x99, + 0x0b, 0xd1, 0xf0, 0xb0, 0x5a, 0xcf, 0xdd, 0x7a, 0xa2, 0x3d, 0x81, 0x65, 0x07, 0x6e, 0x65, 0xc6, + 0x92, 0xfc, 0x58, 0x6d, 0x9f, 0x1a, 0x63, 0xf0, 0x00, 0xfe, 0xc9, 0x02, 0x65, 0x3d, 0x03, 0xc3, + 0x8f, 0x72, 0xba, 0xc6, 0x9c, 0x9c, 0xeb, 0x99, 0xfb, 0x52, 0x29, 0x86, 0x76, 0x05, 0x88, 0x75, + 0x78, 0x23, 0x87, 0x43, 0x84, 0x24, 0xf7, 0x86, 0x1a, 0xc8, 0x07, 0xf0, 0xcf, 0xdc, 0x7e, 0x3d, + 0x30, 0x7e, 0x94, 0xff, 0x55, 0xc4, 0x23, 0x7c, 0xfd, 0xc6, 0x64, 0xc2, 0xea, 0x71, 0xaf, 0x09, + 0x34, 0xab, 0xf0, 0x72, 0xbe, 0x77, 0x82, 0x29, 0xfc, 0x1b, 0x7f, 0x1f, 0xc6, 0x30, 0xb4, 0x3e, + 0x59, 0x34, 0xc5, 0x38, 0x36, 0x26, 0x96, 0x57, 0x50, 0x3e, 0x16, 0x50, 0x36, 0xe0, 0xcd, 0x09, + 0xa2, 0xcb, 0xc8, 0x56, 0x5f, 0x59, 0x60, 0x56, 0x0d, 0x3a, 0xf0, 0x7a, 0x4e, 0x9b, 0x8c, 0x21, + 0xaa, 0xbe, 0x92, 0xf9, 0x79, 0x70, 0x29, 0x74, 0x43, 0x58, 0x7f, 0x0d, 0x5e, 0xc9, 0x61, 0x3d, + 0x17, 0xb4, 0x4f, 0x7d, 0x6f, 0x00, 0xff, 0x2d, 0x5a, 0x49, 0xe3, 0x37, 0xf5, 0x8d, 0x09, 0xb3, + 0x15, 0x9d, 0xb0, 0x95, 0x1c, 0x9d, 0x8b, 0xd0, 0x67, 0x02, 0xd1, 0x5d, 0x78, 0x7b, 0x0c, 0xa2, + 0x9d, 0x57, 0x64, 0xae, 0xc4, 0x1f, 0xf6, 0xa9, 0x39, 0xe9, 0x0d, 0xe0, 0xff, 0x2c, 0x00, 0x47, + 0xa7, 0x1f, 0xf8, 0x71, 0x1e, 0x73, 0x5f, 0x38, 0x83, 0xd5, 0x6f, 0xbd, 0xae, 0x1a, 0x85, 0x7d, + 0x5f, 0x60, 0xff, 0x14, 0xee, 0x65, 0xc4, 0x1e, 0x0a, 0x55, 0x87, 0x9e, 0xa1, 0x6b, 0x28, 0x79, + 0x6f, 0x3b, 0x8f, 0x9f, 0x2d, 0x59, 0x4f, 0x9e, 0x2d, 0x59, 0xff, 0x78, 0xb6, 0x64, 0xfd, 0xea, + 0xf9, 0xd2, 0xd4, 0x93, 0xe7, 0x4b, 0x53, 0xdf, 0x3c, 0x5f, 0x9a, 0xfa, 0xd9, 0x9a, 0xf1, 0x8f, + 0x9a, 0x97, 0x1d, 0xf7, 0xa5, 0xf9, 0xaf, 0xb9, 0x7e, 0x0f, 0xd3, 0x66, 0x49, 0xfc, 0x76, 0xfb, + 0xfe, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x89, 0xad, 0x33, 0xb7, 0x9d, 0x1d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index cbe0c7ee..b3edc621 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -316,8 +316,8 @@ type MsgSaveCardContent struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` - // bytes image = 4; - // string fullArt = 5; + // bytes image = 4; + // string fullArt = 5; Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"` Artist string `protobuf:"bytes,5,opt,name=artist,proto3" json:"artist,omitempty"` BalanceAnchor bool `protobuf:"varint,6,opt,name=balanceAnchor,proto3" json:"balanceAnchor,omitempty"` @@ -3124,10 +3124,10 @@ func (m *MsgRewokeCouncilRegistrationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRewokeCouncilRegistrationResponse proto.InternalMessageInfo type MsgConfirmMatch struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - MatchId uint64 `protobuf:"varint,2,opt,name=matchId,proto3" json:"matchId,omitempty"` - Outcome Outcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` - VotedCards []uint64 `protobuf:"varint,4,rep,packed,name=votedCards,proto3" json:"votedCards,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + MatchId uint64 `protobuf:"varint,2,opt,name=matchId,proto3" json:"matchId,omitempty"` + Outcome Outcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } func (m *MsgConfirmMatch) Reset() { *m = MsgConfirmMatch{} } @@ -3184,7 +3184,7 @@ func (m *MsgConfirmMatch) GetOutcome() Outcome { return Outcome_AWon } -func (m *MsgConfirmMatch) GetVotedCards() []uint64 { +func (m *MsgConfirmMatch) GetVotedCards() []*SingleVote { if m != nil { return m.VotedCards } @@ -3875,58 +3875,6 @@ func (m *MsgSetUserBiographyResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSetUserBiographyResponse proto.InternalMessageInfo -type SingleVote struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - VoteType string `protobuf:"bytes,2,opt,name=voteType,proto3" json:"voteType,omitempty"` -} - -func (m *SingleVote) Reset() { *m = SingleVote{} } -func (m *SingleVote) String() string { return proto.CompactTextString(m) } -func (*SingleVote) ProtoMessage() {} -func (*SingleVote) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{80} -} -func (m *SingleVote) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *SingleVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_SingleVote.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 *SingleVote) XXX_Merge(src proto.Message) { - xxx_messageInfo_SingleVote.Merge(m, src) -} -func (m *SingleVote) XXX_Size() int { - return m.Size() -} -func (m *SingleVote) XXX_DiscardUnknown() { - xxx_messageInfo_SingleVote.DiscardUnknown(m) -} - -var xxx_messageInfo_SingleVote proto.InternalMessageInfo - -func (m *SingleVote) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *SingleVote) GetVoteType() string { - if m != nil { - return m.VoteType - } - return "" -} - // this line is used by starport scaffolding # proto/tx/message type MsgMultiVoteCard struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` @@ -3937,7 +3885,7 @@ func (m *MsgMultiVoteCard) Reset() { *m = MsgMultiVoteCard{} } func (m *MsgMultiVoteCard) String() string { return proto.CompactTextString(m) } func (*MsgMultiVoteCard) ProtoMessage() {} func (*MsgMultiVoteCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{81} + return fileDescriptor_3b4a3aba0ac94bc8, []int{80} } func (m *MsgMultiVoteCard) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3987,7 +3935,7 @@ func (m *MsgMultiVoteCardResponse) Reset() { *m = MsgMultiVoteCardRespon func (m *MsgMultiVoteCardResponse) String() string { return proto.CompactTextString(m) } func (*MsgMultiVoteCardResponse) ProtoMessage() {} func (*MsgMultiVoteCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{82} + return fileDescriptor_3b4a3aba0ac94bc8, []int{81} } func (m *MsgMultiVoteCardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4028,7 +3976,7 @@ func (m *MsgMsgOpenMatch) Reset() { *m = MsgMsgOpenMatch{} } func (m *MsgMsgOpenMatch) String() string { return proto.CompactTextString(m) } func (*MsgMsgOpenMatch) ProtoMessage() {} func (*MsgMsgOpenMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{83} + return fileDescriptor_3b4a3aba0ac94bc8, []int{82} } func (m *MsgMsgOpenMatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4100,7 +4048,7 @@ func (m *MsgMsgOpenMatchResponse) Reset() { *m = MsgMsgOpenMatchResponse func (m *MsgMsgOpenMatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgMsgOpenMatchResponse) ProtoMessage() {} func (*MsgMsgOpenMatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{84} + return fileDescriptor_3b4a3aba0ac94bc8, []int{83} } func (m *MsgMsgOpenMatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4217,7 +4165,6 @@ func init() { proto.RegisterType((*MsgSetUserWebsiteResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse") proto.RegisterType((*MsgSetUserBiography)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiography") proto.RegisterType((*MsgSetUserBiographyResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse") - proto.RegisterType((*SingleVote)(nil), "DecentralCardGame.cardchain.cardchain.SingleVote") proto.RegisterType((*MsgMultiVoteCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgMultiVoteCard") proto.RegisterType((*MsgMultiVoteCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgMultiVoteCardResponse") proto.RegisterType((*MsgMsgOpenMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgMsgOpenMatch") @@ -4227,163 +4174,162 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2484 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xcf, 0x6f, 0x1b, 0xc7, - 0xf5, 0xd7, 0x9a, 0x94, 0x7f, 0x3c, 0xdb, 0x4a, 0xbe, 0x1b, 0xc5, 0xa6, 0xd7, 0xb6, 0x24, 0x6f, - 0x6c, 0x47, 0xf8, 0xa2, 0x25, 0x21, 0xa5, 0x4d, 0x6c, 0xa3, 0x8a, 0x4d, 0x52, 0xb2, 0xec, 0xba, - 0xac, 0x5d, 0x4a, 0x4e, 0xd0, 0xa6, 0x40, 0xb1, 0x5c, 0x8e, 0xa8, 0x85, 0xc8, 0x1d, 0x76, 0x76, - 0x29, 0x45, 0x01, 0x0a, 0x04, 0x68, 0x51, 0x34, 0x40, 0xd0, 0x16, 0x41, 0x0f, 0x05, 0x0a, 0x14, - 0x09, 0x5a, 0xa0, 0x40, 0x80, 0xa2, 0x05, 0x5a, 0xa0, 0xc7, 0x5e, 0x73, 0xcc, 0xa9, 0x08, 0x7a, - 0x48, 0x0b, 0xfb, 0xd2, 0x3f, 0xa3, 0xd8, 0xd9, 0xd9, 0xd9, 0x99, 0xe5, 0x2e, 0xc9, 0x59, 0xb2, - 0x27, 0x73, 0x66, 0xe7, 0xf3, 0xde, 0x67, 0x7e, 0xbe, 0x37, 0xf3, 0xb1, 0xe0, 0x8a, 0x6d, 0x91, - 0xb6, 0xbd, 0x6f, 0x39, 0x6e, 0x25, 0xfe, 0xe5, 0xbf, 0x5b, 0xee, 0x13, 0xec, 0x63, 0xfd, 0xc6, - 0x26, 0xb2, 0x91, 0xeb, 0x13, 0xab, 0x5b, 0xb7, 0x48, 0x7b, 0xdb, 0xea, 0xa1, 0x32, 0x6f, 0x15, - 0xff, 0x32, 0x16, 0x3b, 0xb8, 0x83, 0x29, 0xa2, 0x12, 0xfc, 0x0a, 0xc1, 0xc6, 0xb5, 0x34, 0xd3, - 0x36, 0x1e, 0xb8, 0xb6, 0xd3, 0x65, 0x4d, 0x96, 0xd3, 0x9a, 0xf4, 0x2c, 0xdf, 0xde, 0x67, 0x0d, - 0x96, 0x6c, 0xec, 0xf5, 0xb0, 0x57, 0x69, 0x59, 0x1e, 0xaa, 0x1c, 0xae, 0xb5, 0x90, 0x6f, 0xad, - 0x55, 0x6c, 0xec, 0xb8, 0xe1, 0x77, 0xf3, 0xbb, 0x70, 0xbe, 0xe1, 0x75, 0xea, 0x04, 0x59, 0x3e, - 0x1a, 0x78, 0x88, 0xe8, 0x25, 0x38, 0x65, 0x07, 0x25, 0x4c, 0x4a, 0xda, 0x8a, 0xb6, 0x7a, 0xa6, - 0x19, 0x15, 0x83, 0x2f, 0x2e, 0x3a, 0x7a, 0xea, 0x21, 0x52, 0x3a, 0x11, 0x7e, 0x61, 0x45, 0x7d, - 0x11, 0xe6, 0xad, 0xae, 0x63, 0x79, 0xa5, 0x02, 0xad, 0x0f, 0x0b, 0xe6, 0x45, 0x78, 0x59, 0x32, - 0xdd, 0x44, 0x5e, 0x1f, 0xbb, 0x1e, 0x32, 0x7f, 0xa5, 0xc1, 0x8b, 0x0d, 0xaf, 0x53, 0x1b, 0x1c, - 0x07, 0x83, 0xb2, 0x63, 0xef, 0xa3, 0x1e, 0x1a, 0xe1, 0xf7, 0xfb, 0x50, 0x68, 0x39, 0x6d, 0xea, - 0xf3, 0xec, 0xfa, 0xa5, 0x72, 0xd8, 0xa1, 0x72, 0xd0, 0xa1, 0x32, 0xeb, 0x50, 0xb9, 0x8e, 0x1d, - 0xb7, 0x56, 0xf9, 0xec, 0xcb, 0xe5, 0xb9, 0x4f, 0xff, 0xb5, 0xfc, 0x6a, 0xc7, 0xf1, 0xf7, 0x07, - 0xad, 0xb2, 0x8d, 0x7b, 0x15, 0xd6, 0xfb, 0xf0, 0x9f, 0xaf, 0x7a, 0xed, 0x83, 0x8a, 0x7f, 0xdc, - 0x47, 0x1e, 0x05, 0x34, 0x03, 0xb3, 0x77, 0x4e, 0xff, 0xec, 0xe3, 0xe5, 0xb9, 0xff, 0x7c, 0xbc, - 0x3c, 0x67, 0xae, 0x43, 0x29, 0xc9, 0x2a, 0xa2, 0xac, 0x5f, 0x80, 0x93, 0xc1, 0xf8, 0x3e, 0x6c, - 0x53, 0x72, 0xc5, 0x26, 0x2b, 0x99, 0xef, 0xc0, 0xd9, 0x86, 0xd7, 0x79, 0x0b, 0xfb, 0x28, 0x00, - 0x8d, 0xe8, 0x44, 0x6c, 0xe0, 0x84, 0x68, 0x40, 0x37, 0xe0, 0xf4, 0x21, 0xf6, 0xd1, 0xee, 0x71, - 0x1f, 0xb1, 0xd1, 0xe3, 0x65, 0x73, 0x03, 0x5e, 0x12, 0x8c, 0x73, 0x2e, 0x37, 0x61, 0xc1, 0x72, - 0x48, 0x9b, 0xe0, 0x7e, 0xbd, 0x6b, 0x39, 0x3d, 0x14, 0x72, 0x3a, 0xdd, 0x4c, 0xd4, 0x9a, 0x7f, - 0xd5, 0x40, 0x6f, 0x78, 0x9d, 0x1d, 0xeb, 0x90, 0xe2, 0xeb, 0xd8, 0xf5, 0x91, 0xeb, 0xe7, 0xe0, - 0x18, 0x20, 0x42, 0x30, 0xa5, 0x78, 0xae, 0x19, 0x15, 0x83, 0x89, 0x77, 0xb1, 0x8f, 0xbc, 0x52, - 0x31, 0x9c, 0x78, 0x5a, 0x08, 0xec, 0x58, 0xc4, 0x77, 0x3c, 0xbf, 0x34, 0x4f, 0xab, 0x59, 0x49, - 0xbf, 0x0e, 0xe7, 0x5b, 0x56, 0xd7, 0x72, 0x6d, 0x54, 0x75, 0xed, 0x7d, 0x4c, 0x4a, 0x27, 0x29, - 0x6f, 0xb9, 0xd2, 0xdc, 0x04, 0x63, 0x98, 0xb5, 0x72, 0xe7, 0x7f, 0x00, 0x2f, 0x34, 0xbc, 0xce, - 0x2e, 0xb1, 0x5c, 0x6f, 0x0f, 0x91, 0xfc, 0x93, 0x43, 0x90, 0x8d, 0x9c, 0x43, 0x44, 0x58, 0x0f, - 0x79, 0xd9, 0xbc, 0x04, 0x17, 0x13, 0x0e, 0xf8, 0xfa, 0xfe, 0x50, 0xa3, 0xce, 0x37, 0xb1, 0x6b, - 0xf9, 0x68, 0x17, 0xe7, 0x74, 0xbe, 0x0d, 0x27, 0xad, 0x1e, 0x1e, 0xb0, 0x41, 0x3f, 0x13, 0x2e, - 0xef, 0x7f, 0x7e, 0x39, 0xf9, 0xf2, 0x66, 0x70, 0xc6, 0x54, 0x64, 0xc3, 0x99, 0xfe, 0x90, 0xee, - 0xfe, 0x6a, 0xbb, 0x5d, 0x25, 0xfe, 0x11, 0x26, 0x07, 0x39, 0x68, 0x2e, 0xc2, 0xbc, 0xd3, 0xb3, - 0x3a, 0x88, 0x2d, 0x8d, 0xb0, 0x10, 0xd8, 0xd9, 0x1b, 0x74, 0xbb, 0x55, 0xe2, 0xd3, 0x81, 0x3b, - 0xdd, 0x8c, 0x8a, 0xec, 0x54, 0x88, 0x5d, 0x72, 0x2e, 0x3f, 0xd1, 0xc2, 0x89, 0x1f, 0xb4, 0x7a, - 0x8e, 0x5f, 0xc7, 0xfd, 0x63, 0xe2, 0x74, 0xf6, 0xfd, 0x27, 0x04, 0xf7, 0xb1, 0x67, 0x75, 0x73, - 0x30, 0x5b, 0x81, 0xb3, 0x6d, 0xe4, 0xd9, 0xc4, 0xe9, 0xfb, 0x0e, 0x76, 0xd9, 0xee, 0x12, 0xab, - 0x74, 0x1d, 0x8a, 0x5d, 0xc7, 0x3d, 0x60, 0x73, 0x4b, 0x7f, 0x9b, 0xd7, 0xc1, 0xcc, 0x66, 0xc1, - 0xc9, 0xbe, 0x43, 0x67, 0xb8, 0xbe, 0x6f, 0xb9, 0x1d, 0x54, 0x0d, 0x57, 0xf7, 0x78, 0x82, 0x9b, - 0x12, 0xc1, 0x4d, 0x61, 0x9f, 0x14, 0xc4, 0x7d, 0xc2, 0x26, 0x4c, 0x34, 0xce, 0xfd, 0xae, 0xd1, - 0xd1, 0x6b, 0xa2, 0x8e, 0xe3, 0xf9, 0x88, 0xdc, 0xc7, 0xa4, 0x1e, 0x86, 0x83, 0x6c, 0xef, 0xe6, - 0x32, 0x5c, 0x4d, 0x85, 0x70, 0x9b, 0xff, 0xd0, 0x60, 0x81, 0xb6, 0xe8, 0x63, 0xe2, 0x37, 0x82, - 0xd8, 0x31, 0x3a, 0x08, 0xd0, 0xf0, 0xc2, 0x47, 0x3b, 0x2a, 0xea, 0x26, 0x9c, 0xeb, 0x77, 0xad, - 0x63, 0xd4, 0x0e, 0x56, 0x98, 0x57, 0x2d, 0x15, 0x56, 0x0a, 0xab, 0xc5, 0xa6, 0x54, 0x97, 0x68, - 0x53, 0x2b, 0x15, 0x87, 0xda, 0xd4, 0xf4, 0x07, 0x70, 0x0a, 0x0f, 0x7c, 0x1b, 0xf7, 0x10, 0x3d, - 0x3e, 0x16, 0xd6, 0xcb, 0xe5, 0x89, 0x82, 0x68, 0xf9, 0x71, 0x88, 0x6a, 0x46, 0x70, 0x73, 0x1d, - 0x2e, 0xc8, 0xfd, 0xe2, 0xa7, 0x88, 0xd0, 0x0b, 0x4d, 0xea, 0x85, 0xf9, 0x91, 0x06, 0x4b, 0x7c, - 0xfe, 0x19, 0x28, 0xc0, 0x23, 0x32, 0xc1, 0x4a, 0xa4, 0xe7, 0x45, 0xd8, 0x9a, 0x85, 0x48, 0x5e, - 0x0e, 0x50, 0x6d, 0xd4, 0xc7, 0x9e, 0x13, 0xcd, 0x76, 0x54, 0x4c, 0xae, 0xd3, 0xe2, 0xd0, 0x3a, - 0x35, 0x57, 0xe1, 0xe6, 0x68, 0x4e, 0x7c, 0x2e, 0xbf, 0x4d, 0xbb, 0x5c, 0xed, 0x63, 0xc7, 0x95, - 0x5b, 0xe6, 0x63, 0x6d, 0xae, 0xd0, 0xd1, 0x48, 0xb1, 0xc7, 0x3d, 0x7e, 0xa2, 0xd1, 0x28, 0x15, - 0x86, 0xf9, 0x3a, 0xee, 0x76, 0x91, 0x4d, 0xf7, 0x56, 0xb6, 0x3f, 0x1d, 0x8a, 0xae, 0xd5, 0x43, - 0xcc, 0x17, 0xfd, 0x9d, 0xb5, 0x15, 0x82, 0xb1, 0xf1, 0x7c, 0x4c, 0x8e, 0xdf, 0x26, 0x8e, 0xcf, - 0x0f, 0x61, 0xb1, 0x2a, 0x58, 0x52, 0x41, 0x34, 0x22, 0x4e, 0x6b, 0xe0, 0x63, 0xe2, 0x95, 0xe6, - 0x57, 0x0a, 0xab, 0x67, 0x9a, 0x52, 0x9d, 0x79, 0x15, 0x2e, 0xa7, 0x50, 0xe4, 0x5d, 0x70, 0xc3, - 0x41, 0x6b, 0xd3, 0x15, 0xb8, 0x8b, 0x27, 0xea, 0x04, 0x75, 0x1b, 0xb5, 0xe3, 0x9b, 0x41, 0xaa, - 0x13, 0x0e, 0xa6, 0x82, 0x94, 0x34, 0xb0, 0x41, 0x1d, 0xf6, 0xc7, 0x19, 0x3d, 0xa5, 0xdb, 0xfc, - 0xbe, 0xe3, 0x5a, 0x5d, 0xe7, 0x3d, 0x34, 0x2b, 0x42, 0xec, 0x28, 0x18, 0x36, 0xcb, 0xfd, 0x3e, - 0xe1, 0x89, 0xd9, 0xac, 0x5c, 0xd6, 0x78, 0x52, 0x35, 0xe4, 0x6d, 0xe2, 0x58, 0xee, 0xd1, 0xe9, - 0x6b, 0xa2, 0x1e, 0x0e, 0x73, 0x82, 0xfb, 0x04, 0xf7, 0xfe, 0xe7, 0x93, 0x74, 0x03, 0x5e, 0x19, - 0xe1, 0x94, 0x8f, 0xd8, 0x21, 0x0d, 0x17, 0xac, 0x59, 0xbc, 0xe6, 0x66, 0x4a, 0x51, 0x87, 0x62, - 0x90, 0x3f, 0xb3, 0xad, 0x41, 0x7f, 0x9b, 0x5f, 0x81, 0xff, 0x1f, 0xef, 0x57, 0x88, 0xf3, 0x57, - 0xd9, 0x8a, 0x8b, 0x9b, 0xce, 0x70, 0xa1, 0xa7, 0x11, 0x7c, 0x15, 0x6e, 0x8c, 0x74, 0x29, 0x84, - 0xd2, 0xcb, 0x42, 0xc0, 0x8d, 0x3e, 0x4f, 0x70, 0xda, 0x4e, 0xb2, 0xfc, 0xc2, 0x59, 0xcc, 0x32, - 0xce, 0x39, 0x7c, 0x10, 0xa6, 0xca, 0xe1, 0x09, 0xb1, 0x83, 0xba, 0xdd, 0xc7, 0x7b, 0x7b, 0x23, - 0xcf, 0x4c, 0x1d, 0x8a, 0xc1, 0x3a, 0x61, 0x3e, 0xe9, 0x6f, 0x7d, 0x0b, 0xe6, 0xfb, 0xc4, 0xb1, - 0x51, 0xde, 0x7c, 0x2d, 0x44, 0x9b, 0x57, 0x68, 0x1a, 0x94, 0xa0, 0xc2, 0x99, 0x3e, 0x00, 0x88, - 0x2f, 0x29, 0x23, 0x08, 0x06, 0x07, 0x67, 0x04, 0xe6, 0x63, 0x23, 0x56, 0x99, 0x8b, 0xb4, 0xcb, - 0xcc, 0x92, 0x70, 0x02, 0xe8, 0x7c, 0x5d, 0x4d, 0x32, 0x10, 0xe3, 0xfd, 0x84, 0xfd, 0x49, 0x58, - 0xe4, 0xfe, 0x30, 0x5c, 0x92, 0xd2, 0xc1, 0x19, 0xae, 0xca, 0xd4, 0xcc, 0xd4, 0x7c, 0x05, 0xae, - 0x65, 0x3a, 0xe4, 0xac, 0x7a, 0x34, 0x03, 0xab, 0xb6, 0xdb, 0x3b, 0x41, 0xa4, 0x99, 0x2d, 0x27, - 0x1a, 0xbc, 0xa2, 0x9b, 0x32, 0x2d, 0x98, 0xd7, 0x60, 0x39, 0xc3, 0x1d, 0x67, 0xf4, 0x7e, 0x78, - 0x67, 0xde, 0x41, 0x3e, 0x9d, 0x2e, 0x8b, 0x38, 0xfe, 0x71, 0x8e, 0x9c, 0x38, 0xc9, 0xb1, 0x90, - 0x7e, 0x22, 0x12, 0x6a, 0x9f, 0x85, 0x5b, 0x56, 0x32, 0x0d, 0x7a, 0x94, 0x4b, 0x0c, 0x38, 0xbd, - 0x4d, 0xca, 0x2e, 0x8a, 0xb0, 0x63, 0x52, 0xd2, 0x2c, 0x76, 0xcc, 0x83, 0x64, 0x85, 0x7b, 0xf8, - 0xb9, 0x16, 0x7e, 0xc4, 0x3d, 0xba, 0x95, 0xa5, 0x8f, 0xe3, 0x92, 0x9b, 0xb0, 0x55, 0x9c, 0xdc, - 0x30, 0xd4, 0x15, 0x38, 0xc3, 0x5e, 0x53, 0xf8, 0x48, 0xc4, 0x15, 0xfa, 0x12, 0x80, 0x37, 0xe8, - 0x74, 0x90, 0x27, 0x64, 0x65, 0x42, 0x8d, 0x69, 0xc2, 0x4a, 0x16, 0x1f, 0x4e, 0xfa, 0x6f, 0x21, - 0xe9, 0x26, 0x3a, 0x44, 0x56, 0x77, 0x72, 0xd2, 0x8f, 0x12, 0xa4, 0x17, 0xd6, 0x2b, 0x13, 0xe6, - 0xc0, 0x9c, 0x41, 0xdc, 0xcb, 0x0b, 0x70, 0xd2, 0x43, 0x36, 0x41, 0x3c, 0xb5, 0x0a, 0x4b, 0x72, - 0xef, 0x8b, 0x89, 0xde, 0xb3, 0xde, 0xa5, 0x12, 0xe7, 0xbd, 0x7b, 0x04, 0xff, 0x47, 0xdb, 0x78, - 0xbe, 0x45, 0xfc, 0xf1, 0xb3, 0x2e, 0x39, 0x3c, 0x91, 0x74, 0x78, 0x99, 0x1e, 0x04, 0xb2, 0x31, - 0xee, 0xe9, 0x16, 0x5c, 0xa1, 0x1f, 0x8f, 0xf0, 0x41, 0xbc, 0x30, 0x82, 0x0b, 0x0d, 0xb1, 0x46, - 0x6f, 0x4a, 0xf3, 0x26, 0x5c, 0x1f, 0x85, 0xe4, 0x1e, 0xfe, 0x14, 0xde, 0xd9, 0xeb, 0xd8, 0xdd, - 0x73, 0x48, 0x2f, 0xff, 0x2d, 0x48, 0xb8, 0xbd, 0x14, 0xa6, 0xba, 0xbd, 0x04, 0xeb, 0xef, 0x10, - 0xfb, 0xec, 0x5a, 0xc4, 0x6e, 0x4a, 0x42, 0x4d, 0x74, 0x4b, 0x14, 0x08, 0xf3, 0xce, 0x6c, 0xd1, - 0x89, 0xd9, 0x41, 0xc1, 0xbd, 0x75, 0xcf, 0xe9, 0xe6, 0x7c, 0x9b, 0x62, 0x53, 0x22, 0x9b, 0xe1, - 0x3e, 0x76, 0x69, 0xa0, 0x78, 0xdc, 0x47, 0x6e, 0x0d, 0xe3, 0xe0, 0x66, 0xf9, 0xc4, 0xb2, 0x47, - 0xbd, 0x1f, 0x5c, 0x87, 0xf3, 0xad, 0xb8, 0x21, 0xf7, 0x25, 0x57, 0x9a, 0xaf, 0xd3, 0x60, 0x91, - 0xb0, 0x2a, 0xed, 0x18, 0x4a, 0xcd, 0x2b, 0x69, 0x74, 0x3c, 0xa2, 0xa2, 0xe9, 0xd3, 0x14, 0x3e, - 0x7a, 0x8d, 0x99, 0x21, 0x23, 0xe9, 0x0d, 0xa8, 0x90, 0x78, 0x03, 0x0a, 0x13, 0xf9, 0x14, 0xaf, - 0x7c, 0x94, 0x7e, 0x14, 0x26, 0x37, 0x48, 0x48, 0x3e, 0x76, 0x84, 0xcb, 0xcb, 0x74, 0xc1, 0x24, - 0x71, 0x39, 0x2a, 0x0c, 0x5d, 0x8e, 0xa2, 0xf4, 0x27, 0xc3, 0x7d, 0xe2, 0x02, 0x24, 0x35, 0x1b, - 0xfb, 0xa8, 0x31, 0x61, 0x6e, 0x9d, 0xfa, 0xc0, 0x11, 0x8e, 0x5b, 0x8a, 0x3f, 0xce, 0x68, 0x3b, - 0x5a, 0xc1, 0x4f, 0x3d, 0x44, 0xde, 0x46, 0x2d, 0xcf, 0xf1, 0xd1, 0xe8, 0xfd, 0x78, 0x14, 0x36, - 0x8a, 0x9e, 0xa6, 0x59, 0x31, 0x5e, 0xc3, 0x82, 0x21, 0xee, 0xa5, 0x41, 0xaf, 0xae, 0xec, 0x63, - 0xcd, 0xc1, 0x1d, 0x62, 0xf5, 0xf7, 0x8f, 0x47, 0x1f, 0x61, 0xad, 0xa8, 0x19, 0xf3, 0x14, 0x57, - 0xb0, 0x6b, 0x66, 0xd2, 0x1c, 0xf7, 0x76, 0x0f, 0x60, 0xc7, 0x71, 0x3b, 0x5d, 0xf4, 0x16, 0xf6, - 0x33, 0x5f, 0x94, 0xa5, 0x07, 0xe1, 0x13, 0x89, 0x07, 0xe1, 0x01, 0x8d, 0xb2, 0x8d, 0x41, 0xd7, - 0x77, 0x26, 0x78, 0x72, 0xde, 0x86, 0xf9, 0x43, 0xfa, 0x38, 0x7b, 0x62, 0xa5, 0xb0, 0x7a, 0x76, - 0x7d, 0x6d, 0xc2, 0x83, 0x28, 0xe6, 0xd8, 0x0c, 0xf1, 0x2c, 0x2c, 0x4b, 0x6e, 0x79, 0xa7, 0x7e, - 0x17, 0x9e, 0x9b, 0x6c, 0xd3, 0x4e, 0x70, 0x6e, 0xd2, 0xb7, 0x1e, 0x52, 0x8d, 0xe6, 0x89, 0x15, - 0xe3, 0x2f, 0xb5, 0xe8, 0x79, 0x84, 0x15, 0x83, 0x55, 0xce, 0x1a, 0x6d, 0x22, 0xfb, 0x80, 0x1d, - 0x84, 0x62, 0x55, 0xdc, 0xa2, 0x46, 0x5b, 0xcc, 0x8b, 0x2d, 0x68, 0x95, 0xf9, 0x1a, 0x3d, 0x2b, - 0x45, 0x92, 0xe3, 0x9f, 0x82, 0xd6, 0xbf, 0x58, 0x83, 0x42, 0xc3, 0xeb, 0xe8, 0xef, 0x6b, 0x00, - 0x82, 0x40, 0xf2, 0xb5, 0x09, 0xc7, 0x51, 0xd2, 0x3e, 0x8c, 0x6f, 0xe4, 0x41, 0x71, 0x92, 0x1f, - 0x68, 0x70, 0x5e, 0x96, 0x4b, 0xde, 0x98, 0xdc, 0x9e, 0x04, 0x34, 0xee, 0xe6, 0x04, 0x72, 0x2e, - 0xef, 0xc1, 0x69, 0xbe, 0xf8, 0xd6, 0x27, 0x37, 0x16, 0x61, 0x8c, 0x3b, 0xea, 0x18, 0xee, 0xfb, - 0x17, 0x1a, 0xbc, 0x90, 0xd4, 0x33, 0x6e, 0x4f, 0x6e, 0x2f, 0x01, 0x35, 0xaa, 0xb9, 0xa1, 0x9c, - 0xd1, 0x4f, 0x35, 0x38, 0x27, 0xa9, 0x0c, 0xaf, 0x4f, 0x6e, 0x53, 0xc4, 0x19, 0x6f, 0xe6, 0xc3, - 0x49, 0x44, 0x24, 0xc5, 0x41, 0x81, 0x88, 0x88, 0x53, 0x21, 0x92, 0xa6, 0x29, 0xd0, 0xed, 0x22, - 0x28, 0x0a, 0x0a, 0xdb, 0x25, 0x46, 0xa9, 0x6c, 0x97, 0x61, 0x29, 0x41, 0xff, 0x83, 0x06, 0x17, - 0xb3, 0x74, 0x04, 0x95, 0x39, 0x4f, 0x37, 0x61, 0x3c, 0x9c, 0xda, 0x84, 0x34, 0x6b, 0x92, 0x8a, - 0xa0, 0x30, 0x6b, 0x22, 0x4e, 0x65, 0xd6, 0xd2, 0x84, 0x05, 0xfd, 0xd7, 0x1a, 0xe8, 0x29, 0xb2, - 0x82, 0xc2, 0x3c, 0x0c, 0xa3, 0x8d, 0xcd, 0x69, 0xd0, 0x9c, 0xda, 0x8f, 0x35, 0x38, 0x2b, 0x8a, - 0x13, 0x5f, 0x57, 0xb1, 0xca, 0x61, 0xc6, 0x46, 0x2e, 0x18, 0x67, 0xf1, 0x17, 0x0d, 0x2e, 0x8f, - 0x52, 0x05, 0xb6, 0x54, 0x17, 0x45, 0xaa, 0x19, 0xa3, 0x31, 0x13, 0x33, 0x9c, 0xf5, 0x6f, 0x34, - 0x78, 0x29, 0x4d, 0x0d, 0x50, 0x18, 0x8c, 0x14, 0xb8, 0xb1, 0x35, 0x15, 0x9c, 0xb3, 0xfb, 0x48, - 0x83, 0x17, 0x87, 0x84, 0x83, 0x3b, 0xaa, 0x91, 0x32, 0xc6, 0x1a, 0xb5, 0xfc, 0x58, 0x79, 0xc8, - 0x52, 0xb4, 0x80, 0x0d, 0xa5, 0x23, 0x29, 0x09, 0x57, 0x1a, 0xb2, 0x6c, 0x65, 0x80, 0xee, 0xd3, - 0x14, 0x5d, 0x40, 0x61, 0x9f, 0x0e, 0xa3, 0x55, 0xf6, 0x69, 0xb6, 0x78, 0xc0, 0x93, 0x94, 0x98, - 0x95, 0x62, 0x92, 0x12, 0x13, 0xba, 0x9b, 0x13, 0xc8, 0xb9, 0x7c, 0xaa, 0x41, 0x29, 0x53, 0x30, - 0xa8, 0xa9, 0x9c, 0x04, 0xe9, 0x36, 0x8c, 0x6f, 0x4e, 0x6f, 0x83, 0x93, 0xfd, 0xbb, 0x06, 0xcb, - 0xe3, 0x14, 0x84, 0x87, 0xca, 0xfe, 0xb2, 0x4c, 0x19, 0xdf, 0x99, 0x99, 0x29, 0xde, 0x83, 0x3f, - 0x6b, 0x60, 0x8c, 0x50, 0x17, 0x36, 0xd5, 0xd6, 0x7e, 0xba, 0x15, 0xe3, 0x5b, 0xb3, 0xb0, 0x22, - 0xad, 0x90, 0x4c, 0xd1, 0xa1, 0xa6, 0x1e, 0xe1, 0x93, 0x36, 0x54, 0x56, 0xc8, 0x38, 0x7d, 0x82, - 0xe6, 0xbd, 0x49, 0x71, 0xe2, 0xb6, 0xea, 0x59, 0xc7, 0xa1, 0x2a, 0x79, 0x6f, 0x86, 0x0e, 0xa1, - 0x1f, 0xc1, 0xa9, 0x48, 0x84, 0x58, 0x53, 0xbe, 0x51, 0x18, 0xb7, 0x95, 0x21, 0xd2, 0x50, 0x24, - 0xe5, 0x89, 0xdb, 0xaa, 0x2b, 0x3a, 0xd7, 0x50, 0x64, 0x48, 0x18, 0xfa, 0xef, 0x35, 0xb8, 0x90, - 0x21, 0x60, 0xdc, 0xcb, 0x93, 0xc6, 0x4a, 0x8b, 0xfe, 0xc1, 0xb4, 0x16, 0x38, 0xcd, 0xdf, 0x6a, - 0xb0, 0x98, 0xaa, 0x68, 0xbc, 0xa9, 0xe4, 0x62, 0x08, 0x6f, 0xdc, 0x9f, 0x0e, 0x2f, 0xc5, 0x0f, - 0x59, 0xdf, 0x50, 0x88, 0x1f, 0x12, 0x50, 0x25, 0x7e, 0xa4, 0xea, 0x19, 0x94, 0x8b, 0xac, 0x66, - 0xbc, 0xa1, 0x9e, 0x5a, 0x84, 0x49, 0xf0, 0xdd, 0x9c, 0x40, 0xce, 0xe5, 0x13, 0x0d, 0x5e, 0x4e, - 0x97, 0x3d, 0x54, 0x4c, 0xa7, 0x19, 0x30, 0xb6, 0xa7, 0x34, 0x20, 0x71, 0x4c, 0x57, 0x39, 0xee, - 0xaa, 0x6c, 0xb0, 0x14, 0x03, 0x2a, 0x1c, 0x47, 0xca, 0x15, 0xfa, 0x87, 0x1a, 0x2c, 0x24, 0xc4, - 0x8a, 0x5b, 0x2a, 0xb6, 0x45, 0xa4, 0x71, 0x2f, 0x2f, 0x92, 0xd3, 0xf9, 0xa3, 0x06, 0x97, 0xb2, - 0x15, 0x8d, 0xba, 0x8a, 0xfd, 0x0c, 0x23, 0xc6, 0xa3, 0x19, 0x18, 0x91, 0xaf, 0xaa, 0xa2, 0x3c, - 0xa2, 0x72, 0x55, 0x15, 0x70, 0x4a, 0x57, 0xd5, 0x14, 0x75, 0x83, 0xce, 0x63, 0x42, 0xdb, 0xb8, - 0xa5, 0xb4, 0xdf, 0x05, 0xa4, 0xca, 0x3c, 0xa6, 0x0b, 0x21, 0x34, 0x20, 0x25, 0x65, 0x10, 0x85, - 0x80, 0x94, 0x80, 0xaa, 0x04, 0xa4, 0x2c, 0x99, 0x24, 0xb8, 0xc1, 0xa4, 0x49, 0x21, 0x1b, 0xea, - 0x4f, 0x4c, 0x22, 0xb3, 0xad, 0xa9, 0xe0, 0x72, 0xe2, 0x95, 0x25, 0x88, 0xd4, 0xd4, 0x0e, 0xee, - 0x34, 0x1b, 0x4a, 0x89, 0xd7, 0x18, 0x65, 0x84, 0x0e, 0x65, 0x9a, 0x2e, 0xb2, 0x91, 0xd3, 0x07, - 0x7b, 0xad, 0xd9, 0x9a, 0x0a, 0x9e, 0xdc, 0x09, 0xa2, 0x46, 0xa2, 0xb6, 0x13, 0x04, 0xa4, 0xe2, - 0x4e, 0x48, 0x91, 0x53, 0xe8, 0x75, 0x7e, 0x48, 0x4c, 0xb9, 0xa3, 0x6c, 0x96, 0x63, 0x8d, 0x5a, - 0x7e, 0xac, 0x14, 0xc9, 0x65, 0xc5, 0x44, 0x21, 0x92, 0x4b, 0x40, 0x95, 0x48, 0x9e, 0x2a, 0x96, - 0xd0, 0x23, 0x54, 0x52, 0x4a, 0x14, 0x8e, 0x50, 0x11, 0xa7, 0x72, 0x84, 0xa6, 0x89, 0x1e, 0xb5, - 0xe6, 0x67, 0xcf, 0x96, 0xb4, 0xcf, 0x9f, 0x2d, 0x69, 0xff, 0x7e, 0xb6, 0xa4, 0xfd, 0xf2, 0xf9, - 0xd2, 0xdc, 0xe7, 0xcf, 0x97, 0xe6, 0xbe, 0x78, 0xbe, 0x34, 0xf7, 0xbd, 0x5b, 0xc2, 0xff, 0x56, - 0x1a, 0xf2, 0x51, 0xa9, 0xf3, 0xbf, 0x31, 0x79, 0x57, 0xfc, 0x6b, 0x97, 0xe3, 0x3e, 0xf2, 0x5a, - 0x27, 0xe9, 0x1f, 0x94, 0xbc, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x55, 0xf6, 0x58, 0x2c, - 0x11, 0x33, 0x00, 0x00, + // 2477 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5b, 0xdf, 0x8b, 0x1b, 0xc7, + 0x1d, 0xbf, 0xb5, 0x74, 0xfe, 0xf1, 0x3d, 0xfb, 0x92, 0x6e, 0x2e, 0xb6, 0xbc, 0xb6, 0xef, 0xce, + 0x1b, 0xdb, 0x31, 0xa5, 0x95, 0xb8, 0x4b, 0x9b, 0xd8, 0xa6, 0x17, 0x47, 0xd2, 0x9d, 0xcf, 0xae, + 0xab, 0xda, 0xd1, 0x9d, 0x13, 0xda, 0x14, 0xca, 0x6a, 0x35, 0xa7, 0x5b, 0x4e, 0xda, 0x51, 0x67, + 0x57, 0x77, 0xb9, 0x40, 0x21, 0xd0, 0x52, 0x1a, 0x08, 0x6d, 0x09, 0x7d, 0x28, 0x14, 0x4a, 0x42, + 0x0b, 0x85, 0x40, 0xa1, 0xd0, 0x42, 0x1f, 0xfb, 0x9a, 0xc7, 0x3c, 0x95, 0xd0, 0x87, 0xb4, 0xd8, + 0x2f, 0xfd, 0x33, 0xca, 0xce, 0xce, 0xce, 0xce, 0xac, 0x76, 0x25, 0xcd, 0x4a, 0x79, 0xb2, 0x66, + 0x76, 0x3e, 0xdf, 0xef, 0x67, 0x7e, 0x7e, 0xbf, 0x33, 0x1f, 0x1f, 0x5c, 0xb6, 0x2d, 0xd2, 0xb6, + 0xf7, 0x2d, 0xc7, 0xad, 0xc4, 0xbf, 0xfc, 0x77, 0xcb, 0x7d, 0x82, 0x7d, 0xac, 0x5f, 0xdf, 0x44, + 0x36, 0x72, 0x7d, 0x62, 0x75, 0xeb, 0x16, 0x69, 0x6f, 0x5b, 0x3d, 0x54, 0xe6, 0xad, 0xe2, 0x5f, + 0xc6, 0x52, 0x07, 0x77, 0x30, 0x45, 0x54, 0x82, 0x5f, 0x21, 0xd8, 0xb8, 0x9a, 0x66, 0xda, 0xc6, + 0x03, 0xd7, 0x76, 0xba, 0xac, 0xc9, 0x4a, 0x5a, 0x93, 0x9e, 0xe5, 0xdb, 0xfb, 0xa3, 0x6c, 0x1c, + 0x62, 0x1f, 0x39, 0x6e, 0x87, 0x35, 0x59, 0xb6, 0xb1, 0xd7, 0xc3, 0x5e, 0xa5, 0x65, 0x79, 0xa8, + 0x72, 0xb8, 0xd6, 0x42, 0xbe, 0xb5, 0x56, 0xb1, 0xb1, 0xe3, 0x86, 0xdf, 0xcd, 0x1f, 0xc0, 0xb9, + 0x86, 0xd7, 0xa9, 0x13, 0x64, 0xf9, 0x68, 0xe0, 0x21, 0xa2, 0x97, 0xe0, 0x94, 0x1d, 0x94, 0x30, + 0x29, 0x69, 0xab, 0xda, 0xcd, 0x33, 0xcd, 0xa8, 0x18, 0x7c, 0x71, 0xd1, 0xd1, 0x13, 0x0f, 0x91, + 0xd2, 0x89, 0xf0, 0x0b, 0x2b, 0xea, 0x4b, 0x30, 0x6f, 0x75, 0x1d, 0xcb, 0x2b, 0x15, 0x68, 0x7d, + 0x58, 0x30, 0x2f, 0xc0, 0x8b, 0x92, 0xe9, 0x26, 0xf2, 0xfa, 0xd8, 0xf5, 0x90, 0xf9, 0x5b, 0x0d, + 0x9e, 0x6f, 0x78, 0x9d, 0xda, 0xe0, 0x38, 0x18, 0xb7, 0x1d, 0x7b, 0x1f, 0xf5, 0xd0, 0x08, 0xbf, + 0x3f, 0x82, 0x42, 0xcb, 0x69, 0x53, 0x9f, 0x0b, 0xeb, 0x17, 0xcb, 0x61, 0x87, 0xca, 0x41, 0x87, + 0xca, 0xac, 0x43, 0xe5, 0x3a, 0x76, 0xdc, 0x5a, 0xe5, 0xb3, 0x2f, 0x57, 0xe6, 0x3e, 0xfd, 0xcf, + 0xca, 0xcb, 0x1d, 0xc7, 0xdf, 0x1f, 0xb4, 0xca, 0x36, 0xee, 0x55, 0x58, 0xef, 0xc3, 0x7f, 0xbe, + 0xe9, 0xb5, 0x0f, 0x2a, 0xfe, 0x71, 0x1f, 0x79, 0x14, 0xd0, 0x0c, 0xcc, 0xde, 0x39, 0xfd, 0xcb, + 0x8f, 0x57, 0xe6, 0xfe, 0xf7, 0xf1, 0xca, 0x9c, 0xb9, 0x0e, 0xa5, 0x24, 0xab, 0x88, 0xb2, 0x7e, + 0x1e, 0x4e, 0x06, 0x23, 0xfc, 0xa0, 0x4d, 0xc9, 0x15, 0x9b, 0xac, 0x64, 0xbe, 0x03, 0x0b, 0x0d, + 0xaf, 0xf3, 0x16, 0xf6, 0x51, 0x00, 0x1a, 0xd1, 0x89, 0xd8, 0xc0, 0x09, 0xd1, 0x80, 0x6e, 0xc0, + 0xe9, 0x60, 0xc2, 0x76, 0x8f, 0xfb, 0x88, 0x8d, 0x1e, 0x2f, 0x9b, 0x1b, 0xf0, 0x82, 0x60, 0x9c, + 0x73, 0xb9, 0x01, 0x8b, 0x96, 0x43, 0xda, 0x04, 0xf7, 0xeb, 0x5d, 0xcb, 0xe9, 0xa1, 0x90, 0xd3, + 0xe9, 0x66, 0xa2, 0xd6, 0xfc, 0xbb, 0x06, 0x7a, 0xc3, 0xeb, 0xec, 0x58, 0x87, 0x14, 0x5f, 0xc7, + 0xae, 0x8f, 0x5c, 0x3f, 0x07, 0xc7, 0x00, 0x11, 0x82, 0x29, 0xc5, 0xb3, 0xcd, 0xa8, 0x18, 0x4c, + 0xbc, 0x8b, 0x7d, 0xe4, 0x95, 0x8a, 0xe1, 0xc4, 0xd3, 0x42, 0x60, 0xc7, 0x22, 0xbe, 0xe3, 0xf9, + 0xa5, 0x79, 0x5a, 0xcd, 0x4a, 0xfa, 0x35, 0x38, 0xd7, 0xb2, 0xba, 0x96, 0x6b, 0xa3, 0xaa, 0x6b, + 0xef, 0x63, 0x52, 0x3a, 0x49, 0x79, 0xcb, 0x95, 0xe6, 0x26, 0x18, 0xc3, 0xac, 0x95, 0x3b, 0xff, + 0x63, 0x78, 0xae, 0xe1, 0x75, 0x76, 0x89, 0xe5, 0x7a, 0x7b, 0x88, 0xe4, 0x9f, 0x1c, 0x82, 0x6c, + 0xe4, 0x1c, 0x22, 0xc2, 0x7a, 0xc8, 0xcb, 0xe6, 0x45, 0xb8, 0x90, 0x70, 0xc0, 0xd7, 0xf7, 0x87, + 0x1a, 0x75, 0xbe, 0x89, 0x5d, 0xcb, 0x47, 0xbb, 0x38, 0xa7, 0xf3, 0x6d, 0x38, 0x69, 0xf5, 0xf0, + 0x80, 0x0d, 0xfa, 0x99, 0x70, 0x79, 0xff, 0xfb, 0xcb, 0xc9, 0x97, 0x37, 0x83, 0x33, 0xa6, 0x22, + 0x1b, 0xce, 0xf4, 0x27, 0x74, 0xf7, 0x57, 0xdb, 0xed, 0x2a, 0xf1, 0x8f, 0x30, 0x39, 0xc8, 0x41, + 0x73, 0x09, 0xe6, 0x9d, 0x9e, 0xd5, 0x41, 0x6c, 0x69, 0x84, 0x85, 0xc0, 0xce, 0xde, 0xa0, 0xdb, + 0xad, 0x12, 0x9f, 0x0e, 0xdc, 0xe9, 0x66, 0x54, 0x64, 0xa7, 0x42, 0xec, 0x92, 0x73, 0xf9, 0xb9, + 0x16, 0x4e, 0xfc, 0xa0, 0xd5, 0x73, 0xfc, 0x3a, 0xee, 0x1f, 0x13, 0xa7, 0xb3, 0xef, 0x3f, 0x26, + 0xb8, 0x8f, 0x3d, 0xab, 0x9b, 0x83, 0xd9, 0x2a, 0x2c, 0xb4, 0x91, 0x67, 0x13, 0xa7, 0xef, 0x3b, + 0xd8, 0x65, 0xbb, 0x4b, 0xac, 0xd2, 0x75, 0x28, 0x76, 0x1d, 0xf7, 0x80, 0xcd, 0x2d, 0xfd, 0x6d, + 0x5e, 0x03, 0x33, 0x9b, 0x05, 0x27, 0xfb, 0x0e, 0x9d, 0xe1, 0xfa, 0xbe, 0xe5, 0x76, 0x50, 0x35, + 0x5c, 0xdd, 0xe3, 0x09, 0x6e, 0x4a, 0x04, 0x37, 0x85, 0x7d, 0x52, 0x10, 0xf7, 0x09, 0x9b, 0x30, + 0xd1, 0x38, 0xf7, 0xbb, 0x46, 0x47, 0xaf, 0x89, 0x3a, 0x8e, 0xe7, 0x23, 0x72, 0x0f, 0x93, 0x7a, + 0x18, 0x31, 0xb2, 0xbd, 0x9b, 0x2b, 0x70, 0x25, 0x15, 0xc2, 0x6d, 0xfe, 0x4b, 0x83, 0x45, 0xda, + 0xa2, 0x8f, 0x89, 0xdf, 0x08, 0xc2, 0xcb, 0xe8, 0x20, 0x40, 0x23, 0x10, 0x1f, 0xed, 0xa8, 0xa8, + 0x9b, 0x70, 0xb6, 0xdf, 0xb5, 0x8e, 0x51, 0x3b, 0x58, 0x61, 0x5e, 0xb5, 0x54, 0x58, 0x2d, 0xdc, + 0x2c, 0x36, 0xa5, 0xba, 0x44, 0x9b, 0x5a, 0xa9, 0x38, 0xd4, 0xa6, 0xa6, 0xdf, 0x87, 0x53, 0x78, + 0xe0, 0xdb, 0xb8, 0x87, 0xe8, 0xf1, 0xb1, 0xb8, 0x5e, 0x2e, 0x4f, 0x14, 0x67, 0xcb, 0x8f, 0x42, + 0x54, 0x33, 0x82, 0x9b, 0xeb, 0x70, 0x5e, 0xee, 0x17, 0x3f, 0x45, 0x84, 0x5e, 0x68, 0x52, 0x2f, + 0xcc, 0x8f, 0x34, 0x58, 0xe6, 0xf3, 0xcf, 0x40, 0x01, 0x1e, 0x91, 0x09, 0x56, 0x22, 0x3d, 0x2f, + 0xc2, 0xd6, 0x2c, 0x44, 0xf2, 0x72, 0x80, 0x6a, 0xa3, 0x3e, 0xf6, 0x9c, 0x68, 0xb6, 0xa3, 0x62, + 0x72, 0x9d, 0x16, 0x87, 0xd6, 0xa9, 0x79, 0x13, 0x6e, 0x8c, 0xe6, 0xc4, 0xe7, 0xf2, 0xfb, 0xb4, + 0xcb, 0xd5, 0x3e, 0x76, 0x5c, 0xb9, 0x65, 0x3e, 0xd6, 0xe6, 0x2a, 0x1d, 0x8d, 0x14, 0x7b, 0xdc, + 0xe3, 0x27, 0x1a, 0x8d, 0x52, 0x61, 0x98, 0xaf, 0xe3, 0x6e, 0x17, 0xd9, 0x74, 0x6f, 0x65, 0xfb, + 0xd3, 0xa1, 0xe8, 0x5a, 0x3d, 0xc4, 0x7c, 0xd1, 0xdf, 0x59, 0x5b, 0x21, 0x18, 0x1b, 0xcf, 0xc7, + 0xe4, 0xf8, 0x6d, 0xe2, 0xf8, 0xfc, 0x10, 0x16, 0xab, 0x82, 0x25, 0x15, 0x44, 0x23, 0xe2, 0xb4, + 0x06, 0x3e, 0x26, 0x5e, 0x69, 0x7e, 0xb5, 0x70, 0xf3, 0x4c, 0x53, 0xaa, 0x33, 0xaf, 0xc0, 0xa5, + 0x14, 0x8a, 0xbc, 0x0b, 0x6e, 0x38, 0x68, 0x6d, 0xba, 0x02, 0x77, 0xf1, 0x44, 0x9d, 0xa0, 0x6e, + 0xa3, 0x76, 0x7c, 0x33, 0x48, 0x75, 0xc2, 0xc1, 0x54, 0x90, 0x92, 0x06, 0x36, 0xa8, 0xc3, 0xfe, + 0x38, 0xa3, 0x27, 0x74, 0x9b, 0xdf, 0x73, 0x5c, 0xab, 0xeb, 0xbc, 0x87, 0x66, 0x45, 0x88, 0x1d, + 0x05, 0xc3, 0x66, 0xb9, 0xdf, 0xc7, 0x3c, 0x31, 0x9b, 0x95, 0xcb, 0x1a, 0x4f, 0xaa, 0x86, 0xbc, + 0x4d, 0x1c, 0xcb, 0x3d, 0x3a, 0x7d, 0x4d, 0xd4, 0xc3, 0x61, 0x4e, 0x70, 0x8f, 0xe0, 0xde, 0x57, + 0x3e, 0x49, 0xd7, 0xe1, 0xa5, 0x11, 0x4e, 0xf9, 0x88, 0x1d, 0xd2, 0x70, 0xc1, 0x9a, 0xc5, 0x6b, + 0x6e, 0xa6, 0x14, 0x75, 0x28, 0x06, 0xf9, 0x33, 0xdb, 0x1a, 0xf4, 0xb7, 0xf9, 0x0d, 0xf8, 0xfa, + 0x78, 0xbf, 0x42, 0x9c, 0xbf, 0xc2, 0x56, 0x5c, 0xdc, 0x74, 0x86, 0x0b, 0x3d, 0x8d, 0xe0, 0xcb, + 0x70, 0x7d, 0xa4, 0x4b, 0x21, 0x94, 0x5e, 0x12, 0x02, 0x6e, 0xf4, 0x79, 0x82, 0xd3, 0x76, 0x92, + 0xe5, 0x17, 0xce, 0x62, 0x96, 0x71, 0xce, 0xe1, 0x83, 0x30, 0x55, 0x0e, 0x4f, 0x88, 0x1d, 0xd4, + 0xed, 0x3e, 0xda, 0xdb, 0x1b, 0x79, 0x66, 0xea, 0x50, 0x0c, 0xd6, 0x09, 0xf3, 0x49, 0x7f, 0xeb, + 0x5b, 0x30, 0xdf, 0x27, 0x8e, 0x8d, 0xf2, 0xe6, 0x6b, 0x21, 0xda, 0xbc, 0x4c, 0xd3, 0xa0, 0x04, + 0x15, 0xce, 0xf4, 0x3e, 0x40, 0x7c, 0x49, 0x19, 0x41, 0x30, 0x38, 0x38, 0x23, 0x30, 0x1f, 0x1b, + 0xb1, 0xca, 0x5c, 0xa2, 0x5d, 0x66, 0x96, 0x84, 0x13, 0x40, 0xe7, 0xeb, 0x6a, 0x92, 0x81, 0x18, + 0xef, 0x27, 0xec, 0x4f, 0xc2, 0x22, 0xf7, 0x87, 0xe1, 0xa2, 0x94, 0x0e, 0xce, 0x70, 0x55, 0xa6, + 0x66, 0xa6, 0xe6, 0x4b, 0x70, 0x35, 0xd3, 0x21, 0x67, 0xd5, 0xa3, 0x19, 0x58, 0xb5, 0xdd, 0xde, + 0x09, 0x22, 0xcd, 0x6c, 0x39, 0xd1, 0xe0, 0x15, 0xdd, 0x94, 0x69, 0xc1, 0xbc, 0x0a, 0x2b, 0x19, + 0xee, 0x38, 0xa3, 0xf7, 0xc3, 0x3b, 0xf3, 0x0e, 0xf2, 0xe9, 0x74, 0x59, 0xc4, 0xf1, 0x8f, 0x73, + 0xe4, 0xc4, 0x49, 0x8e, 0x85, 0xf4, 0x13, 0x91, 0x50, 0xfb, 0x2c, 0xdc, 0xb2, 0x92, 0x69, 0xd0, + 0xa3, 0x5c, 0x62, 0xc0, 0xe9, 0x6d, 0x52, 0x76, 0x51, 0x84, 0x1d, 0x93, 0x92, 0x66, 0xb1, 0x63, + 0x1e, 0x24, 0x2b, 0xdc, 0xc3, 0xaf, 0xb4, 0xf0, 0x23, 0xee, 0xd1, 0xad, 0x2c, 0x7d, 0x1c, 0x97, + 0xdc, 0x84, 0xad, 0xe2, 0xe4, 0x86, 0xa1, 0x2e, 0xc3, 0x19, 0xf6, 0xe0, 0xc2, 0x47, 0x22, 0xae, + 0xd0, 0x97, 0x01, 0xbc, 0x41, 0xa7, 0x83, 0x3c, 0x21, 0x2b, 0x13, 0x6a, 0x4c, 0x13, 0x56, 0xb3, + 0xf8, 0x70, 0xd2, 0xff, 0x08, 0x49, 0x37, 0xd1, 0x21, 0xb2, 0xba, 0x93, 0x93, 0x7e, 0x98, 0x20, + 0xbd, 0xb8, 0x5e, 0x99, 0x30, 0x07, 0xe6, 0x0c, 0xe2, 0x5e, 0x9e, 0x87, 0x93, 0x1e, 0xb2, 0x09, + 0xe2, 0xa9, 0x55, 0x58, 0x92, 0x7b, 0x5f, 0x4c, 0xf4, 0x9e, 0xf5, 0x2e, 0x95, 0x38, 0xef, 0xdd, + 0x43, 0xf8, 0x1a, 0x6d, 0xe3, 0xf9, 0x16, 0xf1, 0xc7, 0xcf, 0xba, 0xe4, 0xf0, 0x44, 0xd2, 0xe1, + 0x25, 0x7a, 0x10, 0xc8, 0xc6, 0xb8, 0xa7, 0x5b, 0x70, 0x99, 0x7e, 0x3c, 0xc2, 0x07, 0xf1, 0xc2, + 0x08, 0x2e, 0x34, 0xc4, 0x1a, 0xbd, 0x29, 0xcd, 0x1b, 0x70, 0x6d, 0x14, 0x92, 0x7b, 0x78, 0x1a, + 0xde, 0xd9, 0xeb, 0xd8, 0xdd, 0x73, 0x48, 0x2f, 0xff, 0x2d, 0x48, 0xb8, 0xbd, 0x14, 0xa6, 0xba, + 0xbd, 0xe8, 0x6f, 0x02, 0x1c, 0x62, 0x9f, 0x5d, 0x8b, 0xe8, 0x4d, 0x69, 0x61, 0x7d, 0x6d, 0x42, + 0x63, 0x3b, 0x8e, 0xdb, 0xe9, 0xa2, 0xb7, 0xb0, 0x8f, 0x9a, 0x82, 0x91, 0xe8, 0x62, 0x29, 0xf4, + 0x91, 0xf7, 0x7f, 0x8b, 0xce, 0xe5, 0x0e, 0x0a, 0xae, 0xba, 0x7b, 0x4e, 0x37, 0xe7, 0x73, 0x16, + 0x9b, 0x45, 0xd9, 0x0c, 0xf7, 0xb1, 0x4b, 0x63, 0xcb, 0xa3, 0x3e, 0x72, 0x6b, 0x18, 0x07, 0x97, + 0xd1, 0xc7, 0x96, 0x3d, 0xea, 0xc9, 0xe1, 0x1a, 0x9c, 0x6b, 0xc5, 0x0d, 0xb9, 0x2f, 0xb9, 0xd2, + 0x7c, 0x95, 0xc6, 0x97, 0x84, 0x55, 0x69, 0x93, 0x51, 0x6a, 0x5e, 0x49, 0xa3, 0x97, 0xcd, 0xa8, + 0x68, 0xfa, 0x34, 0xeb, 0x8f, 0x1e, 0x70, 0x66, 0xc8, 0x48, 0x7a, 0x36, 0x2a, 0x24, 0x9e, 0x8d, + 0xc2, 0xdc, 0x3f, 0xc5, 0x2b, 0x1f, 0xa5, 0x9f, 0x86, 0xf9, 0x10, 0x12, 0xf2, 0x95, 0x1d, 0xe1, + 0xbe, 0x33, 0x5d, 0xfc, 0x49, 0xdc, 0xa7, 0x0a, 0x43, 0xf7, 0xa9, 0x28, 0x63, 0xca, 0x70, 0x9f, + 0xb8, 0x33, 0x49, 0xcd, 0xc6, 0xbe, 0x83, 0x4c, 0x98, 0x8e, 0xa7, 0xbe, 0x89, 0x84, 0xe3, 0x96, + 0xe2, 0x8f, 0x33, 0xda, 0x8e, 0x56, 0xf0, 0x13, 0x0f, 0x91, 0xb7, 0x51, 0xcb, 0x73, 0x7c, 0x34, + 0x7a, 0x0b, 0x1f, 0x85, 0x8d, 0xa2, 0xd7, 0x6c, 0x56, 0x8c, 0xd7, 0xb0, 0x60, 0x88, 0x7b, 0x69, + 0xd0, 0xdb, 0x2e, 0xfb, 0x58, 0x73, 0x70, 0x87, 0x58, 0xfd, 0xfd, 0xe3, 0xd1, 0xa7, 0x5e, 0x2b, + 0x6a, 0xc6, 0x3c, 0xc5, 0x15, 0xec, 0x66, 0x9a, 0x34, 0xc7, 0xbd, 0x0d, 0x68, 0x58, 0x6d, 0x0c, + 0xba, 0xbe, 0x33, 0xc1, 0x1b, 0xf3, 0x36, 0xcc, 0x1f, 0xd2, 0xd7, 0xd8, 0x13, 0x79, 0x0f, 0x8b, + 0x10, 0xcf, 0xe2, 0xb0, 0xe4, 0x96, 0x53, 0xfa, 0x63, 0x78, 0x50, 0xb2, 0x2d, 0x37, 0xc1, 0x41, + 0x49, 0x1f, 0x77, 0x48, 0x35, 0x1a, 0x65, 0x56, 0x8c, 0xbf, 0xd4, 0xa2, 0xf7, 0x10, 0x56, 0x0c, + 0xd6, 0x28, 0x6b, 0xb4, 0x89, 0xec, 0x03, 0xf6, 0x46, 0x24, 0x56, 0xc5, 0x2d, 0x6a, 0xb4, 0xc5, + 0xbc, 0xd8, 0x82, 0x56, 0x99, 0xaf, 0xd0, 0x93, 0x4e, 0x24, 0x39, 0xfe, 0xed, 0x67, 0xfd, 0x8b, + 0x35, 0x28, 0x34, 0xbc, 0x8e, 0xfe, 0xbe, 0x06, 0x20, 0x28, 0x22, 0xdf, 0x9a, 0x70, 0x1c, 0x25, + 0xb1, 0xc3, 0xf8, 0x4e, 0x1e, 0x14, 0x27, 0xf9, 0x81, 0x06, 0xe7, 0x64, 0x7d, 0xe4, 0xb5, 0xc9, + 0xed, 0x49, 0x40, 0xe3, 0x6e, 0x4e, 0x20, 0xe7, 0xf2, 0x1e, 0x9c, 0xe6, 0x8b, 0x6f, 0x7d, 0x72, + 0x63, 0x11, 0xc6, 0xb8, 0xa3, 0x8e, 0xe1, 0xbe, 0x7f, 0xad, 0xc1, 0x73, 0x49, 0x01, 0xe3, 0xf6, + 0xe4, 0xf6, 0x12, 0x50, 0xa3, 0x9a, 0x1b, 0xca, 0x19, 0xfd, 0x42, 0x83, 0xb3, 0x92, 0xac, 0xf0, + 0xea, 0xe4, 0x36, 0x45, 0x9c, 0xf1, 0x7a, 0x3e, 0x9c, 0x44, 0x44, 0x92, 0x18, 0x14, 0x88, 0x88, + 0x38, 0x15, 0x22, 0x69, 0x22, 0x02, 0xdd, 0x2e, 0x82, 0x84, 0xa0, 0xb0, 0x5d, 0x62, 0x94, 0xca, + 0x76, 0x19, 0xd6, 0x0e, 0xf4, 0x3f, 0x6b, 0x70, 0x21, 0x4b, 0x38, 0x50, 0x99, 0xf3, 0x74, 0x13, + 0xc6, 0x83, 0xa9, 0x4d, 0x48, 0xb3, 0x26, 0xc9, 0x06, 0x0a, 0xb3, 0x26, 0xe2, 0x54, 0x66, 0x2d, + 0x4d, 0x49, 0xd0, 0x7f, 0xa7, 0x81, 0x9e, 0xa2, 0x23, 0x28, 0xcc, 0xc3, 0x30, 0xda, 0xd8, 0x9c, + 0x06, 0xcd, 0xa9, 0xfd, 0x4c, 0x83, 0x05, 0x51, 0x8d, 0xf8, 0xb6, 0x8a, 0x55, 0x0e, 0x33, 0x36, + 0x72, 0xc1, 0x38, 0x8b, 0xbf, 0x69, 0x70, 0x69, 0x94, 0x0c, 0xb0, 0xa5, 0xba, 0x28, 0x52, 0xcd, + 0x18, 0x8d, 0x99, 0x98, 0xe1, 0xac, 0x7f, 0xaf, 0xc1, 0x0b, 0x69, 0xcf, 0xff, 0x0a, 0x83, 0x91, + 0x02, 0x37, 0xb6, 0xa6, 0x82, 0x73, 0x76, 0x1f, 0x69, 0xf0, 0xfc, 0x90, 0x52, 0x70, 0x47, 0x35, + 0x52, 0xc6, 0x58, 0xa3, 0x96, 0x1f, 0x2b, 0x0f, 0x59, 0xca, 0xe3, 0xff, 0x86, 0xd2, 0x91, 0x94, + 0x84, 0x2b, 0x0d, 0x59, 0xb6, 0x14, 0x40, 0xf7, 0x69, 0x8a, 0x10, 0xa0, 0xb0, 0x4f, 0x87, 0xd1, + 0x2a, 0xfb, 0x34, 0x5b, 0x2d, 0xe0, 0x49, 0x4a, 0xcc, 0x4a, 0x31, 0x49, 0x89, 0x09, 0xdd, 0xcd, + 0x09, 0xe4, 0x5c, 0x3e, 0xd5, 0xa0, 0x94, 0xa9, 0x10, 0xd4, 0x54, 0x4e, 0x82, 0x74, 0x1b, 0xc6, + 0x77, 0xa7, 0xb7, 0xc1, 0xc9, 0xfe, 0x53, 0x83, 0x95, 0x71, 0x92, 0xc1, 0x03, 0x65, 0x7f, 0x59, + 0xa6, 0x8c, 0x37, 0x67, 0x66, 0x8a, 0xf7, 0xe0, 0xaf, 0x1a, 0x18, 0x23, 0xe4, 0x84, 0x4d, 0xb5, + 0xb5, 0x9f, 0x6e, 0xc5, 0xf8, 0xde, 0x2c, 0xac, 0x48, 0x2b, 0x24, 0x53, 0x65, 0xa8, 0xa9, 0x47, + 0xf8, 0xa4, 0x0d, 0x95, 0x15, 0x32, 0x4e, 0x90, 0xa0, 0x79, 0x6f, 0x52, 0x8d, 0xb8, 0xad, 0x7a, + 0xd6, 0x71, 0xa8, 0x4a, 0xde, 0x9b, 0x21, 0x3c, 0xe8, 0x47, 0x70, 0x2a, 0x52, 0x1d, 0xd6, 0x94, + 0x6f, 0x14, 0xc6, 0x6d, 0x65, 0x88, 0x34, 0x14, 0x49, 0x3d, 0xe2, 0xb6, 0xea, 0x8a, 0xce, 0x35, + 0x14, 0x19, 0x9a, 0x85, 0xfe, 0x27, 0x0d, 0xce, 0x67, 0x28, 0x16, 0x6f, 0xe4, 0x49, 0x63, 0xa5, + 0x45, 0x7f, 0x7f, 0x5a, 0x0b, 0x9c, 0xe6, 0x1f, 0x34, 0x58, 0x4a, 0x95, 0x30, 0x5e, 0x57, 0x72, + 0x31, 0x84, 0x37, 0xee, 0x4d, 0x87, 0x97, 0xe2, 0x87, 0x2c, 0x68, 0x28, 0xc4, 0x0f, 0x09, 0xa8, + 0x12, 0x3f, 0x52, 0x05, 0x0c, 0xca, 0x45, 0x96, 0x2f, 0x5e, 0x53, 0x4f, 0x2d, 0xc2, 0x24, 0xf8, + 0x6e, 0x4e, 0x20, 0xe7, 0xf2, 0x89, 0x06, 0x2f, 0xa6, 0xeb, 0x1c, 0x2a, 0xa6, 0xd3, 0x0c, 0x18, + 0xdb, 0x53, 0x1a, 0x90, 0x38, 0xa6, 0xcb, 0x1a, 0x77, 0x55, 0x36, 0x58, 0x8a, 0x01, 0x15, 0x8e, + 0x23, 0xf5, 0x09, 0xfd, 0x43, 0x0d, 0x16, 0x13, 0xea, 0xc4, 0x2d, 0x15, 0xdb, 0x22, 0xd2, 0x78, + 0x23, 0x2f, 0x92, 0xd3, 0xf9, 0x8b, 0x06, 0x17, 0xb3, 0x25, 0x8c, 0xba, 0x8a, 0xfd, 0x0c, 0x23, + 0xc6, 0xc3, 0x19, 0x18, 0x91, 0xaf, 0xaa, 0xa2, 0x1e, 0xa2, 0x72, 0x55, 0x15, 0x70, 0x4a, 0x57, + 0xd5, 0x14, 0x6d, 0x82, 0xce, 0x63, 0x42, 0x99, 0xb8, 0xa5, 0xb4, 0xdf, 0x05, 0xa4, 0xca, 0x3c, + 0xa6, 0xcb, 0x18, 0x34, 0x20, 0x25, 0x45, 0x0c, 0x85, 0x80, 0x94, 0x80, 0xaa, 0x04, 0xa4, 0x2c, + 0x91, 0x23, 0xb8, 0xc1, 0xa4, 0x09, 0x19, 0x1b, 0xea, 0x4f, 0x4c, 0x22, 0xb3, 0xad, 0xa9, 0xe0, + 0x72, 0xe2, 0x95, 0x25, 0x67, 0xd4, 0xd4, 0x0e, 0xee, 0x34, 0x1b, 0x4a, 0x89, 0xd7, 0x18, 0x5d, + 0x83, 0x0e, 0x65, 0x9a, 0xaa, 0xb1, 0x91, 0xd3, 0x07, 0x7b, 0xad, 0xd9, 0x9a, 0x0a, 0x9e, 0xdc, + 0x09, 0xa2, 0xc2, 0xa1, 0xb6, 0x13, 0x04, 0xa4, 0xe2, 0x4e, 0x48, 0x11, 0x43, 0xe8, 0x75, 0x7e, + 0x48, 0x0a, 0xb9, 0xa3, 0x6c, 0x96, 0x63, 0x8d, 0x5a, 0x7e, 0xac, 0x14, 0xc9, 0x65, 0xc5, 0x44, + 0x21, 0x92, 0x4b, 0x40, 0x95, 0x48, 0x9e, 0x2a, 0x96, 0xd0, 0x23, 0x54, 0x52, 0x4a, 0x14, 0x8e, + 0x50, 0x11, 0xa7, 0x72, 0x84, 0xa6, 0x89, 0x1e, 0xb5, 0xe6, 0x67, 0x4f, 0x97, 0xb5, 0xcf, 0x9f, + 0x2e, 0x6b, 0xff, 0x7d, 0xba, 0xac, 0xfd, 0xe6, 0xd9, 0xf2, 0xdc, 0xe7, 0xcf, 0x96, 0xe7, 0xbe, + 0x78, 0xb6, 0x3c, 0xf7, 0xc3, 0x5b, 0xc2, 0x7f, 0x4f, 0x1a, 0xf2, 0x51, 0xa9, 0xf3, 0x3f, 0x2b, + 0x79, 0x57, 0xfc, 0x0b, 0x98, 0xe3, 0x3e, 0xf2, 0x5a, 0x27, 0xe9, 0x5f, 0x90, 0xbc, 0xf2, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x1a, 0x54, 0xf7, 0x25, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -8128,22 +8074,18 @@ func (m *MsgConfirmMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.VotedCards) > 0 { - dAtA7 := make([]byte, len(m.VotedCards)*10) - var j6 int - for _, num := range m.VotedCards { - for num >= 1<<7 { - dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j6++ + for iNdEx := len(m.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.VotedCards[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - dAtA7[j6] = uint8(num) - j6++ + i-- + dAtA[i] = 0x22 } - i -= j6 - copy(dAtA[i:], dAtA7[:j6]) - i = encodeVarintTx(dAtA, i, uint64(j6)) - i-- - dAtA[i] = 0x22 } if m.Outcome != 0 { i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) @@ -8302,20 +8244,20 @@ func (m *MsgOpenBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, err var l int _ = l if len(m.CardIds) > 0 { - dAtA9 := make([]byte, len(m.CardIds)*10) - var j8 int + dAtA7 := make([]byte, len(m.CardIds)*10) + var j6 int for _, num := range m.CardIds { for num >= 1<<7 { - dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) + dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j8++ + j6++ } - dAtA9[j8] = uint8(num) - j8++ + dAtA7[j6] = uint8(num) + j6++ } - i -= j8 - copy(dAtA[i:], dAtA9[:j8]) - i = encodeVarintTx(dAtA, i, uint64(j8)) + i -= j6 + copy(dAtA[i:], dAtA7[:j6]) + i = encodeVarintTx(dAtA, i, uint64(j6)) i-- dAtA[i] = 0xa } @@ -8637,41 +8579,6 @@ func (m *MsgSetUserBiographyResponse) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *SingleVote) 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 *SingleVote) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SingleVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.VoteType) > 0 { - i -= len(m.VoteType) - copy(dAtA[i:], m.VoteType) - i = encodeVarintTx(dAtA, i, uint64(len(m.VoteType))) - i-- - dAtA[i] = 0x12 - } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - func (m *MsgMultiVoteCard) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -8760,38 +8667,38 @@ func (m *MsgMsgOpenMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.PlayerBDeck) > 0 { - dAtA11 := make([]byte, len(m.PlayerBDeck)*10) - var j10 int + dAtA9 := make([]byte, len(m.PlayerBDeck)*10) + var j8 int for _, num := range m.PlayerBDeck { for num >= 1<<7 { - dAtA11[j10] = uint8(uint64(num)&0x7f | 0x80) + dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j10++ + j8++ } - dAtA11[j10] = uint8(num) - j10++ + dAtA9[j8] = uint8(num) + j8++ } - i -= j10 - copy(dAtA[i:], dAtA11[:j10]) - i = encodeVarintTx(dAtA, i, uint64(j10)) + i -= j8 + copy(dAtA[i:], dAtA9[:j8]) + i = encodeVarintTx(dAtA, i, uint64(j8)) i-- dAtA[i] = 0x2a } if len(m.PlayerADeck) > 0 { - dAtA13 := make([]byte, len(m.PlayerADeck)*10) - var j12 int + dAtA11 := make([]byte, len(m.PlayerADeck)*10) + var j10 int for _, num := range m.PlayerADeck { for num >= 1<<7 { - dAtA13[j12] = uint8(uint64(num)&0x7f | 0x80) + dAtA11[j10] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j12++ + j10++ } - dAtA13[j12] = uint8(num) - j12++ + dAtA11[j10] = uint8(num) + j10++ } - i -= j12 - copy(dAtA[i:], dAtA13[:j12]) - i = encodeVarintTx(dAtA, i, uint64(j12)) + i -= j10 + copy(dAtA[i:], dAtA11[:j10]) + i = encodeVarintTx(dAtA, i, uint64(j10)) i-- dAtA[i] = 0x22 } @@ -9820,11 +9727,10 @@ func (m *MsgConfirmMatch) Size() (n int) { n += 1 + sovTx(uint64(m.Outcome)) } if len(m.VotedCards) > 0 { - l = 0 for _, e := range m.VotedCards { - l += sovTx(uint64(e)) + l = e.Size() + n += 1 + l + sovTx(uint64(l)) } - n += 1 + sovTx(uint64(l)) + l } return n } @@ -10034,22 +9940,6 @@ func (m *MsgSetUserBiographyResponse) Size() (n int) { return n } -func (m *SingleVote) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - l = len(m.VoteType) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - func (m *MsgMultiVoteCard) Size() (n int) { if m == nil { return 0 @@ -16286,81 +16176,39 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { } } case 4: - if wireType == 0 { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.VotedCards = append(m.VotedCards, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(m.VotedCards) == 0 { - m.VotedCards = make([]uint64, 0, elementCount) - } - for iNdEx < postIndex { - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.VotedCards = append(m.VotedCards, v) + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VotedCards = append(m.VotedCards, &SingleVote{}) + if err := m.VotedCards[len(m.VotedCards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17687,107 +17535,6 @@ func (m *MsgSetUserBiographyResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *SingleVote) 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 ErrIntOverflowTx - } - 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: SingleVote: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SingleVote: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - 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 ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.VoteType = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *MsgMultiVoteCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index 23d20993..78a34177 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -366,45 +366,45 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/user.proto", fileDescriptor_eb1a13ac65ffc756) } var fileDescriptor_eb1a13ac65ffc756 = []byte{ - // 597 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x6a, 0xdb, 0x40, - 0x10, 0xc7, 0x2d, 0x4b, 0x89, 0xe5, 0x71, 0x3e, 0xc4, 0x52, 0xca, 0x52, 0x8a, 0x10, 0x26, 0x05, - 0x91, 0x83, 0x5d, 0xdc, 0x1e, 0x7a, 0xe8, 0xa5, 0x49, 0xa0, 0x94, 0x52, 0x30, 0x9b, 0x36, 0x87, - 0x5c, 0xca, 0x4a, 0x9e, 0xc6, 0x4b, 0x65, 0xad, 0xd8, 0x5d, 0x27, 0xf5, 0x5b, 0xf4, 0xb1, 0x7a, - 0xcc, 0xb1, 0xd0, 0x4b, 0x49, 0x5e, 0xa4, 0xec, 0xca, 0x8e, 0x3f, 0xd2, 0x83, 0x6f, 0x33, 0xbf, - 0xd5, 0xfc, 0x67, 0x46, 0xfc, 0x77, 0x21, 0xce, 0xb9, 0x1a, 0xe5, 0x63, 0x2e, 0xca, 0xfe, 0x32, - 0x9a, 0x6a, 0x54, 0xbd, 0x4a, 0x49, 0x23, 0xc9, 0x8b, 0x33, 0xcc, 0xb1, 0x34, 0x8a, 0x17, 0xa7, - 0x5c, 0x8d, 0xde, 0xf3, 0x09, 0xf6, 0x1e, 0xbe, 0x5b, 0x46, 0xcf, 0x8e, 0xfe, 0x27, 0x73, 0x2d, - 0x0d, 0x7e, 0x55, 0xe2, 0x6a, 0x6c, 0x6a, 0xb1, 0xee, 0x9f, 0x00, 0x82, 0x2f, 0x1a, 0x15, 0x79, - 0x02, 0x3b, 0xbc, 0x10, 0x5c, 0x53, 0x2f, 0xf1, 0xd2, 0x36, 0xab, 0x13, 0x72, 0x0c, 0x91, 0xbc, - 0x29, 0x71, 0x64, 0x3b, 0x9d, 0xe7, 0x63, 0x9c, 0xa0, 0xa6, 0xcd, 0xc4, 0x4f, 0x03, 0xf6, 0x88, - 0x93, 0x14, 0x0e, 0x1d, 0x1b, 0x5a, 0x61, 0x33, 0xab, 0x50, 0x53, 0xdf, 0x7d, 0xba, 0x89, 0x6d, - 0x2f, 0x3b, 0x92, 0xa6, 0x81, 0x3b, 0xaf, 0x13, 0x32, 0x04, 0xb0, 0xe3, 0x31, 0x3b, 0x9d, 0xa6, - 0x3b, 0x89, 0x9f, 0x76, 0x06, 0x2f, 0x7b, 0x5b, 0x2d, 0xdb, 0xbb, 0x58, 0x14, 0xb2, 0x15, 0x0d, - 0x72, 0x09, 0xfb, 0xa7, 0x72, 0x5a, 0xe6, 0xa2, 0x38, 0x37, 0xdc, 0x4c, 0x35, 0xdd, 0x4d, 0xbc, - 0xf4, 0x60, 0xf0, 0x7a, 0x4b, 0xd1, 0xb5, 0x5a, 0xb6, 0x2e, 0x45, 0x8e, 0x60, 0x9f, 0x61, 0x25, - 0x95, 0xf9, 0xc4, 0x4d, 0x3e, 0x46, 0x4d, 0x5b, 0x89, 0x97, 0x86, 0x6c, 0x1d, 0x92, 0x04, 0x3a, - 0x95, 0x92, 0xdf, 0x44, 0x81, 0xb6, 0x13, 0x0d, 0x13, 0x2f, 0x0d, 0xd8, 0x2a, 0x22, 0x1f, 0x21, - 0xe4, 0x42, 0x9d, 0x29, 0x59, 0x69, 0xda, 0x4e, 0xbc, 0xb4, 0x33, 0xe8, 0x6f, 0x39, 0xde, 0xbb, - 0x79, 0x19, 0x7b, 0x10, 0x20, 0x17, 0xb0, 0x97, 0x49, 0xa9, 0x0d, 0xaa, 0x21, 0xcf, 0xbf, 0x6b, - 0x0a, 0xee, 0x27, 0x0e, 0xb6, 0x14, 0x3c, 0x59, 0x96, 0xb2, 0x35, 0x1d, 0x42, 0xa1, 0x75, 0x83, - 0x99, 0x16, 0x06, 0x69, 0xc7, 0xd9, 0x63, 0x91, 0x92, 0xe7, 0xd0, 0xce, 0x84, 0xbc, 0x52, 0xbc, - 0x1a, 0xcf, 0xe8, 0x9e, 0x3b, 0x5b, 0x82, 0xee, 0x0c, 0x3a, 0x2b, 0xa2, 0xa4, 0x0b, 0x7b, 0xb9, - 0x2c, 0x0a, 0xcc, 0x8d, 0x90, 0xe5, 0x87, 0x91, 0xb3, 0x5a, 0xc0, 0xd6, 0x98, 0x15, 0x34, 0x62, - 0x82, 0xe7, 0x86, 0x4f, 0x2a, 0xda, 0x4c, 0xbc, 0xd4, 0x67, 0x4b, 0x60, 0x3d, 0xa6, 0xb8, 0x12, - 0x46, 0xa0, 0x1e, 0xd6, 0xa2, 0x0b, 0x8f, 0x6d, 0xe0, 0x6e, 0x05, 0xe1, 0xe2, 0x07, 0x11, 0x02, - 0x81, 0x75, 0x85, 0xeb, 0x17, 0x32, 0x17, 0x93, 0xa7, 0xb0, 0x9b, 0x2b, 0xe4, 0x06, 0x5d, 0x93, - 0x90, 0xcd, 0x33, 0x12, 0x81, 0x9f, 0x4d, 0x67, 0xd4, 0x77, 0xd0, 0x86, 0xb6, 0xba, 0x2a, 0xf8, - 0x8c, 0x06, 0x75, 0xb5, 0x8d, 0x2d, 0xb3, 0x37, 0x92, 0xee, 0xd4, 0xcc, 0xc6, 0xc7, 0x9f, 0x37, - 0xdc, 0x46, 0xf6, 0xa1, 0xcd, 0xaf, 0xb9, 0x28, 0x78, 0x56, 0x60, 0xd4, 0x20, 0x87, 0xd0, 0x99, - 0x96, 0x4b, 0xe0, 0x59, 0x20, 0x2b, 0x2c, 0xe7, 0x45, 0x51, 0x93, 0x10, 0x38, 0xd0, 0x86, 0x2b, - 0x83, 0xa3, 0x05, 0xf3, 0x8f, 0xdf, 0x42, 0x6b, 0xbe, 0x07, 0x09, 0xeb, 0x41, 0xa2, 0x86, 0x8d, - 0xec, 0x12, 0x91, 0x47, 0x60, 0xb1, 0x46, 0xd4, 0x24, 0x2d, 0x37, 0x7a, 0xe4, 0xdb, 0x63, 0x3b, - 0x51, 0x14, 0x9c, 0xb0, 0x5f, 0x77, 0xb1, 0x77, 0x7b, 0x17, 0x7b, 0x7f, 0xef, 0x62, 0xef, 0xe7, - 0x7d, 0xdc, 0xb8, 0xbd, 0x8f, 0x1b, 0xbf, 0xef, 0xe3, 0xc6, 0xe5, 0x9b, 0x2b, 0x61, 0xc6, 0xd3, - 0xac, 0x97, 0xcb, 0x49, 0xff, 0x91, 0x3d, 0xfa, 0xa7, 0x0f, 0x2f, 0xc6, 0x8f, 0x95, 0xd7, 0xc3, - 0xdd, 0xde, 0x6c, 0xd7, 0xbd, 0x1c, 0xaf, 0xfe, 0x05, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x9f, 0x52, - 0x11, 0xa8, 0x04, 0x00, 0x00, + // 596 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4d, 0x6b, 0xdb, 0x4c, + 0x10, 0xc7, 0x2d, 0x4b, 0x89, 0xe5, 0x71, 0x5e, 0xc4, 0xf2, 0xf0, 0xb0, 0x94, 0x22, 0x54, 0xd3, + 0x82, 0xc8, 0xc1, 0x2e, 0x6e, 0x0f, 0x3d, 0xf4, 0xd2, 0x24, 0x50, 0x4a, 0x29, 0x98, 0x4d, 0x9b, + 0x43, 0x6e, 0x2b, 0x79, 0x6a, 0x2f, 0x95, 0xb5, 0x62, 0x77, 0x9d, 0xd4, 0xdf, 0xa2, 0x1f, 0xab, + 0xc7, 0x1c, 0x0b, 0xbd, 0x94, 0xe4, 0x8b, 0x94, 0x5d, 0xd9, 0xf1, 0x4b, 0x7a, 0xf0, 0x6d, 0xe6, + 0xb7, 0x9a, 0xff, 0xcc, 0x88, 0xff, 0x2e, 0xc4, 0x39, 0x57, 0xa3, 0x7c, 0xc2, 0x45, 0xd9, 0x5f, + 0x45, 0x33, 0x8d, 0xaa, 0x57, 0x29, 0x69, 0x24, 0x79, 0x71, 0x8e, 0x39, 0x96, 0x46, 0xf1, 0xe2, + 0x8c, 0xab, 0xd1, 0x7b, 0x3e, 0xc5, 0xde, 0xc3, 0x77, 0xab, 0xe8, 0xc9, 0xb3, 0x7f, 0xc9, 0x5c, + 0x4b, 0x83, 0xa2, 0x1c, 0xd7, 0x4a, 0xdd, 0xdf, 0x01, 0x04, 0x5f, 0x34, 0x2a, 0xf2, 0x1f, 0xec, + 0xf1, 0x42, 0x70, 0x4d, 0xbd, 0xc4, 0x4b, 0xdb, 0xac, 0x4e, 0xc8, 0x09, 0x44, 0xf2, 0xa6, 0xc4, + 0x91, 0x6d, 0x73, 0x91, 0x4f, 0x70, 0x8a, 0x9a, 0x36, 0x13, 0x3f, 0x0d, 0xd8, 0x23, 0x4e, 0x52, + 0x38, 0x76, 0x6c, 0x68, 0x85, 0xcd, 0xbc, 0x42, 0x4d, 0x7d, 0xf7, 0xe9, 0x36, 0xb6, 0xbd, 0xec, + 0x3c, 0x9a, 0x06, 0xee, 0xbc, 0x4e, 0xc8, 0x10, 0xc0, 0xce, 0xc6, 0xc4, 0x78, 0x62, 0x34, 0xdd, + 0x4b, 0xfc, 0xb4, 0x33, 0x78, 0xd9, 0xdb, 0x69, 0xd3, 0xde, 0xe5, 0xb2, 0x90, 0xad, 0x69, 0x90, + 0x2b, 0x38, 0x3c, 0x93, 0xb3, 0x32, 0x17, 0xc5, 0x85, 0xe1, 0x66, 0xa6, 0xe9, 0x7e, 0xe2, 0xa5, + 0x47, 0x83, 0xd7, 0x3b, 0x8a, 0x6e, 0xd4, 0xb2, 0x4d, 0x29, 0xf2, 0x1c, 0x0e, 0x19, 0x56, 0x52, + 0x99, 0x4f, 0xdc, 0xe4, 0x13, 0xd4, 0xb4, 0x95, 0x78, 0x69, 0xc8, 0x36, 0x21, 0x49, 0xa0, 0x53, + 0x29, 0xf9, 0x55, 0x14, 0x68, 0x3b, 0xd1, 0x30, 0xf1, 0xd2, 0x80, 0xad, 0x23, 0xf2, 0x11, 0x42, + 0x2e, 0xd4, 0xb9, 0x92, 0x95, 0xa6, 0xed, 0xc4, 0x4b, 0x3b, 0x83, 0xfe, 0x8e, 0xe3, 0xbd, 0x5b, + 0x94, 0xb1, 0x07, 0x01, 0x72, 0x09, 0x07, 0x99, 0x94, 0xda, 0xa0, 0x1a, 0xf2, 0xfc, 0x9b, 0xa6, + 0xe0, 0x7e, 0xe2, 0x60, 0x47, 0xc1, 0xd3, 0x55, 0x29, 0xdb, 0xd0, 0x21, 0x14, 0x5a, 0x37, 0x98, + 0x69, 0x61, 0x90, 0x76, 0x9c, 0x3d, 0x96, 0x29, 0x79, 0x0a, 0xed, 0x4c, 0xc8, 0xb1, 0xe2, 0xd5, + 0x64, 0x4e, 0x0f, 0xdc, 0xd9, 0x0a, 0x74, 0xe7, 0xd0, 0x59, 0x13, 0x25, 0x5d, 0x38, 0xc8, 0x65, + 0x51, 0x60, 0x6e, 0x84, 0x2c, 0x3f, 0x8c, 0x9c, 0xd5, 0x02, 0xb6, 0xc1, 0xac, 0xa0, 0x11, 0x53, + 0xbc, 0x30, 0x7c, 0x5a, 0xd1, 0x66, 0xe2, 0xa5, 0x3e, 0x5b, 0x01, 0xeb, 0x31, 0xc5, 0x95, 0x30, + 0x02, 0xf5, 0xb0, 0x16, 0x5d, 0x7a, 0x6c, 0x0b, 0x77, 0x2b, 0x08, 0x97, 0x3f, 0x88, 0x10, 0x08, + 0xac, 0x2b, 0x5c, 0xbf, 0x90, 0xb9, 0x98, 0xfc, 0x0f, 0xfb, 0xb9, 0x42, 0x6e, 0xd0, 0x35, 0x09, + 0xd9, 0x22, 0x23, 0x11, 0xf8, 0xd9, 0x6c, 0x4e, 0x7d, 0x07, 0x6d, 0x68, 0xab, 0xab, 0x82, 0xcf, + 0x69, 0x50, 0x57, 0xdb, 0xd8, 0x32, 0x7b, 0x1d, 0xe9, 0x5e, 0xcd, 0x6c, 0x7c, 0xf2, 0x79, 0xcb, + 0x6d, 0xe4, 0x10, 0xda, 0xfc, 0x9a, 0x8b, 0x82, 0x67, 0x05, 0x46, 0x0d, 0x72, 0x0c, 0x9d, 0x59, + 0xb9, 0x02, 0x9e, 0x05, 0xb2, 0xc2, 0x72, 0x51, 0x14, 0x35, 0x09, 0x81, 0x23, 0x6d, 0xb8, 0x32, + 0x38, 0x5a, 0x32, 0xff, 0xe4, 0x2d, 0xb4, 0x16, 0x7b, 0x90, 0xb0, 0x1e, 0x24, 0x6a, 0xd8, 0xc8, + 0x2e, 0x11, 0x79, 0x04, 0x96, 0x6b, 0x44, 0x4d, 0xd2, 0x72, 0xa3, 0x47, 0xbe, 0x3d, 0xb6, 0x13, + 0x45, 0xc1, 0x29, 0xfb, 0x79, 0x17, 0x7b, 0xb7, 0x77, 0xb1, 0xf7, 0xe7, 0x2e, 0xf6, 0x7e, 0xdc, + 0xc7, 0x8d, 0xdb, 0xfb, 0xb8, 0xf1, 0xeb, 0x3e, 0x6e, 0x5c, 0xbd, 0x19, 0x0b, 0x33, 0x99, 0x65, + 0xbd, 0x5c, 0x4e, 0xfb, 0x8f, 0xec, 0xd1, 0x3f, 0x7b, 0x78, 0x2e, 0xbe, 0xaf, 0x3d, 0x1d, 0xee, + 0xf6, 0x66, 0xfb, 0xee, 0xe5, 0x78, 0xf5, 0x37, 0x00, 0x00, 0xff, 0xff, 0x71, 0xa0, 0xd3, 0xa3, + 0xa5, 0x04, 0x00, 0x00, } func (m *User) Marshal() (dAtA []byte, err error) { diff --git a/x/cardchain/types/vote_right.pb.go b/x/cardchain/types/vote_right.pb.go deleted file mode 100644 index f0c841af..00000000 --- a/x/cardchain/types/vote_right.pb.go +++ /dev/null @@ -1,337 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/vote_right.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/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 - -type VoteRight struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - ExpireBlock int64 `protobuf:"varint,2,opt,name=expireBlock,proto3" json:"expireBlock,omitempty"` -} - -func (m *VoteRight) Reset() { *m = VoteRight{} } -func (m *VoteRight) String() string { return proto.CompactTextString(m) } -func (*VoteRight) ProtoMessage() {} -func (*VoteRight) Descriptor() ([]byte, []int) { - return fileDescriptor_054a517c3cbfc900, []int{0} -} -func (m *VoteRight) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VoteRight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VoteRight.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 *VoteRight) XXX_Merge(src proto.Message) { - xxx_messageInfo_VoteRight.Merge(m, src) -} -func (m *VoteRight) XXX_Size() int { - return m.Size() -} -func (m *VoteRight) XXX_DiscardUnknown() { - xxx_messageInfo_VoteRight.DiscardUnknown(m) -} - -var xxx_messageInfo_VoteRight proto.InternalMessageInfo - -func (m *VoteRight) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *VoteRight) GetExpireBlock() int64 { - if m != nil { - return m.ExpireBlock - } - return 0 -} - -func init() { - proto.RegisterType((*VoteRight)(nil), "DecentralCardGame.cardchain.cardchain.VoteRight") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/vote_right.proto", fileDescriptor_054a517c3cbfc900) -} - -var fileDescriptor_054a517c3cbfc900 = []byte{ - // 190 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xca, 0xf2, 0x4b, 0x52, 0xe3, 0x8b, 0x32, 0xd3, - 0x33, 0x4a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, - 0x8a, 0x12, 0x73, 0x9c, 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0xaa, 0x11, 0x2c, - 0x25, 0x57, 0x2e, 0xce, 0xb0, 0xfc, 0x92, 0xd4, 0x20, 0x90, 0x4e, 0x21, 0x31, 0x2e, 0x36, 0x90, - 0x8c, 0x67, 0x8a, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4b, 0x10, 0x94, 0x27, 0xa4, 0xc0, 0xc5, 0x9d, - 0x5a, 0x51, 0x90, 0x59, 0x94, 0xea, 0x94, 0x93, 0x9f, 0x9c, 0x2d, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, - 0x1c, 0x84, 0x2c, 0xe4, 0x14, 0x74, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, - 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, - 0x16, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x18, 0x4e, 0xd2, 0x77, - 0x86, 0x7b, 0xa0, 0x02, 0xc9, 0x33, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x8f, 0x18, - 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe9, 0xa7, 0x6f, 0xfd, 0xf0, 0x00, 0x00, 0x00, -} - -func (m *VoteRight) 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 *VoteRight) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VoteRight) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.ExpireBlock != 0 { - i = encodeVarintVoteRight(dAtA, i, uint64(m.ExpireBlock)) - i-- - dAtA[i] = 0x10 - } - if m.CardId != 0 { - i = encodeVarintVoteRight(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVoteRight(dAtA []byte, offset int, v uint64) int { - offset -= sovVoteRight(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VoteRight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovVoteRight(uint64(m.CardId)) - } - if m.ExpireBlock != 0 { - n += 1 + sovVoteRight(uint64(m.ExpireBlock)) - } - return n -} - -func sovVoteRight(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVoteRight(x uint64) (n int) { - return sovVoteRight(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VoteRight) 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 ErrIntOverflowVoteRight - } - 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: VoteRight: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VoteRight: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoteRight - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpireBlock", wireType) - } - m.ExpireBlock = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoteRight - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpireBlock |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipVoteRight(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVoteRight - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVoteRight(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, ErrIntOverflowVoteRight - } - 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, ErrIntOverflowVoteRight - } - 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, ErrIntOverflowVoteRight - } - 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, ErrInvalidLengthVoteRight - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVoteRight - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVoteRight - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVoteRight = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVoteRight = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVoteRight = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/voteing.pb.go b/x/cardchain/types/voteing.pb.go new file mode 100644 index 00000000..78a65724 --- /dev/null +++ b/x/cardchain/types/voteing.pb.go @@ -0,0 +1,1307 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/voteing.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/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 + +type VotingResults struct { + TotalVotes uint64 `protobuf:"varint,1,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"` + TotalFairEnoughVotes uint64 `protobuf:"varint,2,opt,name=totalFairEnoughVotes,proto3" json:"totalFairEnoughVotes,omitempty"` + TotalOverpoweredVotes uint64 `protobuf:"varint,3,opt,name=totalOverpoweredVotes,proto3" json:"totalOverpoweredVotes,omitempty"` + TotalUnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=totalUnderpoweredVotes,proto3" json:"totalUnderpoweredVotes,omitempty"` + TotalInappropriateVotes uint64 `protobuf:"varint,5,opt,name=totalInappropriateVotes,proto3" json:"totalInappropriateVotes,omitempty"` + CardResults []*VotingResult `protobuf:"bytes,6,rep,name=cardResults,proto3" json:"cardResults,omitempty"` + Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes,omitempty"` +} + +func (m *VotingResults) Reset() { *m = VotingResults{} } +func (m *VotingResults) String() string { return proto.CompactTextString(m) } +func (*VotingResults) ProtoMessage() {} +func (*VotingResults) Descriptor() ([]byte, []int) { + return fileDescriptor_663e098aec843cdc, []int{0} +} +func (m *VotingResults) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VotingResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VotingResults.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 *VotingResults) XXX_Merge(src proto.Message) { + xxx_messageInfo_VotingResults.Merge(m, src) +} +func (m *VotingResults) XXX_Size() int { + return m.Size() +} +func (m *VotingResults) XXX_DiscardUnknown() { + xxx_messageInfo_VotingResults.DiscardUnknown(m) +} + +var xxx_messageInfo_VotingResults proto.InternalMessageInfo + +func (m *VotingResults) GetTotalVotes() uint64 { + if m != nil { + return m.TotalVotes + } + return 0 +} + +func (m *VotingResults) GetTotalFairEnoughVotes() uint64 { + if m != nil { + return m.TotalFairEnoughVotes + } + return 0 +} + +func (m *VotingResults) GetTotalOverpoweredVotes() uint64 { + if m != nil { + return m.TotalOverpoweredVotes + } + return 0 +} + +func (m *VotingResults) GetTotalUnderpoweredVotes() uint64 { + if m != nil { + return m.TotalUnderpoweredVotes + } + return 0 +} + +func (m *VotingResults) GetTotalInappropriateVotes() uint64 { + if m != nil { + return m.TotalInappropriateVotes + } + return 0 +} + +func (m *VotingResults) GetCardResults() []*VotingResult { + if m != nil { + return m.CardResults + } + return nil +} + +func (m *VotingResults) GetNotes() string { + if m != nil { + return m.Notes + } + return "" +} + +type VotingResult struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + FairEnoughVotes uint64 `protobuf:"varint,2,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` + OverpoweredVotes uint64 `protobuf:"varint,3,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` + UnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` + InappropriateVotes uint64 `protobuf:"varint,5,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` + Result string `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"` +} + +func (m *VotingResult) Reset() { *m = VotingResult{} } +func (m *VotingResult) String() string { return proto.CompactTextString(m) } +func (*VotingResult) ProtoMessage() {} +func (*VotingResult) Descriptor() ([]byte, []int) { + return fileDescriptor_663e098aec843cdc, []int{1} +} +func (m *VotingResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VotingResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VotingResult.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 *VotingResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_VotingResult.Merge(m, src) +} +func (m *VotingResult) XXX_Size() int { + return m.Size() +} +func (m *VotingResult) XXX_DiscardUnknown() { + xxx_messageInfo_VotingResult.DiscardUnknown(m) +} + +var xxx_messageInfo_VotingResult proto.InternalMessageInfo + +func (m *VotingResult) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *VotingResult) GetFairEnoughVotes() uint64 { + if m != nil { + return m.FairEnoughVotes + } + return 0 +} + +func (m *VotingResult) GetOverpoweredVotes() uint64 { + if m != nil { + return m.OverpoweredVotes + } + return 0 +} + +func (m *VotingResult) GetUnderpoweredVotes() uint64 { + if m != nil { + return m.UnderpoweredVotes + } + return 0 +} + +func (m *VotingResult) GetInappropriateVotes() uint64 { + if m != nil { + return m.InappropriateVotes + } + return 0 +} + +func (m *VotingResult) GetResult() string { + if m != nil { + return m.Result + } + return "" +} + +type SingleVote struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + VoteType string `protobuf:"bytes,2,opt,name=voteType,proto3" json:"voteType,omitempty"` +} + +func (m *SingleVote) Reset() { *m = SingleVote{} } +func (m *SingleVote) String() string { return proto.CompactTextString(m) } +func (*SingleVote) ProtoMessage() {} +func (*SingleVote) Descriptor() ([]byte, []int) { + return fileDescriptor_663e098aec843cdc, []int{2} +} +func (m *SingleVote) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SingleVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SingleVote.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 *SingleVote) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleVote.Merge(m, src) +} +func (m *SingleVote) XXX_Size() int { + return m.Size() +} +func (m *SingleVote) XXX_DiscardUnknown() { + xxx_messageInfo_SingleVote.DiscardUnknown(m) +} + +var xxx_messageInfo_SingleVote proto.InternalMessageInfo + +func (m *SingleVote) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *SingleVote) GetVoteType() string { + if m != nil { + return m.VoteType + } + return "" +} + +type VoteRight struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + ExpireBlock int64 `protobuf:"varint,2,opt,name=expireBlock,proto3" json:"expireBlock,omitempty"` +} + +func (m *VoteRight) Reset() { *m = VoteRight{} } +func (m *VoteRight) String() string { return proto.CompactTextString(m) } +func (*VoteRight) ProtoMessage() {} +func (*VoteRight) Descriptor() ([]byte, []int) { + return fileDescriptor_663e098aec843cdc, []int{3} +} +func (m *VoteRight) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VoteRight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VoteRight.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 *VoteRight) XXX_Merge(src proto.Message) { + xxx_messageInfo_VoteRight.Merge(m, src) +} +func (m *VoteRight) XXX_Size() int { + return m.Size() +} +func (m *VoteRight) XXX_DiscardUnknown() { + xxx_messageInfo_VoteRight.DiscardUnknown(m) +} + +var xxx_messageInfo_VoteRight proto.InternalMessageInfo + +func (m *VoteRight) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *VoteRight) GetExpireBlock() int64 { + if m != nil { + return m.ExpireBlock + } + return 0 +} + +func init() { + proto.RegisterType((*VotingResults)(nil), "DecentralCardGame.cardchain.cardchain.VotingResults") + proto.RegisterType((*VotingResult)(nil), "DecentralCardGame.cardchain.cardchain.VotingResult") + proto.RegisterType((*SingleVote)(nil), "DecentralCardGame.cardchain.cardchain.SingleVote") + proto.RegisterType((*VoteRight)(nil), "DecentralCardGame.cardchain.cardchain.VoteRight") +} + +func init() { proto.RegisterFile("cardchain/cardchain/voteing.proto", fileDescriptor_663e098aec843cdc) } + +var fileDescriptor_663e098aec843cdc = []byte{ + // 424 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x8b, 0xd3, 0x40, + 0x14, 0xc7, 0x9b, 0xed, 0x6e, 0xb4, 0xaf, 0x8a, 0x3a, 0xac, 0x6b, 0xf1, 0x10, 0x62, 0x40, 0x08, + 0x22, 0x29, 0xec, 0x8a, 0xec, 0x51, 0x76, 0xad, 0xd2, 0x93, 0x30, 0xda, 0x1e, 0xbc, 0x4d, 0x93, + 0x31, 0x19, 0x4c, 0x67, 0x86, 0xc9, 0xa4, 0xb6, 0xdf, 0xc2, 0x8f, 0xe5, 0xb1, 0x47, 0x8f, 0xd2, + 0x7e, 0x03, 0x4f, 0x1e, 0x25, 0x93, 0xd0, 0x86, 0x36, 0x81, 0xbd, 0xcd, 0x7b, 0xff, 0xf7, 0x9f, + 0xf0, 0xff, 0x65, 0x1e, 0xbc, 0x08, 0x89, 0x8a, 0xc2, 0x84, 0x30, 0x3e, 0xdc, 0x9f, 0x16, 0x42, + 0x53, 0xc6, 0xe3, 0x40, 0x2a, 0xa1, 0x05, 0x7a, 0xf9, 0x9e, 0x86, 0x94, 0x6b, 0x45, 0xd2, 0x5b, + 0xa2, 0xa2, 0x8f, 0x64, 0x4e, 0x83, 0xdd, 0xe8, 0xfe, 0xe4, 0xfd, 0x3b, 0x81, 0x87, 0x53, 0xa1, + 0x19, 0x8f, 0x31, 0xcd, 0xf2, 0x54, 0x67, 0xc8, 0x01, 0xd0, 0x42, 0x93, 0x74, 0x2a, 0x34, 0xcd, + 0x06, 0x96, 0x6b, 0xf9, 0xa7, 0xb8, 0xd6, 0x41, 0x97, 0x70, 0x6e, 0xaa, 0x0f, 0x84, 0xa9, 0x11, + 0x17, 0x79, 0x9c, 0x94, 0x93, 0x27, 0x66, 0xb2, 0x51, 0x43, 0x6f, 0xe0, 0xa9, 0xe9, 0x7f, 0x5a, + 0x50, 0x25, 0xc5, 0x0f, 0xaa, 0x68, 0x54, 0x9a, 0xba, 0xc6, 0xd4, 0x2c, 0xa2, 0xb7, 0x70, 0x61, + 0x84, 0x09, 0x8f, 0x0e, 0x6c, 0xa7, 0xc6, 0xd6, 0xa2, 0xa2, 0x6b, 0x78, 0x66, 0x94, 0x31, 0x27, + 0x52, 0x2a, 0x21, 0x15, 0x23, 0x9a, 0x96, 0xc6, 0x33, 0x63, 0x6c, 0x93, 0xd1, 0x04, 0xfa, 0x05, + 0x9a, 0x0a, 0xc5, 0xc0, 0x76, 0xbb, 0x7e, 0xff, 0xf2, 0x2a, 0xb8, 0x13, 0xca, 0xa0, 0x8e, 0x11, + 0xd7, 0xef, 0x41, 0xe7, 0x70, 0xc6, 0xcd, 0xe7, 0xef, 0xb9, 0x96, 0xdf, 0xc3, 0x65, 0xe1, 0xfd, + 0xb5, 0xe0, 0x41, 0xdd, 0x83, 0x2e, 0xc0, 0x2e, 0x5c, 0xe3, 0xa8, 0xa2, 0x5e, 0x55, 0xc8, 0x87, + 0x47, 0xdf, 0x1a, 0x61, 0x1f, 0xb6, 0xd1, 0x2b, 0x78, 0x2c, 0x9a, 0x11, 0x1f, 0xf5, 0xd1, 0x6b, + 0x78, 0x92, 0xb7, 0x80, 0x3d, 0x16, 0x50, 0x00, 0x88, 0xb5, 0xe1, 0x6c, 0x50, 0x8a, 0x2c, 0xca, + 0xa4, 0x1a, 0xd8, 0x26, 0x73, 0x55, 0x79, 0xef, 0x00, 0x3e, 0x33, 0x1e, 0xa7, 0x66, 0xac, 0x35, + 0xf1, 0x73, 0xb8, 0x5f, 0xbc, 0xe6, 0x2f, 0x2b, 0x49, 0x4d, 0xd4, 0x1e, 0xde, 0xd5, 0xde, 0x08, + 0x7a, 0x85, 0x17, 0xb3, 0x38, 0x69, 0x47, 0xe6, 0x42, 0x9f, 0x2e, 0x25, 0x53, 0xf4, 0x26, 0x15, + 0xe1, 0x77, 0x73, 0x47, 0x17, 0xd7, 0x5b, 0x37, 0xf8, 0xd7, 0xc6, 0xb1, 0xd6, 0x1b, 0xc7, 0xfa, + 0xb3, 0x71, 0xac, 0x9f, 0x5b, 0xa7, 0xb3, 0xde, 0x3a, 0x9d, 0xdf, 0x5b, 0xa7, 0xf3, 0xf5, 0x3a, + 0x66, 0x3a, 0xc9, 0x67, 0x41, 0x28, 0xe6, 0xc3, 0xa3, 0x3f, 0x3f, 0xbc, 0xdd, 0xed, 0xdb, 0xb2, + 0xb6, 0x7b, 0x7a, 0x25, 0x69, 0x36, 0xb3, 0xcd, 0xea, 0x5d, 0xfd, 0x0f, 0x00, 0x00, 0xff, 0xff, + 0xb0, 0xb9, 0xee, 0xd5, 0x9f, 0x03, 0x00, 0x00, +} + +func (m *VotingResults) 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 *VotingResults) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VotingResults) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintVoteing(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x3a + } + if len(m.CardResults) > 0 { + for iNdEx := len(m.CardResults) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.CardResults[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintVoteing(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if m.TotalInappropriateVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.TotalInappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if m.TotalUnderpoweredVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.TotalUnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if m.TotalOverpoweredVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.TotalOverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if m.TotalFairEnoughVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.TotalFairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if m.TotalVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.TotalVotes)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *VotingResult) 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 *VotingResult) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VotingResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Result) > 0 { + i -= len(m.Result) + copy(dAtA[i:], m.Result) + i = encodeVarintVoteing(dAtA, i, uint64(len(m.Result))) + i-- + dAtA[i] = 0x32 + } + if m.InappropriateVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.InappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if m.UnderpoweredVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.UnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if m.OverpoweredVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.OverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if m.FairEnoughVotes != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.FairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if m.CardId != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *SingleVote) 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 *SingleVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SingleVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.VoteType) > 0 { + i -= len(m.VoteType) + copy(dAtA[i:], m.VoteType) + i = encodeVarintVoteing(dAtA, i, uint64(len(m.VoteType))) + i-- + dAtA[i] = 0x12 + } + if m.CardId != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *VoteRight) 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 *VoteRight) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VoteRight) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ExpireBlock != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.ExpireBlock)) + i-- + dAtA[i] = 0x10 + } + if m.CardId != 0 { + i = encodeVarintVoteing(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintVoteing(dAtA []byte, offset int, v uint64) int { + offset -= sovVoteing(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *VotingResults) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TotalVotes != 0 { + n += 1 + sovVoteing(uint64(m.TotalVotes)) + } + if m.TotalFairEnoughVotes != 0 { + n += 1 + sovVoteing(uint64(m.TotalFairEnoughVotes)) + } + if m.TotalOverpoweredVotes != 0 { + n += 1 + sovVoteing(uint64(m.TotalOverpoweredVotes)) + } + if m.TotalUnderpoweredVotes != 0 { + n += 1 + sovVoteing(uint64(m.TotalUnderpoweredVotes)) + } + if m.TotalInappropriateVotes != 0 { + n += 1 + sovVoteing(uint64(m.TotalInappropriateVotes)) + } + if len(m.CardResults) > 0 { + for _, e := range m.CardResults { + l = e.Size() + n += 1 + l + sovVoteing(uint64(l)) + } + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovVoteing(uint64(l)) + } + return n +} + +func (m *VotingResult) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoteing(uint64(m.CardId)) + } + if m.FairEnoughVotes != 0 { + n += 1 + sovVoteing(uint64(m.FairEnoughVotes)) + } + if m.OverpoweredVotes != 0 { + n += 1 + sovVoteing(uint64(m.OverpoweredVotes)) + } + if m.UnderpoweredVotes != 0 { + n += 1 + sovVoteing(uint64(m.UnderpoweredVotes)) + } + if m.InappropriateVotes != 0 { + n += 1 + sovVoteing(uint64(m.InappropriateVotes)) + } + l = len(m.Result) + if l > 0 { + n += 1 + l + sovVoteing(uint64(l)) + } + return n +} + +func (m *SingleVote) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoteing(uint64(m.CardId)) + } + l = len(m.VoteType) + if l > 0 { + n += 1 + l + sovVoteing(uint64(l)) + } + return n +} + +func (m *VoteRight) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoteing(uint64(m.CardId)) + } + if m.ExpireBlock != 0 { + n += 1 + sovVoteing(uint64(m.ExpireBlock)) + } + return n +} + +func sovVoteing(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozVoteing(x uint64) (n int) { + return sovVoteing(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *VotingResults) 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 ErrIntOverflowVoteing + } + 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: VotingResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) + } + m.TotalVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) + } + m.TotalFairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalFairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) + } + m.TotalOverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalOverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) + } + m.TotalUnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) + } + m.TotalInappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalInappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVoteing + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVoteing + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CardResults = append(m.CardResults, &VotingResult{}) + if err := m.CardResults[len(m.CardResults)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + 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 ErrInvalidLengthVoteing + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoteing + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoteing(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoteing + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *VotingResult) 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 ErrIntOverflowVoteing + } + 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: VotingResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VotingResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) + } + m.FairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) + } + m.OverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) + } + m.UnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) + } + m.InappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + 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 ErrInvalidLengthVoteing + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoteing + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Result = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoteing(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoteing + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SingleVote) 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 ErrIntOverflowVoteing + } + 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: SingleVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SingleVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + 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 ErrInvalidLengthVoteing + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoteing + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VoteType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoteing(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoteing + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *VoteRight) 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 ErrIntOverflowVoteing + } + 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: VoteRight: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VoteRight: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpireBlock", wireType) + } + m.ExpireBlock = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoteing + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpireBlock |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipVoteing(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoteing + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipVoteing(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, ErrIntOverflowVoteing + } + 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, ErrIntOverflowVoteing + } + 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, ErrIntOverflowVoteing + } + 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, ErrInvalidLengthVoteing + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupVoteing + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthVoteing + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthVoteing = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowVoteing = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupVoteing = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/voting_result.pb.go b/x/cardchain/types/voting_result.pb.go deleted file mode 100644 index 5b1f364c..00000000 --- a/x/cardchain/types/voting_result.pb.go +++ /dev/null @@ -1,498 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/voting_result.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/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 - -type VotingResult struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - FairEnoughVotes uint64 `protobuf:"varint,2,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` - OverpoweredVotes uint64 `protobuf:"varint,3,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` - UnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` - InappropriateVotes uint64 `protobuf:"varint,5,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` - Result string `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"` -} - -func (m *VotingResult) Reset() { *m = VotingResult{} } -func (m *VotingResult) String() string { return proto.CompactTextString(m) } -func (*VotingResult) ProtoMessage() {} -func (*VotingResult) Descriptor() ([]byte, []int) { - return fileDescriptor_2189b4591619582a, []int{0} -} -func (m *VotingResult) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VotingResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VotingResult.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 *VotingResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_VotingResult.Merge(m, src) -} -func (m *VotingResult) XXX_Size() int { - return m.Size() -} -func (m *VotingResult) XXX_DiscardUnknown() { - xxx_messageInfo_VotingResult.DiscardUnknown(m) -} - -var xxx_messageInfo_VotingResult proto.InternalMessageInfo - -func (m *VotingResult) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *VotingResult) GetFairEnoughVotes() uint64 { - if m != nil { - return m.FairEnoughVotes - } - return 0 -} - -func (m *VotingResult) GetOverpoweredVotes() uint64 { - if m != nil { - return m.OverpoweredVotes - } - return 0 -} - -func (m *VotingResult) GetUnderpoweredVotes() uint64 { - if m != nil { - return m.UnderpoweredVotes - } - return 0 -} - -func (m *VotingResult) GetInappropriateVotes() uint64 { - if m != nil { - return m.InappropriateVotes - } - return 0 -} - -func (m *VotingResult) GetResult() string { - if m != nil { - return m.Result - } - return "" -} - -func init() { - proto.RegisterType((*VotingResult)(nil), "DecentralCardGame.cardchain.cardchain.VotingResult") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/voting_result.proto", fileDescriptor_2189b4591619582a) -} - -var fileDescriptor_2189b4591619582a = []byte{ - // 268 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xca, 0xf2, 0x4b, 0x32, 0xf3, 0xd2, 0xe3, 0x8b, - 0x52, 0x8b, 0x4b, 0x73, 0x4a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, - 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, - 0x1a, 0x10, 0x2c, 0xa5, 0x4f, 0x8c, 0x5c, 0x3c, 0x61, 0x60, 0xed, 0x41, 0x60, 0xdd, 0x42, 0x62, - 0x5c, 0x6c, 0x20, 0x59, 0xcf, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x4f, 0x48, - 0x83, 0x8b, 0x3f, 0x2d, 0x31, 0xb3, 0xc8, 0x35, 0x2f, 0xbf, 0x34, 0x3d, 0x23, 0x2c, 0xbf, 0x24, - 0xb5, 0x58, 0x82, 0x09, 0xac, 0x00, 0x5d, 0x58, 0x48, 0x8b, 0x4b, 0x20, 0xbf, 0x2c, 0xb5, 0xa8, - 0x20, 0xbf, 0x3c, 0xb5, 0x28, 0x35, 0x05, 0xa2, 0x94, 0x19, 0xac, 0x14, 0x43, 0x5c, 0x48, 0x87, - 0x4b, 0xb0, 0x34, 0x2f, 0x05, 0x4d, 0x31, 0x0b, 0x58, 0x31, 0xa6, 0x84, 0x90, 0x1e, 0x97, 0x50, - 0x66, 0x5e, 0x62, 0x41, 0x41, 0x51, 0x7e, 0x41, 0x51, 0x66, 0x62, 0x49, 0x2a, 0x44, 0x39, 0x2b, - 0x58, 0x39, 0x16, 0x19, 0x90, 0x5f, 0x20, 0x61, 0x22, 0xc1, 0xa6, 0xc0, 0xa8, 0xc1, 0x19, 0x04, - 0xe5, 0x39, 0x05, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, - 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x45, 0x7a, - 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x46, 0x00, 0xea, 0x3b, 0xc3, 0x43, - 0xbc, 0x02, 0x29, 0xf4, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0xc1, 0x6e, 0x0c, 0x08, - 0x00, 0x00, 0xff, 0xff, 0x27, 0xe3, 0xee, 0xf1, 0xa1, 0x01, 0x00, 0x00, -} - -func (m *VotingResult) 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 *VotingResult) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VotingResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Result) > 0 { - i -= len(m.Result) - copy(dAtA[i:], m.Result) - i = encodeVarintVotingResult(dAtA, i, uint64(len(m.Result))) - i-- - dAtA[i] = 0x32 - } - if m.InappropriateVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.InappropriateVotes)) - i-- - dAtA[i] = 0x28 - } - if m.UnderpoweredVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.UnderpoweredVotes)) - i-- - dAtA[i] = 0x20 - } - if m.OverpoweredVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.OverpoweredVotes)) - i-- - dAtA[i] = 0x18 - } - if m.FairEnoughVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.FairEnoughVotes)) - i-- - dAtA[i] = 0x10 - } - if m.CardId != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVotingResult(dAtA []byte, offset int, v uint64) int { - offset -= sovVotingResult(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VotingResult) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovVotingResult(uint64(m.CardId)) - } - if m.FairEnoughVotes != 0 { - n += 1 + sovVotingResult(uint64(m.FairEnoughVotes)) - } - if m.OverpoweredVotes != 0 { - n += 1 + sovVotingResult(uint64(m.OverpoweredVotes)) - } - if m.UnderpoweredVotes != 0 { - n += 1 + sovVotingResult(uint64(m.UnderpoweredVotes)) - } - if m.InappropriateVotes != 0 { - n += 1 + sovVotingResult(uint64(m.InappropriateVotes)) - } - l = len(m.Result) - if l > 0 { - n += 1 + l + sovVotingResult(uint64(l)) - } - return n -} - -func sovVotingResult(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVotingResult(x uint64) (n int) { - return sovVotingResult(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VotingResult) 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 ErrIntOverflowVotingResult - } - 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: VotingResult: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VotingResult: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) - } - m.FairEnoughVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) - } - m.OverpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) - } - m.UnderpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) - } - m.InappropriateVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - 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 ErrInvalidLengthVotingResult - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVotingResult - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Result = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipVotingResult(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVotingResult - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVotingResult(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, ErrIntOverflowVotingResult - } - 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, ErrIntOverflowVotingResult - } - 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, ErrIntOverflowVotingResult - } - 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, ErrInvalidLengthVotingResult - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVotingResult - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVotingResult - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVotingResult = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVotingResult = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVotingResult = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/voting_results.pb.go b/x/cardchain/types/voting_results.pb.go deleted file mode 100644 index 27f50f80..00000000 --- a/x/cardchain/types/voting_results.pb.go +++ /dev/null @@ -1,563 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/voting_results.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/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 - -type VotingResults struct { - TotalVotes uint64 `protobuf:"varint,1,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"` - TotalFairEnoughVotes uint64 `protobuf:"varint,2,opt,name=totalFairEnoughVotes,proto3" json:"totalFairEnoughVotes,omitempty"` - TotalOverpoweredVotes uint64 `protobuf:"varint,3,opt,name=totalOverpoweredVotes,proto3" json:"totalOverpoweredVotes,omitempty"` - TotalUnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=totalUnderpoweredVotes,proto3" json:"totalUnderpoweredVotes,omitempty"` - TotalInappropriateVotes uint64 `protobuf:"varint,5,opt,name=totalInappropriateVotes,proto3" json:"totalInappropriateVotes,omitempty"` - CardResults []*VotingResult `protobuf:"bytes,6,rep,name=cardResults,proto3" json:"cardResults,omitempty"` - Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes,omitempty"` -} - -func (m *VotingResults) Reset() { *m = VotingResults{} } -func (m *VotingResults) String() string { return proto.CompactTextString(m) } -func (*VotingResults) ProtoMessage() {} -func (*VotingResults) Descriptor() ([]byte, []int) { - return fileDescriptor_a233499ddc8264f3, []int{0} -} -func (m *VotingResults) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VotingResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VotingResults.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 *VotingResults) XXX_Merge(src proto.Message) { - xxx_messageInfo_VotingResults.Merge(m, src) -} -func (m *VotingResults) XXX_Size() int { - return m.Size() -} -func (m *VotingResults) XXX_DiscardUnknown() { - xxx_messageInfo_VotingResults.DiscardUnknown(m) -} - -var xxx_messageInfo_VotingResults proto.InternalMessageInfo - -func (m *VotingResults) GetTotalVotes() uint64 { - if m != nil { - return m.TotalVotes - } - return 0 -} - -func (m *VotingResults) GetTotalFairEnoughVotes() uint64 { - if m != nil { - return m.TotalFairEnoughVotes - } - return 0 -} - -func (m *VotingResults) GetTotalOverpoweredVotes() uint64 { - if m != nil { - return m.TotalOverpoweredVotes - } - return 0 -} - -func (m *VotingResults) GetTotalUnderpoweredVotes() uint64 { - if m != nil { - return m.TotalUnderpoweredVotes - } - return 0 -} - -func (m *VotingResults) GetTotalInappropriateVotes() uint64 { - if m != nil { - return m.TotalInappropriateVotes - } - return 0 -} - -func (m *VotingResults) GetCardResults() []*VotingResult { - if m != nil { - return m.CardResults - } - return nil -} - -func (m *VotingResults) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func init() { - proto.RegisterType((*VotingResults)(nil), "DecentralCardGame.cardchain.cardchain.VotingResults") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/voting_results.proto", fileDescriptor_a233499ddc8264f3) -} - -var fileDescriptor_a233499ddc8264f3 = []byte{ - // 313 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xcf, 0x4a, 0xc3, 0x40, - 0x10, 0xc6, 0xbb, 0xfd, 0x27, 0x6e, 0xf1, 0xb2, 0x54, 0x2d, 0x1e, 0x96, 0x22, 0x88, 0x39, 0x25, - 0xd0, 0x8a, 0xf4, 0x6c, 0xfd, 0x83, 0x27, 0x21, 0xd0, 0x1e, 0xbc, 0xc8, 0x36, 0x59, 0x92, 0x40, - 0xba, 0xbb, 0x6c, 0x36, 0x55, 0xdf, 0xc2, 0xc7, 0xf2, 0xd8, 0xa3, 0x47, 0x49, 0x5e, 0xc2, 0xa3, - 0x38, 0x2b, 0x6d, 0xd0, 0x16, 0xbd, 0xcd, 0xcc, 0x37, 0xbf, 0x19, 0xf8, 0x3e, 0xec, 0x04, 0x4c, - 0x87, 0x41, 0xcc, 0x12, 0xe1, 0xad, 0xab, 0x85, 0x34, 0x89, 0x88, 0x1e, 0x34, 0xcf, 0xf2, 0xd4, - 0x64, 0xae, 0xd2, 0xd2, 0x48, 0x72, 0x72, 0xc9, 0x03, 0x2e, 0x8c, 0x66, 0xe9, 0x98, 0xe9, 0xf0, - 0x86, 0xcd, 0xb9, 0xbb, 0x22, 0xd6, 0xd5, 0xd1, 0xe9, 0x9f, 0x07, 0xed, 0xbd, 0xe3, 0x8f, 0x3a, - 0xde, 0x9b, 0xc2, 0xdc, 0xb7, 0x7f, 0x08, 0xc5, 0xd8, 0x48, 0xc3, 0xd2, 0xa9, 0x34, 0x3c, 0xeb, - 0xa1, 0x3e, 0x72, 0x9a, 0x7e, 0x65, 0x42, 0x06, 0xb8, 0x0b, 0xdd, 0x35, 0x4b, 0xf4, 0x95, 0x90, - 0x79, 0x14, 0xdb, 0xcd, 0x3a, 0x6c, 0x6e, 0xd4, 0xc8, 0x19, 0xde, 0x87, 0xf9, 0xdd, 0x82, 0x6b, - 0x25, 0x1f, 0xb9, 0xe6, 0xa1, 0x85, 0x1a, 0x00, 0x6d, 0x16, 0xc9, 0x39, 0x3e, 0x00, 0x61, 0x22, - 0xc2, 0x1f, 0x58, 0x13, 0xb0, 0x2d, 0x2a, 0x19, 0xe1, 0x43, 0x50, 0x6e, 0x05, 0x53, 0x4a, 0x4b, - 0xa5, 0x13, 0x66, 0xb8, 0x05, 0x5b, 0x00, 0x6e, 0x93, 0xc9, 0x04, 0x77, 0xbe, 0xec, 0xfa, 0xb6, - 0xa2, 0xd7, 0xee, 0x37, 0x9c, 0xce, 0x60, 0xe8, 0xfe, 0xcb, 0x73, 0xb7, 0x6a, 0xa3, 0x5f, 0xbd, - 0x43, 0xba, 0xb8, 0x25, 0xe0, 0xfd, 0x4e, 0x1f, 0x39, 0xbb, 0xbe, 0x6d, 0x2e, 0xfc, 0xd7, 0x82, - 0xa2, 0x65, 0x41, 0xd1, 0x7b, 0x41, 0xd1, 0x4b, 0x49, 0x6b, 0xcb, 0x92, 0xd6, 0xde, 0x4a, 0x5a, - 0xbb, 0x1f, 0x45, 0x89, 0x89, 0xf3, 0x99, 0x1b, 0xc8, 0xb9, 0xf7, 0xeb, 0xb7, 0x37, 0x5e, 0x05, - 0xfa, 0x54, 0x09, 0xd7, 0x3c, 0x2b, 0x9e, 0xcd, 0xda, 0x90, 0xea, 0xf0, 0x33, 0x00, 0x00, 0xff, - 0xff, 0xdd, 0x96, 0x11, 0x73, 0x51, 0x02, 0x00, 0x00, -} - -func (m *VotingResults) 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 *VotingResults) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VotingResults) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintVotingResults(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x3a - } - if len(m.CardResults) > 0 { - for iNdEx := len(m.CardResults) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.CardResults[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintVotingResults(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - } - } - if m.TotalInappropriateVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalInappropriateVotes)) - i-- - dAtA[i] = 0x28 - } - if m.TotalUnderpoweredVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalUnderpoweredVotes)) - i-- - dAtA[i] = 0x20 - } - if m.TotalOverpoweredVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalOverpoweredVotes)) - i-- - dAtA[i] = 0x18 - } - if m.TotalFairEnoughVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalFairEnoughVotes)) - i-- - dAtA[i] = 0x10 - } - if m.TotalVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalVotes)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVotingResults(dAtA []byte, offset int, v uint64) int { - offset -= sovVotingResults(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VotingResults) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TotalVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalVotes)) - } - if m.TotalFairEnoughVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalFairEnoughVotes)) - } - if m.TotalOverpoweredVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalOverpoweredVotes)) - } - if m.TotalUnderpoweredVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalUnderpoweredVotes)) - } - if m.TotalInappropriateVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalInappropriateVotes)) - } - if len(m.CardResults) > 0 { - for _, e := range m.CardResults { - l = e.Size() - n += 1 + l + sovVotingResults(uint64(l)) - } - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovVotingResults(uint64(l)) - } - return n -} - -func sovVotingResults(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVotingResults(x uint64) (n int) { - return sovVotingResults(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VotingResults) 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 ErrIntOverflowVotingResults - } - 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: VotingResults: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) - } - m.TotalVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) - } - m.TotalFairEnoughVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalFairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) - } - m.TotalOverpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalOverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) - } - m.TotalUnderpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) - } - m.TotalInappropriateVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalInappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthVotingResults - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVotingResults - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CardResults = append(m.CardResults, &VotingResult{}) - if err := m.CardResults[len(m.CardResults)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - 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 ErrInvalidLengthVotingResults - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVotingResults - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipVotingResults(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVotingResults - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVotingResults(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, ErrIntOverflowVotingResults - } - 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, ErrIntOverflowVotingResults - } - 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, ErrIntOverflowVotingResults - } - 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, ErrInvalidLengthVotingResults - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVotingResults - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVotingResults - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVotingResults = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVotingResults = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVotingResults = fmt.Errorf("proto: unexpected end of group") -)