taiko-geth

diff: ignored:
+2653
-65
+2468
-58

This is an overview of the changes between taiko-geth (taiko branch) and go-ethereum (v1.14.11 tag).

This shows modifications to beacon files.

diff --git ethereum/go-ethereum/beacon/engine/gen_blockmetadata.go taikoxyz/taiko-geth/beacon/engine/gen_blockmetadata.go new file mode 100644 index 0000000000000000000000000000000000000000..a981fe4033566b02a9920228e1aeaf632485fac0 --- /dev/null +++ taikoxyz/taiko-geth/beacon/engine/gen_blockmetadata.go @@ -0,0 +1,74 @@ +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. + +package engine + +import ( + "encoding/json" + "errors" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/hexutil" +) + +var _ = (*blockMetadataMarshaling)(nil) + +// MarshalJSON marshals as JSON. +func (b BlockMetadata) MarshalJSON() ([]byte, error) { + type BlockMetadata struct { + Beneficiary common.Address `json:"beneficiary" gencodec:"required"` + GasLimit uint64 `json:"gasLimit" gencodec:"required"` + Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` + MixHash common.Hash `json:"mixHash" gencodec:"required"` + TxList hexutil.Bytes `json:"txList" gencodec:"required"` + ExtraData []byte `json:"extraData" gencodec:"required"` + } + var enc BlockMetadata + enc.Beneficiary = b.Beneficiary + enc.GasLimit = b.GasLimit + enc.Timestamp = hexutil.Uint64(b.Timestamp) + enc.MixHash = b.MixHash + enc.TxList = b.TxList + enc.ExtraData = b.ExtraData + return json.Marshal(&enc) +} + +// UnmarshalJSON unmarshals from JSON. +func (b *BlockMetadata) UnmarshalJSON(input []byte) error { + type BlockMetadata struct { + Beneficiary *common.Address `json:"beneficiary" gencodec:"required"` + GasLimit *uint64 `json:"gasLimit" gencodec:"required"` + Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` + MixHash *common.Hash `json:"mixHash" gencodec:"required"` + TxList *hexutil.Bytes `json:"txList" gencodec:"required"` + ExtraData []byte `json:"extraData" gencodec:"required"` + } + var dec BlockMetadata + if err := json.Unmarshal(input, &dec); err != nil { + return err + } + if dec.Beneficiary == nil { + return errors.New("missing required field 'beneficiary' for BlockMetadata") + } + b.Beneficiary = *dec.Beneficiary + if dec.GasLimit == nil { + return errors.New("missing required field 'gasLimit' for BlockMetadata") + } + b.GasLimit = *dec.GasLimit + if dec.Timestamp == nil { + return errors.New("missing required field 'timestamp' for BlockMetadata") + } + b.Timestamp = uint64(*dec.Timestamp) + if dec.MixHash == nil { + return errors.New("missing required field 'mixHash' for BlockMetadata") + } + b.MixHash = *dec.MixHash + if dec.TxList == nil { + return errors.New("missing required field 'txList' for BlockMetadata") + } + b.TxList = *dec.TxList + if dec.ExtraData == nil { + return errors.New("missing required field 'extraData' for BlockMetadata") + } + b.ExtraData = dec.ExtraData + return nil +}
diff --git ethereum/go-ethereum/beacon/engine/gen_blockparams.go taikoxyz/taiko-geth/beacon/engine/gen_blockparams.go index b1f01b50ff8e3b1adf0454ff989356a6f612a337..e2ac09feef9b6ad8385b974c784377d565bef381 100644 --- ethereum/go-ethereum/beacon/engine/gen_blockparams.go +++ taikoxyz/taiko-geth/beacon/engine/gen_blockparams.go @@ -5,9 +5,11 @@ import ( "encoding/json" "errors" + "math/big"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/types" )   @@ -21,6 +23,9 @@ Random common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BeaconRoot *common.Hash `json:"parentBeaconBlockRoot"` + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` } var enc PayloadAttributes enc.Timestamp = hexutil.Uint64(p.Timestamp) @@ -28,6 +33,9 @@ enc.Random = p.Random enc.SuggestedFeeRecipient = p.SuggestedFeeRecipient enc.Withdrawals = p.Withdrawals enc.BeaconRoot = p.BeaconRoot + enc.BaseFeePerGas = p.BaseFeePerGas + enc.BlockMetadata = p.BlockMetadata + enc.L1Origin = p.L1Origin return json.Marshal(&enc) }   @@ -39,6 +47,9 @@ Random *common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient *common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BeaconRoot *common.Hash `json:"parentBeaconBlockRoot"` + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` } var dec PayloadAttributes if err := json.Unmarshal(input, &dec); err != nil { @@ -62,5 +73,17 @@ } if dec.BeaconRoot != nil { p.BeaconRoot = dec.BeaconRoot } + if dec.BaseFeePerGas == nil { + return errors.New("missing required field 'baseFeePerGas' for PayloadAttributes") + } + p.BaseFeePerGas = dec.BaseFeePerGas + if dec.BlockMetadata == nil { + return errors.New("missing required field 'blockMetadata' for PayloadAttributes") + } + p.BlockMetadata = dec.BlockMetadata + if dec.L1Origin == nil { + return errors.New("missing required field 'l1Origin' for PayloadAttributes") + } + p.L1Origin = dec.L1Origin return nil }
diff --git ethereum/go-ethereum/beacon/engine/gen_ed.go taikoxyz/taiko-geth/beacon/engine/gen_ed.go index b2eb1dc9822f3c8827aaeb9f202cb271661ec746..632f9bd839f15f82dfeb594bf629f9372e22277e 100644 --- ethereum/go-ethereum/beacon/engine/gen_ed.go +++ taikoxyz/taiko-geth/beacon/engine/gen_ed.go @@ -30,12 +30,15 @@ Timestamp hexutil.Uint64 `json:"timestamp" gencodec:"required"` ExtraData hexutil.Bytes `json:"extraData" gencodec:"required"` BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` BlockHash common.Hash `json:"blockHash" gencodec:"required"` - Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` + Transactions []hexutil.Bytes `json:"transactions"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BlobGasUsed *hexutil.Uint64 `json:"blobGasUsed"` ExcessBlobGas *hexutil.Uint64 `json:"excessBlobGas"` Deposits types.Deposits `json:"depositRequests"` ExecutionWitness *types.ExecutionWitness `json:"executionWitness,omitempty"` + TxHash common.Hash `json:"txHash"` + WithdrawalsHash common.Hash `json:"withdrawalsHash"` + TaikoBlock bool } var enc ExecutableData enc.ParentHash = e.ParentHash @@ -62,6 +65,9 @@ enc.BlobGasUsed = (*hexutil.Uint64)(e.BlobGasUsed) enc.ExcessBlobGas = (*hexutil.Uint64)(e.ExcessBlobGas) enc.Deposits = e.Deposits enc.ExecutionWitness = e.ExecutionWitness + enc.TxHash = e.TxHash + enc.WithdrawalsHash = e.WithdrawalsHash + enc.TaikoBlock = e.TaikoBlock return json.Marshal(&enc) }   @@ -81,12 +87,15 @@ Timestamp *hexutil.Uint64 `json:"timestamp" gencodec:"required"` ExtraData *hexutil.Bytes `json:"extraData" gencodec:"required"` BaseFeePerGas *hexutil.Big `json:"baseFeePerGas" gencodec:"required"` BlockHash *common.Hash `json:"blockHash" gencodec:"required"` - Transactions []hexutil.Bytes `json:"transactions" gencodec:"required"` + Transactions []hexutil.Bytes `json:"transactions"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BlobGasUsed *hexutil.Uint64 `json:"blobGasUsed"` ExcessBlobGas *hexutil.Uint64 `json:"excessBlobGas"` Deposits *types.Deposits `json:"depositRequests"` ExecutionWitness *types.ExecutionWitness `json:"executionWitness,omitempty"` + TxHash *common.Hash `json:"txHash"` + WithdrawalsHash *common.Hash `json:"withdrawalsHash"` + TaikoBlock *bool } var dec ExecutableData if err := json.Unmarshal(input, &dec); err != nil { @@ -144,12 +153,11 @@ if dec.BlockHash == nil { return errors.New("missing required field 'blockHash' for ExecutableData") } e.BlockHash = *dec.BlockHash - if dec.Transactions == nil { - return errors.New("missing required field 'transactions' for ExecutableData") - } - e.Transactions = make([][]byte, len(dec.Transactions)) - for k, v := range dec.Transactions { - e.Transactions[k] = v + if dec.Transactions != nil { + e.Transactions = make([][]byte, len(dec.Transactions)) + for k, v := range dec.Transactions { + e.Transactions[k] = v + } } if dec.Withdrawals != nil { e.Withdrawals = dec.Withdrawals @@ -165,6 +173,15 @@ e.Deposits = *dec.Deposits } if dec.ExecutionWitness != nil { e.ExecutionWitness = dec.ExecutionWitness + } + if dec.TxHash != nil { + e.TxHash = *dec.TxHash + } + if dec.WithdrawalsHash != nil { + e.WithdrawalsHash = *dec.WithdrawalsHash + } + if dec.TaikoBlock != nil { + e.TaikoBlock = *dec.TaikoBlock } return nil }
diff --git ethereum/go-ethereum/beacon/engine/types.go taikoxyz/taiko-geth/beacon/engine/types.go index 74c56f403de2e69d674474769035ac82a9f6e778..3fb19dcd9f03e6d6741b2b5be4d77f2013747607 100644 --- ethereum/go-ethereum/beacon/engine/types.go +++ taikoxyz/taiko-geth/beacon/engine/types.go @@ -23,6 +23,7 @@ "slices"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/trie" @@ -48,6 +49,11 @@ Random common.Hash `json:"prevRandao" gencodec:"required"` SuggestedFeeRecipient common.Address `json:"suggestedFeeRecipient" gencodec:"required"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BeaconRoot *common.Hash `json:"parentBeaconBlockRoot"` + + // CHANGE(taiko): extra fields. + BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` + BlockMetadata *BlockMetadata `json:"blockMetadata" gencodec:"required"` + L1Origin *rawdb.L1Origin `json:"l1Origin" gencodec:"required"` }   // JSON type overrides for PayloadAttributes. @@ -55,6 +61,27 @@ type payloadAttributesMarshaling struct { Timestamp hexutil.Uint64 }   +//go:generate go run github.com/fjl/gencodec -type BlockMetadata -field-override blockMetadataMarshaling -out gen_blockmetadata.go + +// CHANGE(taiko): BlockMetadata represents a `BlockMetadata` struct defined in +// protocol. +type BlockMetadata struct { + Beneficiary common.Address `json:"beneficiary" gencodec:"required"` + GasLimit uint64 `json:"gasLimit" gencodec:"required"` + Timestamp uint64 `json:"timestamp" gencodec:"required"` + MixHash common.Hash `json:"mixHash" gencodec:"required"` + + // Extra fields required in taiko-geth. + TxList []byte `json:"txList" gencodec:"required"` + ExtraData []byte `json:"extraData" gencodec:"required"` +} + +// CHANGE(taiko): JSON type overrides for BlockMetadata. +type blockMetadataMarshaling struct { + Timestamp hexutil.Uint64 + TxList hexutil.Bytes +} + //go:generate go run github.com/fjl/gencodec -type ExecutableData -field-override executableDataMarshaling -out gen_ed.go   // ExecutableData is the data necessary to execute an EL payload. @@ -72,12 +99,16 @@ Timestamp uint64 `json:"timestamp" gencodec:"required"` ExtraData []byte `json:"extraData" gencodec:"required"` BaseFeePerGas *big.Int `json:"baseFeePerGas" gencodec:"required"` BlockHash common.Hash `json:"blockHash" gencodec:"required"` - Transactions [][]byte `json:"transactions" gencodec:"required"` + Transactions [][]byte `json:"transactions"` Withdrawals []*types.Withdrawal `json:"withdrawals"` BlobGasUsed *uint64 `json:"blobGasUsed"` ExcessBlobGas *uint64 `json:"excessBlobGas"` Deposits types.Deposits `json:"depositRequests"` ExecutionWitness *types.ExecutionWitness `json:"executionWitness,omitempty"` + + TxHash common.Hash `json:"txHash"` // CHANGE(taiko): allow passing txHash directly instead of transactions list + WithdrawalsHash common.Hash `json:"withdrawalsHash"` // CHANGE(taiko): allow passing WithdrawalsHash directly instead of withdrawals + TaikoBlock bool // CHANGE(taiko): whether this is a Taiko L2 block, only used by ExecutableDataToBlock }   // JSON type overrides for executableData.

This shows modifications to cmd files.

These changes are for registering our RPC APIs and custom genesis settings.

diff --git ethereum/go-ethereum/cmd/geth/config.go taikoxyz/taiko-geth/cmd/geth/config.go index fd57ff40def499b95bd6ca18fbc0ef8111bae3d3..87481c8050863766ca005e1e32e78e3f7c327630 100644 --- ethereum/go-ethereum/cmd/geth/config.go +++ taikoxyz/taiko-geth/cmd/geth/config.go @@ -194,6 +194,9 @@ }   backend, eth := utils.RegisterEthService(stack, &cfg.Eth)   + // CHANGE(TAIKO): register Taiko RPC APIs. + utils.RegisterTaikoAPIs(stack, &cfg.Eth, eth) + // Create gauge with geth system and build information if eth != nil { // The 'eth' backend may be nil in light mode var protos []string
diff --git ethereum/go-ethereum/cmd/geth/main.go taikoxyz/taiko-geth/cmd/geth/main.go index 2675a616759c99fcf3495c42decd2ac324eeee47..c7056b02d24cdcbbeaef31d5c832fb89d400f140 100644 --- ethereum/go-ethereum/cmd/geth/main.go +++ taikoxyz/taiko-geth/cmd/geth/main.go @@ -145,6 +145,8 @@ utils.GpoBlocksFlag, utils.GpoPercentileFlag, utils.GpoMaxGasPriceFlag, utils.GpoIgnoreGasPriceFlag, + // CHANGE(taiko): add `--gpo.defaultprice` flag + utils.GpoDefaultGasPriceFlag, configFileFlag, utils.LogDebugFlag, utils.LogBacktraceAtFlag, @@ -258,6 +260,9 @@ consoleFlags, debug.Flags, metricsFlags, ) + // CHANGE(taiko): append Taiko flags into the original GETH flags + app.Flags = append(app.Flags, &utils.TaikoFlag) + flags.AutoEnvVars(app.Flags, "GETH")   app.Before = func(ctx *cli.Context) error {
diff --git ethereum/go-ethereum/cmd/utils/flags.go taikoxyz/taiko-geth/cmd/utils/flags.go index 6db88ff661832c694ef42ebeec81d787db894222..439a3dcf48887c770f4fe5f7af645b7f3bc9341f 100644 --- ethereum/go-ethereum/cmd/utils/flags.go +++ taikoxyz/taiko-geth/cmd/utils/flags.go @@ -862,6 +862,12 @@ Usage: "Gas price below which gpo will ignore transactions", Value: ethconfig.Defaults.GPO.IgnorePrice.Int64(), Category: flags.GasPriceCategory, } + // CHANGE(taiko): add `--gpo.defaultprice` flag. + GpoDefaultGasPriceFlag = &cli.Int64Flag{ + Name: "gpo.defaultprice", + Usage: "Default gas price", + Category: flags.GasPriceCategory, + }   // Metrics flags MetricsEnabledFlag = &cli.BoolFlag{ @@ -1788,6 +1794,9 @@ } } // Override any default configs for hard coded networks. switch { + // CHANGE(taiko): when `--taiko` flag is set, use the Taiko genesis. + case ctx.IsSet(TaikoFlag.Name): + cfg.Genesis = core.TaikoGenesisBlock(cfg.NetworkId) case ctx.Bool(MainnetFlag.Name): if !ctx.IsSet(NetworkIdFlag.Name) { cfg.NetworkId = 1
diff --git ethereum/go-ethereum/cmd/utils/taiko_flags.go taikoxyz/taiko-geth/cmd/utils/taiko_flags.go new file mode 100644 index 0000000000000000000000000000000000000000..54279f3fedc1eb82e5cb5b3dfb1d76e59bb79dca --- /dev/null +++ taikoxyz/taiko-geth/cmd/utils/taiko_flags.go @@ -0,0 +1,41 @@ +package utils + +import ( + "os" + + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/urfave/cli/v2" +) + +var ( + TaikoFlag = cli.BoolFlag{ + Name: "taiko", + Usage: "Taiko network", + } +) + +// RegisterTaikoAPIs initializes and registers the Taiko RPC APIs. +func RegisterTaikoAPIs(stack *node.Node, cfg *ethconfig.Config, backend *eth.Ethereum) { + if os.Getenv("TAIKO_TEST") != "" { + return + } + // Add methods under "taiko_" RPC namespace to the available APIs list + stack.RegisterAPIs([]rpc.API{ + { + Namespace: "taiko", + Version: params.VersionWithMeta, + Service: eth.NewTaikoAPIBackend(backend), + Public: true, + }, + { + Namespace: "taikoAuth", + Version: params.VersionWithMeta, + Service: eth.NewTaikoAuthAPIBackend(backend), + Authenticated: true, + }, + }) +}

This shows modifications to consensus files.

This is our Taiko consensus engine, built for the L2 rollup.

diff --git ethereum/go-ethereum/consensus/taiko/consensus.go taikoxyz/taiko-geth/consensus/taiko/consensus.go new file mode 100644 index 0000000000000000000000000000000000000000..3ec5255c134dac31f473969114661c152fadc44d --- /dev/null +++ taikoxyz/taiko-geth/consensus/taiko/consensus.go @@ -0,0 +1,327 @@ +package taiko + +import ( + "bytes" + "errors" + "fmt" + "math/big" + "strings" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus" + "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/tracing" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/ethereum/go-ethereum/trie" + "github.com/holiman/uint256" +) + +var ( + ErrOlderBlockTime = errors.New("timestamp older than parent") + ErrUnclesNotEmpty = errors.New("uncles not empty") + ErrEmptyBasefee = errors.New("empty base fee") + ErrEmptyWithdrawalsHash = errors.New("withdrawals hash missing") + ErrAnchorTxNotFound = errors.New("anchor transaction not found") + + GoldenTouchAccount = common.HexToAddress("0x0000777735367b36bC9B61C50022d9D0700dB4Ec") + TaikoL2AddressSuffix = "10001" + AnchorSelector = crypto.Keccak256([]byte("anchor(bytes32,bytes32,uint64,uint32)"))[:4] + AnchorV2Selector = crypto.Keccak256( + []byte("anchorV2(uint64,bytes32,uint32,(uint8,uint8,uint32,uint64,uint32))"), + )[:4] + AnchorGasLimit = uint64(250_000) +) + +// Taiko is a consensus engine used by L2 rollup. +type Taiko struct { + chainConfig *params.ChainConfig + taikoL2Address common.Address +} + +var _ = new(Taiko) + +func New(chainConfig *params.ChainConfig) *Taiko { + taikoL2AddressPrefix := strings.TrimPrefix(chainConfig.ChainID.String(), "0") + + return &Taiko{ + chainConfig: chainConfig, + taikoL2Address: common.HexToAddress( + "0x" + + taikoL2AddressPrefix + + strings.Repeat("0", common.AddressLength*2-len(taikoL2AddressPrefix)-len(TaikoL2AddressSuffix)) + + TaikoL2AddressSuffix, + ), + } +} + +// check all method stubs for interface `Engine` without affect performance. +var _ consensus.Engine = (*Taiko)(nil) + +// Author retrieves the Ethereum address of the account that minted the given +// block, who proposes the block (not the prover). +func (t *Taiko) Author(header *types.Header) (common.Address, error) { + return header.Coinbase, nil +} + +// VerifyHeader checks whether a header conforms to the consensus rules of a +// given engine. Verifying the seal may be done optionally here, or explicitly +// via the VerifySeal method. +func (t *Taiko) VerifyHeader(chain consensus.ChainHeaderReader, header *types.Header) error { + // Short circuit if the header is known, or its parent not + number := header.Number.Uint64() + if chain.GetHeader(header.Hash(), number) != nil { + return nil + } + parent := chain.GetHeader(header.ParentHash, number-1) + if parent == nil { + return consensus.ErrUnknownAncestor + } + // Sanity checks passed, do a proper verification + return t.verifyHeader(chain, header, parent, time.Now().Unix()) +} + +// VerifyHeaders is similar to VerifyHeader, but verifies a batch of headers +// concurrently. The method returns a quit channel to abort the operations and +// a results channel to retrieve the async verifications (the order is that of +// the input slice). +func (t *Taiko) VerifyHeaders(chain consensus.ChainHeaderReader, headers []*types.Header) (chan<- struct{}, <-chan error) { + if len(headers) == 0 { + return make(chan struct{}), make(chan error, len(headers)) + } + abort := make(chan struct{}) + results := make(chan error, len(headers)) + unixNow := time.Now().Unix() + + go func() { + for i, header := range headers { + var parent *types.Header + if i == 0 { + parent = chain.GetHeader(headers[0].ParentHash, headers[0].Number.Uint64()-1) + } else if headers[i-1].Hash() == headers[i].ParentHash { + parent = headers[i-1] + } + var err error + if parent == nil { + err = consensus.ErrUnknownAncestor + } else { + err = t.verifyHeader(chain, header, parent, unixNow) + } + select { + case <-abort: + return + case results <- err: + } + } + }() + return abort, results +} + +func (t *Taiko) verifyHeader(chain consensus.ChainHeaderReader, header, parent *types.Header, unixNow int64) error { + if header.Time > uint64(unixNow) { + return consensus.ErrFutureBlock + } + + // Ensure that the header's extra-data section is of a reasonable size (<= 32 bytes) + if uint64(len(header.Extra)) > params.MaximumExtraDataSize { + return fmt.Errorf("extra-data too long: %d > %d", len(header.Extra), params.MaximumExtraDataSize) + } + + // Timestamp should later than or equal to parent (when many L2 blocks included in one L1 block) + if header.Time < parent.Time { + return ErrOlderBlockTime + } + + // Verify that the block number is parent's +1 + if diff := new(big.Int).Sub(header.Number, parent.Number); diff.Cmp(big.NewInt(1)) != 0 { + return consensus.ErrInvalidNumber + } + + // Difficulty should always be zero + if header.Difficulty != nil && header.Difficulty.Cmp(common.Big0) != 0 { + return fmt.Errorf("invalid difficulty: have %v, want %v", header.Difficulty, common.Big0) + } + + // Verify that the gas limit is <= 2^63-1 + if header.GasLimit > params.MaxGasLimit { + return fmt.Errorf("invalid gasLimit: have %v, max %v", header.GasLimit, params.MaxGasLimit) + } + + // Verify that the gasUsed is <= gasLimit + if header.GasUsed > header.GasLimit { + return fmt.Errorf("invalid gasUsed: have %d, gasLimit %d", header.GasUsed, header.GasLimit) + } + + // Uncles should be empty + if header.UncleHash != types.CalcUncleHash(nil) { + return ErrUnclesNotEmpty + } + + // BaseFee should not be empty + if header.BaseFee == nil { + return ErrEmptyBasefee + } + + // WithdrawalsHash should not be empty + if header.WithdrawalsHash == nil { + return ErrEmptyWithdrawalsHash + } + + return nil +} + +// VerifyUncles verifies that the given block's uncles conform to the consensus +// rules of a given engine. +// +// always returning an error for any uncles as this consensus mechanism doesn't permit uncles. +func (t *Taiko) VerifyUncles(chain consensus.ChainReader, block *types.Block) error { + if len(block.Uncles()) > 0 { + return ErrUnclesNotEmpty + } + + return nil +} + +// Prepare initializes the consensus fields of a block header according to the +// rules of a particular engine. The changes are executed inline. +func (t *Taiko) Prepare(chain consensus.ChainHeaderReader, header *types.Header) error { + parent := chain.GetHeader(header.ParentHash, header.Number.Uint64()-1) + if parent == nil { + return consensus.ErrUnknownAncestor + } + header.Difficulty = common.Big0 + return nil +} + +// Finalize runs any post-transaction state modifications (e.g. block rewards) +// but does not assemble the block. +// +// Note: The block header and state database might be updated to reflect any +// consensus rules that happen at finalization (e.g. block rewards). +func (t *Taiko) Finalize(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, body *types.Body) { + // no block rewards in l2 + header.UncleHash = types.CalcUncleHash(nil) + header.Difficulty = common.Big0 + // Withdrawals processing. + for _, w := range body.Withdrawals { + state.AddBalance( + w.Address, + uint256.MustFromBig(new(big.Int).SetUint64(w.Amount)), + tracing.BalanceIncreaseWithdrawal, + ) + } + header.Root = state.IntermediateRoot(true) +} + +// FinalizeAndAssemble runs any post-transaction state modifications (e.g. block +// rewards) and assembles the final block. +// +// Note: The block header and state database might be updated to reflect any +// consensus rules that happen at finalization (e.g. block rewards). +func (t *Taiko) FinalizeAndAssemble(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, body *types.Body, receipts []*types.Receipt) (*types.Block, error) { + if body.Withdrawals == nil { + body.Withdrawals = make([]*types.Withdrawal, 0) + } + + // Verify anchor transaction + if len(body.Transactions) != 0 { // Transactions list might be empty when building empty payload. + isAnchor, err := t.ValidateAnchorTx(body.Transactions[0], header) + if err != nil { + return nil, err + } + if !isAnchor { + return nil, ErrAnchorTxNotFound + } + } + + // Finalize block + t.Finalize(chain, header, state, body) + return types.NewBlock(header, body, receipts, trie.NewStackTrie(nil)), nil +} + +// Seal generates a new sealing request for the given input block and pushes +// the result into the given channel. +// +// Note, the method returns immediately and will send the result async. More +// than one result may also be returned depending on the consensus algorithm. +func (t *Taiko) Seal(chain consensus.ChainHeaderReader, block *types.Block, results chan<- *types.Block, stop <-chan struct{}) error { + header := block.Header() + + // Sealing the genesis block is not supported + number := header.Number.Uint64() + if number == 0 { + return consensus.ErrInvalidNumber + } + + select { + case results <- block.WithSeal(header): + case <-stop: + return nil + default: + log.Warn("Sealing result is not read by miner", "sealHash", t.SealHash(header)) + } + + return nil +} + +// SealHash returns the hash of a block prior to it being sealed. +func (t *Taiko) SealHash(header *types.Header) common.Hash { + // Keccak(rlp(header)) + return header.Hash() +} + +// CalcDifficulty is the difficulty adjustment algorithm. It returns the difficulty +// that a new block should have. +func (t *Taiko) CalcDifficulty(chain consensus.ChainHeaderReader, time uint64, parent *types.Header) *big.Int { + return common.Big0 +} + +// ValidateAnchorTx checks if the given transaction is a valid TaikoL2.anchor or TaikoL2.anchorV2 transaction. +func (t *Taiko) ValidateAnchorTx(tx *types.Transaction, header *types.Header) (bool, error) { + if tx.Type() != types.DynamicFeeTxType { + return false, nil + } + + if tx.To() == nil || *tx.To() != t.taikoL2Address { + return false, nil + } + + if !bytes.HasPrefix(tx.Data(), AnchorSelector) && !bytes.HasPrefix(tx.Data(), AnchorV2Selector) { + return false, nil + } + + if tx.Value().Cmp(common.Big0) != 0 { + return false, nil + } + + if tx.Gas() != AnchorGasLimit { + return false, nil + } + + if tx.GasFeeCap().Cmp(header.BaseFee) != 0 { + return false, nil + } + + s := types.MakeSigner(t.chainConfig, header.Number, header.Time) + + addr, err := s.Sender(tx) + if err != nil { + return false, err + } + + return strings.EqualFold(addr.String(), GoldenTouchAccount.String()), nil +} + +// APIs returns the RPC APIs this consensus engine provides. +func (t *Taiko) APIs(chain consensus.ChainHeaderReader) []rpc.API { + return nil +} + +// Close terminates any background threads maintained by the consensus engine. +func (t *Taiko) Close() error { + return nil +}
diff --git ethereum/go-ethereum/consensus/taiko/consensus_test.go taikoxyz/taiko-geth/consensus/taiko/consensus_test.go new file mode 100644 index 0000000000000000000000000000000000000000..3e06ac658129b6763fe68417eab9d5ce99191179 --- /dev/null +++ taikoxyz/taiko-geth/consensus/taiko/consensus_test.go @@ -0,0 +1,237 @@ +package taiko_test + +import ( + "bytes" + "math/big" + "strings" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus" + "github.com/ethereum/go-ethereum/consensus/taiko" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/triedb" + "github.com/stretchr/testify/assert" +) + +var ( + testL2RollupAddress = common.HexToAddress("0x79fcdef22feed20eddacbb2587640e45491b757f") + testKey, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") + goldenTouchKey, _ = crypto.HexToECDSA("92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce38") + testAddr = crypto.PubkeyToAddress(testKey.PublicKey) + + genesis *core.Genesis + txs []*types.Transaction + testEngine *taiko.Taiko +) + +func init() { + config := params.TestChainConfig + config.GrayGlacierBlock = nil + config.ArrowGlacierBlock = nil + config.Ethash = nil + config.Taiko = true + testEngine = taiko.New(config) + + taikoL2AddressPrefix := strings.TrimPrefix(config.ChainID.String(), "0") + + taikoL2Address := common.HexToAddress( + "0x" + + taikoL2AddressPrefix + + strings.Repeat("0", common.AddressLength*2-len(taikoL2AddressPrefix)-len(taiko.TaikoL2AddressSuffix)) + + taiko.TaikoL2AddressSuffix, + ) + + genesis = &core.Genesis{ + Config: config, + Alloc: types.GenesisAlloc{testAddr: {Balance: big.NewInt(2e15)}}, + ExtraData: []byte("test genesis"), + Timestamp: 9000, + Difficulty: common.Big0, + BaseFee: big.NewInt(params.InitialBaseFee), + } + + txs = []*types.Transaction{ + types.MustSignNewTx(goldenTouchKey, types.LatestSigner(genesis.Config), &types.DynamicFeeTx{ + Nonce: 0, + GasTipCap: common.Big0, + GasFeeCap: new(big.Int).SetUint64(875_000_000), + Data: taiko.AnchorSelector, + Gas: taiko.AnchorGasLimit, + To: &taikoL2Address, + }), + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 0, + Value: big.NewInt(12), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &common.Address{2}, + }), + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 1, + Value: big.NewInt(8), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &common.Address{2}, + }), + // prepareBlockTx + types.MustSignNewTx(testKey, types.LatestSigner(genesis.Config), &types.LegacyTx{ + Nonce: 2, + Value: big.NewInt(8), + GasPrice: big.NewInt(params.InitialBaseFee), + Gas: params.TxGas, + To: &testL2RollupAddress, + }), + } +} + +func newTestBackend(t *testing.T) (*eth.Ethereum, []*types.Block) { + // Generate test chain. + blocks := generateTestChain() + + // Create node + n, err := node.New(&node.Config{}) + if err != nil { + t.Fatalf("can't create new node: %v", err) + } + + // Create Ethereum Service + config := &ethconfig.Config{ + Genesis: genesis, + } + + ethservice, err := eth.New(n, config) + if err != nil { + t.Fatalf("can't create new ethereum service: %v", err) + } + + // Import the test chain. + if err := n.Start(); err != nil { + t.Fatalf("can't start test node: %v", err) + } + + if _, err := ethservice.BlockChain().InsertChain(blocks[1:]); err != nil { + t.Fatalf("can't import test blocks: %v", err) + } + + if _, ok := ethservice.Engine().(*taiko.Taiko); !ok { + t.Fatalf("not use taiko engine") + } + + return ethservice, blocks +} + +func generateTestChain() []*types.Block { + db := rawdb.NewMemoryDatabase() + generate := func(i int, g *core.BlockGen) { + g.OffsetTime(5) + + g.SetExtra([]byte("test_taiko")) + g.SetDifficulty(common.Big0) + + for i, tx := range txs { + if i == 0 { + if err := tx.MarkAsAnchor(); err != nil { + panic(err) + } + } + g.AddTx(tx) + } + } + + gblock := genesis.MustCommit(db, triedb.NewDatabase(db, triedb.HashDefaults)) + + blocks, _ := core.GenerateChain(genesis.Config, gblock, testEngine, db, 1, generate) + + blocks = append([]*types.Block{gblock}, blocks...) + return blocks +} + +func TestVerifyHeader(t *testing.T) { + ethService, blocks := newTestBackend(t) + + for _, b := range blocks { + err := testEngine.VerifyHeader(ethService.BlockChain(), b.Header()) + assert.NoErrorf(t, err, "VerifyHeader error: %s", err) + } + + err := testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + Number: common.Big1, + Time: uint64(time.Now().Unix()), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorIs(t, err, consensus.ErrUnknownAncestor, "VerifyHeader should throw ErrUnknownAncestor when parentHash is unknown") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: common.Big0, + Time: uint64(time.Now().Unix()), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorIs(t, err, consensus.ErrInvalidNumber, "VerifyHeader should throw ErrInvalidNumber when the block number is wrong") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + Extra: bytes.Repeat([]byte{1}, int(params.MaximumExtraDataSize+1)), + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "extra-data too long", "VerifyHeader should throw ErrExtraDataTooLong when the block has too much extra data") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + Difficulty: common.Big1, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "invalid difficulty", "VerifyHeader should throw ErrInvalidDifficulty when difficulty is not 0") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit + 1, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "invalid gasLimit", "VerifyHeader should throw ErrInvalidGasLimit when gasLimit is higher than the limit") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit, + BaseFee: big.NewInt(params.InitialBaseFee), + UncleHash: types.EmptyUncleHash, + }) + assert.ErrorContains(t, err, "withdrawals hash missing", "VerifyHeader should throw ErrWithdrawalsHashMissing withdrawalshash is nil") + + err = testEngine.VerifyHeader(ethService.BlockChain(), &types.Header{ + ParentHash: blocks[len(blocks)-1].Hash(), + Number: new(big.Int).SetInt64(int64(len(blocks))), + Time: uint64(time.Now().Unix()), + GasLimit: params.MaxGasLimit, + BaseFee: big.NewInt(params.InitialBaseFee), + WithdrawalsHash: &types.EmptyWithdrawalsHash, + }) + assert.ErrorContains(t, err, "uncles not empty", "VerifyHeader should throw ErrUnclesNotEmpty if uncles is not the empty hash") +}

This shows modifications to core files.

diff --git ethereum/go-ethereum/core/state_processor.go taikoxyz/taiko-geth/core/state_processor.go index c74a33c378f46c4d77961003366c48fe1aa1bf82..044ffb9e67b751db1e4a7bde5836a54a9c45ce00 100644 --- ethereum/go-ethereum/core/state_processor.go +++ taikoxyz/taiko-geth/core/state_processor.go @@ -83,9 +83,18 @@ ProcessParentBlockHash(block.ParentHash(), vmenv, statedb) } // Iterate over and process the individual transactions for i, tx := range block.Transactions() { + // CHANGE(taiko): mark the first transaction as anchor transaction. + if i == 0 && p.config.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } msg, err := TransactionToMessage(tx, signer, header.BaseFee) if err != nil { return nil, fmt.Errorf("could not apply tx %d [%v]: %w", i, tx.Hash().Hex(), err) + } + if p.config.IsOntake(block.Number()) { + msg.BasefeeSharingPctg = DecodeOntakeExtraData(header.Extra) } statedb.SetTxContext(tx.Hash(), i)   @@ -196,6 +205,11 @@ func ApplyTransaction(config *params.ChainConfig, bc ChainContext, author *common.Address, gp *GasPool, statedb *state.StateDB, header *types.Header, tx *types.Transaction, usedGas *uint64, cfg vm.Config) (*types.Receipt, error) { msg, err := TransactionToMessage(tx, types.MakeSigner(config, header.Number, header.Time), header.BaseFee) if err != nil { return nil, err + } + // CHANGE(taiko): decode the basefeeSharingPctg config from the extradata, and + // add it to the Message, if its an ontake block. + if config.IsOntake(header.Number) { + msg.BasefeeSharingPctg = DecodeOntakeExtraData(header.Extra) } // Create a new context to be used in the EVM environment blockContext := NewEVMBlockContext(header, bc, author)
diff --git ethereum/go-ethereum/core/state_transition.go taikoxyz/taiko-geth/core/state_transition.go index d285d03fe2450fa679f35570e68ce4b14a444157..678964e9f62a07cc7958d97ee1f41f7dff96c7b9 100644 --- ethereum/go-ethereum/core/state_transition.go +++ taikoxyz/taiko-geth/core/state_transition.go @@ -20,6 +20,7 @@ import ( "fmt" "math" "math/big" + "strings"   "github.com/ethereum/go-ethereum/common" cmath "github.com/ethereum/go-ethereum/common/math" @@ -149,6 +150,12 @@ SkipNonceChecks bool   // When SkipFromEOACheck is true, the message sender is not checked to be an EOA. SkipFromEOACheck bool + + // CHANGE(taiko): whether the current transaction is the first TaikoL2.anchor transaction in a block. + IsAnchor bool + // CHANGE(taiko): basefeeSharingPctg of the basefee will be sent to the block.coinbase, + // the remaining will be sent to the treasury address. + BasefeeSharingPctg uint8 }   // TransactionToMessage converts a transaction into a Message. @@ -167,6 +174,7 @@ SkipNonceChecks: false, SkipFromEOACheck: false, BlobHashes: tx.BlobHashes(), BlobGasFeeCap: tx.BlobGasFeeCap(), + IsAnchor: tx.IsAnchor(), } // If baseFee provided, set gasPrice to effectiveGasPrice. if baseFee != nil { @@ -263,6 +271,11 @@ balanceCheckU256, overflow := uint256.FromBig(balanceCheck) if overflow { return fmt.Errorf("%w: address %v required balance exceeds 256 bits", ErrInsufficientFunds, st.msg.From.Hex()) } + // CHANGE(taiko): if the transaction is an anchor transaction, the balance check is skipped. + if st.msg.IsAnchor { + balanceCheckU256 = common.U2560 + mgval = common.Big0 + } if have, want := st.state.GetBalance(st.msg.From), balanceCheckU256; have.Cmp(want) < 0 { return fmt.Errorf("%w: address %v have %v want %v", ErrInsufficientFunds, st.msg.From.Hex(), have, want) } @@ -309,7 +322,8 @@ } // Make sure that transaction gasFeeCap is greater than the baseFee (post london) if st.evm.ChainConfig().IsLondon(st.evm.Context.BlockNumber) { // Skip the checks if gas fields are zero and baseFee was explicitly disabled (eth_call) - skipCheck := st.evm.Config.NoBaseFee && msg.GasFeeCap.BitLen() == 0 && msg.GasTipCap.BitLen() == 0 + skipCheck := (st.evm.Config.NoBaseFee && msg.GasFeeCap.BitLen() == 0 && msg.GasTipCap.BitLen() == 0) || + st.msg.IsAnchor if !skipCheck { if l := msg.GasFeeCap.BitLen(); l > 256 { return fmt.Errorf("%w: address %v, maxFeePerGas bit length: %d", ErrFeeCapVeryHigh, @@ -474,6 +488,17 @@ fee := new(uint256.Int).SetUint64(st.gasUsed()) fee.Mul(fee, effectiveTipU256) st.state.AddBalance(st.evm.Context.Coinbase, fee, tracing.BalanceIncreaseRewardTransactionFee)   + // CHANGE(taiko): basefee is not burnt, but sent to a treasury and block.coinbase instead. + if st.evm.ChainConfig().Taiko && st.evm.Context.BaseFee != nil && !st.msg.IsAnchor { + totalFee := new(big.Int).Mul(st.evm.Context.BaseFee, new(big.Int).SetUint64(st.gasUsed())) + feeCoinbase := new(big.Int).Div( + new(big.Int).Mul(totalFee, new(big.Int).SetUint64(uint64(st.msg.BasefeeSharingPctg))), + new(big.Int).SetUint64(100), + ) + feeTreasury := new(big.Int).Sub(totalFee, feeCoinbase) + st.state.AddBalance(st.getTreasuryAddress(), uint256.MustFromBig(feeTreasury), tracing.BalanceIncreaseTreasury) + st.state.AddBalance(st.evm.Context.Coinbase, uint256.MustFromBig(feeCoinbase), tracing.BalanceIncreaseBaseFeeSharing) + } // add the coinbase to the witness iff the fee is greater than 0 if rules.IsEIP4762 && fee.Sign() != 0 { st.evm.AccessEvents.AddAccount(st.evm.Context.Coinbase, true) @@ -500,16 +525,17 @@ st.evm.Config.Tracer.OnGasChange(st.gasRemaining, st.gasRemaining+refund, tracing.GasChangeTxRefunds) }   st.gasRemaining += refund - - // Return ETH for remaining gas, exchanged at the original rate. - remaining := uint256.NewInt(st.gasRemaining) - remaining.Mul(remaining, uint256.MustFromBig(st.msg.GasPrice)) - st.state.AddBalance(st.msg.From, remaining, tracing.BalanceIncreaseGasReturn) + // CHANGE(taiko): do not change the balance in anchor transactions. + if !st.msg.IsAnchor { + // Return ETH for remaining gas, exchanged at the original rate. + remaining := uint256.NewInt(st.gasRemaining) + remaining.Mul(remaining, uint256.MustFromBig(st.msg.GasPrice)) + st.state.AddBalance(st.msg.From, remaining, tracing.BalanceIncreaseGasReturn)   - if st.evm.Config.Tracer != nil && st.evm.Config.Tracer.OnGasChange != nil && st.gasRemaining > 0 { - st.evm.Config.Tracer.OnGasChange(st.gasRemaining, 0, tracing.GasChangeTxLeftOverReturned) + if st.evm.Config.Tracer != nil && st.evm.Config.Tracer.OnGasChange != nil && st.gasRemaining > 0 { + st.evm.Config.Tracer.OnGasChange(st.gasRemaining, 0, tracing.GasChangeTxLeftOverReturned) + } } - // Also return remaining gas to the block gas counter so it is // available for the next transaction. st.gp.AddGas(st.gasRemaining) @@ -526,3 +552,23 @@ // blobGasUsed returns the amount of blob gas used by the message. func (st *StateTransition) blobGasUsed() uint64 { return uint64(len(st.msg.BlobHashes) * params.BlobTxBlobGasPerBlob) } + +// CHANGE(taiko): returns the treasury address based on chain ID. +func (st *StateTransition) getTreasuryAddress() common.Address { + var ( + prefix = st.evm.ChainConfig().ChainID.String() + suffix = "10001" + ) + return common.HexToAddress( + "0x" + + prefix + + strings.Repeat("0", common.AddressLength*2-len(prefix)-len(suffix)) + + suffix, + ) +} + +// DecodeOntakeExtraData decodes an ontake block's extradata, returns basefeeSharingPctg configurations, +// the corresponding enocding function in protocol is `LibProposing._encodeGasConfigs`. +func DecodeOntakeExtraData(extradata []byte) uint8 { + return uint8(new(big.Int).SetBytes(extradata).Uint64()) +}
diff --git ethereum/go-ethereum/core/taiko_genesis.go taikoxyz/taiko-geth/core/taiko_genesis.go new file mode 100644 index 0000000000000000000000000000000000000000..ed114eacd24d6a97a072cf1530a5084edbaaa733 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis.go @@ -0,0 +1,78 @@ +package core + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" + taikoGenesis "github.com/ethereum/go-ethereum/core/taiko_genesis" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" +) + +var ( + InternalDevnetOntakeBlock = new(big.Int).SetUint64(2) + HeklaOntakeBlock = new(big.Int).SetUint64(840_512) + // TODO: update this value when mainnet fork height is decided + MainnetOntakeBlock = new(big.Int).SetUint64(9_000_000) +) + +// TaikoGenesisBlock returns the Taiko network genesis block configs. +func TaikoGenesisBlock(networkID uint64) *Genesis { + chainConfig := params.TaikoChainConfig + + var allocJSON []byte + switch networkID { + case params.TaikoMainnetNetworkID.Uint64(): + chainConfig.ChainID = params.TaikoMainnetNetworkID + chainConfig.OntakeBlock = MainnetOntakeBlock + allocJSON = taikoGenesis.MainnetGenesisAllocJSON + case params.TaikoInternalL2ANetworkID.Uint64(): + chainConfig.ChainID = params.TaikoInternalL2ANetworkID + chainConfig.OntakeBlock = InternalDevnetOntakeBlock + allocJSON = taikoGenesis.InternalL2AGenesisAllocJSON + case params.TaikoInternalL2BNetworkID.Uint64(): + chainConfig.ChainID = params.TaikoInternalL2BNetworkID + allocJSON = taikoGenesis.InternalL2BGenesisAllocJSON + case params.SnaefellsjokullNetworkID.Uint64(): + chainConfig.ChainID = params.SnaefellsjokullNetworkID + allocJSON = taikoGenesis.SnaefellsjokullGenesisAllocJSON + case params.AskjaNetworkID.Uint64(): + chainConfig.ChainID = params.AskjaNetworkID + allocJSON = taikoGenesis.AskjaGenesisAllocJSON + case params.GrimsvotnNetworkID.Uint64(): + chainConfig.ChainID = params.GrimsvotnNetworkID + allocJSON = taikoGenesis.GrimsvotnGenesisAllocJSON + case params.EldfellNetworkID.Uint64(): + chainConfig.ChainID = params.EldfellNetworkID + allocJSON = taikoGenesis.EldfellGenesisAllocJSON + case params.JolnirNetworkID.Uint64(): + chainConfig.ChainID = params.JolnirNetworkID + allocJSON = taikoGenesis.JolnirGenesisAllocJSON + case params.KatlaNetworkID.Uint64(): + chainConfig.ChainID = params.KatlaNetworkID + allocJSON = taikoGenesis.KatlaGenesisAllocJSON + case params.HeklaNetworkID.Uint64(): + chainConfig.ChainID = params.HeklaNetworkID + chainConfig.OntakeBlock = HeklaOntakeBlock + allocJSON = taikoGenesis.HeklaGenesisAllocJSON + default: + chainConfig.ChainID = params.TaikoInternalL2ANetworkID + chainConfig.OntakeBlock = InternalDevnetOntakeBlock + allocJSON = taikoGenesis.InternalL2AGenesisAllocJSON + } + + var alloc GenesisAlloc + if err := alloc.UnmarshalJSON(allocJSON); err != nil { + log.Crit("unmarshal alloc json error", "error", err) + } + + return &Genesis{ + Config: chainConfig, + ExtraData: []byte{}, + GasLimit: uint64(15_000_000), + Difficulty: common.Big0, + Alloc: alloc, + GasUsed: 0, + BaseFee: new(big.Int).SetUint64(10_000_000), + } +}
diff --git ethereum/go-ethereum/core/rawdb/gen_taiko_l1_origin.go taikoxyz/taiko-geth/core/rawdb/gen_taiko_l1_origin.go new file mode 100644 index 0000000000000000000000000000000000000000..6cbd6c3cdbc0a1f87d5e816e6103b2a2d082354b --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/gen_taiko_l1_origin.go @@ -0,0 +1,60 @@ +// Code generated by github.com/fjl/gencodec. DO NOT EDIT. + +package rawdb + +import ( + "encoding/json" + "errors" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" +) + +var _ = (*l1OriginMarshaling)(nil) + +// MarshalJSON marshals as JSON. +func (l L1Origin) MarshalJSON() ([]byte, error) { + type L1Origin struct { + BlockID *math.HexOrDecimal256 `json:"blockID" gencodec:"required"` + L2BlockHash common.Hash `json:"l2BlockHash"` + L1BlockHeight *math.HexOrDecimal256 `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash common.Hash `json:"l1BlockHash" gencodec:"required"` + } + var enc L1Origin + enc.BlockID = (*math.HexOrDecimal256)(l.BlockID) + enc.L2BlockHash = l.L2BlockHash + enc.L1BlockHeight = (*math.HexOrDecimal256)(l.L1BlockHeight) + enc.L1BlockHash = l.L1BlockHash + return json.Marshal(&enc) +} + +// UnmarshalJSON unmarshals from JSON. +func (l *L1Origin) UnmarshalJSON(input []byte) error { + type L1Origin struct { + BlockID *math.HexOrDecimal256 `json:"blockID" gencodec:"required"` + L2BlockHash *common.Hash `json:"l2BlockHash"` + L1BlockHeight *math.HexOrDecimal256 `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash *common.Hash `json:"l1BlockHash" gencodec:"required"` + } + var dec L1Origin + if err := json.Unmarshal(input, &dec); err != nil { + return err + } + if dec.BlockID == nil { + return errors.New("missing required field 'blockID' for L1Origin") + } + l.BlockID = (*big.Int)(dec.BlockID) + if dec.L2BlockHash != nil { + l.L2BlockHash = *dec.L2BlockHash + } + if dec.L1BlockHeight == nil { + return errors.New("missing required field 'l1BlockHeight' for L1Origin") + } + l.L1BlockHeight = (*big.Int)(dec.L1BlockHeight) + if dec.L1BlockHash == nil { + return errors.New("missing required field 'l1BlockHash' for L1Origin") + } + l.L1BlockHash = *dec.L1BlockHash + return nil +}
diff --git ethereum/go-ethereum/core/rawdb/taiko_l1_origin.go taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin.go new file mode 100644 index 0000000000000000000000000000000000000000..aaa5c14832f39b524e863ad9ef0a64c044a9a1d6 --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin.go @@ -0,0 +1,92 @@ +package rawdb + +import ( + "bytes" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/rlp" +) + +var ( + // Database key prefix for L2 block's L1Origin. + l1OriginPrefix = []byte("TKO:L1O") + headL1OriginKey = []byte("TKO:LastL1O") +) + +// l1OriginKey calculates the L1Origin key. +// l1OriginPrefix + l2HeaderHash -> l1OriginKey +func l1OriginKey(blockID *big.Int) []byte { + data, _ := (*math.HexOrDecimal256)(blockID).MarshalText() + return append(l1OriginPrefix, data...) +} + +//go:generate go run github.com/fjl/gencodec -type L1Origin -field-override l1OriginMarshaling -out gen_taiko_l1_origin.go + +// L1Origin represents a L1Origin of a L2 block. +type L1Origin struct { + BlockID *big.Int `json:"blockID" gencodec:"required"` + L2BlockHash common.Hash `json:"l2BlockHash"` + L1BlockHeight *big.Int `json:"l1BlockHeight" gencodec:"required"` + L1BlockHash common.Hash `json:"l1BlockHash" gencodec:"required"` +} + +type l1OriginMarshaling struct { + BlockID *math.HexOrDecimal256 + L1BlockHeight *math.HexOrDecimal256 +} + +// WriteL1Origin stores a L1Origin into the database. +func WriteL1Origin(db ethdb.KeyValueWriter, blockID *big.Int, l1Origin *L1Origin) { + data, err := rlp.EncodeToBytes(l1Origin) + if err != nil { + log.Crit("Failed to encode L1Origin", "err", err) + } + + if err := db.Put(l1OriginKey(blockID), data); err != nil { + log.Crit("Failed to store L1Origin", "err", err) + } +} + +// ReadL1Origin retrieves the given L2 block's L1Origin from database. +func ReadL1Origin(db ethdb.KeyValueReader, blockID *big.Int) (*L1Origin, error) { + data, _ := db.Get(l1OriginKey(blockID)) + if len(data) == 0 { + return nil, nil + } + + l1Origin := new(L1Origin) + if err := rlp.Decode(bytes.NewReader(data), l1Origin); err != nil { + return nil, fmt.Errorf("invalid L1Origin RLP bytes: %w", err) + } + + return l1Origin, nil +} + +// WriteHeadL1Origin stores the given L1Origin as the last L1Origin. +func WriteHeadL1Origin(db ethdb.KeyValueWriter, blockID *big.Int) { + data, _ := (*math.HexOrDecimal256)(blockID).MarshalText() + if err := db.Put(headL1OriginKey, data); err != nil { + log.Crit("Failed to store head L1Origin", "error", err) + } +} + +// ReadHeadL1Origin retrieves the last L1Origin from database. +func ReadHeadL1Origin(db ethdb.KeyValueReader) (*big.Int, error) { + data, _ := db.Get(headL1OriginKey) + if len(data) == 0 { + return nil, nil + } + + blockID := new(math.HexOrDecimal256) + if err := blockID.UnmarshalText(data); err != nil { + log.Error("Unmarshal L1Origin unmarshal error", "error", err) + return nil, fmt.Errorf("invalid L1Origin unmarshal: %w", err) + } + + return (*big.Int)(blockID), nil +}
diff --git ethereum/go-ethereum/core/rawdb/taiko_l1_origin_test.go taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin_test.go new file mode 100644 index 0000000000000000000000000000000000000000..dae37a354fa5a6f9afae623e30cc2e9e8e1d69e8 --- /dev/null +++ taikoxyz/taiko-geth/core/rawdb/taiko_l1_origin_test.go @@ -0,0 +1,59 @@ +package rawdb + +import ( + "crypto/rand" + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/log" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// randomBigInt generates a random big integer. +func randomBigInt() *big.Int { + randomBigInt, err := rand.Int(rand.Reader, common.Big256) + if err != nil { + log.Crit(err.Error()) + } + + return randomBigInt +} + +// randomHash generates a random blob of data and returns it as a hash. +func randomHash() common.Hash { + var hash common.Hash + if n, err := rand.Read(hash[:]); n != common.HashLength || err != nil { + panic(err) + } + return hash +} + +func TestL1Origin(t *testing.T) { + db := NewMemoryDatabase() + testL1Origin := &L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: randomHash(), + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + l1Origin, err := ReadL1Origin(db, testL1Origin.BlockID) + require.Nil(t, err) + require.NotNil(t, l1Origin) + assert.Equal(t, testL1Origin.BlockID, l1Origin.BlockID) + assert.Equal(t, testL1Origin.L2BlockHash, l1Origin.L2BlockHash) + assert.Equal(t, testL1Origin.L1BlockHeight, l1Origin.L1BlockHeight) + assert.Equal(t, testL1Origin.L1BlockHash, l1Origin.L1BlockHash) +} + +func TestHeadL1Origin(t *testing.T) { + db := NewMemoryDatabase() + testBlockID := randomBigInt() + WriteHeadL1Origin(db, testBlockID) + blockID, err := ReadHeadL1Origin(db) + require.Nil(t, err) + require.NotNil(t, blockID) + assert.Equal(t, testBlockID, blockID) +}
diff --git ethereum/go-ethereum/core/state/statedb.go taikoxyz/taiko-geth/core/state/statedb.go index b2b4f8fb97b1fffa978561afb72866af81fc97ad..ca7e94834d5c6116e1e2190d81c5780b52989cc3 100644 --- ethereum/go-ethereum/core/state/statedb.go +++ taikoxyz/taiko-geth/core/state/statedb.go @@ -702,6 +702,11 @@ } return state }   +// CHANGE(taiko): RevisionId returns the latest snapshot id. +func (s *StateDB) RevisionId() int { + return s.journal.nextRevisionId +} + // Snapshot returns an identifier for the current revision of the state. func (s *StateDB) Snapshot() int { return s.journal.snapshot()
diff --git ethereum/go-ethereum/core/taiko_genesis/genesis_alloc.go taikoxyz/taiko-geth/core/taiko_genesis/genesis_alloc.go new file mode 100644 index 0000000000000000000000000000000000000000..dbaf56f8dc6e805f8b2eef3bd628a72521cb1156 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/genesis_alloc.go @@ -0,0 +1,35 @@ +package taiko_genesis + +import ( + _ "embed" +) + +//go:embed internal_l2a.json +var InternalL2AGenesisAllocJSON []byte + +//go:embed internal_l2b.json +var InternalL2BGenesisAllocJSON []byte + +//go:embed snaefellsjokull.json +var SnaefellsjokullGenesisAllocJSON []byte + +//go:embed askja.json +var AskjaGenesisAllocJSON []byte + +//go:embed grimsvotn.json +var GrimsvotnGenesisAllocJSON []byte + +//go:embed eldfell.json +var EldfellGenesisAllocJSON []byte + +//go:embed jolnir.json +var JolnirGenesisAllocJSON []byte + +//go:embed katla.json +var KatlaGenesisAllocJSON []byte + +//go:embed hekla.json +var HeklaGenesisAllocJSON []byte + +//go:embed mainnet.json +var MainnetGenesisAllocJSON []byte
diff --git ethereum/go-ethereum/core/tracing/gen_balance_change_reason_stringer.go taikoxyz/taiko-geth/core/tracing/gen_balance_change_reason_stringer.go index d3a515a12d37bb2c106d4808984f83a72840c75b..a78c8ff5df513760530e3ec27ac162c57d1e9b58 100644 --- ethereum/go-ethereum/core/tracing/gen_balance_change_reason_stringer.go +++ taikoxyz/taiko-geth/core/tracing/gen_balance_change_reason_stringer.go @@ -23,15 +23,28 @@ _ = x[BalanceChangeTouchAccount-11] _ = x[BalanceIncreaseSelfdestruct-12] _ = x[BalanceDecreaseSelfdestruct-13] _ = x[BalanceDecreaseSelfdestructBurn-14] + _ = x[BalanceIncreaseTreasury-99] + _ = x[BalanceIncreaseBaseFeeSharing-100] }   -const _BalanceChangeReason_name = "BalanceChangeUnspecifiedBalanceIncreaseRewardMineUncleBalanceIncreaseRewardMineBlockBalanceIncreaseWithdrawalBalanceIncreaseGenesisBalanceBalanceIncreaseRewardTransactionFeeBalanceDecreaseGasBuyBalanceIncreaseGasReturnBalanceIncreaseDaoContractBalanceDecreaseDaoAccountBalanceChangeTransferBalanceChangeTouchAccountBalanceIncreaseSelfdestructBalanceDecreaseSelfdestructBalanceDecreaseSelfdestructBurn" +const ( + _BalanceChangeReason_name_0 = "BalanceChangeUnspecifiedBalanceIncreaseRewardMineUncleBalanceIncreaseRewardMineBlockBalanceIncreaseWithdrawalBalanceIncreaseGenesisBalanceBalanceIncreaseRewardTransactionFeeBalanceDecreaseGasBuyBalanceIncreaseGasReturnBalanceIncreaseDaoContractBalanceDecreaseDaoAccountBalanceChangeTransferBalanceChangeTouchAccountBalanceIncreaseSelfdestructBalanceDecreaseSelfdestructBalanceDecreaseSelfdestructBurn" + _BalanceChangeReason_name_1 = "BalanceIncreaseTreasuryBalanceIncreaseBaseFeeSharing" +)   -var _BalanceChangeReason_index = [...]uint16{0, 24, 54, 84, 109, 138, 173, 194, 218, 244, 269, 290, 315, 342, 369, 400} +var ( + _BalanceChangeReason_index_0 = [...]uint16{0, 24, 54, 84, 109, 138, 173, 194, 218, 244, 269, 290, 315, 342, 369, 400} + _BalanceChangeReason_index_1 = [...]uint8{0, 23, 52} +)   func (i BalanceChangeReason) String() string { - if i >= BalanceChangeReason(len(_BalanceChangeReason_index)-1) { + switch { + case i <= 14: + return _BalanceChangeReason_name_0[_BalanceChangeReason_index_0[i]:_BalanceChangeReason_index_0[i+1]] + case 99 <= i && i <= 100: + i -= 99 + return _BalanceChangeReason_name_1[_BalanceChangeReason_index_1[i]:_BalanceChangeReason_index_1[i+1]] + default: return "BalanceChangeReason(" + strconv.FormatInt(int64(i), 10) + ")" } - return _BalanceChangeReason_name[_BalanceChangeReason_index[i]:_BalanceChangeReason_index[i+1]] }
diff --git ethereum/go-ethereum/core/tracing/hooks.go taikoxyz/taiko-geth/core/tracing/hooks.go index 882eb52837aa0ac319af627bf551f20bd29652b5..e11b900341486eaa78f594103a0ebfaa7590c96f 100644 --- ethereum/go-ethereum/core/tracing/hooks.go +++ taikoxyz/taiko-geth/core/tracing/hooks.go @@ -245,6 +245,11 @@ // BalanceDecreaseSelfdestructBurn is ether that is sent to an already self-destructed // account within the same tx (captured at end of tx). // Note it doesn't account for a self-destruct which appoints itself as recipient. BalanceDecreaseSelfdestructBurn BalanceChangeReason = 14 + + // CHANGE(taiko) + // BalanceIncreaseDaoContract is ether sent to the DAO refund contract. + BalanceIncreaseTreasury BalanceChangeReason = 99 + BalanceIncreaseBaseFeeSharing BalanceChangeReason = 100 )   // GasChangeReason is used to indicate the reason for a gas change, useful
diff --git ethereum/go-ethereum/core/txpool/validation.go taikoxyz/taiko-geth/core/txpool/validation.go index 7fd5f8bc79e656e92e9d6b2d373911d88606170b..f795ad232e84548ebc92bd1e59a12b50f2a66970 100644 --- ethereum/go-ethereum/core/txpool/validation.go +++ taikoxyz/taiko-geth/core/txpool/validation.go @@ -21,6 +21,7 @@ "crypto/sha256" "errors" "fmt" "math/big" + "os"   "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" @@ -35,6 +36,8 @@ var ( // blobTxMinBlobGasPrice is the big.Int version of the configured protocol // parameter to avoid constructing a new big integer for every transaction. blobTxMinBlobGasPrice = big.NewInt(params.BlobTxMinBlobGasprice) + // CHANGE(taiko): the miniumum baseFee defined in TaikoL2 (0.008847185 GWei). + minL2BaseFee = new(big.Int).SetUint64(8847185) )   // ValidationOptions define certain differences between transaction validation @@ -96,6 +99,14 @@ } // Ensure gasFeeCap is greater than or equal to gasTipCap if tx.GasFeeCapIntCmp(tx.GasTipCap()) < 0 { return core.ErrTipAboveFeeCap + } + // CHANGE(taiko): check gasFeeCap. + if os.Getenv("TAIKO_TEST") == "" { + if opts.Config.IsOntake(head.Number) && tx.GasFeeCap().Cmp(minL2BaseFee) < 0 { + return errors.New("max fee per gas is less than the minimum base fee (0.008847185 GWei)") + } else if tx.GasFeeCap().Cmp(common.Big0) == 0 { + return errors.New("max fee per gas is zero") + } } // Make sure the transaction is signed properly if _, err := types.Sender(signer, tx); err != nil {
diff --git ethereum/go-ethereum/core/types/taiko_transaction.go taikoxyz/taiko-geth/core/types/taiko_transaction.go new file mode 100644 index 0000000000000000000000000000000000000000..d9cd9fb4a42d96124b3a338a18cf7280db17e420 --- /dev/null +++ taikoxyz/taiko-geth/core/types/taiko_transaction.go @@ -0,0 +1,42 @@ +package types + +func (tx *Transaction) MarkAsAnchor() error { + return tx.inner.markAsAnchor() +} + +func (tx *Transaction) IsAnchor() bool { + return tx.inner.isAnchor() +} + +func (tx *DynamicFeeTx) isAnchor() bool { + return tx.isAnhcor +} + +func (tx *LegacyTx) isAnchor() bool { + return false +} + +func (tx *AccessListTx) isAnchor() bool { + return false +} + +func (tx *BlobTx) isAnchor() bool { + return false +} + +func (tx *DynamicFeeTx) markAsAnchor() error { + tx.isAnhcor = true + return nil +} + +func (tx *LegacyTx) markAsAnchor() error { + return ErrInvalidTxType +} + +func (tx *AccessListTx) markAsAnchor() error { + return ErrInvalidTxType +} + +func (tx *BlobTx) markAsAnchor() error { + return ErrInvalidTxType +}
diff --git ethereum/go-ethereum/core/types/transaction.go taikoxyz/taiko-geth/core/types/transaction.go index 6c8759ee69b63f182dacf8672023872c5d96dc6b..4e222ca90c3c7ea234f6b8ad5e4fe19772e43440 100644 --- ethereum/go-ethereum/core/types/transaction.go +++ taikoxyz/taiko-geth/core/types/transaction.go @@ -87,6 +87,10 @@ value() *big.Int nonce() uint64 to() *common.Address   + // CHANGE(taiko): anchor transaction related. + isAnchor() bool + markAsAnchor() error + rawSignatureValues() (v, r, s *big.Int) setSignatureValues(chainID, v, r, s *big.Int)   @@ -609,3 +613,15 @@ } cpy := *a return &cpy } + +// CHANGE(taiko): SetBlobTxSidecar sets the sidecar of a transaction. +// The sidecar should match the blob-tx versioned hashes, or the transaction will be invalid. +// This allows tools to easily re-attach blob sidecars to signed transactions that omit the sidecar. +func (tx *Transaction) SetBlobTxSidecar(sidecar *BlobTxSidecar) error { + blobtx, ok := tx.inner.(*BlobTx) + if !ok { + return fmt.Errorf("not a blob tx, type = %d", tx.Type()) + } + blobtx.Sidecar = sidecar + return nil +}
diff --git ethereum/go-ethereum/core/types/tx_dynamic_fee.go taikoxyz/taiko-geth/core/types/tx_dynamic_fee.go index 8b5b514fdec5b58fc8058e582a0a7c355e0ccba8..96a3f105d58c060121e99d12d1b6b63e3dbf5c93 100644 --- ethereum/go-ethereum/core/types/tx_dynamic_fee.go +++ taikoxyz/taiko-geth/core/types/tx_dynamic_fee.go @@ -40,6 +40,9 @@ // Signature values V *big.Int `json:"v" gencodec:"required"` R *big.Int `json:"r" gencodec:"required"` S *big.Int `json:"s" gencodec:"required"` + + // CHANGE(taiko): if this transaction is the first TaikoL2.anchor transaction in a block + isAnhcor bool }   // copy creates a deep copy of the transaction data and initializes all fields. @@ -58,6 +61,7 @@ GasFeeCap: new(big.Int), V: new(big.Int), R: new(big.Int), S: new(big.Int), + isAnhcor: tx.isAnhcor, } copy(cpy.AccessList, tx.AccessList) if tx.Value != nil {

This shows changes to eth files.

This is our API backend, it handles l2 node related RPC calls.

diff --git ethereum/go-ethereum/eth/state_accessor.go taikoxyz/taiko-geth/eth/state_accessor.go index cb5a233a83badfe93413d3d0171928d5b4267506..c159517f95f6a8bd9a7f908fb890602f037022b5 100644 --- ethereum/go-ethereum/eth/state_accessor.go +++ taikoxyz/taiko-geth/eth/state_accessor.go @@ -252,6 +252,11 @@ } // Recompute transactions up to the target index. signer := types.MakeSigner(eth.blockchain.Config(), block.Number(), block.Time()) for idx, tx := range block.Transactions() { + if idx == 0 && eth.config.Genesis.Config.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, vm.BlockContext{}, nil, nil, err + } + } // Assemble the transaction call message and return if the requested offset msg, _ := core.TransactionToMessage(tx, signer, block.BaseFee()) txContext := core.NewEVMTxContext(msg)
diff --git ethereum/go-ethereum/eth/taiko_api_backend.go taikoxyz/taiko-geth/eth/taiko_api_backend.go new file mode 100644 index 0000000000000000000000000000000000000000..aa506d40b9ccbdd55500b3467677fa532d2e8545 --- /dev/null +++ taikoxyz/taiko-geth/eth/taiko_api_backend.go @@ -0,0 +1,135 @@ +package eth + +import ( + "math/big" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/miner" +) + +// TaikoAPIBackend handles L2 node related RPC calls. +type TaikoAPIBackend struct { + eth *Ethereum +} + +// NewTaikoAPIBackend creates a new TaikoAPIBackend instance. +func NewTaikoAPIBackend(eth *Ethereum) *TaikoAPIBackend { + return &TaikoAPIBackend{ + eth: eth, + } +} + +// HeadL1Origin returns the latest L2 block's corresponding L1 origin. +func (s *TaikoAPIBackend) HeadL1Origin() (*rawdb.L1Origin, error) { + blockID, err := rawdb.ReadHeadL1Origin(s.eth.ChainDb()) + if err != nil { + return nil, err + } + + if blockID == nil { + return nil, ethereum.NotFound + } + + l1Origin, err := rawdb.ReadL1Origin(s.eth.ChainDb(), blockID) + if err != nil { + return nil, err + } + + if l1Origin == nil { + return nil, ethereum.NotFound + } + + return l1Origin, nil +} + +// L1OriginByID returns the L2 block's corresponding L1 origin. +func (s *TaikoAPIBackend) L1OriginByID(blockID *math.HexOrDecimal256) (*rawdb.L1Origin, error) { + l1Origin, err := rawdb.ReadL1Origin(s.eth.ChainDb(), (*big.Int)(blockID)) + if err != nil { + return nil, err + } + + if l1Origin == nil { + return nil, ethereum.NotFound + } + + return l1Origin, nil +} + +// GetSyncMode returns the node sync mode. +func (s *TaikoAPIBackend) GetSyncMode() (string, error) { + return s.eth.config.SyncMode.String(), nil +} + +// TaikoAuthAPIBackend handles L2 node related authorized RPC calls. +type TaikoAuthAPIBackend struct { + eth *Ethereum +} + +// NewTaikoAuthAPIBackend creates a new TaikoAuthAPIBackend instance. +func NewTaikoAuthAPIBackend(eth *Ethereum) *TaikoAuthAPIBackend { + return &TaikoAuthAPIBackend{eth} +} + +// TxPoolContent retrieves the transaction pool content with the given upper limits. +func (a *TaikoAuthAPIBackend) TxPoolContent( + beneficiary common.Address, + baseFee *big.Int, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, +) ([]*miner.PreBuiltTxList, error) { + log.Debug( + "Fetching L2 pending transactions finished", + "baseFee", baseFee, + "blockMaxGasLimit", blockMaxGasLimit, + "maxBytesPerTxList", maxBytesPerTxList, + "maxTransactions", maxTransactionsLists, + "locals", locals, + ) + + return a.eth.Miner().BuildTransactionsLists( + beneficiary, + baseFee, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + ) +} + +// TxPoolContentWithMinTip retrieves the transaction pool content with the given upper limits and minimum tip. +func (a *TaikoAuthAPIBackend) TxPoolContentWithMinTip( + beneficiary common.Address, + baseFee *big.Int, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, + minTip uint64, +) ([]*miner.PreBuiltTxList, error) { + log.Debug( + "Fetching L2 pending transactions finished", + "baseFee", baseFee, + "blockMaxGasLimit", blockMaxGasLimit, + "maxBytesPerTxList", maxBytesPerTxList, + "maxTransactions", maxTransactionsLists, + "locals", locals, + "minTip", minTip, + ) + + return a.eth.Miner().BuildTransactionsListsWithMinTip( + beneficiary, + baseFee, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + minTip, + ) +}

This adds Taiko protocol specific logic into the API.

diff --git ethereum/go-ethereum/eth/catalyst/api.go taikoxyz/taiko-geth/eth/catalyst/api.go index 991cdf93f328ee07f2551b84845096f0aaa4ee89..17fcfdfd3a8911cc2e0dc3a0e79ce368be2fcde3 100644 --- ethereum/go-ethereum/eth/catalyst/api.go +++ taikoxyz/taiko-geth/eth/catalyst/api.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" + "math/big" "strconv" "sync" "time" @@ -385,6 +386,10 @@ PayloadStatus: engine.PayloadStatusV1{Status: engine.VALID, LatestValidHash: &update.HeadBlockHash}, PayloadID: id, } } + + // CHANGE(taiko): check whether `--taiko` flag is set. + isTaiko := api.eth.BlockChain().Config().Taiko + if rawdb.ReadCanonicalHash(api.eth.ChainDb(), block.NumberU64()) != update.HeadBlockHash { // Block is not canonical, set head. if latestValid, err := api.eth.BlockChain().SetCanonical(block); err != nil { @@ -394,6 +399,10 @@ } else if api.eth.BlockChain().CurrentBlock().Hash() == update.HeadBlockHash { // If the specified head matches with our local head, do nothing and keep // generating the payload. It's a special corner case that a few slots are // missing and we are requested to generate the payload in slot. + } else if isTaiko { // CHANGE(taiko): reorg is allowed in L2. + if latestValid, err := api.eth.BlockChain().SetCanonical(block); err != nil { + return engine.ForkChoiceResponse{PayloadStatus: engine.PayloadStatusV1{Status: engine.INVALID, LatestValidHash: &latestValid}}, err + } } else { // If the head block is already in our canonical chain, the beacon client is // probably resyncing. Ignore the update. @@ -435,6 +444,56 @@ // If payload generation was requested, create a new block to be potentially // sealed by the beacon client. The payload will be requested later, and we // will replace it arbitrarily many times in between. if payloadAttributes != nil { + // CHANGE(taiko): create a L2 block by Taiko protocol. + if isTaiko { + // No need to check payloadAttribute here, because all its fields are + // marked as required. + block, err := api.eth.Miner().SealBlockWith( + update.HeadBlockHash, + payloadAttributes.Timestamp, + payloadAttributes.BlockMetadata, + payloadAttributes.BaseFeePerGas, + payloadAttributes.Withdrawals, + ) + if err != nil { + log.Error("Failed to create sealing block", "err", err) + return valid(nil), engine.InvalidPayloadAttributes.With(err) + } + + // Cache the mined block for later use. + args := &miner.BuildPayloadArgs{ + Parent: block.ParentHash(), + Timestamp: block.Time(), + FeeRecipient: block.Coinbase(), + Random: block.MixDigest(), + Withdrawals: block.Withdrawals(), + Version: payloadVersion, + } + id := args.Id() + payload, err := api.eth.Miner().BuildPayload(args, false) + if err != nil { + log.Error("Failed to build payload", "err", err) + return valid(nil), engine.InvalidPayloadAttributes.With(err) + } + + payload.SetFullBlock(block, common.Big0) + + api.localBlocks.put(id, payload) + + // L1Origin **MUST NOT** be nil, it's a required field in PayloadAttributesV1. + l1Origin := payloadAttributes.L1Origin + + // Set the block hash before inserting the L1Origin into database. + l1Origin.L2BlockHash = block.Hash() + + // Write L1Origin. + rawdb.WriteL1Origin(api.eth.ChainDb(), l1Origin.BlockID, l1Origin) + // Write the head L1Origin. + rawdb.WriteHeadL1Origin(api.eth.ChainDb(), l1Origin.BlockID) + + return valid(&id), nil + } + args := &miner.BuildPayloadArgs{ Parent: update.HeadBlockHash, Timestamp: payloadAttributes.Timestamp, @@ -550,7 +609,8 @@ if api.eth.BlockChain().Config().IsCancun(api.eth.BlockChain().Config().LondonBlock, params.Timestamp) { return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("can't use newPayloadV2 post-cancun")) } if api.eth.BlockChain().Config().LatestFork(params.Timestamp) == forks.Shanghai { - if params.Withdrawals == nil { + if params.Withdrawals == nil && + (api.eth.BlockChain().Config().Taiko && params.WithdrawalsHash == (common.Hash{})) { return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(errors.New("nil withdrawals post-shanghai")) } } else { @@ -815,38 +875,66 @@ api.newPayloadLock.Lock() defer api.newPayloadLock.Unlock()   log.Trace("Engine API request received", "method", "NewPayload", "number", params.Number, "hash", params.BlockHash) - block, err := engine.ExecutableDataToBlock(params, versionedHashes, beaconRoot) - if err != nil { - bgu := "nil" - if params.BlobGasUsed != nil { - bgu = strconv.Itoa(int(*params.BlobGasUsed)) - } - ebg := "nil" - if params.ExcessBlobGas != nil { - ebg = strconv.Itoa(int(*params.ExcessBlobGas)) + // CHANGE(taiko): allow passing the executable data with txHash instead of all transactions. + var ( + block *types.Block + err error + ) + params.TaikoBlock = api.eth.BlockChain().Config().Taiko + if api.eth.BlockChain().Config().Taiko && params.Transactions == nil && params.Withdrawals == nil { + block = types.NewBlockWithHeader(&types.Header{ + ParentHash: params.ParentHash, + UncleHash: types.EmptyUncleHash, + Coinbase: params.FeeRecipient, + Root: params.StateRoot, + TxHash: params.TxHash, + ReceiptHash: params.ReceiptsRoot, + Bloom: types.BytesToBloom(params.LogsBloom), + Difficulty: common.Big0, + Number: new(big.Int).SetUint64(params.Number), + GasLimit: params.GasLimit, + GasUsed: params.GasUsed, + Time: params.Timestamp, + BaseFee: params.BaseFeePerGas, + Extra: params.ExtraData, + MixDigest: params.Random, + WithdrawalsHash: &params.WithdrawalsHash, + }) + } else { + block, err = engine.ExecutableDataToBlock(params, versionedHashes, beaconRoot) + if err != nil { + bgu := "nil" + if params.BlobGasUsed != nil { + bgu = strconv.Itoa(int(*params.BlobGasUsed)) + } + ebg := "nil" + if params.ExcessBlobGas != nil { + ebg = strconv.Itoa(int(*params.ExcessBlobGas)) + } + log.Warn("Invalid NewPayload params", + "params.Number", params.Number, + "params.ParentHash", params.ParentHash, + "params.BlockHash", params.BlockHash, + "params.StateRoot", params.StateRoot, + "params.FeeRecipient", params.FeeRecipient, + "params.LogsBloom", common.PrettyBytes(params.LogsBloom), + "params.Random", params.Random, + "params.GasLimit", params.GasLimit, + "params.GasUsed", params.GasUsed, + "params.Timestamp", params.Timestamp, + "params.ExtraData", common.PrettyBytes(params.ExtraData), + "params.BaseFeePerGas", params.BaseFeePerGas, + "params.BlobGasUsed", bgu, + "params.ExcessBlobGas", ebg, + "len(params.Transactions)", len(params.Transactions), + "len(params.Withdrawals)", len(params.Withdrawals), + "len(params.Deposits)", len(params.Deposits), + "beaconRoot", beaconRoot, + "error", err) + return api.invalid(err, nil), nil } - log.Warn("Invalid NewPayload params", - "params.Number", params.Number, - "params.ParentHash", params.ParentHash, - "params.BlockHash", params.BlockHash, - "params.StateRoot", params.StateRoot, - "params.FeeRecipient", params.FeeRecipient, - "params.LogsBloom", common.PrettyBytes(params.LogsBloom), - "params.Random", params.Random, - "params.GasLimit", params.GasLimit, - "params.GasUsed", params.GasUsed, - "params.Timestamp", params.Timestamp, - "params.ExtraData", common.PrettyBytes(params.ExtraData), - "params.BaseFeePerGas", params.BaseFeePerGas, - "params.BlobGasUsed", bgu, - "params.ExcessBlobGas", ebg, - "len(params.Transactions)", len(params.Transactions), - "len(params.Withdrawals)", len(params.Withdrawals), - "len(params.Deposits)", len(params.Deposits), - "beaconRoot", beaconRoot, - "error", err) - return api.invalid(err, nil), nil } + // Stash away the last update to warn the user if the beacon client goes offline api.lastNewPayloadLock.Lock() api.lastNewPayloadUpdate = time.Now() @@ -888,9 +976,18 @@ if parent.Difficulty().BitLen() > 0 && gptd != nil && gptd.Cmp(ttd) >= 0 { log.Error("Ignoring pre-merge parent block", "number", params.Number, "hash", params.BlockHash, "td", ptd, "ttd", ttd) return engine.INVALID_TERMINAL_BLOCK, nil } - if block.Time() <= parent.Time() { - log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) - return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + // CHANGE(taiko): a block that has the same timestamp as its parents is + // allowed in Taiko protocol. + if api.eth.BlockChain().Config().Taiko { + if block.Time() < parent.Time() { + log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) + return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + } + } else { + if block.Time() <= parent.Time() { + log.Warn("Invalid timestamp", "parent", block.Time(), "block", block.Time()) + return api.invalid(errors.New("invalid timestamp"), parent.Header()), nil + } } // Another corner case: if the node is in snap sync mode, but the CL client // tries to make it import a block. That should be denied as pushing something
diff --git ethereum/go-ethereum/eth/ethconfig/config.go taikoxyz/taiko-geth/eth/ethconfig/config.go index c781a639408ac94fff8a02174ca048e8a4b59e1e..f51a6d7662b46e1a1c73778b2d8a2ff6bddff3c0 100644 --- ethereum/go-ethereum/eth/ethconfig/config.go +++ taikoxyz/taiko-geth/eth/ethconfig/config.go @@ -26,6 +26,7 @@ "github.com/ethereum/go-ethereum/consensus" "github.com/ethereum/go-ethereum/consensus/beacon" "github.com/ethereum/go-ethereum/consensus/clique" "github.com/ethereum/go-ethereum/consensus/ethash" + "github.com/ethereum/go-ethereum/consensus/taiko" "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/txpool/blobpool" "github.com/ethereum/go-ethereum/core/txpool/legacypool" @@ -162,6 +163,10 @@ // CreateConsensusEngine creates a consensus engine for the given chain config. // Clique is allowed for now to live standalone, but ethash is forbidden and can // only exist on already merged networks. func CreateConsensusEngine(config *params.ChainConfig, db ethdb.Database) (consensus.Engine, error) { + // CHANGE(taiko): use Taiko consensus engine when the --taiko flag is set. + if config.Taiko { + return taiko.New(config), nil + } // Geth v1.14.0 dropped support for non-merged networks in any consensus // mode. If such a network is requested, reject startup. if !config.TerminalTotalDifficultyPassed {
diff --git ethereum/go-ethereum/eth/tracers/api.go taikoxyz/taiko-geth/eth/tracers/api.go index a8289512069b3dd1d367d422114dcd40231895c3..b9ec92fcb89dc4dcb5434b49d805b352d6e1f3dc 100644 --- ethereum/go-ethereum/eth/tracers/api.go +++ taikoxyz/taiko-geth/eth/tracers/api.go @@ -271,6 +271,13 @@ blockCtx = core.NewEVMBlockContext(task.block.Header(), api.chainContext(ctx), nil) ) // Trace all the transactions contained within for i, tx := range task.block.Transactions() { + if i == 0 && api.backend.ChainConfig().Taiko { + if err := tx.MarkAsAnchor(); err != nil { + log.Warn("Mark anchor transaction error", "error", err) + task.results[i] = &txTraceResult{TxHash: tx.Hash(), Error: err.Error()} + break + } + } msg, _ := core.TransactionToMessage(tx, signer, task.block.BaseFee()) txctx := &Context{ BlockHash: task.block.Hash(), @@ -545,6 +552,11 @@ if chainConfig.IsPrague(block.Number(), block.Time()) { core.ProcessParentBlockHash(block.ParentHash(), vm.NewEVM(vmctx, vm.TxContext{}, statedb, chainConfig, vm.Config{}), statedb) } for i, tx := range block.Transactions() { + if i == 0 && chainConfig.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } if err := ctx.Err(); err != nil { return nil, err } @@ -628,6 +640,11 @@ vmenv := vm.NewEVM(blockCtx, vm.TxContext{}, statedb, api.backend.ChainConfig(), vm.Config{}) core.ProcessParentBlockHash(block.ParentHash(), vmenv, statedb) } for i, tx := range txs { + if i == 0 && api.backend.ChainConfig().Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } // Generate the next state snapshot fast without tracing msg, _ := core.TransactionToMessage(tx, signer, block.BaseFee()) txctx := &Context{ @@ -661,6 +678,14 @@ threads := runtime.NumCPU() if threads > len(txs) { threads = len(txs) } + + // CHANGE(taiko): mark the first transaction as anchor transaction. + if len(txs) > 0 && api.backend.ChainConfig().Taiko { + if err := txs[0].MarkAsAnchor(); err != nil { + return nil, err + } + } + jobs := make(chan *txTraceTask, threads) for th := 0; th < threads; th++ { pend.Add(1) @@ -790,6 +815,11 @@ vmenv := vm.NewEVM(vmctx, vm.TxContext{}, statedb, chainConfig, vm.Config{}) core.ProcessParentBlockHash(block.ParentHash(), vmenv, statedb) } for i, tx := range block.Transactions() { + if i == 0 && chainConfig.Taiko { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } // Prepare the transaction for un-traced execution var ( msg, _ = core.TransactionToMessage(tx, signer, block.BaseFee())

This shows changes to ethclient files.

This provides API calls for L1 and L2 Origins, as well as Throwaway Block Receipts.

diff --git ethereum/go-ethereum/ethclient/taiko_api.go taikoxyz/taiko-geth/ethclient/taiko_api.go new file mode 100644 index 0000000000000000000000000000000000000000..597dcb96f54978fe58bcb0e624a71ae6267d644c --- /dev/null +++ taikoxyz/taiko-geth/ethclient/taiko_api.go @@ -0,0 +1,42 @@ +package ethclient + +import ( + "context" + "math/big" + + "github.com/ethereum/go-ethereum/common/hexutil" + "github.com/ethereum/go-ethereum/core/rawdb" +) + +// HeadL1Origin returns the latest L2 block's corresponding L1 origin. +func (ec *Client) HeadL1Origin(ctx context.Context) (*rawdb.L1Origin, error) { + var res *rawdb.L1Origin + + if err := ec.c.CallContext(ctx, &res, "taiko_headL1Origin"); err != nil { + return nil, err + } + + return res, nil +} + +// L1OriginByID returns the L2 block's corresponding L1 origin. +func (ec *Client) L1OriginByID(ctx context.Context, blockID *big.Int) (*rawdb.L1Origin, error) { + var res *rawdb.L1Origin + + if err := ec.c.CallContext(ctx, &res, "taiko_l1OriginByID", hexutil.EncodeBig(blockID)); err != nil { + return nil, err + } + + return res, nil +} + +// GetSyncMode returns the current sync mode of the L2 node. +func (ec *Client) GetSyncMode(ctx context.Context) (string, error) { + var res string + + if err := ec.c.CallContext(ctx, &res, "taiko_getSyncMode"); err != nil { + return "", err + } + + return res, nil +}
diff --git ethereum/go-ethereum/ethclient/taiko_api_test.go taikoxyz/taiko-geth/ethclient/taiko_api_test.go new file mode 100644 index 0000000000000000000000000000000000000000..7a7cfc7dcd4c61b12dda671fe45d2a078e290b70 --- /dev/null +++ taikoxyz/taiko-geth/ethclient/taiko_api_test.go @@ -0,0 +1,124 @@ +package ethclient + +import ( + "context" + "crypto/rand" + "math/big" + "testing" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/node" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rpc" + "github.com/stretchr/testify/require" +) + +func newTaikoAPITestClient(t *testing.T) (*Client, []*types.Block, ethdb.Database) { + // Generate test chain. + blocks := generateTestChain() + + // Create node + n, err := node.New(&node.Config{}) + + require.Nil(t, err) + + // Create Ethereum Service + config := &ethconfig.Config{Genesis: genesis} + ethservice, err := eth.New(n, config) + require.Nil(t, err) + + n.RegisterAPIs([]rpc.API{ + { + Namespace: "taiko", + Version: params.VersionWithMeta, + Service: eth.NewTaikoAPIBackend(ethservice), + Public: true, + }, + }) + + // Start node + require.Nil(t, n.Start()) + + // Insert test blocks + _, err = ethservice.BlockChain().InsertChain(blocks[1:]) + + require.Nil(t, err) + + return NewClient(n.Attach()), blocks, ethservice.ChainDb() +} + +func TestHeadL1Origin(t *testing.T) { + ec, blocks, db := newTaikoAPITestClient(t) + + headerHash := blocks[len(blocks)-1].Hash() + + l1OriginFound, err := ec.HeadL1Origin(context.Background()) + + require.Equal(t, ethereum.NotFound.Error(), err.Error()) + require.Nil(t, l1OriginFound) + + testL1Origin := &rawdb.L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: headerHash, + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + + rawdb.WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + rawdb.WriteHeadL1Origin(db, testL1Origin.BlockID) + + l1OriginFound, err = ec.HeadL1Origin(context.Background()) + + require.Nil(t, err) + require.Equal(t, testL1Origin, l1OriginFound) +} + +func TestL1OriginByID(t *testing.T) { + ec, blocks, db := newTaikoAPITestClient(t) + + headerHash := blocks[len(blocks)-1].Hash() + testL1Origin := &rawdb.L1Origin{ + BlockID: randomBigInt(), + L2BlockHash: headerHash, + L1BlockHeight: randomBigInt(), + L1BlockHash: randomHash(), + } + + l1OriginFound, err := ec.L1OriginByID(context.Background(), testL1Origin.BlockID) + require.Equal(t, ethereum.NotFound.Error(), err.Error()) + require.Nil(t, l1OriginFound) + + rawdb.WriteL1Origin(db, testL1Origin.BlockID, testL1Origin) + rawdb.WriteHeadL1Origin(db, testL1Origin.BlockID) + + l1OriginFound, err = ec.L1OriginByID(context.Background(), testL1Origin.BlockID) + + require.Nil(t, err) + require.Equal(t, testL1Origin, l1OriginFound) +} + +// randomHash generates a random blob of data and returns it as a hash. +func randomHash() common.Hash { + var hash common.Hash + if n, err := rand.Read(hash[:]); n != common.HashLength || err != nil { + panic(err) + } + return hash +} + +// randomBigInt generates a random big integer. +func randomBigInt() *big.Int { + randomBigInt, err := rand.Int(rand.Reader, common.Big256) + if err != nil { + log.Crit(err.Error()) + } + + return randomBigInt +}

This shows changes to miner files.

This adds Taiko-specific miner changes.

diff --git ethereum/go-ethereum/miner/payload_building.go taikoxyz/taiko-geth/miner/payload_building.go index d48ce0faa601f547bb154a54e8778cc71b152da7..6a7d9c09757c98fe8f5261e5db6461bac1af3a79 100644 --- ethereum/go-ethereum/miner/payload_building.go +++ taikoxyz/taiko-geth/miner/payload_building.go @@ -79,6 +79,8 @@ fullFees *big.Int stop chan struct{} lock sync.Mutex cond *sync.Cond + // CHANGE(taiko): done channel to communicate we shouldnt write to `stop` channel. + done chan struct{} }   // newPayload initializes the payload object. @@ -88,6 +90,8 @@ id: id, empty: empty, emptyWitness: witness, stop: make(chan struct{}), + // CHANGE(taiko): buffered channel to communicate done to taiko payload builder + done: make(chan struct{}, 1), } log.Info("Starting work on payload", "id", payload.id) payload.cond = sync.NewCond(&payload.lock) @@ -138,6 +142,11 @@ select { case <-payload.stop: default: + // CHANGE(taiko): signal to taiko payload builder to not write to `payload.stop` channel + select { + case payload.done <- struct{}{}: + default: + } close(payload.stop) } if payload.full != nil { @@ -191,6 +200,11 @@ // Terminate the background payload construction select { case <-payload.stop: default: + // CHANGE(taiko): signal to taiko payload builder to not write to `payload.stop` channel + select { + case payload.done <- struct{}{}: + default: + } close(payload.stop) } envelope := engine.BlockToExecutableData(payload.full, payload.fullFees, payload.sidecars) @@ -250,6 +264,10 @@ for { select { case <-timer.C: + // CHANGE(taiko): do not update payload. + if miner.chainConfig.Taiko { + continue + } start := time.Now() r := miner.generateWork(fullParams, witness) if r.err == nil {
diff --git ethereum/go-ethereum/miner/taiko_miner.go taikoxyz/taiko-geth/miner/taiko_miner.go new file mode 100644 index 0000000000000000000000000000000000000000..4bc09792a2dace2ee1daebf496ec5d0ac9726fcb --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_miner.go @@ -0,0 +1,70 @@ +package miner + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/beacon/engine" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" +) + +// PreBuiltTxList is a pre-built transaction list based on the latest chain state, +// with estimated gas used / bytes. +type PreBuiltTxList struct { + TxList types.Transactions + EstimatedGasUsed uint64 + BytesLength uint64 +} + +// SealBlockWith mines and seals a block without changing the canonical chain. +func (miner *Miner) SealBlockWith( + parent common.Hash, + timestamp uint64, + blkMeta *engine.BlockMetadata, + baseFeePerGas *big.Int, + withdrawals types.Withdrawals, +) (*types.Block, error) { + return miner.sealBlockWith(parent, timestamp, blkMeta, baseFeePerGas, withdrawals) +} + +// BuildTransactionsLists builds multiple transactions lists which satisfy all the given limits. +func (miner *Miner) BuildTransactionsLists( + beneficiary common.Address, + baseFee *big.Int, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, +) ([]*PreBuiltTxList, error) { + return miner.buildTransactionsLists( + beneficiary, + baseFee, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + 0, + ) +} + +// BuildTransactionsListsWithMinTip builds multiple transactions lists which satisfy all +// the given limits and minimum tip. +func (miner *Miner) BuildTransactionsListsWithMinTip( + beneficiary common.Address, + baseFee *big.Int, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + locals []string, + maxTransactionsLists uint64, + minTip uint64, +) ([]*PreBuiltTxList, error) { + return miner.buildTransactionsLists( + beneficiary, + baseFee, + blockMaxGasLimit, + maxBytesPerTxList, + locals, + maxTransactionsLists, + minTip, + ) +}
diff --git ethereum/go-ethereum/miner/taiko_payload_building.go taikoxyz/taiko-geth/miner/taiko_payload_building.go new file mode 100644 index 0000000000000000000000000000000000000000..04d6cd595dfa65ab8068e4f72b56d478147e114b --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_payload_building.go @@ -0,0 +1,53 @@ +package miner + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" +) + +// SetFullBlock updates the full-block to the given block. +func (payload *Payload) SetFullBlock(block *types.Block, fees *big.Int) { + payload.lock.Lock() + defer payload.lock.Unlock() + + go payload.afterSetFullBlock() + + payload.full = block + payload.fullFees = fees + + feesInEther := new(big.Float).Quo(new(big.Float).SetInt(fees), big.NewFloat(params.Ether)) + log.Info("Updated payload", "id", payload.id, "number", block.NumberU64(), "hash", block.Hash(), + "txs", len(block.Transactions()), "gas", block.GasUsed(), "fees", feesInEther, + "root", block.Root()) + + payload.cond.Broadcast() // fire signal for notifying full block +} + +func (payload *Payload) afterSetFullBlock() { + payload.lock.Lock() + defer payload.lock.Unlock() + + select { + case <-payload.done: + log.Info("SetFullBlock payload.done received", "id", payload.id) + return + default: + } + + select { + case _, ok := <-payload.stop: + if ok { + log.Info("SetFullBlock payload.stop received", "id", payload.id) + return + } + default: + } + + select { + case payload.stop <- struct{}{}: + default: + } +}
diff --git ethereum/go-ethereum/miner/taiko_payload_building_test.go taikoxyz/taiko-geth/miner/taiko_payload_building_test.go new file mode 100644 index 0000000000000000000000000000000000000000..d61df949f03cf25073399e67253db6b7143c13d3 --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_payload_building_test.go @@ -0,0 +1,136 @@ +package miner + +import ( + "math/big" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus/ethash" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/trie" + "github.com/stretchr/testify/assert" +) + +func newTestBlock() *types.Block { + tx1 := types.NewTransaction(1, common.BytesToAddress([]byte{0x11}), big.NewInt(111), 1111, big.NewInt(11111), []byte{0x11, 0x11, 0x11}) + txs := []*types.Transaction{tx1} + + block := types.NewBlock(&types.Header{Number: big.NewInt(314)}, &types.Body{Transactions: txs}, nil, trie.NewStackTrie(nil)) + return block +} + +func TestSetFullBlock_AvoidPanic(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args, false) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + fees := big.NewInt(1) + + payload.done <- struct{}{} + close(payload.stop) + + block := newTestBlock() + // expect not to panic sending to payload.stop + // now that done is closed + payload.SetFullBlock(block, fees) +} + +func TestAfterSetFullBlock_Panic_DoneChannelNotSent(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args, false) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + // dont send on done channel, but close stop channel. + // should panic when sent on. + close(payload.stop) + + assert.Panics(t, func() { + payload.afterSetFullBlock() + }) +} + +func TestAfterSetFullBlockAvoidPanicDoneChannelSent(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args, false) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + payload.done <- struct{}{} + close(payload.stop) + + assert.NotPanics(t, func() { + payload.afterSetFullBlock() + }) +} + +func TestSetFullBlock(t *testing.T) { + var ( + db = rawdb.NewMemoryDatabase() + recipient = common.HexToAddress("0xdeadbeef") + ) + w, b := newTestWorker(t, params.TestChainConfig, ethash.NewFaker(), db, 0) + + timestamp := uint64(time.Now().Unix()) + args := &BuildPayloadArgs{ + Parent: b.chain.CurrentBlock().Hash(), + Timestamp: timestamp, + Random: common.Hash{}, + FeeRecipient: recipient, + } + payload, err := w.buildPayload(args, false) + if err != nil { + t.Fatalf("Failed to build payload %v", err) + } + + fees := big.NewInt(1) + + block := newTestBlock() + payload.SetFullBlock(block, fees) + + assert.Equal(t, block, payload.full) + assert.Equal(t, fees, payload.fullFees) +}
diff --git ethereum/go-ethereum/miner/taiko_worker.go taikoxyz/taiko-geth/miner/taiko_worker.go new file mode 100644 index 0000000000000000000000000000000000000000..1224cca8f662efbf230467ba5eab1d8ba3f3c57a --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_worker.go @@ -0,0 +1,358 @@ +package miner + +import ( + "bytes" + "compress/zlib" + "errors" + "fmt" + "math/big" + "time" + + "github.com/ethereum/go-ethereum/beacon/engine" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/core/txpool" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/core/vm" + "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/rlp" + "github.com/holiman/uint256" + "golang.org/x/exp/maps" +) + +// BuildTransactionsLists builds multiple transactions lists which satisfy all the given conditions +// 1. All transactions should all be able to pay the given base fee. +// 2. The total gas used should not exceed the given blockMaxGasLimit +// 3. The total bytes used should not exceed the given maxBytesPerTxList +// 4. The total number of transactions lists should not exceed the given maxTransactionsLists +func (w *Miner) buildTransactionsLists( + beneficiary common.Address, + baseFee *big.Int, + blockMaxGasLimit uint64, + maxBytesPerTxList uint64, + localAccounts []string, + maxTransactionsLists uint64, + minTip uint64, +) ([]*PreBuiltTxList, error) { + var ( + txsLists []*PreBuiltTxList + currentHead = w.chain.CurrentBlock() + ) + + if currentHead == nil { + return nil, fmt.Errorf("failed to find current head") + } + + // Check if tx pool is empty at first. + if len(w.txpool.Pending(txpool.PendingFilter{MinTip: uint256.NewInt(minTip), BaseFee: uint256.MustFromBig(baseFee), OnlyPlainTxs: true})) == 0 { + return txsLists, nil + } + + params := &generateParams{ + timestamp: uint64(time.Now().Unix()), + forceTime: true, + parentHash: currentHead.Hash(), + coinbase: beneficiary, + random: currentHead.MixDigest, + noTxs: false, + baseFeePerGas: baseFee, + } + + env, err := w.prepareWork(params, false) + if err != nil { + return nil, err + } + + var ( + signer = types.MakeSigner(w.chainConfig, new(big.Int).Add(currentHead.Number, common.Big1), currentHead.Time) + // Split the pending transactions into locals and remotes, then + // fill the block with all available pending transactions. + localTxs, remoteTxs = w.getPendingTxs(localAccounts, baseFee) + ) + + commitTxs := func() (*PreBuiltTxList, error) { + env.tcount = 0 + env.txs = []*types.Transaction{} + env.gasPool = new(core.GasPool).AddGas(blockMaxGasLimit) + env.header.GasLimit = blockMaxGasLimit + + w.commitL2Transactions( + env, + newTransactionsByPriceAndNonce(signer, maps.Clone(localTxs), baseFee), + newTransactionsByPriceAndNonce(signer, maps.Clone(remoteTxs), baseFee), + maxBytesPerTxList, + minTip, + ) + + b, err := encodeAndCompressTxList(env.txs) + if err != nil { + return nil, err + } + + return &PreBuiltTxList{ + TxList: env.txs, + EstimatedGasUsed: env.header.GasLimit - env.gasPool.Gas(), + BytesLength: uint64(len(b)), + }, nil + } + + for i := 0; i < int(maxTransactionsLists); i++ { + res, err := commitTxs() + if err != nil { + return nil, err + } + + if len(res.TxList) == 0 { + break + } + + txsLists = append(txsLists, res) + } + + return txsLists, nil +} + +// sealBlockWith mines and seals a block with the given block metadata. +func (w *Miner) sealBlockWith( + parent common.Hash, + timestamp uint64, + blkMeta *engine.BlockMetadata, + baseFeePerGas *big.Int, + withdrawals types.Withdrawals, +) (*types.Block, error) { + // Decode transactions bytes. + var txs types.Transactions + if err := rlp.DecodeBytes(blkMeta.TxList, &txs); err != nil { + return nil, fmt.Errorf("failed to decode txList: %w", err) + } + + if len(txs) == 0 { + // A L2 block needs to have have at least one `TaikoL2.anchor` / `TaikoL2.anchorV2`. + return nil, fmt.Errorf("too less transactions in the block") + } + + params := &generateParams{ + timestamp: timestamp, + forceTime: true, + parentHash: parent, + coinbase: blkMeta.Beneficiary, + random: blkMeta.MixHash, + withdrawals: withdrawals, + noTxs: false, + baseFeePerGas: baseFeePerGas, + } + + // Set extraData + w.SetExtra(blkMeta.ExtraData) + + env, err := w.prepareWork(params, false) + if err != nil { + return nil, err + } + + env.header.GasLimit = blkMeta.GasLimit + + // Commit transactions. + gasLimit := env.header.GasLimit + rules := w.chain.Config().Rules(env.header.Number, true, timestamp) + + env.gasPool = new(core.GasPool).AddGas(gasLimit) + + for i, tx := range txs { + if i == 0 { + if err := tx.MarkAsAnchor(); err != nil { + return nil, err + } + } + // Skip blob transactions + if tx.Type() == types.BlobTxType { + log.Debug("Skip a blob transaction", "hash", tx.Hash()) + continue + } + sender, err := types.LatestSignerForChainID(w.chainConfig.ChainID).Sender(tx) + if err != nil { + log.Debug("Skip an invalid proposed transaction", "hash", tx.Hash(), "reason", err) + continue + } + + env.state.Prepare(rules, sender, blkMeta.Beneficiary, tx.To(), vm.ActivePrecompiles(rules), tx.AccessList()) + env.state.SetTxContext(tx.Hash(), env.tcount) + if err := w.commitTransaction(env, tx); err != nil { + log.Debug("Skip an invalid proposed transaction", "hash", tx.Hash(), "reason", err) + continue + } + env.tcount++ + } + + block, err := w.engine.FinalizeAndAssemble( + w.chain, + env.header, + env.state, + &types.Body{Transactions: env.txs, Withdrawals: withdrawals}, + env.receipts, + ) + if err != nil { + return nil, err + } + + results := make(chan *types.Block, 1) + if err := w.engine.Seal(w.chain, block, results, nil); err != nil { + return nil, err + } + block = <-results + + return block, nil +} + +// getPendingTxs fetches the pending transactions from tx pool. +func (w *Miner) getPendingTxs(localAccounts []string, baseFee *big.Int) ( + map[common.Address][]*txpool.LazyTransaction, + map[common.Address][]*txpool.LazyTransaction, +) { + pending := w.txpool.Pending(txpool.PendingFilter{OnlyPlainTxs: true, BaseFee: uint256.MustFromBig(baseFee)}) + localTxs, remoteTxs := make(map[common.Address][]*txpool.LazyTransaction), pending + + for _, local := range localAccounts { + account := common.HexToAddress(local) + if txs := remoteTxs[account]; len(txs) > 0 { + delete(remoteTxs, account) + localTxs[account] = txs + } + } + + return localTxs, remoteTxs +} + +// commitL2Transactions tries to commit the transactions into the given state. +func (w *Miner) commitL2Transactions( + env *environment, + txsLocal *transactionsByPriceAndNonce, + txsRemote *transactionsByPriceAndNonce, + maxBytesPerTxList uint64, + minTip uint64, +) { + var ( + txs = txsLocal + isLocal = true + ) + +loop: + for { + // If we don't have enough gas for any further transactions then we're done. + if env.gasPool.Gas() < params.TxGas { + log.Trace("Not enough gas for further transactions", "have", env.gasPool, "want", params.TxGas) + break + } + + // Retrieve the next transaction and abort if all done. + ltx, _ := txs.Peek() + if ltx == nil { + if isLocal { + txs = txsRemote + isLocal = false + continue + } + break + } + tx := ltx.Resolve() + if tx == nil { + log.Trace("Ignoring evicted transaction") + + txs.Pop() + continue + } + + if tx.GasTipCapIntCmp(new(big.Int).SetUint64(minTip)) < 0 { + log.Trace("Ignoring transaction with low tip", "hash", tx.Hash(), "tip", tx.GasTipCap(), "minTip", minTip) + txs.Pop() + continue + } + + // Error may be ignored here. The error has already been checked + // during transaction acceptance is the transaction pool. + from, _ := types.Sender(env.signer, tx) + + // Check whether the tx is replay protected. If we're not in the EIP155 hf + // phase, start ignoring the sender until we do. + if tx.Protected() && !w.chainConfig.IsEIP155(env.header.Number) { + log.Trace("Ignoring reply protected transaction", "hash", tx.Hash(), "eip155", w.chainConfig.EIP155Block) + + txs.Pop() + continue + } + // Start executing the transaction + env.state.SetTxContext(tx.Hash(), env.tcount) + + snap := env.state.RevisionId() + gasPool := env.gasPool.Gas() + err := w.commitTransaction(env, tx) + switch { + case errors.Is(err, core.ErrNonceTooLow): + // New head notification data race between the transaction pool and miner, shift + log.Trace("Skipping transaction with low nonce", "hash", ltx.Hash, "sender", from, "nonce", tx.Nonce()) + txs.Shift() + + case errors.Is(err, nil): + // Everything ok, collect the logs and shift in the next transaction from the same account + env.tcount++ + txs.Shift() + + data, err := rlp.EncodeToBytes(env.txs) + if err != nil { + log.Trace("Failed to rlp encode the pending transaction %s: %w", tx.Hash(), err) + txs.Pop() + continue + } + + if len(data) >= int(maxBytesPerTxList) { + // Encode and compress the txList, if the byte length is > maxBytesPerTxList, remove the latest tx and break. + b, err := compress(data) + if err != nil { + log.Trace("Failed to rlp encode and compress the pending transaction %s: %w", tx.Hash(), err) + txs.Pop() + continue + } + if len(b) > int(maxBytesPerTxList) { + env.txs = env.txs[0 : env.tcount-1] + env.state.RevertToSnapshot(snap) + env.gasPool.SetGas(gasPool) + break loop + } + } + + default: + // Transaction is regarded as invalid, drop all consecutive transactions from + // the same sender because of `nonce-too-high` clause. + log.Trace("Transaction failed, account skipped", "hash", ltx.Hash, "err", err) + txs.Pop() + } + } +} + +// encodeAndCompressTxList encodes and compresses the given transactions list. +func encodeAndCompressTxList(txs types.Transactions) ([]byte, error) { + b, err := rlp.EncodeToBytes(txs) + if err != nil { + return nil, err + } + + return compress(b) +} + +// compress compresses the given txList bytes using zlib. +func compress(txListBytes []byte) ([]byte, error) { + var b bytes.Buffer + w := zlib.NewWriter(&b) + defer w.Close() + + if _, err := w.Write(txListBytes); err != nil { + return nil, err + } + + if err := w.Flush(); err != nil { + return nil, err + } + + return b.Bytes(), nil +}
diff --git ethereum/go-ethereum/miner/taiko_worker_test.go taikoxyz/taiko-geth/miner/taiko_worker_test.go new file mode 100644 index 0000000000000000000000000000000000000000..e978b7bc75cd654208689b6b4f3cc94c7734df95 --- /dev/null +++ taikoxyz/taiko-geth/miner/taiko_worker_test.go @@ -0,0 +1,71 @@ +package miner + +import ( + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus/clique" + "github.com/ethereum/go-ethereum/core/rawdb" + "github.com/ethereum/go-ethereum/core/txpool" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/params" + "github.com/stretchr/testify/assert" +) + +const ( + // testCode is the testing contract binary code which will initialises some + // variables in constructor + testCode = "0x60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060005534801561003457600080fd5b5060fc806100436000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80630c4dae8814603757806398a213cf146053575b600080fd5b603d607e565b6040518082815260200191505060405180910390f35b607c60048036036020811015606757600080fd5b81019080803590602001909291905050506084565b005b60005481565b806000819055507fe9e44f9f7da8c559de847a3232b57364adc0354f15a2cd8dc636d54396f9587a6000546040518082815260200191505060405180910390a15056fea265627a7a723058208ae31d9424f2d0bc2a3da1a5dd659db2d71ec322a17db8f87e19e209e3a1ff4a64736f6c634300050a0032" + + // testGas is the gas required for contract deployment. + testGas = 144109 +) + +func newRandomTx(txPool *txpool.TxPool, creation bool) *types.Transaction { + var tx *types.Transaction + gasPrice := big.NewInt(10 * params.InitialBaseFee) + if creation { + tx, _ = types.SignTx(types.NewContractCreation(txPool.Nonce(testBankAddress), big.NewInt(0), testGas, gasPrice, common.FromHex(testCode)), types.HomesteadSigner{}, testBankKey) + } else { + tx, _ = types.SignTx(types.NewTransaction(txPool.Nonce(testBankAddress), testUserAddress, big.NewInt(1000), params.TxGas, gasPrice, nil), types.HomesteadSigner{}, testBankKey) + } + return tx +} + +func testGenerateWorker(t *testing.T, txCount int) *Miner { + t.Parallel() + var ( + db = rawdb.NewMemoryDatabase() + config = *params.AllCliqueProtocolChanges + ) + config.Taiko = true + config.Clique = &params.CliqueConfig{Period: 1, Epoch: 30000} + engine := clique.New(config.Clique, db) + + w, b := newTestWorker(t, &config, engine, db, 0) + + for i := 0; i < txCount; i++ { + b.txPool.Add([]*types.Transaction{newRandomTx(b.txPool, true)}, true, false) + b.txPool.Add([]*types.Transaction{newRandomTx(b.txPool, false)}, true, false) + } + + return w +} + +func TestBuildTransactionsLists(t *testing.T) { + w := testGenerateWorker(t, 1000) + + maxBytesPerTxList := (params.BlobTxBytesPerFieldElement - 1) * params.BlobTxFieldElementsPerBlob + txList, err := w.BuildTransactionsLists( + testBankAddress, + nil, + 240_000_000, + uint64(maxBytesPerTxList), + nil, + 1, + ) + assert.NoError(t, err) + assert.LessOrEqual(t, 1, len(txList)) + assert.LessOrEqual(t, txList[0].BytesLength, uint64(maxBytesPerTxList)) +}
diff --git ethereum/go-ethereum/miner/worker.go taikoxyz/taiko-geth/miner/worker.go index 930c3e8f5b1bfdcfb3ed82356e29f29a03c4ac02..434f698370dce7cadf3011740882ab670223b294 100644 --- ethereum/go-ethereum/miner/worker.go +++ taikoxyz/taiko-geth/miner/worker.go @@ -89,6 +89,8 @@ random common.Hash // The randomness generated by beacon chain, empty before the merge withdrawals types.Withdrawals // List of withdrawals to include in block (shanghai field) beaconRoot *common.Hash // The beacon root (cancun field). noTxs bool // Flag whether an empty block without any transaction is expected + // CHANGE(taiko): The base fee per gas for the next block, used by the legacy Taiko blocks. + baseFeePerGas *big.Int }   // generateWork generates a sealing block based on the given parameters. @@ -157,10 +159,17 @@ // Sanity check the timestamp correctness, recap the timestamp // to parent+1 if the mutation is allowed. timestamp := genParams.timestamp if parent.Time >= timestamp { - if genParams.forceTime { - return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + // CHANGE(taiko): block.timestamp == parent.timestamp is allowed in Taiko protocol. + if !miner.chainConfig.Taiko { + if genParams.forceTime { + return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + } + timestamp = parent.Time + 1 + } else { + if parent.Time > timestamp { + return nil, fmt.Errorf("invalid timestamp, parent %d given %d", parent.Time, timestamp) + } } - timestamp = parent.Time + 1 } // Construct the sealing block header. header := &types.Header{ @@ -180,10 +189,14 @@ header.MixDigest = genParams.random } // Set baseFee and GasLimit if we are on an EIP-1559 chain if miner.chainConfig.IsLondon(header.Number) { - header.BaseFee = eip1559.CalcBaseFee(miner.chainConfig, parent) - if !miner.chainConfig.IsLondon(parent.Number) { - parentGasLimit := parent.GasLimit * miner.chainConfig.ElasticityMultiplier() - header.GasLimit = core.CalcGasLimit(parentGasLimit, miner.config.GasCeil) + if miner.chainConfig.Taiko && genParams.baseFeePerGas != nil { + header.BaseFee = genParams.baseFeePerGas + } else { + header.BaseFee = eip1559.CalcBaseFee(miner.chainConfig, parent) + if !miner.chainConfig.IsLondon(parent.Number) { + parentGasLimit := parent.GasLimit * miner.chainConfig.ElasticityMultiplier() + header.GasLimit = core.CalcGasLimit(parentGasLimit, miner.config.GasCeil) + } } } // Run the consensus preparation with the default or customized consensus engine.

This shows changes to node files

This adds taikoAuth namespace for authenticated APIs.

diff --git ethereum/go-ethereum/node/defaults.go taikoxyz/taiko-geth/node/defaults.go index 307d9e186a251b7963b5fbb4266249fbfbcc6fa4..59c37a88dd4385903863058bb5b68b2f40297e25 100644 --- ethereum/go-ethereum/node/defaults.go +++ taikoxyz/taiko-geth/node/defaults.go @@ -49,7 +49,8 @@ DefaultAuthCors = []string{"localhost"} // Default cors domain for the authenticated apis DefaultAuthVhosts = []string{"localhost"} // Default virtual hosts for the authenticated apis DefaultAuthOrigins = []string{"localhost"} // Default origins for the authenticated apis DefaultAuthPrefix = "" // Default prefix for the authenticated apis - DefaultAuthModules = []string{"eth", "engine"} + // CHANGE(taiko): add `taikoAuth` namespace for authenticated APIs. + DefaultAuthModules = []string{"eth", "engine", rpc.TaikoAuth} )   // DefaultConfig contains reasonable default settings.
diff --git ethereum/go-ethereum/node/endpoints.go taikoxyz/taiko-geth/node/endpoints.go index 14c12fd1f175b6c0ebf4c14b0bfd999a7eb970a8..ff64af71aa204bd27e3018f2f1d85f29fd329b43 100644 --- ethereum/go-ethereum/node/endpoints.go +++ taikoxyz/taiko-geth/node/endpoints.go @@ -62,7 +62,8 @@ } } for _, name := range modules { if _, ok := availableSet[name]; !ok { - if name != rpc.MetadataApi && name != rpc.EngineApi { + // CHANGE(taiko): add `taikoAuth` namespace for authenticated APIs. + if name != rpc.MetadataApi && name != rpc.EngineApi && name != rpc.TaikoAuth { bad = append(bad, name) } }

This shows changes to params files.

This adds Taiko config values such as chain IDs and Network IDs.

diff --git ethereum/go-ethereum/params/config.go taikoxyz/taiko-geth/params/config.go index 9ecf465bb67afddbc72a11f33aa009db45cd99e6..6397c24a39932cfd72b8b43039620b6e9885037b 100644 --- ethereum/go-ethereum/params/config.go +++ taikoxyz/taiko-geth/params/config.go @@ -289,6 +289,17 @@ var NetworkNames = map[string]string{ MainnetChainConfig.ChainID.String(): "mainnet", SepoliaChainConfig.ChainID.String(): "sepolia", HoleskyChainConfig.ChainID.String(): "holesky", + // CHANGE(taiko): add Taiko network name. + TaikoMainnetNetworkID.String(): "Taiko", + TaikoInternalL2ANetworkID.String(): "Taiko Internal L2A Devnet", + TaikoInternalL2BNetworkID.String(): "Taiko Internal L2B Devnet", + SnaefellsjokullNetworkID.String(): "Taiko Alpha-1 (Snæfellsjökull)", + AskjaNetworkID.String(): "Taiko Alpha-2 (Askja)", + GrimsvotnNetworkID.String(): "Taiko Alpha-3 L2 (Grimsvotn)", + EldfellNetworkID.String(): "Taiko Alpha-4 L3 (Eldfell)", + JolnirNetworkID.String(): "Taiko Alpha-5 L2 (Jolnir)", + KatlaNetworkID.String(): "Taiko Alpha-6 L2 (Katla)", + HeklaNetworkID.String(): "Taiko Alpha-7 L2 (Hekla)", }   // ChainConfig is the core config which determines the blockchain settings. @@ -343,6 +354,10 @@ // Various consensus engines Ethash *EthashConfig `json:"ethash,omitempty"` Clique *CliqueConfig `json:"clique,omitempty"` + + // CHANGE(taiko): Taiko network flag. + Taiko bool `json:"taiko"` + OntakeBlock *big.Int `json:"ontakeBlock,omitempty"` // Ontake switch block (nil = no fork, 0 = already activated) }   // EthashConfig is the consensus engine configs for proof-of-work based sealing. @@ -375,6 +390,9 @@ network = "unknown" } banner += fmt.Sprintf("Chain ID: %v (%s)\n", c.ChainID, network) switch { + // CHANGE(taiko): print Taiko consensus engine in banner. + case c.Taiko: + banner += "Consensus: Taiko\n" case c.Ethash != nil: if c.TerminalTotalDifficulty == nil { banner += "Consensus: Ethash (proof-of-work)\n" @@ -554,6 +572,11 @@ // IsVerkle returns whether time is either equal to the Verkle fork time or greater. func (c *ChainConfig) IsVerkle(num *big.Int, time uint64) bool { return c.IsLondon(num) && isTimestampForked(c.VerkleTime, time) +} + +// CHANGE(taiko): IsOntake returns whether num is either equal to the Ontake fork block or greater. +func (c *ChainConfig) IsOntake(num *big.Int) bool { + return isBlockForked(c.OntakeBlock, num) }   // IsEIP4762 returns whether eip 4762 has been activated at given block.
diff --git ethereum/go-ethereum/params/protocol_params.go taikoxyz/taiko-geth/params/protocol_params.go index 638f58a33992f5048396ee306d95b5b6e3c70677..592eb546c8f7bec7dd5466e4d969bbc9ed3296a6 100644 --- ethereum/go-ethereum/params/protocol_params.go +++ taikoxyz/taiko-geth/params/protocol_params.go @@ -175,6 +175,7 @@ BlobTxTargetBlobGasPerBlock = 3 * BlobTxBlobGasPerBlob // Target consumable blob gas for data blobs per block (for 1559-like pricing) MaxBlobGasPerBlock = 6 * BlobTxBlobGasPerBlob // Maximum consumable blob gas for data blobs per block   + BlobTxHashVersion = 0x01 // CHANGE(taiko): Version byte of the commitment hash HistoryServeWindow = 8192 // Number of blocks to serve historical block hashes for, EIP-2935. )
diff --git ethereum/go-ethereum/params/taiko_config.go taikoxyz/taiko-geth/params/taiko_config.go new file mode 100644 index 0000000000000000000000000000000000000000..6908471d81b038c5d3f947f6d5a1d36563c13bee --- /dev/null +++ taikoxyz/taiko-geth/params/taiko_config.go @@ -0,0 +1,67 @@ +package params + +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" +) + +func u64(val uint64) *uint64 { return &val } + +// Network IDs +var ( + TaikoMainnetNetworkID = big.NewInt(167000) + TaikoInternalL2ANetworkID = big.NewInt(167001) + TaikoInternalL2BNetworkID = big.NewInt(167002) + SnaefellsjokullNetworkID = big.NewInt(167003) + AskjaNetworkID = big.NewInt(167004) + GrimsvotnNetworkID = big.NewInt(167005) + EldfellNetworkID = big.NewInt(167006) + JolnirNetworkID = big.NewInt(167007) + KatlaNetworkID = big.NewInt(167008) + HeklaNetworkID = big.NewInt(167009) +) + +var networkIDToChainConfig = map[*big.Int]*ChainConfig{ + TaikoMainnetNetworkID: TaikoChainConfig, + TaikoInternalL2ANetworkID: TaikoChainConfig, + TaikoInternalL2BNetworkID: TaikoChainConfig, + SnaefellsjokullNetworkID: TaikoChainConfig, + AskjaNetworkID: TaikoChainConfig, + GrimsvotnNetworkID: TaikoChainConfig, + EldfellNetworkID: TaikoChainConfig, + JolnirNetworkID: TaikoChainConfig, + KatlaNetworkID: TaikoChainConfig, + HeklaNetworkID: TaikoChainConfig, + MainnetChainConfig.ChainID: MainnetChainConfig, + SepoliaChainConfig.ChainID: SepoliaChainConfig, + TestChainConfig.ChainID: TestChainConfig, + NonActivatedConfig.ChainID: NonActivatedConfig, +} + +func NetworkIDToChainConfigOrDefault(networkID *big.Int) *ChainConfig { + if config, ok := networkIDToChainConfig[networkID]; ok { + return config + } + + return AllEthashProtocolChanges +} + +var TaikoChainConfig = &ChainConfig{ + ChainID: TaikoInternalL2ANetworkID, // Use Internal Devnet network ID by default. + HomesteadBlock: common.Big0, + EIP150Block: common.Big0, + EIP155Block: common.Big0, + EIP158Block: common.Big0, + ByzantiumBlock: common.Big0, + ConstantinopleBlock: common.Big0, + PetersburgBlock: common.Big0, + IstanbulBlock: common.Big0, + BerlinBlock: common.Big0, + LondonBlock: common.Big0, + ShanghaiTime: u64(0), + MergeNetsplitBlock: nil, + TerminalTotalDifficulty: common.Big0, + TerminalTotalDifficultyPassed: true, + Taiko: true, +}
diff --git ethereum/go-ethereum/params/taiko_config_test.go taikoxyz/taiko-geth/params/taiko_config_test.go new file mode 100644 index 0000000000000000000000000000000000000000..f828647325006219486b24f10227ae33c7d1bdb1 --- /dev/null +++ taikoxyz/taiko-geth/params/taiko_config_test.go @@ -0,0 +1,88 @@ +package params + +import ( + "math/big" + "testing" +) + +func TestNetworkIDToChainConfigOrDefault(t *testing.T) { + tests := []struct { + name string + networkID *big.Int + wantChainConfig *ChainConfig + }{ + { + "taikoMainnetNetworkID", + TaikoMainnetNetworkID, + TaikoChainConfig, + }, + { + "taikoInternalL2ANetworkId", + TaikoInternalL2ANetworkID, + TaikoChainConfig, + }, + { + "taikoInternalL2BNetworkId", + TaikoInternalL2BNetworkID, + TaikoChainConfig, + }, + { + "snaefoll", + SnaefellsjokullNetworkID, + TaikoChainConfig, + }, + { + "askja", + AskjaNetworkID, + TaikoChainConfig, + }, + { + "grimsvotn", + GrimsvotnNetworkID, + TaikoChainConfig, + }, + { + "eldfellNetworkID", + EldfellNetworkID, + TaikoChainConfig, + }, + { + "jolnirNetworkID", + JolnirNetworkID, + TaikoChainConfig, + }, + { + "katlaNetworkID", + KatlaNetworkID, + TaikoChainConfig, + }, + { + "heklaNetworkID", + HeklaNetworkID, + TaikoChainConfig, + }, + { + "mainnet", + MainnetChainConfig.ChainID, + MainnetChainConfig, + }, + { + "sepolia", + SepoliaChainConfig.ChainID, + SepoliaChainConfig, + }, + { + "doesntExist", + big.NewInt(89390218390), + AllEthashProtocolChanges, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if config := NetworkIDToChainConfigOrDefault(tt.networkID); config != tt.wantChainConfig { + t.Fatalf("expected %v, got %v", config, tt.wantChainConfig) + } + }) + } +}

This shows changes to the rpc files

This adds taikoAuth namespace for authenticated APIs.

diff --git ethereum/go-ethereum/rpc/server.go taikoxyz/taiko-geth/rpc/server.go index 42b59f8f6f7f91216dbdbdd837ab02a54b1fb20f..a2edb9be952e44d902905700ccc5e5ba26db0a93 100644 --- ethereum/go-ethereum/rpc/server.go +++ taikoxyz/taiko-geth/rpc/server.go @@ -30,6 +30,9 @@ const MetadataApi = "rpc" const EngineApi = "engine"   +// CHANGE(taiko): add `taikoAuth` namespace for authenticated APIs +const TaikoAuth = "taikoAuth" + // CodecOption specifies which type of messages a codec supports. // // Deprecated: this option is no longer honored by Server.
diff --git ethereum/go-ethereum/.github/workflows/ci.yml taikoxyz/taiko-geth/.github/workflows/ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..a4c892458087e92e791995ff2238011a868d65b8 --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: "Unit tests" + +on: + pull_request: + branches: [taiko] + push: + branches: [taiko] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.11.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@v3 + with: + repository: taikoxyz/taiko-geth + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: '1.21' + + - name: Lint + run: make lint + + - name: Test + env: + TAIKO_TEST: true + run: make test
diff --git ethereum/go-ethereum/.github/workflows/close-inactive-issues.yml taikoxyz/taiko-geth/.github/workflows/close-inactive-issues.yml new file mode 100644 index 0000000000000000000000000000000000000000..7859200c10aef6cf009d7ca43d81a5fb78bbc326 --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/close-inactive-issues.yml @@ -0,0 +1,22 @@ +name: Close inactive issues +on: + schedule: + - cron: "30 1 * * *" + +jobs: + close-issues: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v5 + with: + days-before-issue-stale: 30 + days-before-issue-close: 7 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." + close-issue-message: "This issue was closed because it has been inactive for a week since being marked as stale." + days-before-pr-stale: -1 + days-before-pr-close: -1 + repo-token: ${{ secrets.GITHUB_TOKEN }}
diff --git ethereum/go-ethereum/.github/workflows/docker.yml taikoxyz/taiko-geth/.github/workflows/docker.yml new file mode 100644 index 0000000000000000000000000000000000000000..afe553c840bc434c578a60f3865c17c6fb5ea4d2 --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/docker.yml @@ -0,0 +1,69 @@ +name: "Push docker image to GAR" + +on: + push: + branches: [ taiko ] + tags: + - "v*" + +jobs: + push-docker-image: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Login to GAR + uses: docker/login-action@v2 + with: + registry: us-docker.pkg.dev + username: _json_key + password: ${{ secrets.GAR_JSON_KEY }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: | + us-docker.pkg.dev/evmchain/images/taiko-geth + tags: | + type=ref,event=branch + type=ref,event=pr + type=ref,event=tag + type=sha + + - name: Cache Go build + uses: actions/cache@v4 + with: + path: | + ${{ runner.os }}-go_build-platforms + key: ${{ runner.os }}-go_build-platforms + restore-keys: | + ${{ runner.os }}-go_build-platforms + + - name: Inject cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.0 + with: + cache-map: | + { + "${{ runner.os }}-go_build-platforms": "/root/.cache/go-build" + } + skip-extraction: ${{ steps.cache.outputs.cache-hit }} + + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + cache-from: type=gha + cache-to: type=gha,mode=max + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}
diff --git ethereum/go-ethereum/.github/workflows/lint-pr.yml taikoxyz/taiko-geth/.github/workflows/lint-pr.yml new file mode 100644 index 0000000000000000000000000000000000000000..ce00cc6b1e4f71c72816be78d787197a0450419e --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/lint-pr.yml @@ -0,0 +1,14 @@ +name: "Lint PR" + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git ethereum/go-ethereum/.github/workflows/release-please.yml taikoxyz/taiko-geth/.github/workflows/release-please.yml new file mode 100644 index 0000000000000000000000000000000000000000..8d00df7df4fcb8924497b29ccc8abcb0b06c573d --- /dev/null +++ taikoxyz/taiko-geth/.github/workflows/release-please.yml @@ -0,0 +1,19 @@ +name: Release Please + +on: + push: + branches: + - taiko + +permissions: + contents: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + with: + release-type: simple + token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
diff --git ethereum/go-ethereum/CHANGELOG.md taikoxyz/taiko-geth/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..6e18731f59cfc7b8274653b40397812465a89ba2 --- /dev/null +++ taikoxyz/taiko-geth/CHANGELOG.md @@ -0,0 +1,124 @@ +# Changelog + +## [1.8.0](https://github.com/taikoxyz/taiko-geth/compare/v1.7.0...v1.8.0) (2024-09-09) + + +### Features + +* **core:** update `ontakeForkHeight` to Sep 24, 2024 ([#309](https://github.com/taikoxyz/taiko-geth/issues/309)) ([4e05e58](https://github.com/taikoxyz/taiko-geth/commit/4e05e5893b18482a90b1560019f93e90745cc0e0)) + +## [1.7.0](https://github.com/taikoxyz/taiko-geth/compare/v1.6.1...v1.7.0) (2024-08-29) + + +### Features + +* **taiko_genesis:** update genesis JSONs ([#305](https://github.com/taikoxyz/taiko-geth/issues/305)) ([73df1f1](https://github.com/taikoxyz/taiko-geth/commit/73df1f1a116bdb530c5a8bd7fc20b64b491f2f3c)) + + +### Bug Fixes + +* **core:** fix a transaction `Message` assembling issue ([#308](https://github.com/taikoxyz/taiko-geth/issues/308)) ([04d76e8](https://github.com/taikoxyz/taiko-geth/commit/04d76e8f012e8a3d89d04f38dabac08e758f5a00)) + +## [1.6.1](https://github.com/taikoxyz/taiko-geth/compare/v1.6.0...v1.6.1) (2024-08-28) + + +### Bug Fixes + +* **taiko_genesis:** update devnet Ontake fork hight ([#302](https://github.com/taikoxyz/taiko-geth/issues/302)) ([d065dd2](https://github.com/taikoxyz/taiko-geth/commit/d065dd2c3d005fb01590ecc82cda9c91678dfd13)) + +## [1.6.0](https://github.com/taikoxyz/taiko-geth/compare/v1.5.0...v1.6.0) (2024-08-26) + + +### Features + +* **consensus:** update `ValidateAnchorTx` ([#289](https://github.com/taikoxyz/taiko-geth/issues/289)) ([8ff161f](https://github.com/taikoxyz/taiko-geth/commit/8ff161fb39b76ef15585d26033131433c4530a3e)) +* **core:** changes based on the latest `block.extradata` format ([#295](https://github.com/taikoxyz/taiko-geth/issues/295)) ([a875cc8](https://github.com/taikoxyz/taiko-geth/commit/a875cc83b907b026b88da887ce0a0d46c91d6980)) +* **core:** decode basefee params from `block.extraData` ([#290](https://github.com/taikoxyz/taiko-geth/issues/290)) ([83564ba](https://github.com/taikoxyz/taiko-geth/commit/83564ba6fc9c20b1fa28ff94d65d5e19211a1aa2)) +* **core:** introduce `BasefeeSharingPctg` in `BlockMetadata` ([#287](https://github.com/taikoxyz/taiko-geth/issues/287)) ([e6487f0](https://github.com/taikoxyz/taiko-geth/commit/e6487f00ed74139fb4169cf4ccd70488d933a01a)) +* **eip1559:** remove `CalcBaseFeeOntake()` method ([#293](https://github.com/taikoxyz/taiko-geth/issues/293)) ([124fde7](https://github.com/taikoxyz/taiko-geth/commit/124fde7e025d6ba88c5cf796d6a0a5fd19c21a19)) +* **miner:** improve `prepareWork()` ([#292](https://github.com/taikoxyz/taiko-geth/issues/292)) ([06b2903](https://github.com/taikoxyz/taiko-geth/commit/06b29039cbf1f72d6163c0c4f658053acfcc5c47)) +* **taiko_genesis:** update interanl devnet genesis JSON for ontake hardfork ([#288](https://github.com/taikoxyz/taiko-geth/issues/288)) ([a748b91](https://github.com/taikoxyz/taiko-geth/commit/a748b914abb1b5bc2a25fe40de6e38bb70e4235a)) +* **taiko_genesis:** update interanl devnet genesis JSON for ontake hardfork ([#291](https://github.com/taikoxyz/taiko-geth/issues/291)) ([217c9ec](https://github.com/taikoxyz/taiko-geth/commit/217c9ec0f42f4785b44b8d2dbc4c046eb43e1d02)) +* **taiko_genesis:** update internal devnet genesis JSON ([#285](https://github.com/taikoxyz/taiko-geth/issues/285)) ([b137b2a](https://github.com/taikoxyz/taiko-geth/commit/b137b2ac113dfe899bc538220cbdadf45b24f133)) +* **taiko_genesis:** update internal devnet genesis JSON ([#296](https://github.com/taikoxyz/taiko-geth/issues/296)) ([882a6cd](https://github.com/taikoxyz/taiko-geth/commit/882a6cd3294cd1c74eac37fbc37c54e64f0dc363)) + + +### Bug Fixes + +* **taiko_miner:** fix a typo ([#299](https://github.com/taikoxyz/taiko-geth/issues/299)) ([5faa71b](https://github.com/taikoxyz/taiko-geth/commit/5faa71b531cc889fb66868380d9063e8c78c7646)) +* **txpool:** basefee requires mintip to not be nil. ([#297](https://github.com/taikoxyz/taiko-geth/issues/297)) ([6315fd4](https://github.com/taikoxyz/taiko-geth/commit/6315fd49697701beb1f18b8c8c0a6bdf97e862d5)) + +## [1.5.0](https://github.com/taikoxyz/taiko-geth/compare/v1.4.0...v1.5.0) (2024-07-03) + + +### Features + +* **taiko_miner:** add `BuildTransactionsListsWithMinTip` method ([#283](https://github.com/taikoxyz/taiko-geth/issues/283)) ([c777d24](https://github.com/taikoxyz/taiko-geth/commit/c777d24af16915030536564b8cb44346866ab0b1)) + +## [1.4.0](https://github.com/taikoxyz/taiko-geth/compare/v1.3.0...v1.4.0) (2024-07-02) + + +### Features + +* **miner:** count last oversized transaction ([#273](https://github.com/taikoxyz/taiko-geth/issues/273)) ([451a668](https://github.com/taikoxyz/taiko-geth/commit/451a668d79bb9e41bb34dfb5fdbd1e0301977a9b)) +* **taiko_worker:** skip blob transactions ([#280](https://github.com/taikoxyz/taiko-geth/issues/280)) ([30a615b](https://github.com/taikoxyz/taiko-geth/commit/30a615b4c3aafd0d395309035d58b86ff53c8eb0)) + + +### Bug Fixes + +* **taiko_worker:** fix a `maxBytesPerTxList` check issue ([#282](https://github.com/taikoxyz/taiko-geth/issues/282)) ([f930382](https://github.com/taikoxyz/taiko-geth/commit/f930382f4bf789bdc6c6fae5a410758a9f9bed7c)) + +## [1.3.0](https://github.com/taikoxyz/taiko-geth/compare/v1.2.0...v1.3.0) (2024-06-06) + + +### Features + +* **miner:** compress the txlist bytes after checking the transaction is executable ([#269](https://github.com/taikoxyz/taiko-geth/issues/269)) ([aa70708](https://github.com/taikoxyz/taiko-geth/commit/aa70708a69d9612bf2dffd218db7e703de1654c1)) +* **miner:** move `TAIKO_MIN_TIP` check to `commitL2Transactions` ([#272](https://github.com/taikoxyz/taiko-geth/issues/272)) ([f3a7fb6](https://github.com/taikoxyz/taiko-geth/commit/f3a7fb6311e9d59ba2fb55799b9eab614d488095)) + +## [1.2.0](https://github.com/taikoxyz/taiko-geth/compare/v1.1.0...v1.2.0) (2024-06-05) + + +### Features + +* **txpool:** introduce `TAIKO_MIN_TIP` env ([#264](https://github.com/taikoxyz/taiko-geth/issues/264)) ([a29520e](https://github.com/taikoxyz/taiko-geth/commit/a29520e066809dda21af463272b6ec1ef1cdfcae)) + + +### Bug Fixes + +* **txpool:** fix the unit in a log ([#266](https://github.com/taikoxyz/taiko-geth/issues/266)) ([9594e0a](https://github.com/taikoxyz/taiko-geth/commit/9594e0a6a87d14bdaa594b3a31eec116ce24c948)) + +## [1.1.0](https://github.com/taikoxyz/taiko-geth/compare/v1.0.0...v1.1.0) (2024-05-27) + + +### Features + +* **eth:** add default gpo price flag ([#258](https://github.com/taikoxyz/taiko-geth/issues/258)) ([0fb7ce1](https://github.com/taikoxyz/taiko-geth/commit/0fb7ce1999e6b8f4d39e78787525e236e007948f)) +* **txpool:** update max fee check in `ValidateTransaction()` ([#259](https://github.com/taikoxyz/taiko-geth/issues/259)) ([ef40d46](https://github.com/taikoxyz/taiko-geth/commit/ef40d46c0efbda50f0a2b84987291a4b8f9f2a2d)) + +## 1.0.0 (2024-05-22) + + +### Features + +* **all:** changes based on Taiko protocol ([7e1b8b6](https://github.com/taikoxyz/taiko-geth/commit/7e1b8b65a3f8b931a5f141281c6ff82ad17028d0)) +* **consensus:** improve `VerifyHeaders` for `taiko` consensus ([#238](https://github.com/taikoxyz/taiko-geth/issues/238)) ([4f36879](https://github.com/taikoxyz/taiko-geth/commit/4f368792dc27d1e5c5d92f44b2d4b0a3f2986e02)) +* **miner:** change invalid transaction log level to `DEBUG` ([#224](https://github.com/taikoxyz/taiko-geth/issues/224)) ([286ffe2](https://github.com/taikoxyz/taiko-geth/commit/286ffe2cbfd6e1b234c9ab3976b4daa60c8a24ce)) +* **taiko_miner:** remove an unnecessary check ([#239](https://github.com/taikoxyz/taiko-geth/issues/239)) ([974b338](https://github.com/taikoxyz/taiko-geth/commit/974b338e20c3a2ff48ecfd0174c595d6cb02e935)) +* **txpool:** update `ValidateTransaction` ([#237](https://github.com/taikoxyz/taiko-geth/issues/237)) ([6cc43e1](https://github.com/taikoxyz/taiko-geth/commit/6cc43e1d9c1ef34cba5fff2db3735ced3ad0a3a0)) +* **txpool:** update `ValidateTransaction` ([#255](https://github.com/taikoxyz/taiko-geth/issues/255)) ([87f4206](https://github.com/taikoxyz/taiko-geth/commit/87f42062d9d02fd99be1f8c318baf573ef08135f)) +* **worker:** add `chainId` check in `worker` ([#228](https://github.com/taikoxyz/taiko-geth/issues/228)) ([4ebcf66](https://github.com/taikoxyz/taiko-geth/commit/4ebcf6656c507c3164722148c16e76f7766fe52e)) + + +### Bug Fixes + +* broken url link ([#28342](https://github.com/taikoxyz/taiko-geth/issues/28342)) ([a5544d3](https://github.com/taikoxyz/taiko-geth/commit/a5544d35f6746c93d01e9c54c5bc5ef6567463b3)) +* **core/txpool:** fix typos ([a081130](https://github.com/taikoxyz/taiko-geth/commit/a0811300815f1d4e79881113a102e91fdfeecdb8)) +* **eth:** mark anchor transaction in `traceBlockParallel` ([#243](https://github.com/taikoxyz/taiko-geth/issues/243)) ([8622b2c](https://github.com/taikoxyz/taiko-geth/commit/8622b2cce09330fc4957e22be5bd4685675411d9)) +* fix some (ST1005)go-staticcheck ([2814ee0](https://github.com/taikoxyz/taiko-geth/commit/2814ee0547cb49dddf182bad802f19100608d5f8)) +* **flag:** one typo ([52234eb](https://github.com/taikoxyz/taiko-geth/commit/52234eb17299dbccb108f74cf9ac94cc44bc6d6a)) +* **taiko_worker:** fix a size limit check in `commitL2Transactions` ([#245](https://github.com/taikoxyz/taiko-geth/issues/245)) ([7a75d5e](https://github.com/taikoxyz/taiko-geth/commit/7a75d5e6b42ee57fed4df8713049c71e9b08657a)) +* typo ([d8a351b](https://github.com/taikoxyz/taiko-geth/commit/d8a351b58f147fc8e1527695ff7a3d19e6f3420b)) +* update link to trezor ([1a79089](https://github.com/taikoxyz/taiko-geth/commit/1a79089193f2046c0cab60954bc05be2f52a2a90)) +* update outdated link to trezor docs ([#28966](https://github.com/taikoxyz/taiko-geth/issues/28966)) ([1a79089](https://github.com/taikoxyz/taiko-geth/commit/1a79089193f2046c0cab60954bc05be2f52a2a90)) +* **wokrer:** fix an issue in `sealBlockWith` ([#240](https://github.com/taikoxyz/taiko-geth/issues/240)) ([02c6ee9](https://github.com/taikoxyz/taiko-geth/commit/02c6ee9672c1b47ac534ec7224f45d9ab0652cdf))
diff --git ethereum/go-ethereum/Dockerfile taikoxyz/taiko-geth/Dockerfile index ff89e92f256881accbed47ba81e96025dbb4ca2e..2a83820428d6a09da6f990c409f7e9f351ef5df5 100644 --- ethereum/go-ethereum/Dockerfile +++ taikoxyz/taiko-geth/Dockerfile @@ -14,7 +14,10 @@ COPY go.sum /go-ethereum/ RUN cd /go-ethereum && go mod download   ADD . /go-ethereum -RUN cd /go-ethereum && go run build/ci.go install -static ./cmd/geth +ARG TARGETOS +ARG TARGETARCH +RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} \ + cd /go-ethereum && go run build/ci.go install -static ./cmd/geth   # Pull Geth into a second stage deploy alpine container FROM alpine:latest
diff --git ethereum/go-ethereum/README.md taikoxyz/taiko-geth/README.md index 182464c639c56ac458136ca75d1b7159ec76e2d3..28ad09f26d37db47dc0c387efda9f1f16a484d21 100644 --- ethereum/go-ethereum/README.md +++ taikoxyz/taiko-geth/README.md @@ -1,3 +1,13 @@ +# taiko-geth + +[![CI](https://github.com/taikoxyz/taiko-geth/actions/workflows/ci.yml/badge.svg)](https://github.com/taikoxyz/taiko-geth/actions/workflows/ci.yml) + +The codebase is based on [go-ethereum v1.14.11](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.11). + +## Tracing changes + +All source code changes by [taiko](https://taiko.xyz) team are commented with `"CHANGE(taiko): ...."`, and the filenames of all additional files have the prefix `"taiko_"` (`taiko_*.go`). + ## Go Ethereum   Golang execution layer implementation of the Ethereum protocol. @@ -83,7 +93,7 @@ * Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag), causing it to download more data in exchange for avoiding processing the entire history of the Ethereum network, which is very CPU intensive. * Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console), - (via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md) + (via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md) (note: the `web3` version bundled within `geth` is very old, and not up to date with official docs), as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc). This tool is optional and if you leave it out you can always attach it to an already running @@ -106,7 +116,7 @@ useful on the testnet too.   Specifying the `--holesky` flag, however, will reconfigure your `geth` instance a bit:   - * Instead of connecting to the main Ethereum network, the client will connect to the Holesky + * Instead of connecting to the main Ethereum network, the client will connect to the Holesky test network, which uses different P2P bootnodes, different network IDs and genesis states. * Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth` @@ -344,7 +354,7 @@ ### Contributing to geth.ethereum.org   For contributions to the [go-ethereum website](https://geth.ethereum.org), please checkout and raise pull requests against the `website` branch. -For more detailed instructions please see the `website` branch [README](https://github.com/ethereum/go-ethereum/tree/website#readme) or the +For more detailed instructions please see the `website` branch [README](https://github.com/ethereum/go-ethereum/tree/website#readme) or the [contributing](https://geth.ethereum.org/docs/developers/geth-developer/contributing) page of the website.   ## License
diff --git ethereum/go-ethereum/accounts/usbwallet/trezor/messages-common.pb.go taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-common.pb.go index 73800802bb3047ade279fd94d18f0c648a118e12..eab6a66217fa34fb0abffaa8fabfd0cbe0516907 100644 --- ethereum/go-ethereum/accounts/usbwallet/trezor/messages-common.pb.go +++ taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-common.pb.go @@ -4,8 +4,8 @@ // dated 28.05.2019, commit 893fd219d4a01bcffa0cd9cfa631856371ec5aa9.   // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.26.0 +// protoc v5.28.0 // source: messages-common.proto   package trezor @@ -1010,7 +1010,7 @@ }   var file_messages_common_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_messages_common_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_messages_common_proto_goTypes = []any{ +var file_messages_common_proto_goTypes = []interface{}{ (Failure_FailureType)(0), // 0: hw.trezor.messages.common.Failure.FailureType (ButtonRequest_ButtonRequestType)(0), // 1: hw.trezor.messages.common.ButtonRequest.ButtonRequestType (PinMatrixRequest_PinMatrixRequestType)(0), // 2: hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType @@ -1043,7 +1043,7 @@ if File_messages_common_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_messages_common_proto_msgTypes[0].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Success); i { case 0: return &v.state @@ -1055,7 +1055,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[1].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Failure); i { case 0: return &v.state @@ -1067,7 +1067,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[2].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ButtonRequest); i { case 0: return &v.state @@ -1079,7 +1079,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[3].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ButtonAck); i { case 0: return &v.state @@ -1091,7 +1091,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[4].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PinMatrixRequest); i { case 0: return &v.state @@ -1103,7 +1103,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[5].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PinMatrixAck); i { case 0: return &v.state @@ -1115,7 +1115,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[6].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PassphraseRequest); i { case 0: return &v.state @@ -1127,7 +1127,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[7].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PassphraseAck); i { case 0: return &v.state @@ -1139,7 +1139,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[8].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PassphraseStateRequest); i { case 0: return &v.state @@ -1151,7 +1151,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[9].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PassphraseStateAck); i { case 0: return &v.state @@ -1163,7 +1163,7 @@ default: return nil } } - file_messages_common_proto_msgTypes[10].Exporter = func(v any, i int) any { + file_messages_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HDNodeType); i { case 0: return &v.state
diff --git ethereum/go-ethereum/accounts/usbwallet/trezor/messages-ethereum.pb.go taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-ethereum.pb.go index a92123efcdda43c0c0cbeba59bc794dace73702d..4c257655ca2363e1c1119128c4a7e723089c27c0 100644 --- ethereum/go-ethereum/accounts/usbwallet/trezor/messages-ethereum.pb.go +++ taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-ethereum.pb.go @@ -4,8 +4,8 @@ // dated 28.05.2019, commit 893fd219d4a01bcffa0cd9cfa631856371ec5aa9.   // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.26.0 +// protoc v5.28.0 // source: messages-ethereum.proto   package trezor @@ -831,7 +831,7 @@ return file_messages_ethereum_proto_rawDescData }   var file_messages_ethereum_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_messages_ethereum_proto_goTypes = []any{ +var file_messages_ethereum_proto_goTypes = []interface{}{ (*EthereumGetPublicKey)(nil), // 0: hw.trezor.messages.ethereum.EthereumGetPublicKey (*EthereumPublicKey)(nil), // 1: hw.trezor.messages.ethereum.EthereumPublicKey (*EthereumGetAddress)(nil), // 2: hw.trezor.messages.ethereum.EthereumGetAddress @@ -860,7 +860,7 @@ return } file_messages_common_proto_init() if !protoimpl.UnsafeEnabled { - file_messages_ethereum_proto_msgTypes[0].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumGetPublicKey); i { case 0: return &v.state @@ -872,7 +872,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[1].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumPublicKey); i { case 0: return &v.state @@ -884,7 +884,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[2].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumGetAddress); i { case 0: return &v.state @@ -896,7 +896,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[3].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumAddress); i { case 0: return &v.state @@ -908,7 +908,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[4].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumSignTx); i { case 0: return &v.state @@ -920,7 +920,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[5].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumTxRequest); i { case 0: return &v.state @@ -932,7 +932,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[6].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumTxAck); i { case 0: return &v.state @@ -944,7 +944,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[7].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumSignMessage); i { case 0: return &v.state @@ -956,7 +956,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[8].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumMessageSignature); i { case 0: return &v.state @@ -968,7 +968,7 @@ default: return nil } } - file_messages_ethereum_proto_msgTypes[9].Exporter = func(v any, i int) any { + file_messages_ethereum_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EthereumVerifyMessage); i { case 0: return &v.state
diff --git ethereum/go-ethereum/accounts/usbwallet/trezor/messages-management.pb.go taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-management.pb.go index 983e2d281df3e9ead8e5e243df302214fcc1f1be..87bd684039870c88f27a4d6e31d44b25171250b3 100644 --- ethereum/go-ethereum/accounts/usbwallet/trezor/messages-management.pb.go +++ taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages-management.pb.go @@ -4,8 +4,8 @@ // dated 28.05.2019, commit 893fd219d4a01bcffa0cd9cfa631856371ec5aa9.   // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.26.0 +// protoc v5.28.0 // source: messages-management.proto   package trezor @@ -1955,7 +1955,7 @@ }   var file_messages_management_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_messages_management_proto_msgTypes = make([]protoimpl.MessageInfo, 21) -var file_messages_management_proto_goTypes = []any{ +var file_messages_management_proto_goTypes = []interface{}{ (ApplySettings_PassphraseSourceType)(0), // 0: hw.trezor.messages.management.ApplySettings.PassphraseSourceType (RecoveryDevice_RecoveryDeviceType)(0), // 1: hw.trezor.messages.management.RecoveryDevice.RecoveryDeviceType (WordRequest_WordRequestType)(0), // 2: hw.trezor.messages.management.WordRequest.WordRequestType @@ -2001,7 +2001,7 @@ return } file_messages_common_proto_init() if !protoimpl.UnsafeEnabled { - file_messages_management_proto_msgTypes[0].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Initialize); i { case 0: return &v.state @@ -2013,7 +2013,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[1].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFeatures); i { case 0: return &v.state @@ -2025,7 +2025,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[2].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Features); i { case 0: return &v.state @@ -2037,7 +2037,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[3].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClearSession); i { case 0: return &v.state @@ -2049,7 +2049,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[4].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplySettings); i { case 0: return &v.state @@ -2061,7 +2061,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[5].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplyFlags); i { case 0: return &v.state @@ -2073,7 +2073,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[6].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangePin); i { case 0: return &v.state @@ -2085,7 +2085,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[7].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ping); i { case 0: return &v.state @@ -2097,7 +2097,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[8].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cancel); i { case 0: return &v.state @@ -2109,7 +2109,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[9].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEntropy); i { case 0: return &v.state @@ -2121,7 +2121,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[10].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Entropy); i { case 0: return &v.state @@ -2133,7 +2133,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[11].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WipeDevice); i { case 0: return &v.state @@ -2145,7 +2145,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[12].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadDevice); i { case 0: return &v.state @@ -2157,7 +2157,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[13].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetDevice); i { case 0: return &v.state @@ -2169,7 +2169,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[14].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupDevice); i { case 0: return &v.state @@ -2181,7 +2181,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[15].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntropyRequest); i { case 0: return &v.state @@ -2193,7 +2193,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[16].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EntropyAck); i { case 0: return &v.state @@ -2205,7 +2205,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[17].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecoveryDevice); i { case 0: return &v.state @@ -2217,7 +2217,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[18].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WordRequest); i { case 0: return &v.state @@ -2229,7 +2229,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[19].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WordAck); i { case 0: return &v.state @@ -2241,7 +2241,7 @@ default: return nil } } - file_messages_management_proto_msgTypes[20].Exporter = func(v any, i int) any { + file_messages_management_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetU2FCounter); i { case 0: return &v.state
diff --git ethereum/go-ethereum/accounts/usbwallet/trezor/messages.pb.go taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages.pb.go index 4518db679e93a68c696712e35ff3c2410705bfd0..d8d298650d96d56d007a08769f5d81542a9eaba3 100644 --- ethereum/go-ethereum/accounts/usbwallet/trezor/messages.pb.go +++ taikoxyz/taiko-geth/accounts/usbwallet/trezor/messages.pb.go @@ -4,8 +4,8 @@ // dated 28.05.2019, commit 893fd219d4a01bcffa0cd9cfa631856371ec5aa9.   // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.1 +// protoc-gen-go v1.26.0 +// protoc v5.28.0 // source: messages.proto   package trezor @@ -1320,7 +1320,7 @@ return file_messages_proto_rawDescData }   var file_messages_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_messages_proto_goTypes = []any{ +var file_messages_proto_goTypes = []interface{}{ (MessageType)(0), // 0: hw.trezor.messages.MessageType (*descriptorpb.EnumValueOptions)(nil), // 1: google.protobuf.EnumValueOptions }
diff --git ethereum/go-ethereum/core/taiko_genesis/askja.json taikoxyz/taiko-geth/core/taiko_genesis/askja.json new file mode 100644 index 0000000000000000000000000000000000000000..24a016d8300dc14b6151fe35b12342c9938b9fef --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/askja.json @@ -0,0 +1,117 @@ +{ + "0x6C671d2C641CE1b99F17755fd45441fa4326C3B1": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x09d4121CD4123F039390c7f5e99b15BED5e07222": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9E5da4B6D25Ee5A68aa8c29B6B87C82f7F463893": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xB51f0f2bdCbf6cfabB35239921A5c672519F74ba": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063960304391461003a575b600080fd5b61004d610048366004611938565b610061565b604051901515815260200160405180910390f35b6000808061007184860186611acc565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608c901b166020820152919350915060009081906100c790603401604051602081830303815290604052858d610197565b915091508161011d5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610128826101c0565b9050600061014f8260028151811061014257610142611b30565b60200260200101516101f9565b90506101868b60405160200161016791815260200190565b60405160208183030381529060405261017f8c6102fc565b878461030f565b9d9c50505050505050505050505050565b6000606060006101a686610329565b90506101b381868661035b565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101f390610436565b92915050565b60006021826000015111156102505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610114565b600080600061025e85610635565b91945092509050600081600181111561027957610279611b5f565b146102c65760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610114565b60008386602001516102d89190611bbd565b805190915060208410156102f25760208490036101000a90045b9695505050505050565b60606101f361030a83610986565b610aea565b60008061031b86610329565b90506102f281868686610b59565b6060818051906020012060405160200161034591815260200190565b6040516020818303038152906040529050919050565b60006060600061036a85610b96565b9050600080600061037c848a89610c8f565b815192955090935091501580806103905750815b6103dc5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610114565b6000816103f85760405180602001604052806000815250610424565b61042486610407600188611bd0565b8151811061041757610417611b30565b6020026020010151611144565b919b919a509098505050505050505050565b606060008061044484610635565b9193509091506001905081600181111561046057610460611b5f565b146104ad5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610114565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104c65790505090506000835b865181101561062a57602082106105725760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610114565b6000806105af6040518060400160405280858c600001516105939190611bd0565b8152602001858c602001516105a89190611bbd565b9052610635565b5091509150604051806040016040528083836105cb9190611bbd565b8152602001848b602001516105e09190611bbd565b8152508585815181106105f5576105f5611b30565b602090810291909101015261060b600185611bbd565b93506106178183611bbd565b6106219084611bbd565b925050506104f3565b508152949350505050565b60008060008084600001511161068d5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610114565b6020840151805160001a607f81116106b257600060016000945094509450505061097f565b60b7811161072e5760006106c7608083611bd0565b90508087600001511161071c5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610114565b6001955093506000925061097f915050565b60bf811161081d57600061074360b783611bd0565b9050808760000151116107985760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610114565b600183015160208290036101000a90046107b28183611bbd565b8851116108015760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610114565b61080c826001611bbd565b965094506000935061097f92505050565b60f7811161089857600061083260c083611bd0565b9050808760000151116108875760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610114565b60019550935084925061097f915050565b60006108a560f783611bd0565b9050808760000151116108fa5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610114565b600183015160208290036101000a90046109148183611bbd565b8851116109635760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610114565b61096e826001611bbd565b965094506001935061097f92505050565b9193909250565b606060008260405160200161099d91815260200190565b604051602081830303815290604052905060005b6020811015610a0a578181815181106109cc576109cc611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016600003610a0a57610a0381611be3565b90506109b1565b6000610a17826020611bd0565b67ffffffffffffffff811115610a2f57610a2f6119f2565b6040519080825280601f01601f191660200182016040528015610a59576020820181803683370190505b50905060005b8151811015610ae1578383610a7381611be3565b945081518110610a8557610a85611b30565b602001015160f81c60f81b828281518110610aa257610aa2611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610ada81611be3565b9050610a5f565b50949350505050565b60608082516001148015610b185750608083600081518110610b0e57610b0e611b30565b016020015160f81c105b15610b245750816101f3565b610b308351608061116b565b83604051602001610b42929190611c4b565b604051602081830303815290604052905092915050565b6000806000610b6987868661035b565b91509150818015610b8b57508051602080830191909120875191880191909120145b979650505050505050565b60606000610ba3836101c0565b90506000815167ffffffffffffffff811115610bc157610bc16119f2565b604051908082528060200260200182016040528015610c0657816020015b6040805180820190915260608082526020820152815260200190600190039081610bdf5790505b50905060005b8251811015610c87576000610c39848381518110610c2c57610c2c611b30565b602002602001015161135d565b90506040518060400160405280610c4f836101c0565b815260200182815250838381518110610c6a57610c6a611b30565b60200260200101819052505080610c8090611be3565b9050610c0c565b509392505050565b600060606000806000610ca1876113ed565b90506000869050600080610cc8604051806040016040528060608152602001606081525090565b60005b8c51811015611100578c8181518110610ce657610ce6611b30565b602002602001015191508284610cfc9190611bbd565b9350610d09600188611bbd565b965083600003610d72578482602001518051906020012014610d6d5760405162461bcd60e51b815260206004820152601160248201527f496e76616c696420726f6f7420686173680000000000000000000000000000006044820152606401610114565b610e34565b602082602001515110610dd9578482602001518051906020012014610d6d5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610114565b84610de7836020015161156e565b14610e345760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610114565b610e4060106001611c68565b60ff1682600001515103610eae5785518414611100576000868581518110610e6a57610e6a611b30565b01602001518351805160f89290921c925060009183908110610e8e57610e8e611b30565b60200260200101519050610ea181611596565b96506001945050506110f0565b8151517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016110a8576000610ee2836115cc565b9050600081600081518110610ef957610ef9611b30565b016020015160f81c90506000610f10600283611cb0565b610f1b906002611cd2565b90506000610f2c848360ff166115f0565b90506000610f3a8b8a6115f0565b90506000610f488383611626565b905060ff851660021480610f5f575060ff85166003145b15610fb557808351148015610f745750808251145b15610f8657610f83818b611bbd565b99505b507f80000000000000000000000000000000000000000000000000000000000000009950611100945050505050565b60ff85161580610fc8575060ff85166001145b1561103a578251811461100457507f80000000000000000000000000000000000000000000000000000000000000009950611100945050505050565b61102b886000015160018151811061101e5761101e611b30565b6020026020010151611596565b9a5097506110f0945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e2060448201527f70726566697800000000000000000000000000000000000000000000000000006064820152608401610114565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610114565b6110f981611be3565b9050610ccb565b507f800000000000000000000000000000000000000000000000000000000000000084148661112f87866115f0565b909e909d50909b509950505050505050505050565b805180516060916101f39161115b90600190611bd0565b81518110610c2c57610c2c611b30565b60608060388410156111ea57604080516001808252818301909252906020820181803683370190505090506111a08385611c68565b60f81b816000815181106111b6576111b6611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611356565b600060015b6111f98187611ceb565b1561121c5761120782611be3565b915061121561010082611cff565b90506111ef565b611227826001611bbd565b67ffffffffffffffff81111561123f5761123f6119f2565b6040519080825280601f01601f191660200182016040528015611269576020820181803683370190505b5092506112768583611c68565b611281906037611c68565b60f81b8360008151811061129757611297611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611353576101006112df8284611bd0565b6112eb90610100611e36565b6112f59088611ceb565b6112ff9190611e42565b60f81b83828151811061131457611314611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061134c81611be3565b90506112cb565b50505b9392505050565b6060600080600061136d85610635565b91945092509050600081600181111561138857611388611b5f565b146113d55760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610114565b6113e4856020015184846116d0565b95945050505050565b60606000825160026113ff9190611cff565b67ffffffffffffffff811115611417576114176119f2565b6040519080825280601f01601f191660200182016040528015611441576020820181803683370190505b50905060005b835181101561156757600484828151811061146457611464611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c82611499836002611cff565b815181106114a9576114a9611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060108482815181106114ec576114ec611b30565b01602001516114fe919060f81c611cb0565b60f81b8261150d836002611cff565b611518906001611bbd565b8151811061152857611528611b30565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061156081611be3565b9050611447565b5092915050565b600060208251101561158257506020015190565b818060200190518101906101f39190611e56565b600060606020836000015110156115b7576115b083611779565b90506115c3565b6115c08361135d565b90505b6113568161156e565b60606101f36115eb8360000151600081518110610c2c57610c2c611b30565b6113ed565b60608251821061160f57506040805160208101909152600081526101f3565b61135683838486516116219190611bd0565b611784565b6000805b80845111801561163a5750808351115b80156116bb575082818151811061165357611653611b30565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811061169257611692611b30565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b15611356576116c981611be3565b905061162a565b606060008267ffffffffffffffff8111156116ed576116ed6119f2565b6040519080825280601f01601f191660200182016040528015611717576020820181803683370190505b509050805160000361172a579050611356565b8484016020820160005b8581101561174c578281015182820152602001611734565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101f382611922565b60608161179281601f611bbd565b10156117e05760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610114565b826117eb8382611bbd565b10156118395760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610114565b6118438284611bbd565b845110156118935760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610114565b6060821580156118b25760405191506000825260208201604052610ae1565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156118eb5780518352602092830192016118d3565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166040525050949350505050565b60606101f38260200151600084600001516116d0565b60008060008060008060a0878903121561195157600080fd5b86359550602087013573ffffffffffffffffffffffffffffffffffffffff8116811461197c57600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156119a757600080fd5b818901915089601f8301126119bb57600080fd5b8135818111156119ca57600080fd5b8a60208285010111156119dc57600080fd5b6020830194508093505050509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611a3257600080fd5b813567ffffffffffffffff80821115611a4d57611a4d6119f2565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611a9357611a936119f2565b81604052838152866020858801011115611aac57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611adf57600080fd5b823567ffffffffffffffff80821115611af757600080fd5b611b0386838701611a21565b93506020850135915080821115611b1957600080fd5b50611b2685828601611a21565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101f3576101f3611b8e565b818103818111156101f3576101f3611b8e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c1457611c14611b8e565b5060010190565b6000815160005b81811015611c3c5760208185018101518683015201611c22565b50600093019283525090919050565b6000611c60611c5a8386611c1b565b84611c1b565b949350505050565b60ff81811683821601908111156101f3576101f3611b8e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060ff831680611cc357611cc3611c81565b8060ff84160691505092915050565b60ff82811682821603908111156101f3576101f3611b8e565b600082611cfa57611cfa611c81565b500490565b80820281158282048414176101f3576101f3611b8e565b600181815b80851115611d6f57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611d5557611d55611b8e565b80851615611d6257918102915b93841c9390800290611d1b565b509250929050565b600082611d86575060016101f3565b81611d93575060006101f3565b8160018114611da95760028114611db357611dcf565b60019150506101f3565b60ff841115611dc457611dc4611b8e565b50506001821b6101f3565b5060208310610133831016604e8410600b8410161715611df2575081810a6101f3565b611dfc8383611d16565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611e2e57611e2e611b8e565b029392505050565b60006113568383611d77565b600082611e5157611e51611c81565b500690565b600060208284031215611e6857600080fd5b505191905056fea264697066735822122022f5cdb126db09c3c43e2fa6a17aab0115cbc5363507839bf8f77203759fb3af64736f6c63430008120033", + "balance": "0x0" + }, + "0x7C96157d384E99B04fE912f7E8Fa6d032073a0DD": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220032710b16720cdb7bfee28fecace22d2e4fd9f5731db2aaefd90be3a941623a364736f6c63430008120033", + "balance": "0x0" + }, + "0x13E419A8F4A246Fe22F3Acc054354258B068A7A3": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d4832ed4ef0b67bed2c2d982e30c1a789312b6584967438335056c5c4005497e64736f6c63430008120033", + "balance": "0x0" + }, + "0x658d9Ff6257D5254FC536d29641E43144Fbe8d8C": { + "contractName": "LibTxDecoder", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80634eb7f19914610045578063a946c1de1461006e575b600080fd5b61005861005336600461175f565b61008e565b60405161006591906118cf565b60405180910390f35b61008161007c366004611988565b610214565b6040516100659190611a61565b604080516020810190915260608152811561020d5760006100e484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104d992505050565b90506000815167ffffffffffffffff81111561010257610102611959565b60405190808252806020026020018201604052801561019757816020015b610184604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b8152602001906001900390816101205790505b50905060005b82518110156101fa576101cc8761007c8584815181106101bf576101bf611a74565b6020026020010151610512565b8282815181106101de576101de611a74565b6020026020010181905250806101f390611ad2565b905061019d565b5060408051602081019091529081529150505b9392505050565b610278604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b602082015160e0820183905260001a60c0811080159061029c575060fe8160ff1611155b156103235760008083526102af846104d9565b905060006102bd86836105a2565b60408082015160608088019190915282015173ffffffffffffffffffffffffffffffffffffffff16602087015260c08083015160ff16608088015260e083015160a080890191909152610100840151918801919091529091015190850152506104d29050565b607f8160ff161161048a5760ff8116825260006103496103448560016107ba565b6104d9565b90508160ff166001036103c0576000610361826107f0565b6060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff16602087015261010082015160ff169086015261012081015160a086015261014081015160c0808701919091520151604085015250610484565b825160ff166002036104375760006103d782610a31565b608080820151606087015260a08083015173ffffffffffffffffffffffffffffffffffffffff16602088015261012083015160ff16918701919091526101408201519086015261016081015160c086015260e00151604085015250610484565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064015b60405180910390fd5b506104d2565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420707265666978000000000000000000000000000000000000604482015260640161047b565b5092915050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061050c90610c86565b92915050565b6060600080600061052285610e85565b91945092509050600081600181111561053d5761053d611b0a565b1461058a5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e0000000000000000604482015260640161047b565b610599856020015184846111d6565b95945050505050565b61060a604051806101200160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600060ff16815260200160008152602001600081525090565b815160091461065b5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b61067e8260008151811061067157610671611a74565b602002602001015161127f565b81528151610699908390600190811061067157610671611a74565b602082015281516106b7908390600290811061067157610671611a74565b604082015281516106e290839060039081106106d5576106d5611a74565b602002602001015161128a565b73ffffffffffffffffffffffffffffffffffffffff1660608201528151610716908390600490811061067157610671611a74565b6080820152815161073490839060059081106101bf576101bf611a74565b60a0820152610744836002611b39565b61075a8360068151811061067157610671611a74565b6107649190611b50565b61076f906023611b63565b60ff1660c08201528151610790908390600790811061067157610671611a74565b60e082015281516107ae908390600890811061067157610671611a74565b61010082015292915050565b6060825182106107d9575060408051602081019091526000815261050c565b61020d83838486516107eb9190611b50565b6112f8565b61086660405180610160016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600b146108b75760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b6108cd8260008151811061067157610671611a74565b815281516108e8908390600190811061067157610671611a74565b60208201528151610906908390600290811061067157610671611a74565b60408201528151610924908390600390811061067157610671611a74565b6060820152815161094290839060049081106106d5576106d5611a74565b73ffffffffffffffffffffffffffffffffffffffff1660808201528151610976908390600590811061067157610671611a74565b60a0820152815161099490839060069081106101bf576101bf611a74565b8160c001819052506109c76109c2836007815181106109b5576109b5611a74565b6020026020010151610c86565b611497565b8160e001819052506109e58260088151811061067157610671611a74565b60ff166101008201528151610a07908390600990811061067157610671611a74565b6101208201528151610a26908390600a90811061067157610671611a74565b610140820152919050565b610aae6040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600c14610aff5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e677468000000000000000000000000604482015260640161047b565b610b158260008151811061067157610671611a74565b81528151610b30908390600190811061067157610671611a74565b60208201528151610b4e908390600290811061067157610671611a74565b60408201528151610b6c908390600390811061067157610671611a74565b60608201528151610b8a908390600490811061067157610671611a74565b60808201528151610ba890839060059081106106d5576106d5611a74565b73ffffffffffffffffffffffffffffffffffffffff1660a08201528151610bdc908390600690811061067157610671611a74565b60c08201528151610bfa90839060079081106101bf576101bf611a74565b8160e00181905250610c1b6109c2836008815181106109b5576109b5611a74565b816101000181905250610c3a8260098151811061067157610671611a74565b60ff166101208201528151610c5c908390600a90811061067157610671611a74565b6101408201528151610c7b908390600b90811061067157610671611a74565b610160820152919050565b6060600080610c9484610e85565b91935090915060019050816001811115610cb057610cb0611b0a565b14610cfd5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e000000000000000000604482015260640161047b565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610d165790505090506000835b8651811015610e7a5760208210610dc25760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e00000000000000000000000000000000000000000000606482015260840161047b565b600080610dff6040518060400160405280858c60000151610de39190611b50565b8152602001858c60200151610df89190611b63565b9052610e85565b509150915060405180604001604052808383610e1b9190611b63565b8152602001848b60200151610e309190611b63565b815250858581518110610e4557610e45611a74565b6020908102919091010152610e5b600185611b63565b9350610e678183611b63565b610e719084611b63565b92505050610d43565b508152949350505050565b600080600080846000015111610edd5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e0000000000000000604482015260640161047b565b6020840151805160001a607f8111610f025760006001600094509450945050506111cf565b60b78111610f7e576000610f17608083611b50565b905080876000015111610f6c5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e00000000000000604482015260640161047b565b600195509350600092506111cf915050565b60bf811161106d576000610f9360b783611b50565b905080876000015111610fe85760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161047b565b600183015160208290036101000a90046110028183611b63565b8851116110515760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e0000000000000000604482015260640161047b565b61105c826001611b63565b96509450600093506111cf92505050565b60f781116110e857600061108260c083611b50565b9050808760000151116110d75760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e000000000000000000604482015260640161047b565b6001955093508492506111cf915050565b60006110f560f783611b50565b90508087600001511161114a5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161047b565b600183015160208290036101000a90046111648183611b63565b8851116111b35760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e00000000000000000000604482015260640161047b565b6111be826001611b63565b96509450600193506111cf92505050565b9193909250565b606060008267ffffffffffffffff8111156111f3576111f3611959565b6040519080825280601f01601f19166020018201604052801561121d576020820181803683370190505b509050805160000361123057905061020d565b8484016020820160005b8581101561125257828101518282015260200161123a565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b600061050c8261165c565b805160009060010361129e57506000919050565b81516015146112ef5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020616464726573732076616c75652e000000000000604482015260640161047b565b61050c8261127f565b60608161130681601f611b63565b10156113545760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161047b565b8261135f8382611b63565b10156113ad5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161047b565b6113b78284611b63565b845110156114075760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161047b565b606082158015611426576040519150600082526020820160405261148e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561145f578051835260209283019201611447565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6060815167ffffffffffffffff8111156114b3576114b3611959565b6040519080825280602002602001820160405280156114f957816020015b6040805180820190915260008152606060208201528152602001906001900390816114d15790505b50905060005b825181101561165657600061151f8483815181106109b5576109b5611a74565b90506000611539826000815181106106d5576106d5611a74565b90506000611553836001815181106109b5576109b5611a74565b90506000815167ffffffffffffffff81111561157157611571611959565b60405190808252806020026020018201604052801561159a578160200160208202803683370190505b50905060005b82518110156115f8576115cb8382815181106115be576115be611a74565b602002602001015161165c565b8282815181106115dd576115dd611a74565b60209081029190910101526115f181611ad2565b90506115a0565b5060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018281525086868151811061163657611636611a74565b6020026020010181905250505050508061164f90611ad2565b90506114ff565b50919050565b60006021826000015111156116b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604482015260640161047b565b60008060006116c185610e85565b9194509250905060008160018111156116dc576116dc611b0a565b146117295760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604482015260640161047b565b600083866020015161173b9190611b63565b805190915060208410156117555760208490036101000a90045b9695505050505050565b60008060006040848603121561177457600080fd5b83359250602084013567ffffffffffffffff8082111561179357600080fd5b818601915086601f8301126117a757600080fd5b8135818111156117b657600080fd5b8760208285010111156117c857600080fd5b6020830194508093505050509250925092565b6000815180845260005b81811015611801576020818501810151868301820152016117e5565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b600061010060ff835116845273ffffffffffffffffffffffffffffffffffffffff60208401511660208501526040830151816040860152611882828601826117db565b9150506060830151606085015260808301516118a3608086018260ff169052565b5060a083015160a085015260c083015160c085015260e083015184820360e086015261059982826117db565b60006020808352604083018451828386015281815180845260608701915060608160051b8801019350848301925060005b8181101561194c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088860301835261193a85855161183f565b94509285019291850191600101611900565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561199b57600080fd5b82359150602083013567ffffffffffffffff808211156119ba57600080fd5b818501915085601f8301126119ce57600080fd5b8135818111156119e0576119e0611959565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611a2657611a26611959565b81604052828152886020848701011115611a3f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60208152600061020d602083018461183f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b0357611b03611aa3565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808202811582820484141761050c5761050c611aa3565b8181038181111561050c5761050c611aa3565b8082018082111561050c5761050c611aa356fea2646970667358221220977255eb91ee0bc83da7d64c4ccd4610769dfef0575766e3b1d355d99af47f7d64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "AddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xfb2e436f19bdbec4da734cf0919b4423eb4c7a14d4f249db9211e6070a6a653d": "0x0000000000000000000000000000777700000000000000000000000000000001", + "0x0aa3204ceb554139e74fc959b75d2c0961a8274eee43ddfb4c452fa0d56e55c3": "0x0000000000000000000000000000777700000000000000000000000000000004", + "0xc19602c1e190099bda9f0217b29220086721ab0cc7df1664d5392c1062c6d6a0": "0x0000000000000000000000000000777700000000000000000000000000000002", + "0x2230df1245aba8de92051ca9155400ea7ed51d37f62ecf6ceb23a360b8066ac7": "0x0000000000000000000000000000777700000000000000000000000000000003", + "0x61566bd8aa85fc0cba510177307735c5887d55659d67a1f0f76bfcaa381cbca5": "0x0000000000000000000000000000777700000000000000000000000000000007" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bf40fac111610050578063bf40fac1146100d7578063e1c7392a14610115578063f2fde38b1461011d57600080fd5b8063715018a6146100775780638da5cb5b146100815780639b2ea4bd146100c4575b600080fd5b61007f610130565b005b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f6100d2366004610796565b610144565b61009b6100e53660046107e4565b805160209182012060009081526065909152604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61007f610216565b61007f61012b366004610821565b6103ad565b610138610461565b61014260006104e2565b565b61014c610461565b815160208084019190912060008181526065909252604091829020805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092559251919216906101b9908590610843565b6040805191829003822073ffffffffffffffffffffffffffffffffffffffff808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b600054610100900460ff16158080156102365750600054600160ff909116105b806102505750303b158015610250575060005460ff166001145b6102e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561033f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610347610559565b80156103aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6103b5610461565b73ffffffffffffffffffffffffffffffffffffffff8116610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102d8565b6103aa816104e2565b60335473ffffffffffffffffffffffffffffffffffffffff163314610142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166105f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102d8565b610142600054610100900460ff1661068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102d8565b610142336104e2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126106d357600080fd5b813567ffffffffffffffff808211156106ee576106ee610693565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561073457610734610693565b8160405283815286602085880101111561074d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461079157600080fd5b919050565b600080604083850312156107a957600080fd5b823567ffffffffffffffff8111156107c057600080fd5b6107cc858286016106c2565b9250506107db6020840161076d565b90509250929050565b6000602082840312156107f657600080fd5b813567ffffffffffffffff81111561080d57600080fd5b610819848285016106c2565b949350505050565b60006020828403121561083357600080fd5b61083c8261076d565b9392505050565b6000825160005b81811015610864576020818601810151858301520161084a565b50600092019182525091905056fea2646970667358221220d05082af8e0e2cbc9ddc35de7e94b4f45055b3cbd8e60239532b1697a91218c864736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "TaikoL2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000032": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000035": "0x68ce81c266ebf073d5146e3a6a2145d4d2c1ed50490002a530826beee087fd9e" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063975e09a011610076578063c3f909d41161005b578063c3f909d41461019e578063c7b96908146102dd578063ee82ac5e146102e657600080fd5b8063975e09a014610176578063a0ca2d081461018b57600080fd5b806325bf86f2116100a757806325bf86f2146101135780633ab76e9f146101415780635155ce9f1461015f57600080fd5b80630ca4dffd146100c35780631be2bfa714610100575b600080fd5b6100d66100d1366004612415565b6102f9565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d661010e366004612463565b61030f565b6101336101213660046124ba565b60009081526034602052604090205490565b6040519081526020016100f7565b60005473ffffffffffffffffffffffffffffffffffffffff166100d6565b603654600090815260346020526040902054610133565b6101896101843660046124d3565b610326565b005b610189610199366004612560565b61040f565b6101a6610485565b6040516100f79190815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c0808301519082015260e08083015190820152610100808301519082015261012080830151908201526101408083015190820152610160808301519082015261018080830151908201526101a080830151908201526101c080830151908201526101e080830151908201526102008083015167ffffffffffffffff90811691830191909152610220808401518216908301526102408084015182169083015261026080840151821690830152610280808401518216908301526102a080840151909116908201526102c0808301511515908201526102e080830151151590820152610300918201511515918101919091526103200190565b61013360365481565b6101336102f43660046124ba565b610596565b6000610306468484610677565b90505b92915050565b600061031c848484610677565b90505b9392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610371576040517f6494e9f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3a156103a9576040517f497d3b1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103b3610485565b90506103c281868686866107ad565b806102e00151156103d5576103d5610a53565b6103df8585610b5e565b6040517f64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a290600090a25050505050565b6000610419610485565b9050806102e001511561042e5761042e610a53565b6036839055600083815260346020526040908190208390555183907f58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691906104789085815260200190565b60405180910390a2505050565b61058660405180610320016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581526020016000151581526020016000151581525090565b61058e610b80565b468152919050565b60004382106105a757506000919050565b43821080156105c157506105bd610100436125b1565b8210155b156105cb57504090565b5060009081526033602052604090205490565b919050565b73ffffffffffffffffffffffffffffffffffffffff8116610630576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061068385610d60565b846040516020016106959291906125e8565b60408051601f19818403018152908290526000547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906106fa908490600401612640565b602060405180830381865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b9190612697565b9150826107a55760405173ffffffffffffffffffffffffffffffffffffffff831615159061076d9083906020016126b2565b604051602081830303815290604052906107a35760405162461bcd60e51b815260040161079a9190612640565b60405180910390fd5b505b509392505050565b60e08501518311156107c8576107c38282610e1e565b610a4c565b84516040517f4eb7f19900000000000000000000000000000000000000000000000000000000815273658d9Ff6257D5254FC536d29641E43144Fbe8d8C91634eb7f1999161081d9190889088906004016126f7565b600060405180830381865af492505050801561085b57506040513d6000823e601f3d908101601f19168201604052610858919081019061278b565b60015b61089f573d808015610889576040519150601f19603f3d011682016040523d82523d6000602084013e61088e565b606091505b506108998383610e1e565b50610a4c565b60c086015181515111156108b7576108998383610e1e565b8560a001516108c582610e79565b11156108d5576108998383610e1e565b8051518210610910576040517fb431f3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816000015183815181106109285761092861292b565b60200260200101519050600160028111156109455761094561295a565b8460028111156109575761095761295a565b036109bf57865160009061096b9083610ecb565b73ffffffffffffffffffffffffffffffffffffffff16146109b8576040517ff8092d1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050610a4c565b60028460028111156109d3576109d361295a565b03610a1a578661010001518160600151106109b8576040517ff8092d1600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f9343055600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b610a5b6122bb565b434660025b6101008111158015610a725750808310155b15610abe57610a8181846125b1565b408460ff610a8f84876125b1565b610a9991906129b8565b60ff8110610aa957610aa961292b565b6020020152610ab7816129cc565b9050610a60565b506000610acc6001846125b1565b90508040610add8383600088610f5c565b60355414610b17576040517fd719258d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8085610b2460ff856129b8565b60ff8110610b3457610b3461292b565b6020020152610b468385600088610f5c565b60355560009182526033602052604090912055505050565b60008282604051610b70929190612a04565b6040518091039020905092915050565b610c8160405180610320016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581526020016000151581526020016000151581525090565b50604080516103208101825262028c5c81526108016020820152602891810191909152600a606082015260006080820152625b8d8060a0820152604f60c08201526201d4c060e08201526152086101008201526203d090610120820152620e71d9610140820152606461016082015260196101808201526104006101a082018190526101c082018190526101e0820152610190610200820181905260c8610220830152610240820152603c61026082015261070861028082015262278d006102a082015260016102c082018190526102e0820181905261030082015290565b60606000610d6d83610f95565b600101905060008167ffffffffffffffff811115610d8d57610d8d6122da565b6040519080825280601f01601f191660200182016040528015610db7576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610dc157509392505050565b6000826002811115610e3257610e3261295a565b141580610e3e57508015155b15610e75576040517f11abdc5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600090815b8151811015610ec457818181518110610e9b57610e9b61292b565b60200260200101516060015183610eb29190612a14565b9250610ebd816129cc565b9050610e80565b5050919050565b60006001610ed98484611077565b6080840151610ee990601b612a27565b60a085015160c0860151604080516000815260200190819052610f28949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015610f4a573d6000803e3d6000fd5b5050604051601f190151949350505050565b600084848484604051602001610f759493929190612a40565b604051602081830303815290604052805190602001209050949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610fde577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061100a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061102857662386f26fc10000830492506010015b6305f5e1008310611040576305f5e100830492506008015b612710831061105457612710830492506004015b60648310611066576064830492506002015b600a83106103095760010192915050565b60006060826000015160ff1660000361109e576110978360e00151611465565b90506110b8565b6110b56110b08460e001516001611498565b611465565b90505b825160ff1660000361111a5780516009146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b61121c565b825160ff16600103611177578051600b146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b825160ff166002036111d4578051600c146111155760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d73000000000000000000000000000000604482015260640161079a565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420747854797065000000000000000000000000000000000000604482015260640161079a565b825160009060ff161561123c576003825161123791906125b1565b61123f565b81515b67ffffffffffffffff811115611257576112576122da565b60405190808252806020026020018201604052801561128a57816020015b60608152602001906001900390816112755790505b50905060005b815181101561141257845160ff16158015906112b85750600182516112b591906125b1565b81145b15611301576112df8382815181106112d2576112d261292b565b60200260200101516114ce565b8282815181106112f1576112f161292b565b6020026020010181905250611402565b61132b6113268483815181106113195761131961292b565b60200260200101516114d9565b611569565b82828151811061133d5761133d61292b565b6020908102919091010152845160ff1615801561136657506004825161136391906125b1565b81145b1561140257611374866115d8565b82611380836001612a14565b815181106113905761139061292b565b60200260200101819052506113a560006115e6565b826113b1836002612a14565b815181106113c1576113c161292b565b60200260200101819052506113d660006115e6565b826113e2836003612a14565b815181106113f2576113f261292b565b6020026020010181905250611412565b61140b816129cc565b9050611290565b50600061141e826115fe565b855190915060ff16156114545784516040516114429160f81b908390602001612a8b565b60405160208183030381529060405290505b805160209091012095945050505050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061030990611642565b6060825182106114b75750604080516020810190915260008152610309565b61030683838486516114c991906125b1565b611841565b6060610309826119c2565b606060008060006114e9856119d8565b9194509250905060008160018111156115045761150461295a565b146115515760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e0000000000000000604482015260640161079a565b61156085602001518484611d29565b95945050505050565b60608082516001148015611597575060808360008151811061158d5761158d61292b565b016020015160f81c105b156115a3575081610309565b6115af83516080611dd2565b836040516020016115c1929190612ad3565b604051602081830303815290604052905092915050565b606061030961132683611fba565b60606103096113268367ffffffffffffffff16611fba565b6060600061160b83612115565b9050611619815160c0611dd2565b8160405160200161162b929190612ad3565b604051602081830303815290604052915050919050565b6060600080611650846119d8565b9193509091506001905081600181111561166c5761166c61295a565b146116b95760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e000000000000000000604482015260640161079a565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816116d25790505090506000835b8651811015611836576020821061177e5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e00000000000000000000000000000000000000000000606482015260840161079a565b6000806117bb6040518060400160405280858c6000015161179f91906125b1565b8152602001858c602001516117b49190612a14565b90526119d8565b5091509150604051806040016040528083836117d79190612a14565b8152602001848b602001516117ec9190612a14565b8152508585815181106118015761180161292b565b6020908102919091010152611817600185612a14565b93506118238183612a14565b61182d9084612a14565b925050506116ff565b508152949350505050565b60608161184f81601f612a14565b101561189d5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161079a565b826118a88382612a14565b10156118f65760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161079a565b6119008284612a14565b845110156119505760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161079a565b60608215801561196f57604051915060008252602082016040526119b9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119a8578051835260209283019201611990565b5050858452601f01601f1916604052505b50949350505050565b6060610309826020015160008460000151611d29565b600080600080846000015111611a305760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e0000000000000000604482015260640161079a565b6020840151805160001a607f8111611a55576000600160009450945094505050611d22565b60b78111611ad1576000611a6a6080836125b1565b905080876000015111611abf5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e00000000000000604482015260640161079a565b60019550935060009250611d22915050565b60bf8111611bc0576000611ae660b7836125b1565b905080876000015111611b3b5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161079a565b600183015160208290036101000a9004611b558183612a14565b885111611ba45760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e0000000000000000604482015260640161079a565b611baf826001612a14565b9650945060009350611d2292505050565b60f78111611c3b576000611bd560c0836125b1565b905080876000015111611c2a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e000000000000000000604482015260640161079a565b600195509350849250611d22915050565b6000611c4860f7836125b1565b905080876000015111611c9d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161079a565b600183015160208290036101000a9004611cb78183612a14565b885111611d065760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e00000000000000000000604482015260640161079a565b611d11826001612a14565b9650945060019350611d2292505050565b9193909250565b606060008267ffffffffffffffff811115611d4657611d466122da565b6040519080825280601f01601f191660200182016040528015611d70576020820181803683370190505b5090508051600003611d8357905061031f565b8484016020820160005b85811015611da5578281015182820152602001611d8d565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b6060806038841015611e515760408051600180825281830190925290602082018180368337019050509050611e078385612a27565b60f81b81600081518110611e1d57611e1d61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610306565b600060015b611e608187612b02565b15611e8357611e6e826129cc565b9150611e7c61010082612b16565b9050611e56565b611e8e826001612a14565b67ffffffffffffffff811115611ea657611ea66122da565b6040519080825280601f01601f191660200182016040528015611ed0576020820181803683370190505b509250611edd8583612a27565b611ee8906037612a27565b60f81b83600081518110611efe57611efe61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116107a357610100611f4682846125b1565b611f5290610100612c4d565b611f5c9088612b02565b611f6691906129b8565b60f81b838281518110611f7b57611f7b61292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611fb3816129cc565b9050611f32565b6060600082604051602001611fd191815260200190565b604051602081830303815290604052905060005b602081101561203e578181815181106120005761200061292b565b01602001517fff000000000000000000000000000000000000000000000000000000000000001660000361203e57612037816129cc565b9050611fe5565b600061204b8260206125b1565b67ffffffffffffffff811115612063576120636122da565b6040519080825280601f01601f19166020018201604052801561208d576020820181803683370190505b50905060005b81518110156119b95783836120a7816129cc565b9450815181106120b9576120b961292b565b602001015160f81c60f81b8282815181106120d6576120d661292b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061210e816129cc565b9050612093565b6060815160000361213457505060408051600081526020810190915290565b6000805b8351811015612179578381815181106121535761215361292b565b602002602001015151826121679190612a14565b9150612172816129cc565b9050612138565b60008267ffffffffffffffff811115612194576121946122da565b6040519080825280601f01601f1916602001820160405280156121be576020820181803683370190505b50600092509050602081015b85518310156119b95760008684815181106121e7576121e761292b565b60200260200101519050600060208201905061220583828451612240565b8785815181106122175761221761292b565b6020026020010151518361222b9190612a14565b9250505082612239906129cc565b92506121ca565b8282825b6020811061227c578151835261225b602084612a14565b9250612268602083612a14565b91506122756020826125b1565b9050612244565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b60405180611fe0016040528060ff906020820280368337509192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff8111828210171561232c5761232c6122da565b60405290565b604051610100810167ffffffffffffffff8111828210171561232c5761232c6122da565b604051601f8201601f1916810167ffffffffffffffff8111828210171561237f5761237f6122da565b604052919050565b600067ffffffffffffffff8211156123a1576123a16122da565b50601f01601f191660200190565b600082601f8301126123c057600080fd5b81356123d36123ce82612387565b612356565b8181528460208386010111156123e857600080fd5b816020850160208301376000918101602001919091529392505050565b803580151581146105de57600080fd5b6000806040838503121561242857600080fd5b823567ffffffffffffffff81111561243f57600080fd5b61244b858286016123af565b92505061245a60208401612405565b90509250929050565b60008060006060848603121561247857600080fd5b83359250602084013567ffffffffffffffff81111561249657600080fd5b6124a2868287016123af565b9250506124b160408501612405565b90509250925092565b6000602082840312156124cc57600080fd5b5035919050565b600080600080606085870312156124e957600080fd5b843567ffffffffffffffff8082111561250157600080fd5b818701915087601f83011261251557600080fd5b81358181111561252457600080fd5b88602082850101111561253657600080fd5b602092830196509450508501356003811061255057600080fd5b9396929550929360400135925050565b6000806040838503121561257357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561030957610309612582565b60005b838110156125df5781810151838201526020016125c7565b50506000910152565b600083516125fa8184602088016125c4565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516126348160018401602088016125c4565b01600101949350505050565b602081526000825180602084015261265f8160408501602087016125c4565b601f01601f19169190910160400192915050565b805173ffffffffffffffffffffffffffffffffffffffff811681146105de57600080fd5b6000602082840312156126a957600080fd5b61030682612673565b7f41523a7a65726f416464723a00000000000000000000000000000000000000008152600082516126ea81600c8501602087016125c4565b91909101600c0192915050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b805160ff811681146105de57600080fd5b600082601f83011261274f57600080fd5b815161275d6123ce82612387565b81815284602083860101111561277257600080fd5b6127838260208301602087016125c4565b949350505050565b6000602080838503121561279e57600080fd5b825167ffffffffffffffff808211156127b657600080fd5b81850191508282870312156127ca57600080fd5b6127d2612309565b8251828111156127e157600080fd5b80840193505086601f8401126127f657600080fd5b825182811115612808576128086122da565b8060051b612817868201612356565b918252848101860191868101908a84111561283157600080fd5b87870192505b8383101561291b5782518681111561284e57600080fd5b8701610100818d03601f190181131561286657600080fd5b61286e612332565b6128798b840161272d565b815261288760408401612673565b8b82015260608301518981111561289d57600080fd5b6128ab8f8d8387010161273e565b6040830152506080830151606082015260a06128c881850161272d565b608083015260c0808501518284015260e09150818501518184015250828401519250898311156128f85760008081fd5b6129068f8d8587010161273e565b90820152845250509187019190870190612837565b8452509198975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826129c7576129c7612989565b500690565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129fd576129fd612582565b5060010190565b8183823760009101908152919050565b8082018082111561030957610309612582565b60ff818116838216019081111561030957610309612582565b848152600060208581840152846040840152606083018460005b60ff811015612a7757815183529183019190830190600101612a5a565b505050506120408201905095945050505050565b7fff000000000000000000000000000000000000000000000000000000000000008316815260008251612ac58160018501602087016125c4565b919091016001019392505050565b60008351612ae58184602088016125c4565b835190830190612af98183602088016125c4565b01949350505050565b600082612b1157612b11612989565b500490565b808202811582820484141761030957610309612582565b600181815b80851115612b8657817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612b6c57612b6c612582565b80851615612b7957918102915b93841c9390800290612b32565b509250929050565b600082612b9d57506001610309565b81612baa57506000610309565b8160018114612bc05760028114612bca57612be6565b6001915050610309565b60ff841115612bdb57612bdb612582565b50506001821b610309565b5060208310610133831016604e8410600b8410161715612c09575081810a610309565b612c138383612b2d565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612c4557612c45612582565b029392505050565b60006103068383612b8e56fea2646970667358221220b0e2d2df211dd589d063e24dc61098a0aec86ea03c1fcd3241c1634bae25d5dd64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "Bridge", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106101635760003560e01c8063715018a6116100c0578063ce70f39b11610074578063f2fde38b11610059578063f2fde38b1461051a578063f98039191461053a578063fee99b221461055a57600080fd5b8063ce70f39b1461048b578063d0496d6a146104ab57600080fd5b806396e17852116100a557806396e1785214610438578063a4444efd1461044b578063bac443e21461046b57600080fd5b8063715018a6146104055780638da5cb5b1461041a57600080fd5b80635075a9d4116101175780635817b0c3116100fc5780635817b0c3146103975780635d0bd986146103c5578063606b5b74146103e557600080fd5b80635075a9d41461034a578063540be6a31461037757600080fd5b80631be2bfa7116101485780631be2bfa7146102cc578063343b643c146102ec5780633ab76e9f1461032c57600080fd5b80630ca4dffd1461026f57806319ab453c146102ac57600080fd5b3661026a576101a86040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600161057a565b6001600160a01b0316336001600160a01b03161415801561021a57506102046040518060400160405280600b81526020017f65746865725f7661756c74000000000000000000000000000000000000000000815250600161057a565b6001600160a01b0316336001600160a01b031614155b801561023157506065546001600160a01b03163314155b15610268576040517f8bba088a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b34801561027b57600080fd5b5061028f61028a366004613914565b61057a565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102b857600080fd5b506102686102c7366004613986565b610590565b3480156102d857600080fd5b5061028f6102e73660046139a3565b610729565b3480156102f857600080fd5b5061031c6103073660046139fe565b600090815260cd602052604090205460ff1690565b60405190151581526020016102a3565b34801561033857600080fd5b506097546001600160a01b031661028f565b34801561035657600080fd5b5061036a6103653660046139fe565b61073e565b6040516102a39190613a81565b34801561038357600080fd5b5061031c6103923660046139fe565b610749565b3480156103a357600080fd5b506103b76103b2366004613aa8565b610755565b6040519081526020016102a3565b3480156103d157600080fd5b5061031c6103e03660046139fe565b610768565b3480156103f157600080fd5b506103b76104003660046139fe565b61077b565b34801561041157600080fd5b50610268610786565b34801561042657600080fd5b506065546001600160a01b031661028f565b6103b7610446366004613aa8565b61079a565b34801561045757600080fd5b5061031c610466366004613b26565b6107c8565b34801561047757600080fd5b50610268610486366004613b79565b6107e0565b34801561049757600080fd5b5061031c6104a6366004613b26565b610804565b3480156104b757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016102a3565b34801561052657600080fd5b50610268610535366004613986565b610813565b34801561054657600080fd5b50610268610555366004613be2565b6108bd565b34801561056657600080fd5b50610268610575366004613b79565b6108db565b60006105874684846108f1565b90505b92915050565b600054610100900460ff16158080156105b05750600054600160ff909116105b806105ca5750303b1580156105ca575060005460ff166001145b61065b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156106b957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6106c282610a3c565b801561072557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107368484846108f1565b949350505050565b600061058a82610a55565b600061058a3083610a78565b600061058a61076383613c18565b610bbd565b60006107743083610bed565b5092915050565b600061058a82610cc5565b61078e610d00565b6107986000610d74565b565b60006107a4610dde565b6107b860c9306107b385613c18565b610e51565b90506107c360018055565b919050565b60006107d73086868686611239565b95945050505050565b6107e8610dde565b6107f660c930858585611435565b6107ff60018055565b505050565b60006107d73086868686611823565b61081b610d00565b6001600160a01b0381166108b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610652565b6108ba81610d74565b50565b6108c5610dde565b6108d260c9308484611ba6565b61072560018055565b6108e3610dde565b6107f660c930858585611e82565b6000806108fd856124f5565b8460405160200161090f929190613d3e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac190610985908490600401613de0565b602060405180830381865afa1580156109a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c69190613df3565b915082610a34576040516001600160a01b0383161515906109eb908390602001613e10565b60405160208183030381529060405290610a32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106529190613de0565b505b509392505050565b610a44612595565b610a4c612634565b6108ba816126d3565b600080610a6183610cc5565b805490915080600381111561073657610736613a17565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201819052906001600160a01b03841690630ca4dffd90608401602060405180830381865afa158015610b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b339190613df3565b6040517f32676bc6000000000000000000000000000000000000000000000000000000008152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105879190613e55565b600081604051602001610bd09190613f65565b604051602081830303815290604052805190602001209050919050565b6040517f1be2bfa70000000000000000000000000000000000000000000000000000000081526004810182905260606024820152600660648201527f627269646765000000000000000000000000000000000000000000000000000060848201526001604482015260009081906001600160a01b03851690631be2bfa79060a401602060405180830381865afa158015610c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610caf9190613df3565b6001600160a01b03811615159590945092505050565b6040517f4d4553534147455f5354415455530000000000000000000000000000000000006020820152602e8101829052600090604e01610bd0565b6065546001600160a01b03163314610798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610652565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610e4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610652565b6002600155565b60808101516000906001600160a01b0316610e98576040517fd8c3418000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610ea9858560600151610bed565b91509150811580610ebd5750468460600151145b15610ef4576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08401516001600160a01b03161580610f235750806001600160a01b03168460a001516001600160a01b0316145b15610f5a576040517fb9ad6a0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008461012001518561010001518660e00151610f779190613fdb565b610f819190613fdb565b9050348114610fbc576040517f9826865c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110779190613df3565b90506001600160a01b0381161561109b5761109b6001600160a01b0382168361274d565b87548860006110a983613fee565b9091555086523360208701524660408701526110c486610bbd565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529095506001600160a01b03881690630ca4dffd90608401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190613df3565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b81526004016111ac91815260200190565b6020604051808303816000875af11580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190614008565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f3876040516112209190614021565b60405180910390a2505050509392505050565b60018055565b6040517f1be2bfa70000000000000000000000000000000000000000000000000000000081526004810184905260606024820152600660648201527f627269646765000000000000000000000000000000000000000000000000000060848201526000604482018190529081906001600160a01b03881690631be2bfa79060a401602060405180830381865afa1580156112d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fb9190613df3565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529091506001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b69190613df3565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016113e9959493929190614034565b602060405180830381865afa158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a9190613e55565b979650505050505050565b600061144760a0850160808601613986565b6001600160a01b031603611487576040517fd8c3418000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b468360400135146114c4576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114d261076385613c18565b600081815260048801602052604090205490915060ff161515600103611524576040517fafde133500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611535858286606001358686611823565b61156b576040517f498b0b1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600487016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556115b761010086013560e0870135613fdb565b905080156117c757604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03881690630ca4dffd90608401602060405180830381865afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a9190613df3565b90506001600160a01b03811615611727576001600160a01b03811663ba0bbd956116aa60a0890160808a01613986565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561170a57600080fd5b505af115801561171e573d6000803e3d6000fd5b505050506117c5565b600061173960a0880160808901613986565b6001600160a01b03168360405160006040518083038185875af1925050503d8060008114611783576040519150601f19603f3d011682016040523d82523d6000602084013e611788565b606091505b50509050806117c3576040517ff6664cf100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd8476117f960a0880160808901613986565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361185e576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000859003611899576040517fa6407c9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006118a783850185614145565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600560448201527f7461696b6f00000000000000000000000000000000000000000000000000000060648201526000602482018190529192506001600160a01b03891690630ca4dffd90608401602060405180830381865afa158015611940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119649190613df3565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526001600160a01b0391909116906325bf86f290602401602060405180830381865afa1580156119dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a019190614008565b9050801580611a1a57508151611a1690612810565b8114155b15611a2a576000925050506107d7565b81516060908101516040517f1be2bfa7000000000000000000000000000000000000000000000000000000008152600481018990526024810192909252600660648301527f627269646765000000000000000000000000000000000000000000000000000060848301526000604483015273B51f0f2bdCbf6cfabB35239921A5c672519F74ba91639603043991906001600160a01b038c1690631be2bfa79060a401602060405180830381865afa158015611ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0d9190613df3565b611b168b610cc5565b602087015160405160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152611b59949392916003916004016142ea565b602060405180830381865af4158015611b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9a9190613e55565b98975050505050505050565b6101408201351580611bb55750805b15611c1457611bca60a0830160808401613986565b6001600160a01b0316336001600160a01b031614611c14576040517fd7f4fc9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611c2261076384613c18565b90506001611c2f82610a55565b6003811115611c4057611c40613a17565b14611c77576040517f1f6646b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201526000906001600160a01b03861690630ca4dffd90608401602060405180830381865afa158015611d0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d329190613df3565b90506001600160a01b03811615611dbb576040517fd73bb3d000000000000000000000000000000000000000000000000000000000815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611da257600080fd5b505af1158015611db6573d6000803e3d6000fd5b505050505b611dc78685845a612835565b15611ddc57611dd78260026129d6565b611e7a565b8215611e5357611ded8260036129d6565b600080611e0060e0870160c08801613986565b6001600160a01b031614611e2357611e1e60e0860160c08701613986565b611e33565b611e3360a0860160808701613986565b9050611e4d6001600160a01b03821661010087013561274d565b50611e7a565b6001600160a01b03811615611e7a57611e7a6001600160a01b03821661010086013561274d565b505050505050565b610140830135158015611eb65750611ea060a0840160808501613986565b6001600160a01b0316336001600160a01b031614155b15611eed576040517fe62d8d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46836060013514611f2a576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f3861076385613c18565b90506000611f4582610a55565b6003811115611f5657611f56613a17565b14611f8d576040517f2c3b0c4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f1be2bfa700000000000000000000000000000000000000000000000000000000815290850135600482015260606024820152600660648201527f62726964676500000000000000000000000000000000000000000000000000006084820152600060448201819052906001600160a01b03871690631be2bfa79060a401602060405180830381865afa15801561202c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120509190613df3565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600e60448201527f7369676e616c5f736572766963650000000000000000000000000000000000006064820152600060248201529091506001600160a01b03871690630ca4dffd90608401602060405180830381865afa1580156120e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061210b9190613df3565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401612142959493929190614034565b602060405180830381865afa15801561215f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121839190613e55565b6121b9576040517fa282639800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101208601356121d461010088013560e0890135613fdb565b6121de9190613fdb565b604080517f0ca4dffd0000000000000000000000000000000000000000000000000000000081526004810191909152600b60448201527f65746865725f7661756c740000000000000000000000000000000000000000006064820152600160248201529091506000906001600160a01b03891690630ca4dffd90608401602060405180830381865afa158015612278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229c9190613df3565b90506001600160a01b038116158015906122b65750600082115b1561232f576040517fd73bb3d0000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561231657600080fd5b505af115801561232a573d6000803e3d6000fd5b505050505b60e0870135156123605761236060e088013561235160a08a0160808b01613986565b6001600160a01b03169061274d565b6000803061237460c08b0160a08c01613986565b6001600160a01b031614806123a15750600061239660c08b0160a08c01613986565b6001600160a01b0316145b156123b657506002905061010088013561243c565b60006123c860a08b0160808c01613986565b6001600160a01b0316336001600160a01b0316146123eb578961014001356123ed565b5a5b905060006123fd8d8c8a85612835565b9050801561240e5760029350612439565b600193506001600160a01b03851615612439576124396001600160a01b0386166101008d013561274d565b50505b61244686836129d6565b60008061245960e08c0160c08d01613986565b6001600160a01b03161461247c5761247760e08b0160c08c01613986565b61248c565b61248c60a08b0160808c01613986565b90506001600160a01b03811633036124c5576124c06124b0836101208d0135613fdb565b6001600160a01b0383169061274d565b6124e7565b6124d4336101208c013561274d565b6124e76001600160a01b0382168361274d565b505050505050505050505050565b6060600061250283612a4f565b600101905060008167ffffffffffffffff811115612522576125226137bb565b6040519080825280601f01601f19166020018201604052801561254c576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461255657509392505050565b600054610100900460ff1661262c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b610798612b31565b600054610100900460ff166126cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b610798612bc8565b6001600160a01b038116612713576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8015610725576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146127a0576040519150601f19603f3d011682016040523d82523d6000602084013e6127a5565b606091505b50509050806107ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610652565b600080612826612821846000612c68565b6130ac565b80516020909101209392505050565b600081600003612871576040517ffe1d2c1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180606001604052808481526020018560200160208101906128959190613986565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055015160038601556128ff60c0850160a08601613986565b6001600160a01b03168261010086013561291d61016088018861434d565b60405161292b9291906143b2565b600060405180830381858888f193505050503d8060008114612969576040519150601f19603f3d011682016040523d82523d6000602084013e61296e565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560039096019590955550929392505050565b8060038111156129e8576129e8613a17565b6129f183610a55565b6003811115612a0257612a02613a17565b1461072557612a1182826130f0565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051612a439291906143c2565b60405180910390a25050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a98577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612ac4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612ae257662386f26fc10000830492506010015b6305f5e1008310612afa576305f5e100830492506008015b6127108310612b0e57612710830492506004015b60648310612b20576064830492506002015b600a831061058a5760010192915050565b600054610100900460ff16611233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b600054610100900460ff16612c5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610652565b61079833610d74565b61020082015160609015612cd457612c81826011613fdb565b67ffffffffffffffff811115612c9957612c996137bb565b604051908082528060200260200182016040528015612ccc57816020015b6060815260200190600190039081612cb75790505b509050612d44565b6101e083015115612cea57612c81826010613fdb565b612cf582600f613fdb565b67ffffffffffffffff811115612d0d57612d0d6137bb565b604051908082528060200260200182016040528015612d4057816020015b6060815260200190600190039081612d2b5790505b5090505b8251612d4f90613119565b81600081518110612d6257612d626143e6565b6020026020010181905250612d7a8360200151613119565b81600181518110612d8d57612d8d6143e6565b6020026020010181905250612da5836040015161312c565b81600281518110612db857612db86143e6565b6020026020010181905250612dd08360600151613119565b81600381518110612de357612de36143e6565b6020026020010181905250612dfb8360800151613119565b81600481518110612e0e57612e0e6143e6565b6020026020010181905250612e268360a00151613119565b81600581518110612e3957612e396143e6565b6020026020010181905250612e708360c00151604051602001612e5c9190614415565b604051602081830303815290604052613168565b81600681518110612e8357612e836143e6565b6020026020010181905250612e9b8360e001516131d7565b81600781518110612eae57612eae6143e6565b6020026020010181905250612ed98361010001516fffffffffffffffffffffffffffffffff166131d7565b81600881518110612eec57612eec6143e6565b6020026020010181905250612f058361012001516131e5565b81600981518110612f1857612f186143e6565b6020026020010181905250612f318361014001516131e5565b81600a81518110612f4457612f446143e6565b6020026020010181905250612f5d8361016001516131e5565b81600b81518110612f7057612f706143e6565b6020026020010181905250612f89836101800151613168565b81600c81518110612f9c57612f9c6143e6565b6020026020010181905250612fb5836101a00151613119565b81600d81518110612fc857612fc86143e6565b6020026020010181905250613017836101c00151604051602001612e5c919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061302a5761302a6143e6565b6020026020010181905250826101e0015160001461306f57613050836101e001516131d7565b81600f81518110613063576130636143e6565b60200260200101819052505b6102008301511561058a57613088836102000151613119565b8160108151811061309b5761309b6143e6565b602002602001018190525092915050565b606060006130b9836131fd565b90506130c7815160c0613333565b816040516020016130d992919061444a565b604051602081830303815290604052915050919050565b60006130fb83610cc5565b9050600082600381111561311157613111613a17565b909155505050565b606061058a6131278361351b565b613168565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061058a90603401612e5c565b60608082516001148015613196575060808360008151811061318c5761318c6143e6565b016020015160f81c105b156131a257508161058a565b6131ae83516080613333565b836040516020016131c092919061444a565b604051602081830303815290604052905092915050565b606061058a61312783613603565b606061058a6131278367ffffffffffffffff16613603565b6060815160000361321e576040805160008082526020820190925290610774565b6000805b83518110156132635783818151811061323d5761323d6143e6565b602002602001015151826132519190613fdb565b915061325c81613fee565b9050613222565b60008267ffffffffffffffff81111561327e5761327e6137bb565b6040519080825280601f01601f1916602001820160405280156132a8576020820181803683370190505b50600092509050602081015b855183101561332a5760008684815181106132d1576132d16143e6565b6020026020010151905060006020820190506132ef8382845161375e565b878581518110613301576133016143e6565b602002602001015151836133159190613fdb565b925050508261332390613fee565b92506132b4565b50949350505050565b60608060388410156133b257604080516001808252818301909252906020820181803683370190505090506133688385614479565b60f81b8160008151811061337e5761337e6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610587565b600060015b6133c18187614492565b156133e4576133cf82613fee565b91506133dd610100826144a6565b90506133b7565b6133ef826001613fdb565b67ffffffffffffffff811115613407576134076137bb565b6040519080825280601f01601f191660200182016040528015613431576020820181803683370190505b50925061343e8583614479565b613449906037614479565b60f81b8360008151811061345f5761345f6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111610a32576101006134a782846144bd565b6134b3906101006145b4565b6134bd9088614492565b6134c791906145c0565b60f81b8382815181106134dc576134dc6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061351481613fee565b9050613493565b606060008260405160200161353291815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561332a57838361359581613fee565b9450815181106135a7576135a76143e6565b602001015160f81c60f81b8282815181106135c4576135c46143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506135fc81613fee565b9050613581565b606060008260405160200161361a91815260200190565b604051602081830303815290604052905060005b602081101561368757818181518110613649576136496143e6565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036136875761368081613fee565b905061362e565b60006136948260206144bd565b67ffffffffffffffff8111156136ac576136ac6137bb565b6040519080825280601f01601f1916602001820160405280156136d6576020820181803683370190505b50905060005b815181101561332a5783836136f081613fee565b945081518110613702576137026143e6565b602001015160f81c60f81b82828151811061371f5761371f6143e6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061375781613fee565b90506136dc565b8282825b6020811061379a5781518352613779602084613fdb565b9250613786602083613fdb565b91506137936020826144bd565b9050613762565b905182516020929092036101000a6000190180199091169116179052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561380e5761380e6137bb565b60405290565b6040805190810167ffffffffffffffff8111828210171561380e5761380e6137bb565b604051610220810167ffffffffffffffff8111828210171561380e5761380e6137bb565b600082601f83011261386c57600080fd5b813567ffffffffffffffff80821115613887576138876137bb565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156138cd576138cd6137bb565b816040528381528660208588010111156138e657600080fd5b836020870160208301376000602085830101528094505050505092915050565b80151581146108ba57600080fd5b6000806040838503121561392757600080fd5b823567ffffffffffffffff81111561393e57600080fd5b61394a8582860161385b565b925050602083013561395b81613906565b809150509250929050565b6001600160a01b03811681146108ba57600080fd5b80356107c381613966565b60006020828403121561399857600080fd5b813561058781613966565b6000806000606084860312156139b857600080fd5b83359250602084013567ffffffffffffffff8111156139d657600080fd5b6139e28682870161385b565b92505060408401356139f381613906565b809150509250925092565b600060208284031215613a1057600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110613a7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b6020810161058a8284613a46565b60006101a08284031215613aa257600080fd5b50919050565b600060208284031215613aba57600080fd5b813567ffffffffffffffff811115613ad157600080fd5b61073684828501613a8f565b60008083601f840112613aef57600080fd5b50813567ffffffffffffffff811115613b0757600080fd5b602083019150836020828501011115613b1f57600080fd5b9250929050565b60008060008060608587031215613b3c57600080fd5b8435935060208501359250604085013567ffffffffffffffff811115613b6157600080fd5b613b6d87828801613add565b95989497509550505050565b600080600060408486031215613b8e57600080fd5b833567ffffffffffffffff80821115613ba657600080fd5b613bb287838801613a8f565b94506020860135915080821115613bc857600080fd5b50613bd586828701613add565b9497909650939450505050565b60008060408385031215613bf557600080fd5b823567ffffffffffffffff811115613c0c57600080fd5b61394a85828601613a8f565b60006101a08236031215613c2b57600080fd5b613c336137ea565b82358152613c436020840161397b565b60208201526040830135604082015260608301356060820152613c686080840161397b565b6080820152613c7960a0840161397b565b60a0820152613c8a60c0840161397b565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115613cd757600080fd5b613ce33683880161385b565b83850152610180925082860135915080821115613cff57600080fd5b50613d0c3682870161385b565b918301919091525092915050565b60005b83811015613d35578181015183820152602001613d1d565b50506000910152565b60008351613d50818460208801613d1a565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351613d8a816001840160208801613d1a565b01600101949350505050565b60008151808452613dae816020860160208601613d1a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105876020830184613d96565b600060208284031215613e0557600080fd5b815161058781613966565b7f41523a7a65726f416464723a0000000000000000000000000000000000000000815260008251613e4881600c850160208701613d1a565b91909101600c0192915050565b600060208284031215613e6757600080fd5b815161058781613906565b60006101a0825184526020830151613e9560208601826001600160a01b03169052565b5060408301516040850152606083015160608501526080830151613ec460808601826001600160a01b03169052565b5060a0830151613edf60a08601826001600160a01b03169052565b5060c0830151613efa60c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015190850152610140808401519085015261016080840151818601839052613f3f83870182613d96565b925050506101808084015185830382870152613f5b8382613d96565b9695505050505050565b60408152601460408201527f5441494b4f5f4252494447455f4d45535341474500000000000000000000000060608201526080602082015260006105876080830184613e72565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561058a5761058a613fac565b6000600019820361400157614001613fac565b5060010190565b60006020828403121561401a57600080fd5b5051919050565b6020815260006105876020830184613e72565b8581526001600160a01b038516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b600082601f8301126140b057600080fd5b60405161010080820182811067ffffffffffffffff821117156140d5576140d56137bb565b604052830181858211156140e857600080fd5b845b828110156141025780358252602091820191016140ea565b509195945050505050565b80356fffffffffffffffffffffffffffffffff811681146107c357600080fd5b803567ffffffffffffffff811681146107c357600080fd5b60006020828403121561415757600080fd5b813567ffffffffffffffff8082111561416f57600080fd5b908301906040828603121561418357600080fd5b61418b613814565b82358281111561419a57600080fd5b830161030081880312156141ad57600080fd5b6141b5613837565b81358152602082013560208201526141cf6040830161397b565b6040820152606082013560608201526080820135608082015260a082013560a08201526141ff8860c0840161409f565b60c08201526101c08083013560e08301526101e061421e81850161410d565b61010084015261020061423281860161412d565b610120850152614245610220860161412d565b610140850152614258610240860161412d565b6101608501526102608501358781111561427157600080fd5b61427d8c82880161385b565b610180860152506102808501356101a085015261429d6102a0860161412d565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156142cf57600080fd5b6142db8782860161385b565b60208301525095945050505050565b8581526001600160a01b038516602082015283604082015282606082015260a06080820152600061142a60a0830184613d96565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261438257600080fd5b83018035915067ffffffffffffffff82111561439d57600080fd5b602001915036819003821315613b1f57600080fd5b8183823760009101908152919050565b604081016143d08285613a46565b6001600160a01b03831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b600881101561443a57815183526020928301929091019060010161441b565b5050506101008201905092915050565b6000835161445c818460208801613d1a565b835190830190614470818360208801613d1a565b01949350505050565b60ff818116838216019081111561058a5761058a613fac565b6000826144a1576144a161431e565b500490565b808202811582820484141761058a5761058a613fac565b8181038181111561058a5761058a613fac565b600181815b8085111561450b5781600019048211156144f1576144f1613fac565b808516156144fe57918102915b93841c93908002906144d5565b509250929050565b6000826145225750600161058a565b8161452f5750600061058a565b8160018114614545576002811461454f5761456b565b600191505061058a565b60ff84111561456057614560613fac565b50506001821b61058a565b5060208310610133831016604e8410600b841016171561458e575081810a61058a565b61459883836144d0565b80600019048211156145ac576145ac613fac565b029392505050565b60006105878383614513565b6000826145cf576145cf61431e565b50069056fea2646970667358221220ec239ef73d6cbee8dbd31c663f4221c77b52ed6e7ce663cdda28f4eaa6af115964736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "TokenVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106100e85760003560e01c8063715018a61161008a5780639aa8605c116100595780639aa8605c146102b0578063c287e578146102e1578063ee1490b214610321578063f2fde38b1461033457600080fd5b8063715018a6146101fe578063780b64f0146102135780638da5cb5b146102725780639754149b1461029057600080fd5b80631be2bfa7116100c65780631be2bfa71461016c57806339da33ba1461018c5780633ab76e9f1461019f57806367090ccf146101bd57600080fd5b80630c6fab82146100ed5780630ca4dffd1461010f57806319ab453c1461014c575b600080fd5b3480156100f957600080fd5b5061010d6101083660046128f5565b610354565b005b34801561011b57600080fd5b5061012f61012a366004612a50565b610609565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015857600080fd5b5061010d610167366004612aa2565b61061f565b34801561017857600080fd5b5061012f610187366004612abf565b61079e565b61010d61019a366004612b1a565b6107b5565b3480156101ab57600080fd5b506097546001600160a01b031661012f565b3480156101c957600080fd5b5061012f6101d8366004612b98565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b34801561020a57600080fd5b5061010d610adb565b34801561021f57600080fd5b5061025361022e366004612bbd565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610143565b34801561027e57600080fd5b506065546001600160a01b031661012f565b34801561029c57600080fd5b5061010d6102ab366004612bd6565b610aef565b3480156102bc57600080fd5b506102d06102cb366004612aa2565b610f16565b604051610143959493929190612cc6565b3480156102ed57600080fd5b506103116102fc366004612aa2565b60c96020526000908152604090205460ff1681565b6040519015158152602001610143565b61010d61032f366004612d15565b611078565b34801561034057600080fd5b5061010d61034f366004612aa2565b611a29565b61035c611ab9565b6040518060400160405280600681526020017f627269646765000000000000000000000000000000000000000000000000000081525061039d816000610609565b6001600160a01b0316336001600160a01b0316146103e7576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190612db1565b905061049281604001516040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b031681602001516001600160a01b0316146104e0576040517f80962e1c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600046873503610515576104fa6040880160208901612aa2565b90506105106001600160a01b0382168686611b12565b61059e565b61051e87611bbb565b6040517f42e91bb30000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561058557600080fd5b505af1158015610599573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a450505061060360018055565b50505050565b6000610616468484611c1a565b90505b92915050565b600054610100900460ff161580801561063f5750600054600160ff909116105b806106595750303b158015610659575060005460ff166001145b6106d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561072e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61073782611d2d565b801561079a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107ab848484611c1a565b90505b9392505050565b6107bd611ab9565b6001600160a01b0385161580610824575061080f866040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b0316856001600160a01b0316145b1561085b576040517f4694641b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b823411610894576040517fae3718b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610923604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018790523360808201526001600160a01b03861660a0820152610140810185905261012081018490526109598434612e13565b60e08201526001600160a01b03831660c08201526101808101829052610100810151156109b2576040517f3dd99f7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109f46040518060400160405280600681526020017f62726964676500000000000000000000000000000000000000000000000000008152506000610609565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b8152600401610a209190612e4d565b60206040518083038185885af1158015610a3e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a639190612f47565b90508160a001516001600160a01b031682608001516001600160a01b0316827fe2f39179c279514a7b46983846e33f95a561128e0660602a211cc1e61cddb9bd8b8660e00151604051610ac0929190918252602082015260400190565b60405180910390a45050610ad360018055565b505050505050565b610ae3611d46565b610aed6000611da0565b565b610af7611ab9565b6000610b0960a0850160808601612aa2565b6001600160a01b031603610b49576040517f72b41cdf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46836040013514610b86576040517f48bc100500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610bc86040518060400160405280600681526020017f62726964676500000000000000000000000000000000000000000000000000008152506000610609565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b8152600401610bf89190612ff6565b602060405180830381865afa158015610c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c399190612f47565b600081815260cc6020526040902080546001909101549192506001600160a01b03169081610c93576040517f7c6addb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fce70f39b0000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063ce70f39b90610ce290869060608c0135908b908b90600401613114565b602060405180830381865afa158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d239190613134565b610d59576040517f45d24f2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390911617815590516001909101558015610e9d576001600160a01b038216600090815260c9602052604090205460ff1615610e79576001600160a01b0382166342e91bb3610dfc60a08a0160808b01612aa2565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b50505050610e9d565b610e9d610e8c60a0890160808a01612aa2565b6001600160a01b0384169083611b12565b610ead60a0880160808901612aa2565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610efc9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610f1160018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b038316937401000000000000000000000000000000000000000090930460ff1692909190610f6790613151565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9390613151565b8015610fe05780601f10610fb557610100808354040283529160200191610fe0565b820191906000526020600020905b815481529060010190602001808311610fc357829003601f168201915b505050505090806003018054610ff590613151565b80601f016020809104026020016040519081016040528092919081815260200182805461102190613151565b801561106e5780601f106110435761010080835404028352916020019161106e565b820191906000526020600020905b81548152906001019060200180831161105157829003601f168201915b5050505050905085565b611080611ab9565b6001600160a01b03871615806110e757506110d2886040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250600061079e565b6001600160a01b0316876001600160a01b0316145b1561111e576040517f4694641b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03861661115e576040517f7c6addb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84600003611198576040517f015f093200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615611432576040517f77be18a8000000000000000000000000000000000000000000000000000000008152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b15801561124457600080fd5b505af1158015611258573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a081018452815481526001820154948516928101929092527401000000000000000000000000000000000000000090930460ff16918101919091526002820180549192916060840191906112cf90613151565b80601f01602080910402602001604051908101604052809291908181526020018280546112fb90613151565b80156113485780601f1061131d57610100808354040283529160200191611348565b820191906000526020600020905b81548152906001019060200180831161132b57829003601f168201915b5050505050815260200160038201805461136190613151565b80601f016020809104026020016040519081016040528092919081815260200182805461138d90613151565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050509190925250505060208101519092506001600160a01b031661142b576040517ff91680d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50856116c4565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b991906131b3565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261152791908101906131d0565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261159291908101906131d0565b90526040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529093506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190612f47565b90506116326001600160a01b03831633308c611e0a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190612f47565b6116bf9190612e13565b925050505b611753604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015260408051808201909152600b81527f746f6b656e5f7661756c7400000000000000000000000000000000000000000060208201526117a1908c90600061079e565b6001600160a01b031660a082015260808101516040517f0c6fab8200000000000000000000000000000000000000000000000000000000916117ec918691908e908790602401613247565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526101608201526101408101879052610120810186905261186b8634612e13565b60e08201526001600160a01b03851660c0820152610180810184905260408051808201909152600681527f627269646765000000000000000000000000000000000000000000000000000060208201526000906118c89082610609565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016118f49190612e4d565b60206040518083038185885af1158015611912573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119379190612f47565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611a0a939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a450505050611a1f60018055565b5050505050505050565b611a31611d46565b6001600160a01b038116611aad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106c7565b611ab681611da0565b50565b600260015403611b0b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106c7565b6002600155565b6040516001600160a01b038316602482015260448101829052610f119084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611e5b565b8035600090815260cb60209081526040808320839290918391611be2918701908701612aa2565b6001600160a01b0390811682526020820192909252604001600020541690508061061957611c0f83611f40565b6107ae565b60018055565b600080611c26856121f7565b84604051602001611c389291906132fe565b60408051601f19818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac190611c90908490600401613356565b602060405180830381865afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd19190613369565b915082611d25576040516001600160a01b038316151590611cf6908390602001613386565b60405160208183030381529060405290611d235760405162461bcd60e51b81526004016106c79190613356565b505b509392505050565b611d356122b5565b611d3d61233a565b611ab6816123bf565b6065546001600160a01b03163314610aed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c7565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526106039085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611b57565b6000611eb0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124399092919063ffffffff16565b805190915015610f115780806020019051810190611ece9190613134565b610f115760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106c7565b6000611fd5818335611f586040860160208701612aa2565b604051602001611f9792919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b6040516020818303038152906040528051906020012060405180602001611fbd906128c3565b601f1982820381018352601f90910116604052612448565b6097549091506001600160a01b0380831691636c0db62b9116611ffe6040860160208701612aa2565b853561201060608801604089016133cb565b61201d60608901896133e8565b61202a60808b018b6133e8565b60405161203e9291908d359060200161344d565b6040516020818303038152906040526040518863ffffffff1660e01b815260040161206f97969594939291906134d0565b600060405180830381600087803b15801561208957600080fd5b505af115801561209d573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c96020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560ca90915290208391506120f8828261366f565b50508135600090815260cb6020908152604080832084939092909161212291908701908701612aa2565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b03168260200160208101906121839190612aa2565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc6121bc60608701876133e8565b6121c960808901896133e8565b6121d960608b0160408c016133cb565b6040516121ea95949392919061371d565b60405180910390a4919050565b606060006122048361254c565b600101905060008167ffffffffffffffff81111561222457612224612964565b6040519080825280601f01601f19166020018201604052801561224e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461225857509392505050565b600054610100900460ff166123325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed61262e565b600054610100900460ff166123b75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed6126ab565b6001600160a01b0381166123ff576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60606107ab8484600085612731565b60008347101561249a5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064016106c7565b81516000036124eb5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016106c7565b8282516020840186f590506001600160a01b0381166107ae5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016106c7565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612595577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106125c1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125df57662386f26fc10000830492506010015b6305f5e10083106125f7576305f5e100830492506008015b612710831061260b57612710830492506004015b6064831061261d576064830492506002015b600a83106106195760010192915050565b600054610100900460ff16611c145760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b600054610100900460ff166127285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106c7565b610aed33611da0565b6060824710156127a95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106c7565b600080866001600160a01b031685876040516127c5919061375a565b60006040518083038185875af1925050503d8060008114612802576040519150601f19603f3d011682016040523d82523d6000602084013e612807565b606091505b509150915061281887838387612825565b925050505b949350505050565b6060831561289457825160000361288d576001600160a01b0385163b61288d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106c7565b508161281d565b61281d83838151156128a95781518083602001fd5b8060405162461bcd60e51b81526004016106c79190613356565b6121518061377783390190565b6001600160a01b0381168114611ab657600080fd5b80356128f0816128d0565b919050565b6000806000806080858703121561290b57600080fd5b843567ffffffffffffffff81111561292257600080fd5b850160a0818803121561293457600080fd5b93506020850135612944816128d0565b92506040850135612954816128d0565b9396929550929360600135925050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156129bc576129bc612964565b604052919050565b600067ffffffffffffffff8211156129de576129de612964565b50601f01601f191660200190565b600082601f8301126129fd57600080fd5b8135612a10612a0b826129c4565b612993565b818152846020838601011115612a2557600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114611ab657600080fd5b60008060408385031215612a6357600080fd5b823567ffffffffffffffff811115612a7a57600080fd5b612a86858286016129ec565b9250506020830135612a9781612a42565b809150509250929050565b600060208284031215612ab457600080fd5b81356107ae816128d0565b600080600060608486031215612ad457600080fd5b83359250602084013567ffffffffffffffff811115612af257600080fd5b612afe868287016129ec565b9250506040840135612b0f81612a42565b809150509250925092565b60008060008060008060c08789031215612b3357600080fd5b863595506020870135612b45816128d0565b945060408701359350606087013592506080870135612b63816128d0565b915060a087013567ffffffffffffffff811115612b7f57600080fd5b612b8b89828a016129ec565b9150509295509295509295565b60008060408385031215612bab57600080fd5b823591506020830135612a97816128d0565b600060208284031215612bcf57600080fd5b5035919050565b600080600060408486031215612beb57600080fd5b833567ffffffffffffffff80821115612c0357600080fd5b908501906101a08288031215612c1857600080fd5b90935060208501359080821115612c2e57600080fd5b818601915086601f830112612c4257600080fd5b813581811115612c5157600080fd5b876020828501011115612c6357600080fd5b6020830194508093505050509250925092565b60005b83811015612c91578181015183820152602001612c79565b50506000910152565b60008151808452612cb2816020860160208601612c76565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a060608201526000612cf760a0830185612c9a565b8281036080840152612d098185612c9a565b98975050505050505050565b600080600080600080600080610100898b031215612d3257600080fd5b883597506020890135612d44816128d0565b96506040890135612d54816128d0565b9550606089013594506080890135935060a0890135925060c0890135612d79816128d0565b915060e089013567ffffffffffffffff811115612d9557600080fd5b612da18b828c016129ec565b9150509295985092959890939650565b600060608284031215612dc357600080fd5b6040516060810181811067ffffffffffffffff82111715612de657612de6612964565b604052825181526020830151612dfb816128d0565b60208201526040928301519281019290925250919050565b81810381811115610619577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b602081528151602082015260006020830151612e7460408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612ea360a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a0610180808501829052612f216101c0860184612c9a565b90860151858203601f190183870152909250612f3d8382612c9a565b9695505050505050565b600060208284031215612f5957600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612f9557600080fd5b830160208101925035905067ffffffffffffffff811115612fb557600080fd5b803603821315612fc457600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6020815281356020820152600061300f602084016128e5565b6001600160a01b038116604084015250604083013560608301526060830135608083015261303f608084016128e5565b6001600160a01b03811660a08401525061305b60a084016128e5565b6001600160a01b03811660c08401525061307760c084016128e5565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061016081850135818501526130c381860186612f60565b925090506101a061018081818701526130e16101c087018585612fcb565b93506130ef81880188612f60565b93509050601f198685030182870152613109848483612fcb565b979650505050505050565b848152836020820152606060408201526000612f3d606083018486612fcb565b60006020828403121561314657600080fd5b81516107ae81612a42565b600181811c9082168061316557607f821691505b60208210810361319e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60ff81168114611ab657600080fd5b6000602082840312156131c557600080fd5b81516107ae816131a4565b6000602082840312156131e257600080fd5b815167ffffffffffffffff8111156131f957600080fd5b8201601f8101841361320a57600080fd5b8051613218612a0b826129c4565b81815285602083850101111561322d57600080fd5b61323e826020830160208601612c76565b95945050505050565b6080815284516080820152600060208601516001600160a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152613292610120850183612c9a565b915060808801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80858403016101008601526132ce8382612c9a565b9188166020860152506001600160a01b038616604085015291506132ef9050565b82606083015295945050505050565b60008351613310818460208801612c76565b7f2e00000000000000000000000000000000000000000000000000000000000000908301908152835161334a816001840160208801612c76565b01600101949350505050565b6020815260006106166020830184612c9a565b60006020828403121561337b57600080fd5b81516107ae816128d0565b7f41523a7a65726f416464723a00000000000000000000000000000000000000008152600082516133be81600c850160208701612c76565b91909101600c0192915050565b6000602082840312156133dd57600080fd5b81356107ae816131a4565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261341d57600080fd5b83018035915067ffffffffffffffff82111561343857600080fd5b602001915036819003821315612fc457600080fd5b828482377f286272696467656400000000000000000000000000000000000000000000000092019182527ff09f8c88000000000000000000000000000000000000000000000000000000006008830152600c8201527f2900000000000000000000000000000000000000000000000000000000000000602c820152602d01919050565b60006001600160a01b03808a16835280891660208401525086604083015260ff8616606083015260c0608083015261350c60c083018587612fcb565b82810360a084015261351e8185612c9a565b9a9950505050505050505050565b601f821115610f1157600081815260208120601f850160051c810160208610156135535750805b601f850160051c820191505b81811015610ad35782815560010161355f565b67ffffffffffffffff83111561358a5761358a612964565b61359e836135988354613151565b8361352c565b6000601f8411600181146135f057600085156135ba5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355613668565b600083815260209020601f19861690835b828110156136215786850135825560209485019460019092019101613601565b508682101561365c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135613685816128d0565b81546040850135613695816131a4565b74ff00000000000000000000000000000000000000008160a01b166001600160a01b0384167fffffffffffffffffffffff000000000000000000000000000000000000000000841617178455505050506136f260608301836133e8565b613700818360028601613572565b505061370f60808301836133e8565b610603818360038601613572565b606081526000613731606083018789612fcb565b8281036020840152613744818688612fcb565b91505060ff831660408301529695505050505050565b6000825161376c818460208701612c76565b919091019291505056fe608060405234801561001057600080fd5b50612131806100206000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806367e828bf116100e35780638da5cb5b1161008c578063a9059cbb11610066578063a9059cbb146103b4578063dd62ed3e146103c7578063f2fde38b1461040d57600080fd5b80638da5cb5b1461037b57806395d89b4114610399578063a457c2d7146103a157600080fd5b8063715018a6116100bd578063715018a61461034057806377be18a8146103485780637cf8ed0d1461035b57600080fd5b806367e828bf146102a75780636c0db62b146102f757806370a082311461030a57600080fd5b806323b872dd116101455780633ab76e9f1161011f5780633ab76e9f1461026b57806342e91bb31461028957806349d126051461029e57600080fd5b806323b872dd14610230578063313ce56714610243578063395093511461025857600080fd5b80630ca4dffd116101765780630ca4dffd146101d357806318160ddd1461020b5780631be2bfa71461021d57600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a610420565b6040516101a79190611abd565b60405180910390f35b6101c36101be366004611b30565b6104b2565b60405190151581526020016101a7565b6101e66101e1366004611c4b565b6104cc565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b60cb545b6040519081526020016101a7565b6101e661022b366004611c99565b6104e0565b6101c361023e366004611cf0565b6104f5565b60ce5460405160ff90911681526020016101a7565b6101c3610266366004611b30565b610551565b60975473ffffffffffffffffffffffffffffffffffffffff166101e6565b61029c610297366004611b30565b61059d565b005b61020f60fc5481565b6102cb60fb5460fc5473ffffffffffffffffffffffffffffffffffffffff90911691565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101a7565b61029c610305366004611d31565b6106a1565b61020f610318366004611ddb565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b61029c6108eb565b61029c610356366004611b30565b6108ff565b60fb546101e69073ffffffffffffffffffffffffffffffffffffffff1681565b60655473ffffffffffffffffffffffffffffffffffffffff166101e6565b61019a6109f6565b6101c36103af366004611b30565b610a05565b6101c36103c2366004611b30565b610ac7565b61020f6103d5366004611df8565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ca6020908152604080832093909416825291909152205490565b61029c61041b366004611ddb565b610b22565b606060cc805461042f90611e31565b80601f016020809104026020016040519081016040528092919081815260200182805461045b90611e31565b80156104a85780601f1061047d576101008083540402835291602001916104a8565b820191906000526020600020905b81548152906001019060200180831161048b57829003601f168201915b5050505050905090565b6000336104c0818585610bbf565b60019150505b92915050565b60006104d9468484610d3e565b9392505050565b60006104ed848484610d3e565b949350505050565b60003073ffffffffffffffffffffffffffffffffffffffff841603610546576040517f669bcddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ed848484610e89565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104c09082908690610598908790611eb3565b610bbf565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506105de8160006104cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610642576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61064c8383610ea2565b8273ffffffffffffffffffffffffffffffffffffffff167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161069491815260200190565b60405180910390a2505050565b600054610100900460ff16158080156106c15750600054600160ff909116105b806106db5750303b1580156106db575060005460ff166001145b6107525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107b057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff861615806107d1575084155b806107db57504685145b806107e557508251155b806107ef57508151155b15610826576040517ff12d598000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61082f87610f60565b61083a828486610f79565b60fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905560fc85905580156108e257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6108f3611006565b6108fd600061106d565b565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506109408160006104cc565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a4576040517f1b0b999e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ae83836110e4565b8273ffffffffffffffffffffffffffffffffffffffff167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161069491815260200190565b606060cd805461042f90611e31565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610aaf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610749565b610abc8286868403610bbf565b506001949350505050565b60003073ffffffffffffffffffffffffffffffffffffffff841603610b18576040517f669bcddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104d98383611255565b610b2a611006565b73ffffffffffffffffffffffffffffffffffffffff8116610bb35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610749565b610bbc8161106d565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610c475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8216610cd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600080610d4a85611263565b84604051602001610d5c929190611ec6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac190610ddf908490600401611abd565b602060405180830381865afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190611f1e565b915082610e815760405173ffffffffffffffffffffffffffffffffffffffff8316151590610e52908390602001611f3b565b60405160208183030381529060405290610e7f5760405162461bcd60e51b81526004016107499190611abd565b505b509392505050565b600033610e97858285611321565b610abc8585856113de565b73ffffffffffffffffffffffffffffffffffffffff8216610f055760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610749565b8060cb6000828254610f179190611eb3565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604081208054839290610f51908490611eb3565b90915550610f5c9050565b5050565b610f68611643565b610f706116c8565b610bbc8161174d565b600054610100900460ff16610ff65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6110018383836117e1565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146108fd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610749565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff821661116d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260c96020526040902054818110156112095760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260408120838303905560cb8054849290611245908490611f80565b9091555061100190508360008483565b6000336104c08185856113de565b60606000611270836118ae565b600101905060008167ffffffffffffffff81111561129057611290611b5c565b6040519080825280601f01601f1916602001820160405280156112ba576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112c457509392505050565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260ca60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113d857818110156113cb5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610749565b6113d88484848403610bbf565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166114675760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff82166114f05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260409020548181101561158c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610749565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260c960205260408082208585039055918516815290812080548492906115d0908490611eb3565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161163691815260200190565b60405180910390a36113d8565b600054610100900460ff166116c05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd611990565b600054610100900460ff166117455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd611a13565b73ffffffffffffffffffffffffffffffffffffffff811661179a576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1661185e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b60cc61186a8482611fe1565b5060cd6118778382611fe1565b5060ce80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106118f7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611923576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061194157662386f26fc10000830492506010015b6305f5e1008310611959576305f5e100830492506008015b612710831061196d57612710830492506004015b6064831061197f576064830492506002015b600a83106104c65760010192915050565b600054610100900460ff16611a0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b60018055565b600054610100900460ff16611a905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610749565b6108fd3361106d565b60005b83811015611ab4578181015183820152602001611a9c565b50506000910152565b6020815260008251806020840152611adc816040850160208701611a99565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bbc57600080fd5b60008060408385031215611b4357600080fd5b8235611b4e81611b0e565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611b9c57600080fd5b813567ffffffffffffffff80821115611bb757611bb7611b5c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611bfd57611bfd611b5c565b81604052838152866020858801011115611c1657600080fd5b836020870160208301376000602085830101528094505050505092915050565b80358015158114611c4657600080fd5b919050565b60008060408385031215611c5e57600080fd5b823567ffffffffffffffff811115611c7557600080fd5b611c8185828601611b8b565b925050611c9060208401611c36565b90509250929050565b600080600060608486031215611cae57600080fd5b83359250602084013567ffffffffffffffff811115611ccc57600080fd5b611cd886828701611b8b565b925050611ce760408501611c36565b90509250925092565b600080600060608486031215611d0557600080fd5b8335611d1081611b0e565b92506020840135611d2081611b0e565b929592945050506040919091013590565b60008060008060008060c08789031215611d4a57600080fd5b8635611d5581611b0e565b95506020870135611d6581611b0e565b945060408701359350606087013560ff81168114611d8257600080fd5b9250608087013567ffffffffffffffff80821115611d9f57600080fd5b611dab8a838b01611b8b565b935060a0890135915080821115611dc157600080fd5b50611dce89828a01611b8b565b9150509295509295509295565b600060208284031215611ded57600080fd5b81356104d981611b0e565b60008060408385031215611e0b57600080fd5b8235611e1681611b0e565b91506020830135611e2681611b0e565b809150509250929050565b600181811c90821680611e4557607f821691505b602082108103611e7e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104c6576104c6611e84565b60008351611ed8818460208801611a99565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351611f12816001840160208801611a99565b01600101949350505050565b600060208284031215611f3057600080fd5b81516104d981611b0e565b7f41523a7a65726f416464723a0000000000000000000000000000000000000000815260008251611f7381600c850160208701611a99565b91909101600c0192915050565b818103818111156104c6576104c6611e84565b601f82111561100157600081815260208120601f850160051c81016020861015611fba5750805b601f850160051c820191505b81811015611fd957828155600101611fc6565b505050505050565b815167ffffffffffffffff811115611ffb57611ffb611b5c565b61200f816120098454611e31565b84611f93565b602080601f831160018114612062576000841561202c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611fd9565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156120af57888601518255948401946001909101908401612090565b50858210156120eb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122097aea87c926aeac94c95489d7f3674e61115440bca078ca4ef2af4eae4f9fea364736f6c63430008120033a264697066735822122089e27a345c7c6ec2e044b333ee9138d2f0743901e70542a655eb5279da9b965b64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "EtherVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x029ae2e2f1d6964720a0fa7e6ffa902f995c156242f4f5a930aa9d9765d167d0": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "code": "0x6080604052600436106100c05760003560e01c8063715018a611610074578063d73bb3d01161004e578063d73bb3d014610257578063f2fde38b14610277578063fe9fbb801461029757600080fd5b8063715018a6146101f75780638da5cb5b1461020c578063ba0bbd951461023757600080fd5b80631be2bfa7116100a55780631be2bfa71461018c5780632d1fb389146101ac5780633ab76e9f146101cc57600080fd5b80630ca4dffd1461012257806319ab453c1461016c57600080fd5b3661011d5747158015906100e4575033600090815260c9602052604090205460ff16155b1561011b576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b34801561012e57600080fd5b5061014261013d36600461119e565b6102ed565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561017857600080fd5b5061011b61018736600461120e565b610301565b34801561019857600080fd5b506101426101a736600461122b565b61049a565b3480156101b857600080fd5b5061011b6101c7366004611282565b6104af565b3480156101d857600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff16610142565b34801561020357600080fd5b5061011b6105c6565b34801561021857600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff16610142565b34801561024357600080fd5b5061011b6102523660046112ae565b6105da565b34801561026357600080fd5b5061011b6102723660046112da565b6106f1565b34801561028357600080fd5b5061011b61029236600461120e565b61078d565b3480156102a357600080fd5b506102dd6102b236600461120e565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205460ff1690565b6040519015158152602001610163565b60006102fa468484610841565b9392505050565b600054610100900460ff16158080156103215750600054600160ff909116105b8061033b5750303b15801561033b575060005460ff166001145b6103cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561042a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610433826109a6565b801561049657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006104a7848484610841565b949350505050565b6104b76109bf565b73ffffffffffffffffffffffffffffffffffffffff82161580610505575073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604090205460ff161515811515145b1561053c576040517f6faf7e9c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260c9602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b6105ce6109bf565b6105d86000610a40565b565b33600090815260c9602052604090205460ff16610623576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61062b610ab7565b73ffffffffffffffffffffffffffffffffffffffff8216610678576040517f687563df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61069873ffffffffffffffffffffffffffffffffffffffff831682610b2a565b8173ffffffffffffffffffffffffffffffffffffffff167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516106e091815260200190565b60405180910390a261049660018055565b33600090815260c9602052604090205460ff1661073a576040517f4fa3f24500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610742610ab7565b61074c3382610b2a565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261078a60018055565b50565b6107956109bf565b73ffffffffffffffffffffffffffffffffffffffff8116610838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103c3565b61078a81610a40565b60008061084d85610c05565b8460405160200161085f929190611317565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906108e290849060040161136f565b602060405180830381865afa1580156108ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092391906113c0565b91508261099e5760405173ffffffffffffffffffffffffffffffffffffffff83161515906109559083906020016113dd565b6040516020818303038152906040529061099c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c3919061136f565b505b509392505050565b6109ae610cc3565b6109b6610d62565b61078a81610e01565b60655473ffffffffffffffffffffffffffffffffffffffff1633146105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610b23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b80156104965760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610b8a576040519150601f19603f3d011682016040523d82523d6000602084013e610b8f565b606091505b5050905080610bfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c65640000000000000000000000000060448201526064016103c3565b505050565b60018055565b60606000610c1283610e95565b600101905060008167ffffffffffffffff811115610c3257610c326110af565b6040519080825280601f01601f191660200182016040528015610c5c576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610c6657509392505050565b600054610100900460ff16610d5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d8610f78565b600054610100900460ff16610df9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d861100f565b73ffffffffffffffffffffffffffffffffffffffff8116610e4e576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610ede577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310610f0a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f2857662386f26fc10000830492506010015b6305f5e1008310610f40576305f5e100830492506008015b6127108310610f5457612710830492506004015b60648310610f66576064830492506002015b600a8310610f72576001015b92915050565b600054610100900460ff16610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b600054610100900460ff166110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016103c3565b6105d833610a40565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126110ef57600080fd5b813567ffffffffffffffff8082111561110a5761110a6110af565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611150576111506110af565b8160405283815286602085880101111561116957600080fd5b836020870160208301376000602085830101528094505050505092915050565b8035801515811461119957600080fd5b919050565b600080604083850312156111b157600080fd5b823567ffffffffffffffff8111156111c857600080fd5b6111d4858286016110de565b9250506111e360208401611189565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461078a57600080fd5b60006020828403121561122057600080fd5b81356102fa816111ec565b60008060006060848603121561124057600080fd5b83359250602084013567ffffffffffffffff81111561125e57600080fd5b61126a868287016110de565b92505061127960408501611189565b90509250925092565b6000806040838503121561129557600080fd5b82356112a0816111ec565b91506111e360208401611189565b600080604083850312156112c157600080fd5b82356112cc816111ec565b946020939093013593505050565b6000602082840312156112ec57600080fd5b5035919050565b60005b8381101561130e5781810151838201526020016112f6565b50506000910152565b600083516113298184602088016112f3565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516113638160018401602088016112f3565b01600101949350505050565b602081526000825180602084015261138e8160408501602087016112f3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156113d257600080fd5b81516102fa816111ec565b7f41523a7a65726f416464723a000000000000000000000000000000000000000081526000825161141581600c8501602087016112f3565b91909101600c019291505056fea26469706673582212205ba76b4da10c920143efe8a59a5126aa1d82a4e0405a1710388f185b06f3d9e964736f6c63430008120033", + "balance": "0xffffffffffffff59776f94274fffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "SignalService", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80635221f613116100815780638da5cb5b1161005b5780638da5cb5b146101b0578063f2fde38b146101ce578063f8f3f844146101e157600080fd5b80635221f6131461017457806366ca2bc014610187578063715018a6146101a857600080fd5b80631be2bfa7116100b25780631be2bfa71461012057806332676bc6146101335780633ab76e9f1461015657600080fd5b80630ca4dffd146100ce57806319ab453c1461010b575b600080fd5b6100e16100dc366004611c53565b61020b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011e610119366004611cd7565b610221565b005b6100e161012e366004611cf4565b6103ba565b610146610141366004611d4f565b6103cf565b6040519015158152602001610102565b60975473ffffffffffffffffffffffffffffffffffffffff166100e1565b610146610182366004611d7b565b61047a565b61019a610195366004611e11565b610767565b604051908152602001610102565b61011e6107c3565b60655473ffffffffffffffffffffffffffffffffffffffff166100e1565b61011e6101dc366004611cd7565b6107d7565b61019a6101ef366004611d4f565b6040805192835260208301919091528082206060909201905290565b600061021846848461088e565b90505b92915050565b600054610100900460ff16158080156102415750600054600160ff909116105b8061025b5750303b15801561025b575060005460ff166001145b6102ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561034a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610353826109f3565b80156103b657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006103c784848461088e565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff831661041e576040517fa99bf91a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003610459576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080519283526020830191909152808220606090920190525460011490565b60004686036104b5576040517fe822b48d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516610502576040517fa99bf91a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084900361053d576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061054b83850185611ed0565b9050600061058f6040518060400160405280600581526020017f7461696b6f000000000000000000000000000000000000000000000000000000815250600061020b565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f290602401602060405180830381865afa158015610615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106399190612075565b905080158015906106535750815161065090610a0c565b81145b801561075b575073B51f0f2bdCbf6cfabB35239921A5c672519F74ba63960304398360000151606001516106be8b6040518060400160405280600e81526020017f7369676e616c5f7365727669636500000000000000000000000000000000000081525060006103ba565b604080518c8152602081018c9052818120606090910190915260208701516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815261071a949392916001916004016120fc565b602060405180830381865af4158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b9190612148565b98975050505050505050565b60008181036107a2576040517f053c769c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080513381526020810192909252808220606090920190526001815590565b6107cb610a31565b6107d56000610ab2565b565b6107df610a31565b73ffffffffffffffffffffffffffffffffffffffff8116610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102e3565b61088b81610ab2565b50565b60008061089a85610b29565b846040516020016108ac929190612165565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac19061092f9084906004016121bd565b602060405180830381865afa15801561094c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097091906121d0565b9150826109eb5760405173ffffffffffffffffffffffffffffffffffffffff83161515906109a29083906020016121ed565b604051602081830303815290604052906109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102e391906121bd565b505b509392505050565b6109fb610be7565b610a03610c86565b61088b81610d25565b600080610a22610a1d846000610db9565b6111fd565b80516020909101209392505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146107d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102e3565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60606000610b3683611241565b600101905060008167ffffffffffffffff811115610b5657610b56611b1e565b6040519080825280601f01601f191660200182016040528015610b80576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084610b8a57509392505050565b600054610100900460ff16610c7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d5611323565b600054610100900460ff16610d1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d56113c0565b73ffffffffffffffffffffffffffffffffffffffff8116610d72576040517f9a109b0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61020082015160609015610e2557610dd2826011612290565b67ffffffffffffffff811115610dea57610dea611b1e565b604051908082528060200260200182016040528015610e1d57816020015b6060815260200190600190039081610e085790505b509050610e95565b6101e083015115610e3b57610dd2826010612290565b610e4682600f612290565b67ffffffffffffffff811115610e5e57610e5e611b1e565b604051908082528060200260200182016040528015610e9157816020015b6060815260200190600190039081610e7c5790505b5090505b8251610ea090611460565b81600081518110610eb357610eb36122a3565b6020026020010181905250610ecb8360200151611460565b81600181518110610ede57610ede6122a3565b6020026020010181905250610ef68360400151611473565b81600281518110610f0957610f096122a3565b6020026020010181905250610f218360600151611460565b81600381518110610f3457610f346122a3565b6020026020010181905250610f4c8360800151611460565b81600481518110610f5f57610f5f6122a3565b6020026020010181905250610f778360a00151611460565b81600581518110610f8a57610f8a6122a3565b6020026020010181905250610fc18360c00151604051602001610fad91906122d2565b6040516020818303038152906040526114af565b81600681518110610fd457610fd46122a3565b6020026020010181905250610fec8360e0015161151e565b81600781518110610fff57610fff6122a3565b602002602001018190525061102a8361010001516fffffffffffffffffffffffffffffffff1661151e565b8160088151811061103d5761103d6122a3565b602002602001018190525061105683610120015161152c565b81600981518110611069576110696122a3565b602002602001018190525061108283610140015161152c565b81600a81518110611095576110956122a3565b60200260200101819052506110ae83610160015161152c565b81600b815181106110c1576110c16122a3565b60200260200101819052506110da8361018001516114af565b81600c815181106110ed576110ed6122a3565b6020026020010181905250611106836101a00151611460565b81600d81518110611119576111196122a3565b6020026020010181905250611168836101c00151604051602001610fad919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061117b5761117b6122a3565b6020026020010181905250826101e001516000146111c0576111a1836101e0015161151e565b81600f815181106111b4576111b46122a3565b60200260200101819052505b6102008301511561021b576111d9836102000151611460565b816010815181106111ec576111ec6122a3565b602002602001018190525092915050565b6060600061120a83611544565b9050611218815160c0611678565b8160405160200161122a929190612307565b604051602081830303815290604052915050919050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061128a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106112b6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106112d457662386f26fc10000830492506010015b6305f5e10083106112ec576305f5e100830492506008015b612710831061130057612710830492506004015b60648310611312576064830492506002015b600a831061021b5760010192915050565b600054610100900460ff166113ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b60018055565b600054610100900460ff16611457576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102e3565b6107d533610ab2565b606061021b61146e83611860565b6114af565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061021b90603401610fad565b606080825160011480156114dd57506080836000815181106114d3576114d36122a3565b016020015160f81c105b156114e957508161021b565b6114f583516080611678565b83604051602001611507929190612307565b604051602081830303815290604052905092915050565b606061021b61146e83611948565b606061021b61146e8367ffffffffffffffff16611948565b6060815160000361156357505060408051600081526020810190915290565b6000805b83518110156115a857838181518110611582576115826122a3565b602002602001015151826115969190612290565b91506115a181612336565b9050611567565b60008267ffffffffffffffff8111156115c3576115c3611b1e565b6040519080825280601f01601f1916602001820160405280156115ed576020820181803683370190505b50600092509050602081015b855183101561166f576000868481518110611616576116166122a3565b60200260200101519050600060208201905061163483828451611aa3565b878581518110611646576116466122a3565b6020026020010151518361165a9190612290565b925050508261166890612336565b92506115f9565b50949350505050565b60608060388410156116f757604080516001808252818301909252906020820181803683370190505090506116ad838561236e565b60f81b816000815181106116c3576116c36122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610218565b600060015b6117068187612387565b156117295761171482612336565b91506117226101008261239b565b90506116fc565b611734826001612290565b67ffffffffffffffff81111561174c5761174c611b1e565b6040519080825280601f01601f191660200182016040528015611776576020820181803683370190505b509250611783858361236e565b61178e90603761236e565b60f81b836000815181106117a4576117a46122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116109e9576101006117ec82846123b2565b6117f8906101006124e5565b6118029088612387565b61180c91906124f1565b60f81b838281518110611821576118216122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061185981612336565b90506117d8565b606060008260405160200161187791815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561166f5783836118da81612336565b9450815181106118ec576118ec6122a3565b602001015160f81c60f81b828281518110611909576119096122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061194181612336565b90506118c6565b606060008260405160200161195f91815260200190565b604051602081830303815290604052905060005b60208110156119cc5781818151811061198e5761198e6122a3565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036119cc576119c581612336565b9050611973565b60006119d98260206123b2565b67ffffffffffffffff8111156119f1576119f1611b1e565b6040519080825280601f01601f191660200182016040528015611a1b576020820181803683370190505b50905060005b815181101561166f578383611a3581612336565b945081518110611a4757611a476122a3565b602001015160f81c60f81b828281518110611a6457611a646122a3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611a9c81612336565b9050611a21565b8282825b60208110611adf5781518352611abe602084612290565b9250611acb602083612290565b9150611ad86020826123b2565b9050611aa7565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611b7057611b70611b1e565b60405290565b604051610220810167ffffffffffffffff81118282101715611b7057611b70611b1e565b600082601f830112611bab57600080fd5b813567ffffffffffffffff80821115611bc657611bc6611b1e565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611c0c57611c0c611b1e565b81604052838152866020858801011115611c2557600080fd5b836020870160208301376000602085830101528094505050505092915050565b801515811461088b57600080fd5b60008060408385031215611c6657600080fd5b823567ffffffffffffffff811115611c7d57600080fd5b611c8985828601611b9a565b9250506020830135611c9a81611c45565b809150509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461088b57600080fd5b8035611cd281611ca5565b919050565b600060208284031215611ce957600080fd5b813561021881611ca5565b600080600060608486031215611d0957600080fd5b83359250602084013567ffffffffffffffff811115611d2757600080fd5b611d3386828701611b9a565b9250506040840135611d4481611c45565b809150509250925092565b60008060408385031215611d6257600080fd5b8235611d6d81611ca5565b946020939093013593505050565b600080600080600060808688031215611d9357600080fd5b853594506020860135611da581611ca5565b935060408601359250606086013567ffffffffffffffff80821115611dc957600080fd5b818801915088601f830112611ddd57600080fd5b813581811115611dec57600080fd5b896020828501011115611dfe57600080fd5b9699959850939650602001949392505050565b600060208284031215611e2357600080fd5b5035919050565b600082601f830112611e3b57600080fd5b60405161010080820182811067ffffffffffffffff82111715611e6057611e60611b1e565b60405283018185821115611e7357600080fd5b845b82811015611e8d578035825260209182019101611e75565b509195945050505050565b80356fffffffffffffffffffffffffffffffff81168114611cd257600080fd5b803567ffffffffffffffff81168114611cd257600080fd5b600060208284031215611ee257600080fd5b813567ffffffffffffffff80821115611efa57600080fd5b9083019060408286031215611f0e57600080fd5b611f16611b4d565b823582811115611f2557600080fd5b83016103008188031215611f3857600080fd5b611f40611b76565b8135815260208201356020820152611f5a60408301611cc7565b6040820152606082013560608201526080820135608082015260a082013560a0820152611f8a8860c08401611e2a565b60c08201526101c08083013560e08301526101e0611fa9818501611e98565b610100840152610200611fbd818601611eb8565b610120850152611fd06102208601611eb8565b610140850152611fe36102408601611eb8565b61016085015261026085013587811115611ffc57600080fd5b6120088c828801611b9a565b610180860152506102808501356101a08501526120286102a08601611eb8565b838501526102c0850135828501526102e085013581850152505050808352505060208301358281111561205a57600080fd5b61206687828601611b9a565b60208301525095945050505050565b60006020828403121561208757600080fd5b5051919050565b60005b838110156120a9578181015183820152602001612091565b50506000910152565b600081518084526120ca81602086016020860161208e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061213d60a08301846120b2565b979650505050505050565b60006020828403121561215a57600080fd5b815161021881611c45565b6000835161217781846020880161208e565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516121b181600184016020880161208e565b01600101949350505050565b60208152600061021860208301846120b2565b6000602082840312156121e257600080fd5b815161021881611ca5565b7f41523a7a65726f416464723a000000000000000000000000000000000000000081526000825161222581600c85016020870161208e565b91909101600c0192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561021b5761021b612261565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156122f75781518352602092830192909101906001016122d8565b5050506101008201905092915050565b6000835161231981846020880161208e565b83519083019061232d81836020880161208e565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361236757612367612261565b5060010190565b60ff818116838216019081111561021b5761021b612261565b60008261239657612396612232565b500490565b808202811582820484141761021b5761021b612261565b8181038181111561021b5761021b612261565b600181815b8085111561241e57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561240457612404612261565b8085161561241157918102915b93841c93908002906123ca565b509250929050565b6000826124355750600161021b565b816124425750600061021b565b816001811461245857600281146124625761247e565b600191505061021b565b60ff84111561247357612473612261565b50506001821b61021b565b5060208310610133831016604e8410600b84101617156124a1575081810a61021b565b6124ab83836123c5565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156124dd576124dd612261565b029392505050565b60006102188383612426565b60008261250057612500612232565b50069056fea26469706673582212209e7235233ea73cd822dc3fc71cb88aeed9bb6967b10cbcf6820dcc506b275d0164736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "TestERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x5072656465706c6f79455243323000000000000000000000000000000000001c", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x5052450000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000002ee000", + "0x0fbcff3234c0e4fa090508601e67e2155e18580b7c6ab4cb716e8ef2dca88184": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x55385a0c2ad17c21b4fe396be9b1f10f500e7eebad11fcd1afe36c68ee5fa4cd": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x478db7f3c43c550c1670aa0517a6d515b9e15f22ea28e4f99e8c5f8bcf58e406": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610194578063a9059cbb146101a7578063dd62ed3e146101ba57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461018c57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610200565b6040516100e39190610908565b60405180910390f35b6100ff6100fa36600461099d565b610292565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046109c7565b6102ac565b604051601281526020016100e3565b6100ff61015136600461099d565b6102d0565b610113610164366004610a03565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d661031c565b6100ff6101a236600461099d565b61032b565b6100ff6101b536600461099d565b610401565b6101136101c8366004610a25565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461020f90610a58565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610a58565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b6000336102a081858561040f565b60019150505b92915050565b6000336102ba8582856105c2565b6102c5858585610699565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906102a09082908690610317908790610aab565b61040f565b60606004805461020f90610a58565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156103f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c5828686840361040f565b6000336102a0818585610699565b73ffffffffffffffffffffffffffffffffffffffff83166104b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff8216610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106935781811015610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103eb565b610693848484840361040f565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff82166107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103eb565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610693565b600060208083528351808285015260005b8181101561093557858101830151858201604001528201610919565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461099857600080fd5b919050565b600080604083850312156109b057600080fd5b6109b983610974565b946020939093013593505050565b6000806000606084860312156109dc57600080fd5b6109e584610974565b92506109f360208501610974565b9150604084013590509250925092565b600060208284031215610a1557600080fd5b610a1e82610974565b9392505050565b60008060408385031215610a3857600080fd5b610a4183610974565b9150610a4f60208401610974565b90509250929050565b600181811c90821680610a6c57607f821691505b602082108103610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122066fafca01d431074160bbb4b6fc540b95eb31fa8c4479f896ac206b98463328464736f6c63430008120033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/eldfell.json taikoxyz/taiko-geth/core/taiko_genesis/eldfell.json new file mode 100644 index 0000000000000000000000000000000000000000..b5938af70e403455cd8a973271dd6b88fccb81a5 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/eldfell.json @@ -0,0 +1,164 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x88f66d67C0e643A541822cc326708530a827EC8E": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x2E610A0D8E30D6df2877B9c3EC3daDb885364800": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xd56fbBb9C88938a61e9CA71339Abd5f84dF131Cf": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063a54274621461003a575b600080fd5b61004d61004836600461173e565b610061565b604051901515815260200160405180910390f35b600080806100718486018661188e565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610184565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101ad565b9050600061013c8260028151811061012f5761012f6118f2565b60200260200101516101e6565b90506101738b60405160200161015491815260200190565b60405160208183030381529060405261016c8c6102e9565b87846102fc565b9d9c50505050505050505050505050565b60006060600061019386610316565b90506101a0818686610348565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101e090610423565b92915050565b600060218260000151111561023d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061024b8561060f565b91945092509050600081600181111561026657610266611908565b146102b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516102c59190611934565b805190915060208410156102df5760208490036101000a90045b9695505050505050565b60606101e06102f783610959565b610a8d565b60008061030886610316565b90506102df81868686610afc565b6060818051906020012060405160200161033291815260200190565b6040516020818303038152906040529050919050565b60006060600061035785610b39565b90506000806000610369848a89610c32565b8151929550909350915015808061037d5750815b6103c95760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816103e55760405180602001604052806000815250610411565b610411866103f4600188611947565b81518110610404576104046118f2565b6020026020010151611052565b919b919a509098505050505050505050565b60606000806104318461060f565b9193509091506001905081600181111561044d5761044d611908565b1461049a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104b35790505090506000835b8651811015610604576020821061054c5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610101565b6000806105896040518060400160405280858c6000015161056d9190611947565b8152602001858c602001516105829190611934565b905261060f565b5091509150604051806040016040528083836105a59190611934565b8152602001848b602001516105ba9190611934565b8152508585815181106105cf576105cf6118f2565b60209081029190910101526105e5600185611934565b93506105f18183611934565b6105fb9084611934565b925050506104e0565b508152949350505050565b6000806000808460000151116106675760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f811161068c576000600160009450945094505050610952565b60b781116107085760006106a1608083611947565b9050808760000151116106f65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b60019550935060009250610952915050565b60bf81116107f757600061071d60b783611947565b9050808760000151116107725760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a900461078c8183611934565b8851116107db5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b6107e6826001611934565b965094506000935061095292505050565b60f7811161087257600061080c60c083611947565b9050808760000151116108615760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b600195509350849250610952915050565b600061087f60f783611947565b9050808760000151116108d45760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046108ee8183611934565b8851116109365760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610101565b610941826001611934565b965094506001935061095292505050565b9193909250565b606060008260405160200161097091815260200190565b604051602081830303815290604052905060005b60208110156109c55781818151811061099f5761099f6118f2565b01602001516001600160f81b0319166000036109c5576109be8161195a565b9050610984565b60006109d2826020611947565b67ffffffffffffffff8111156109ea576109ea6117eb565b6040519080825280601f01601f191660200182016040528015610a14576020820181803683370190505b50905060005b8151811015610a84578383610a2e8161195a565b945081518110610a4057610a406118f2565b602001015160f81c60f81b828281518110610a5d57610a5d6118f2565b60200101906001600160f81b031916908160001a905350610a7d8161195a565b9050610a1a565b50949350505050565b60608082516001148015610abb5750608083600081518110610ab157610ab16118f2565b016020015160f81c105b15610ac75750816101e0565b610ad383516080611079565b83604051602001610ae59291906119a3565b604051602081830303815290604052905092915050565b6000806000610b0c878686610348565b91509150818015610b2e57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b46836101ad565b90506000815167ffffffffffffffff811115610b6457610b646117eb565b604051908082528060200260200182016040528015610ba957816020015b6040805180820190915260608082526020820152815260200190600190039081610b825790505b50905060005b8251811015610c2a576000610bdc848381518110610bcf57610bcf6118f2565b6020026020010151611223565b90506040518060400160405280610bf2836101ad565b815260200182815250838381518110610c0d57610c0d6118f2565b60200260200101819052505080610c239061195a565b9050610baf565b509392505050565b600060606000806000610c44876112b3565b90506000869050600080610c6b604051806040016040528060608152602001606081525090565b60005b8c5181101561102a578c8181518110610c8957610c896118f2565b602002602001015191508284610c9f9190611934565b9350610cac600188611934565b965083600003610d09578482602001518051906020012014610d045760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610101565b610dcb565b602082602001515110610d70578482602001518051906020012014610d045760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610d7e83602001516113ec565b14610dcb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610dd7601060016119c0565b60ff1682600001515103610e45578551841461102a576000868581518110610e0157610e016118f2565b01602001518351805160f89290921c925060009183908110610e2557610e256118f2565b60200260200101519050610e3881611414565b965060019450505061101a565b81515160011901610fd2576000610e5b8361144a565b9050600081600081518110610e7257610e726118f2565b016020015160f81c90506000610e896002836119ef565b610e94906002611a11565b90506000610ea5848360ff1661146e565b90506000610eb38b8a61146e565b90506000610ec183836114a4565b905060ff851660021480610ed8575060ff85166003145b15610f1257808351148015610eed5750808251145b15610eff57610efc818b611934565b99505b50600160ff1b995061102a945050505050565b60ff85161580610f25575060ff85166001145b15610f7b5782518114610f455750600160ff1b995061102a945050505050565b610f6c8860000151600181518110610f5f57610f5f6118f2565b6020026020010151611414565b9a50975061101a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b6110238161195a565b9050610c6e565b50600160ff1b84148661103d878661146e565b909e909d50909b509950505050505050505050565b805180516060916101e09161106990600190611947565b81518110610bcf57610bcf6118f2565b60608060388410156110e057604080516001808252818301909252906020820181803683370190505090506110ae83856119c0565b60f81b816000815181106110c4576110c46118f2565b60200101906001600160f81b031916908160001a90535061121c565b600060015b6110ef8187611a2a565b15611112576110fd8261195a565b915061110b61010082611a3e565b90506110e5565b61111d826001611934565b67ffffffffffffffff811115611135576111356117eb565b6040519080825280601f01601f19166020018201604052801561115f576020820181803683370190505b50925061116c85836119c0565b6111779060376119c0565b60f81b8360008151811061118d5761118d6118f2565b60200101906001600160f81b031916908160001a905350600190505b818111611219576101006111bd8284611947565b6111c990610100611b39565b6111d39088611a2a565b6111dd9190611b45565b60f81b8382815181106111f2576111f26118f2565b60200101906001600160f81b031916908160001a9053506112128161195a565b90506111a9565b50505b9392505050565b606060008060006112338561060f565b91945092509050600081600181111561124e5761124e611908565b1461129b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b6112aa8560200151848461151e565b95945050505050565b60606000825160026112c59190611a3e565b67ffffffffffffffff8111156112dd576112dd6117eb565b6040519080825280601f01601f191660200182016040528015611307576020820181803683370190505b50905060005b83518110156113e557600484828151811061132a5761132a6118f2565b01602001516001600160f81b031916901c82611347836002611a3e565b81518110611357576113576118f2565b60200101906001600160f81b031916908160001a9053506010848281518110611382576113826118f2565b0160200151611394919060f81c6119ef565b60f81b826113a3836002611a3e565b6113ae906001611934565b815181106113be576113be6118f2565b60200101906001600160f81b031916908160001a9053506113de8161195a565b905061130d565b5092915050565b600060208251101561140057506020015190565b818060200190518101906101e09190611b59565b600060606020836000015110156114355761142e836115c7565b9050611441565b61143e83611223565b90505b61121c816113ec565b60606101e06114698360000151600081518110610bcf57610bcf6118f2565b6112b3565b60608251821061148d57506040805160208101909152600081526101e0565b61121c838384865161149f9190611947565b6115d2565b6000805b8084511180156114b85750808351115b801561150957508281815181106114d1576114d16118f2565b602001015160f81c60f81b6001600160f81b0319168482815181106114f8576114f86118f2565b01602001516001600160f81b031916145b1561121c576115178161195a565b90506114a8565b606060008267ffffffffffffffff81111561153b5761153b6117eb565b6040519080825280601f01601f191660200182016040528015611565576020820181803683370190505b509050805160000361157857905061121c565b8484016020820160005b8581101561159a578281015182820152602001611582565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101e082611728565b6060816115e081601f611934565b101561161f5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b8261162a8382611934565b10156116695760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b6116738284611934565b845110156116b75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610101565b6060821580156116d65760405191506000825260208201604052610a84565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561170f5780518352602092830192016116f7565b5050858452601f01601f19166040525050949350505050565b60606101e082602001516000846000015161151e565b60008060008060008060a0878903121561175757600080fd5b8635955060208701356001600160a01b038116811461177557600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156117a057600080fd5b818901915089601f8301126117b457600080fd5b8135818111156117c357600080fd5b8a60208285010111156117d557600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261181257600080fd5b813567ffffffffffffffff8082111561182d5761182d6117eb565b604051601f8301601f19908116603f01168101908282118183101715611855576118556117eb565b8160405283815286602085880101111561186e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156118a157600080fd5b823567ffffffffffffffff808211156118b957600080fd5b6118c586838701611801565b935060208501359150808211156118db57600080fd5b506118e885828601611801565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e0576101e061191e565b818103818111156101e0576101e061191e565b60006001820161196c5761196c61191e565b5060010190565b6000815160005b81811015611994576020818501810151868301520161197a565b50600093019283525090919050565b60006119b86119b28386611973565b84611973565b949350505050565b60ff81811683821601908111156101e0576101e061191e565b634e487b7160e01b600052601260045260246000fd5b600060ff831680611a0257611a026119d9565b8060ff84160691505092915050565b60ff82811682821603908111156101e0576101e061191e565b600082611a3957611a396119d9565b500490565b80820281158282048414176101e0576101e061191e565b600181815b80851115611a90578160001904821115611a7657611a7661191e565b80851615611a8357918102915b93841c9390800290611a5a565b509250929050565b600082611aa7575060016101e0565b81611ab4575060006101e0565b8160018114611aca5760028114611ad457611af0565b60019150506101e0565b60ff841115611ae557611ae561191e565b50506001821b6101e0565b5060208310610133831016604e8410600b8410161715611b13575081810a6101e0565b611b1d8383611a55565b8060001904821115611b3157611b3161191e565b029392505050565b600061121c8383611a98565b600082611b5457611b546119d9565b500690565b600060208284031215611b6b57600080fd5b505191905056fea26469706673582212200ce0b855958491d449296239ab0a499d51105fc25c306cacdd66eed473ebcf4164736f6c63430008140033", + "balance": "0x0" + }, + "0x3D242344128D1db694d798CF0Ad3dC778Aa77347": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209ad4b2c866dbe1263f15c72a9d9c6857d19b471dc0ffa8cba69fdd5d4cb102b864736f6c63430008140033", + "balance": "0x0" + }, + "0x9c7145F3B1EaB768364a9ff72318B9D7AeafB156": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220580d1b027125bdf07c98c62cba13a64e78c2192e8c0f84c6cef28804c6341ae864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051633baa901360e21b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d1b8f83f17d2971223f345076e2c8b1982272c271a0ce36e6b3541cd15bd267964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xa2985d6ec808cf8e4351b74656a3169ef9f5ae53c52585f208ff047513b6b22f": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0xab0df58d0c513f542551f7cf89c05da0610fe5e3092a4b838d7d8529d492ecf0": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0x56e7eae2fe6d26fea53c92b4b72c70c097b4c6cb841f2560628bc18c65113ede": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0x7b5ab0263db4edc4cd0bef661062356260cf371a7955689e8739ce5188c0e9fe": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x62856d7e6e6c45fe7cca6dc9dc0aff508e9e029ca538a20a7d2086827adddfda": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80639ee512f2116100b8578063c7b969081161007c578063c7b96908146102f3578063da69d3db1461030d578063dac5df7814610320578063ee82ac5e14610329578063f2fde38b1461033c578063f535bd561461034f57600080fd5b80639ee512f21461028e578063a86f9d9e146102a7578063b8914ce4146102ba578063bacb386d146102cd578063c20ebea5146102e057600080fd5b8063591aad8a116100ff578063591aad8a1461021d5780635c82e9c21461024f5780636c6563f614610262578063715018a6146102755780638da5cb5b1461027d57600080fd5b80630652b57a1461013c57806310da3738146101515780633ab76e9f1461018b5780634e755573146101b0578063539b8ade146101f2575b600080fd5b61014f61014a3660046116de565b610369565b005b6101787f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b6040519081526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610182565b6101b86103ec565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610182565b60cd54610205906001600160401b031681565b6040516001600160401b039091168152602001610182565b61023061022b3660046116fb565b61044f565b6040805160ff9094168452602084019290925290820152606001610182565b61014f61025d366004611731565b61068a565b610198610270366004611782565b610a46565b61014f610a5d565b6065546001600160a01b0316610198565b61019871777735367b36bc9b61c50022d9d0700db4ec81565b6101986102b53660046117b7565b610a71565b6101786102c83660046117e3565b610a87565b6101786102db3660046117e3565b610ac3565b6101786102ee366004611810565b610afc565b60cd5461020590600160401b90046001600160401b031681565b61014f61031b366004611861565b610b20565b61017860cb5481565b6101786103373660046117e3565b610d8b565b61014f61034a3660046116de565b610dd8565b60cd5461020590600160801b90046001600160401b031681565b610371610e51565b6001600160a01b03811661039857604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561046c57508360ff16600214155b1561048a5760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff166001146104bb577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee56104dd565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff16600114610512577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce90818610534565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610569577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f261058b565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036105c5576105be8282600170014551231950b75fc4402da1732fc9bebe19610eab565b9250610634565b61060d7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106088484600170014551231950b75fc4402da1732fc9bebe19610eab565b610efa565b90925090506106318282600170014551231950b75fc4402da1732fc9bebe19610eab565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610681576106788370014551231950b75fc4402da1732fc9bebe196118bd565b92506001851894505b50509250925092565b600054610100900460ff16158080156106aa5750600054600160ff909116105b806106c45750303b1580156106c4575060005460ff166001145b61072c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561074f576000805461ff0019166101001790555b600146111580610763575063ffffffff4610155b15610781576040516306cffa2760e01b815260040160405180910390fd5b60014311156107a357604051635a0f9e4160e11b815260040160405180910390fd5b6107b360408301602084016118d0565b63ffffffff16156109a2576107cb60208301836118eb565b6001600160401b031615806107f657506107eb60608301604084016118eb565b6001600160401b0316155b80610817575061080c60808301606084016118eb565b6001600160401b0316155b80610838575061082d60a08301608084016118eb565b6001600160401b0316155b1561085657604051639cc448b560e01b815260040160405180910390fd5b60008061089e61086c60608601604087016118eb565b61087960208701876118eb565b61088960808801606089016118eb565b61089960a0890160808a016118eb565b610f19565b91509150816001600160801b0316600014806108ca57506001600160401b036001600160801b03831610155b806108dc57506001600160801b038116155b156108fa57604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b0384161717905561093860408501602086016118d0565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b19909216919091179055600261096f60608601604087016118eb565b610979919061191c565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b03161790556109c783611018565b6109d043611031565b5060cb5543156109fb5760006109e76001436118bd565b600081815260c96020526040902090409055505b8015610a41576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610a538484846110c4565b90505b9392505050565b610a65610e51565b610a6f6000611178565b565b6000610a7e4684846110c4565b90505b92915050565b6000808215610a965782610aaa565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020600101549392505050565b6000808215610ad25782610ae6565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020549392505050565b6000610b17610b096103ec565b8563ffffffff1685856111ca565b50949350505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610b5257604051636494e9f760e01b815260040160405180910390fd5b6000610b5f6001436118bd565b90508040600080610b6f84611031565b915091508160cb5414610ba35760cb54604051636340d9fb60e11b8152600481019190915260248101839052604401610723565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527f7528bbd1cef0e5d13408706892a51ee8ef82bbf33d4ec0c37216f8beba71205b910160405180910390a2600080610c586103ec565b9050806040015163ffffffff16600014610cbd5760cd54610c8f908290610c88906001600160401b0316426118bd565b458a6111ca565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610cf057604051634083acad60e01b81526001600160401b03808416600483015248166024820152604401610723565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b6000438210610d9c57506000919050565b4382108015610db65750610db2610100436118bd565b8210155b15610dc057504090565b50600090815260c9602052604090205490565b919050565b610de0610e51565b6001600160a01b038116610e455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610723565b610e4e81611178565b50565b6065546001600160a01b03163314610a6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610723565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610ef057600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f3557610f35611942565b6000610f4260028861191c565b9050610f606001600160401b038816680755bf798b4a1bf1e4611958565b9250610f7f610f7a84886001600160401b03168489611276565b611335565b91506000610f8f84848489611276565b90506000610fa9858585610fa48b6002611972565b611276565b9050600082610fba8361271061199d565b610fc491906119b4565b9050806001600160401b0316876001600160401b03161461100b57604051631530943760e11b81526001600160401b03808916600483015282166024820152604401610723565b5050505094509492505050565b6110206113a2565b6110286113d1565b610e4e81611400565b60008061103c6116a9565b60005b60ff811080156110525750806001018510155b15611084576000198186030180408360ff83066101008110611076576110766119c8565b60200201525060010161103f565b5046611fe0820152612000812092508340816110a160ff876119de565b61010081106110b2576110b26119c8565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113991906119f2565b90508115801561115057506001600160a01b038116155b15610a5657604051631467050360e21b81526004810185905260248101849052604401610723565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080806202bf2063ffffffff8516116111e55760006111ec565b6202bf2084035b60cd5460408901519192506001600160401b03600160801b909104811663ffffffff8085169190910192811689029161123691839061122f908690839061144916565b039061145f565b935050505061125e86602001516001600160401b03168760000151838763ffffffff16611276565b91508160000361126d57600191505b94509492505050565b60006001600160801b0385161580159061129857506001600160801b03841615155b6112a4576112a4611942565b60006001600160401b038316156112bb57826112be565b60015b905060006112d5856001600160401b031688611474565b905060006112f56112e68488611a0f565b6001600160401b031689611474565b90506001600160801b0387166001600160401b03841661131584846118bd565b61131f91906119b4565b61132991906119b4565b98975050505050505050565b60006001600160801b0382111561139e5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610723565b5090565b600054610100900460ff166113c95760405162461bcd60e51b815260040161072390611a36565b610a6f6114c6565b600054610100900460ff166113f85760405162461bcd60e51b815260040161072390611a36565b610a6f6114f3565b6001600160a01b03811661142757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008183116114585781610a7e565b5090919050565b600081831161146e5782610a7e565b50919050565b60008061148a6001600160801b0384168561199d565b9050680755bf798b4a1bf1e481106114b55760405163576ff4f160e01b815260040160405180910390fd5b6114be81611523565b949350505050565b600054610100900460ff166114ed5760405162461bcd60e51b815260040161072390611a36565b60018055565b600054610100900460ff1661151a5760405162461bcd60e51b815260040161072390611a36565b610a6f33611178565b6000680248ce36a70cb26b3e19821361153e57506000919050565b680755bf798b4a1bf1e5821261156757604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b6d2c06887d92262d378b9593af35346c09791803c2923d5d9721c3da80929091056001605f1b0190921d6bb17217f7d1cf79abc9e3b39881029095039081018102606090811d6d019dd9374d4315c8464a395fc09881016c1bff318b126baa436ea9aeaffd19840102821d93840193016d29c9ad45cc0beb0a2ff097a7bab40192909202821d6dcf3c27b2e487711b467e90f19320016c22fcd1cffa6fa000f6e27eeca082018202831d6d022f98fbc368092c79210d196fa0018202831d6d13aaae3ba38de06adc25ebfacc0901820290921d6d624dcbeb5e25df590e409325888a01026d360d7aeea093263ec6495851bd9760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b6001600160a01b0381168114610e4e57600080fd5b6000602082840312156116f057600080fd5b8135610a56816116c9565b6000806040838503121561170e57600080fd5b82359150602083013560ff8116811461172657600080fd5b809150509250929050565b60008082840360c081121561174557600080fd5b8335611750816116c9565b925060a0601f198201121561176457600080fd5b506020830190509250929050565b80358015158114610dd357600080fd5b60008060006060848603121561179757600080fd5b83359250602084013591506117ae60408501611772565b90509250925092565b600080604083850312156117ca57600080fd5b823591506117da60208401611772565b90509250929050565b6000602082840312156117f557600080fd5b5035919050565b803563ffffffff81168114610dd357600080fd5b60008060006060848603121561182557600080fd5b61182e846117fc565b925061183c602085016117fc565b91506117ae604085016117fc565b80356001600160401b0381168114610dd357600080fd5b6000806000806080858703121561187757600080fd5b843593506020850135925061188e6040860161184a565b915061189c606086016117fc565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a8157610a816118a7565b6000602082840312156118e257600080fd5b610a7e826117fc565b6000602082840312156118fd57600080fd5b610a7e8261184a565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061193657611936611906565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061193657611936611906565b6001600160401b03818116838216028082169190828114611995576119956118a7565b505092915050565b8082028115828204841417610a8157610a816118a7565b6000826119c3576119c3611906565b500490565b634e487b7160e01b600052603260045260246000fd5b6000826119ed576119ed611906565b500690565b600060208284031215611a0457600080fd5b8151610a56816116c9565b6001600160401b03818116838216019080821115611a2f57611a2f6118a7565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220bd7f7091e6a697697091252fac98ba75d8b5eb2366b8463a9d05f995c921619164736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xd02f27dfd81ca98ddc593afdc449ac14b6f636ece56d0f41f5aa383eaa73d02b", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x0000000000bebc200000000058b8ef1c0000000485b9d2e799564d28c46075dd", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000a9507f68000000000000000000000000064b16457", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063bac443e21161006f578063bac443e21461041b578063ce70f39b1461043b578063d0496d6a1461045b578063f2fde38b146104ca578063f9803919146104ea578063fee99b221461050a57600080fd5b8063715018a6146103955780638da5cb5b146103aa57806396e17852146103c8578063a4444efd146103db578063a86f9d9e146103fb57600080fd5b8063540be6a3116100f2578063540be6a3146102e75780635817b0c3146103075780635d0bd98614610335578063606b5b74146103555780636c6563f61461037557600080fd5b80630652b57a1461020357806319ab453c14610223578063343b643c146102435780633ab76e9f146102885780635075a9d4146102ba57600080fd5b366101fe5761014c6a1d1bdad95b97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b03161415801561019757506101816a195d1a195c97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101c757506101b1647461696b6f60d81b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101de57506065546001600160a01b03163314155b156101fc576040516345dd044560e11b815260040160405180910390fd5b005b600080fd5b34801561020f57600080fd5b506101fc61021e366004612b75565b610540565b34801561022f57600080fd5b506101fc61023e366004612b75565b6105c3565b34801561024f57600080fd5b5061027361025e366004612b92565b600090815260cd602052604090205460ff1690565b60405190151581526020015b60405180910390f35b34801561029457600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200161027f565b3480156102c657600080fd5b506102da6102d5366004612b92565b6106db565b60405161027f9190612be3565b3480156102f357600080fd5b50610273610302366004612b92565b6106e6565b34801561031357600080fd5b50610327610322366004612c0a565b6106f2565b60405190815260200161027f565b34801561034157600080fd5b50610273610350366004612b92565b610705565b34801561036157600080fd5b50610327610370366004612b92565b610718565b34801561038157600080fd5b506102a2610390366004612c4c565b610723565b3480156103a157600080fd5b506101fc61073a565b3480156103b657600080fd5b506065546001600160a01b03166102a2565b6103276103d6366004612c0a565b61074e565b3480156103e757600080fd5b506102736103f6366004612ccd565b61077c565b34801561040757600080fd5b506102a2610416366004612d1f565b61052a565b34801561042757600080fd5b506101fc610436366004612d4f565b610794565b34801561044757600080fd5b50610273610456366004612ccd565b6107b8565b34801561046757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc54938701938452865192835251169381019390935251928201929092520161027f565b3480156104d657600080fd5b506101fc6104e5366004612b75565b6107c7565b3480156104f657600080fd5b506101fc610505366004612db7565b610840565b34801561051657600080fd5b506101fc610525366004612d4f565b61085e565b6000610537468484610874565b90505b92915050565b610548610928565b6001600160a01b03811661056f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156105e35750600054600160ff909116105b806105fd5750303b1580156105fd575060005460ff166001145b6106655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610688576000805461ff0019166101001790555b61069182610982565b80156106d7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061053a8261099b565b600061053a30836109c6565b600061053a61070083612f0d565b610aa7565b60006107113083610ad7565b5092915050565b600061053a82610b60565b6000610730848484610874565b90505b9392505050565b610742610928565b61074c6000610b9b565b565b6000610758610bed565b61076c60c93061076785612f0d565b610c46565b905061077760018055565b919050565b600061078b3086868686610f27565b95945050505050565b61079c610bed565b6107aa60c93085858561108a565b6107b360018055565b505050565b600061078b308686868661137b565b6107cf610928565b6001600160a01b0381166108345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b61083d81610b9b565b50565b610848610bed565b61085560c9308484611600565b6106d760018055565b610866610bed565b6107aa60c930858585611838565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e9919061300e565b90508115801561090057506001600160a01b038116155b1561073357604051631467050360e21b8152600481018590526024810184905260440161065c565b6065546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b61098a611d37565b610992611d66565b61083d81611d95565b6000806109a783610b60565b80549091508060038111156109be576109be612bab565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e906109f590849060040161302b565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a36919061300e565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061304d565b600081604051602001610aba91906130ba565b604051602081830303815290604052805190602001209050919050565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610b099291906131b4565b602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a919061300e565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b81525082604051602001610aba9291906131d3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610c3f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065c565b6002600155565b60808101516000906001600160a01b0316610c74576040516301b1868360e71b815260040160405180910390fd5b600080610c85858560600151610ad7565b91509150811580610c995750468460600151145b15610cb75760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b03161580610ce65750806001600160a01b03168460a001516001600160a01b0316145b15610d045760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461012001518561010001518660e00151610d21919061320b565b610d2b919061320b565b9050348114610d4d57604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e90610d7d9060019060040161321e565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe919061300e565b9050610dd36001600160a01b03821683611dde565b8754886000610de18361323d565b909155508652336020870152466040870152610dfc86610aa7565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610e2c9060009060040161302b565b602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d919061300e565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610e9a91815260200190565b6020604051808303816000875af1158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613256565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f387604051610f0e91906130ba565b60405180910390a2505050509392505050565b60018055565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b8152600401610f599291906131b4565b602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a919061300e565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e90610fca9060009060040161302b565b602060405180830381865afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b919061300e565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b815260040161103e95949392919061326f565b602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f919061304d565b979650505050505050565b600061109c60a0850160808601612b75565b6001600160a01b0316036110c3576040516301b1868360e71b815260040160405180910390fd5b468360400135146110e75760405163e822b48d60e01b815260040160405180910390fd5b60006110f561070085612f0d565b600081815260048801602052604090205490915060ff16151560010361112e5760405163afde133560e01b815260040160405180910390fd5b61113f85828660600135868661137b565b61115c5760405163498b0b1d60e01b815260040160405180910390fd5b60008181526004870160205260408120805460ff1916600117905561118a61010086013560e087013561320b565b9050801561131f57604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906111c29060019060040161321e565b602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061300e565b90506001600160a01b03811615611298576001600160a01b03811663ba0bbd9561123360a0890160808a01612b75565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b5050505061131d565b60006112aa60a0880160808901612b75565b6001600160a01b03168360405160006040518083038185875af1925050503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b505090508061131b5760405163f6664cf160e01b815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd84761135160a0880160808901612b75565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361139d5760405163e822b48d60e01b815260040160405180910390fd5b60008590036113bf5760405163a6407c9360e01b815260040160405180910390fd5b60006113cd83850185613359565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611449919061300e565b8251610100015160405163bacb386d60e01b81526001600160801b0390911660048201526001600160a01b03919091169063bacb386d90602401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190613256565b90508015806114dd575081516114d990611e94565b8114155b156114ed5760009250505061078b565b815160600151604051633632b1fb60e11b815273d56fbBb9C88938a61e9CA71339Abd5f84dF131Cf9163a5427462916001600160a01b038c1690636c6563f69061153e908c906000906004016131b4565b602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f919061300e565b6115888b610b60565b602087015160405160e086901b6001600160e01b03191681526115b3949392916003916004016134fd565b602060405180830381865af41580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f4919061304d565b98975050505050505050565b610140820135158061160f5750805b156116555761162460a0830160808401612b75565b6001600160a01b0316336001600160a01b0316146116555760405163d7f4fc9f60e01b815260040160405180910390fd5b600061166361070084612f0d565b905060016116708261099b565b600381111561168157611681612bab565b1461169f57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e906116cf9060019060040161321e565b602060405180830381865afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061300e565b90506001600160a01b0381161561178057604051630d73bb3d60e41b815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b505050505b61178c8685845a611eb9565b156117a15761179c826002612011565b611830565b8215611818576117b2826003612011565b6000806117c560e0870160c08801612b75565b6001600160a01b0316146117e8576117e360e0860160c08701612b75565b6117f8565b6117f860a0860160808701612b75565b90506118126001600160a01b038216610100870135611dde565b50611830565b6118306001600160a01b038216610100860135611dde565b505050505050565b61014083013515801561186c575061185660a0840160808501612b75565b6001600160a01b0316336001600160a01b031614155b1561188a5760405163398b635960e21b815260040160405180910390fd5b468360600135146118ae5760405163e822b48d60e01b815260040160405180910390fd5b60006118bc61070085612f0d565b905060006118c98261099b565b60038111156118da576118da612bab565b146118f857604051630cfafbf960e01b815260040160405180910390fd5b6000856001600160a01b0316636c6563f6866040013560006040518363ffffffff1660e01b815260040161192d9291906131b4565b602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e919061300e565b604051635437cecf60e11b81529091506001600160a01b0387169063a86f9d9e9061199e9060009060040161302b565b602060405180830381865afa1580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df919061300e565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401611a1695949392919061326f565b602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061304d565b611a74576040516314504c7360e31b815260040160405180910390fd5b6000610120860135611a8f61010088013560e089013561320b565b611a99919061320b565b90506000876001600160a01b031663a86f9d9e60016040518263ffffffff1660e01b8152600401611aca919061321e565b602060405180830381865afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b919061300e565b90506001600160a01b03811615801590611b255750600082115b15611b8557604051630d73bb3d60e41b8152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611b6c57600080fd5b505af1158015611b80573d6000803e3d6000fd5b505050505b611bac60e0880135611b9d60a08a0160808b01612b75565b6001600160a01b031690611dde565b60008030611bc060c08b0160a08c01612b75565b6001600160a01b03161480611bed57506000611be260c08b0160a08c01612b75565b6001600160a01b0316145b15611c02575060029050610100880135611c79565b6000611c1460a08b0160808c01612b75565b6001600160a01b0316336001600160a01b031614611c3757896101400135611c39565b5a5b90506000611c498d8c8a85611eb9565b90508015611c5a5760029350611c76565b60019350611c766001600160a01b0386166101008d0135611dde565b50505b611c838683612011565b600080611c9660e08c0160c08d01612b75565b6001600160a01b031614611cb957611cb460e08b0160c08c01612b75565b611cc9565b611cc960a08b0160808c01612b75565b90506001600160a01b0381163303611d07576000611cec836101208d013561320b565b9050611d016001600160a01b03831682611dde565b50611d29565b611d16336101208c0135611dde565b611d296001600160a01b03821683611dde565b505050505050505050505050565b600054610100900460ff16611d5e5760405162461bcd60e51b815260040161065c90613530565b61074c61208a565b600054610100900460ff16611d8d5760405162461bcd60e51b815260040161065c90613530565b61074c6120b1565b6001600160a01b038116611dbc57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611df257506001600160a01b038216155b15611dfb575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611e48576040519150601f19603f3d011682016040523d82523d6000602084013e611e4d565b606091505b50509050806107b35760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161065c565b600080611eaa611ea58460006120e1565b612502565b80516020909101209392505050565b600081600003611edc57604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611f009190612b75565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611f5260c0850160a08601612b75565b6001600160a01b031682610100860135611f7061016088018861357b565b604051611f7e9291906135c1565b600060405180830381858888f193505050503d8060008114611fbc576040519150601f19603f3d011682016040523d82523d6000602084013e611fc1565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b80600381111561202357612023612bab565b61202c8361099b565b600381111561203d5761203d612bab565b146106d75761204c8282612546565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c823360405161207e9291906135d1565b60405180910390a25050565b600054610100900460ff16610f215760405162461bcd60e51b815260040161065c90613530565b600054610100900460ff166120d85760405162461bcd60e51b815260040161065c90613530565b61074c33610b9b565b6102008201516060901561214c576120fa82601161320b565b6001600160401b0381111561211157612111612dfd565b60405190808252806020026020018201604052801561214457816020015b606081526020019060019003908161212f5790505b5090506121bb565b6101e083015115612162576120fa82601061320b565b61216d82600f61320b565b6001600160401b0381111561218457612184612dfd565b6040519080825280602002602001820160405280156121b757816020015b60608152602001906001900390816121a25790505b5090505b82516121c69061256f565b816000815181106121d9576121d96135f7565b60200260200101819052506121f1836020015161256f565b81600181518110612204576122046135f7565b602002602001018190525061221c8360400151612582565b8160028151811061222f5761222f6135f7565b6020026020010181905250612247836060015161256f565b8160038151811061225a5761225a6135f7565b6020026020010181905250612272836080015161256f565b81600481518110612285576122856135f7565b602002602001018190525061229d8360a0015161256f565b816005815181106122b0576122b06135f7565b60200260200101819052506122e78360c001516040516020016122d3919061360d565b6040516020818303038152906040526125ab565b816006815181106122fa576122fa6135f7565b60200260200101819052506123128360e0015161261a565b81600781518110612325576123256135f7565b60200260200101819052506123478361010001516001600160801b031661261a565b8160088151811061235a5761235a6135f7565b6020026020010181905250612373836101200151612628565b81600981518110612386576123866135f7565b602002602001018190525061239f836101400151612628565b81600a815181106123b2576123b26135f7565b60200260200101819052506123cb836101600151612628565b81600b815181106123de576123de6135f7565b60200260200101819052506123f78361018001516125ab565b81600c8151811061240a5761240a6135f7565b6020026020010181905250612423836101a0015161256f565b81600d81518110612436576124366135f7565b602002602001018190525061246d836101c001516040516020016122d3919060c09190911b6001600160c01b031916815260080190565b81600e81518110612480576124806135f7565b6020026020010181905250826101e001516000146124c5576124a6836101e0015161261a565b81600f815181106124b9576124b96135f7565b60200260200101819052505b6102008301511561053a576124de83610200015161256f565b816010815181106124f1576124f16135f7565b602002602001018190525092915050565b6060600061250f8361263f565b905061251d815160c0612774565b8160405160200161252f929190613642565b604051602081830303815290604052915050919050565b600061255183610b60565b9050600082600381111561256757612567612bab565b909155505050565b606061053a61257d8361291c565b6125ab565b604051606082811b6bffffffffffffffffffffffff191660208301529061053a906034016122d3565b606080825160011480156125d957506080836000815181106125cf576125cf6135f7565b016020015160f81c105b156125e557508161053a565b6125f183516080612774565b83604051602001612603929190613642565b604051602081830303815290604052905092915050565b606061053a61257d836129ce565b606061053a61257d836001600160401b03166129ce565b60608151600003612660576040805160008082526020820190925290610711565b6000805b83518110156126a55783818151811061267f5761267f6135f7565b60200260200101515182612693919061320b565b915061269e8161323d565b9050612664565b6000826001600160401b038111156126bf576126bf612dfd565b6040519080825280601f01601f1916602001820160405280156126e9576020820181803683370190505b50600092509050602081015b855183101561276b576000868481518110612712576127126135f7565b60200260200101519050600060208201905061273083828451612af8565b878581518110612742576127426135f7565b60200260200101515183612756919061320b565b92505050826127649061323d565b92506126f5565b50949350505050565b60608060388410156127db57604080516001808252818301909252906020820181803683370190505090506127a98385613671565b60f81b816000815181106127bf576127bf6135f7565b60200101906001600160f81b031916908160001a905350610537565b600060015b6127ea81876136a0565b1561280d576127f88261323d565b9150612806610100826136b4565b90506127e0565b61281882600161320b565b6001600160401b0381111561282f5761282f612dfd565b6040519080825280601f01601f191660200182016040528015612859576020820181803683370190505b5092506128668583613671565b612871906037613671565b60f81b83600081518110612887576128876135f7565b60200101906001600160f81b031916908160001a905350600190505b818111612913576101006128b782846136cb565b6128c3906101006137c2565b6128cd90886136a0565b6128d791906137ce565b60f81b8382815181106128ec576128ec6135f7565b60200101906001600160f81b031916908160001a90535061290c8161323d565b90506128a3565b50509392505050565b606060008260405160200161293391815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561276b5783836129788161323d565b94508151811061298a5761298a6135f7565b602001015160f81c60f81b8282815181106129a7576129a76135f7565b60200101906001600160f81b031916908160001a9053506129c78161323d565b9050612964565b60606000826040516020016129e591815260200190565b604051602081830303815290604052905060005b6020811015612a3a57818181518110612a1457612a146135f7565b01602001516001600160f81b031916600003612a3a57612a338161323d565b90506129f9565b6000612a478260206136cb565b6001600160401b03811115612a5e57612a5e612dfd565b6040519080825280601f01601f191660200182016040528015612a88576020820181803683370190505b50905060005b815181101561276b578383612aa28161323d565b945081518110612ab457612ab46135f7565b602001015160f81c60f81b828281518110612ad157612ad16135f7565b60200101906001600160f81b031916908160001a905350612af18161323d565b9050612a8e565b8282825b60208110612b345781518352612b1360208461320b565b9250612b2060208361320b565b9150612b2d6020826136cb565b9050612afc565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b038116811461083d57600080fd5b803561077781612b55565b600060208284031215612b8757600080fd5b813561053781612b55565b600060208284031215612ba457600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612bdf57634e487b7160e01b600052602160045260246000fd5b9052565b6020810161053a8284612bc1565b60006101a08284031215612c0457600080fd5b50919050565b600060208284031215612c1c57600080fd5b81356001600160401b03811115612c3257600080fd5b6109be84828501612bf1565b801515811461083d57600080fd5b600080600060608486031215612c6157600080fd5b83359250602084013591506040840135612c7a81612c3e565b809150509250925092565b60008083601f840112612c9757600080fd5b5081356001600160401b03811115612cae57600080fd5b602083019150836020828501011115612cc657600080fd5b9250929050565b60008060008060608587031215612ce357600080fd5b843593506020850135925060408501356001600160401b03811115612d0757600080fd5b612d1387828801612c85565b95989497509550505050565b60008060408385031215612d3257600080fd5b823591506020830135612d4481612c3e565b809150509250929050565b600080600060408486031215612d6457600080fd5b83356001600160401b0380821115612d7b57600080fd5b612d8787838801612bf1565b94506020860135915080821115612d9d57600080fd5b50612daa86828701612c85565b9497909650939450505050565b60008060408385031215612dca57600080fd5b82356001600160401b03811115612de057600080fd5b612dec85828601612bf1565b9250506020830135612d4481612c3e565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612e3657612e36612dfd565b60405290565b604080519081016001600160401b0381118282101715612e3657612e36612dfd565b60405161022081016001600160401b0381118282101715612e3657612e36612dfd565b600082601f830112612e9257600080fd5b81356001600160401b0380821115612eac57612eac612dfd565b604051601f8301601f19908116603f01168101908282118183101715612ed457612ed4612dfd565b81604052838152866020858801011115612eed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215612f2057600080fd5b612f28612e13565b82358152612f3860208401612b6a565b60208201526040830135604082015260608301356060820152612f5d60808401612b6a565b6080820152612f6e60a08401612b6a565b60a0820152612f7f60c08401612b6a565b60c082015260e08381013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401356001600160401b0380821115612fcb57600080fd5b612fd736838801612e81565b83850152610180925082860135915080821115612ff357600080fd5b5061300036828701612e81565b918301919091525092915050565b60006020828403121561302057600080fd5b815161053781612b55565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561305f57600080fd5b815161053781612c3e565b60005b8381101561308557818101518382015260200161306d565b50506000910152565b600081518084526130a681602086016020860161306a565b601f01601f19169290920160200192915050565b6020815281516020820152600060208301516130e160408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161311060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261318e6101c086018461308e565b90860151858203601f1901838701529092506131aa838261308e565b9695505050505050565b9182526562726964676560d01b60208301521515604082015260600190565b600083516131e581846020880161306a565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561053a5761053a6131f5565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006001820161324f5761324f6131f5565b5060010190565b60006020828403121561326857600080fd5b5051919050565b8581526001600160a01b0385166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600082601f8301126132cf57600080fd5b6040516101008082018281106001600160401b03821117156132f3576132f3612dfd565b6040528301818582111561330657600080fd5b845b82811015613320578035825260209182019101613308565b509195945050505050565b80356001600160801b038116811461077757600080fd5b80356001600160401b038116811461077757600080fd5b60006020828403121561336b57600080fd5b81356001600160401b038082111561338257600080fd5b908301906040828603121561339657600080fd5b61339e612e3c565b8235828111156133ad57600080fd5b830161030081880312156133c057600080fd5b6133c8612e5e565b81358152602082013560208201526133e260408301612b6a565b6040820152606082013560608201526080820135608082015260a082013560a08201526134128860c084016132be565b60c08201526101c08083013560e08301526101e061343181850161332b565b610100840152610200613445818601613342565b6101208501526134586102208601613342565b61014085015261346b6102408601613342565b6101608501526102608501358781111561348457600080fd5b6134908c828801612e81565b610180860152506102808501356101a08501526134b06102a08601613342565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134e257600080fd5b6134ee87828601612e81565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061107f60a083018461308e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261359257600080fd5b8301803591506001600160401b038211156135ac57600080fd5b602001915036819003821315612cc657600080fd5b8183823760009101908152919050565b604081016135df8285612bc1565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b6008811015613632578151835260209283019290910190600101613613565b5050506101008201905092915050565b6000835161365481846020880161306a565b83519083019061366881836020880161306a565b01949350505050565b60ff818116838216019081111561053a5761053a6131f5565b634e487b7160e01b600052601260045260246000fd5b6000826136af576136af61368a565b500490565b808202811582820484141761053a5761053a6131f5565b8181038181111561053a5761053a6131f5565b600181815b808511156137195781600019048211156136ff576136ff6131f5565b8085161561370c57918102915b93841c93908002906136e3565b509250929050565b6000826137305750600161053a565b8161373d5750600061053a565b8160018114613753576002811461375d57613779565b600191505061053a565b60ff84111561376e5761376e6131f5565b50506001821b61053a565b5060208310610133831016604e8410600b841016171561379c575081810a61053a565b6137a683836136de565b80600019048211156137ba576137ba6131f5565b029392505050565b60006105378383613721565b6000826137dd576137dd61368a565b50069056fea2646970667358221220375c4de0362d3ed6e76edb571acb958d89d208d7216e0c416a7cdb4ee2dfeba764736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedTokenVault", + "storage": {}, + "code": "0x6080604052600436106100e85760003560e01c8063780b64f01161008a578063a86f9d9e11610059578063a86f9d9e146102ca578063c287e578146102ea578063ee1490b21461032a578063f2fde38b1461033d57600080fd5b8063780b64f0146101fc5780638da5cb5b1461025b5780639754149b146102795780639aa8605c1461029957600080fd5b80633ab76e9f116100c65780633ab76e9f1461014f57806367090ccf146101865780636c6563f6146101c7578063715018a6146101e757600080fd5b80630652b57a146100ed5780630c6fab821461010f57806319ab453c1461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611fa4565b61035d565b005b34801561011b57600080fd5b5061010d61012a366004611fc1565b6103e0565b34801561013b57600080fd5b5061010d61014a366004611fa4565b61068f565b34801561015b57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101696101a1366004612030565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d357600080fd5b506101696101e236600461206e565b6107a7565b3480156101f357600080fd5b5061010d6107be565b34801561020857600080fd5b5061023c6102173660046120a7565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b03909316835260208301919091520161017d565b34801561026757600080fd5b506065546001600160a01b0316610169565b34801561028557600080fd5b5061010d6102943660046120c0565b6107d2565b3480156102a557600080fd5b506102b96102b4366004611fa4565b610b54565b60405161017d9594939291906121b0565b3480156102d657600080fd5b506101696102e5366004612201565b610ca5565b3480156102f657600080fd5b5061031a610305366004611fa4565b60c96020526000908152604090205460ff1681565b604051901515815260200161017d565b61010d610338366004612295565b610cbb565b34801561034957600080fd5b5061010d610358366004611fa4565b611574565b6103656115ed565b6001600160a01b03811661038c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6103e8611647565b6562726964676560d01b6103fd816001610ca5565b6001600160a01b0316336001600160a01b03161461042e57604051630d85cccf60e11b815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104929190612374565b90506104b281604001516a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b031681602001516001600160a01b0316146104e7576040516320258b8760e21b815260040160405180910390fd5b6000468735036105b4576105016040880160208901611fa4565b905061051c6a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316816001600160a01b03160361059b576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050610624565b6105af6001600160a01b03821686866116a0565b610624565b6105bd87611703565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801561060b57600080fd5b505af115801561061f573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a450505061068960018055565b50505050565b600054610100900460ff16158080156106af5750600054600160ff909116105b806106c95750303b1580156106c9575060005460ff166001145b6107315760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610754576000805461ff0019166101001790555b61075d82611762565b80156107a3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006107b484848461177b565b90505b9392505050565b6107c66115ed565b6107d0600061182f565b565b6107da611647565b60006107ec60a0850160808601611fa4565b6001600160a01b031603610813576040516372b41cdf60e01b815260040160405180910390fd5b46836040013514610837576040516348bc100560e01b815260040160405180910390fd5b600061084d6562726964676560d01b6000610ca5565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b815260040161087d919061244c565b602060405180830381865afa15801561089a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108be919061256a565b600081815260cc6020526040902080546001909101549192506001600160a01b031690816108ff57604051637c6addb760e01b815260040160405180910390fd5b60405163ce70f39b60e01b81526001600160a01b0385169063ce70f39b9061093590869060608c0135908b908b90600401612583565b602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906125ad565b610993576040516308ba49e560e31b815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181546001600160a01b0319166001600160a01b0390911617815590516001909101558015610adb576001600160a01b038216600090815260c9602052604090205460ff1680610a2e5750610a196a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316826001600160a01b0316145b15610ab7576001600160a01b0382166340c10f19610a5260a08a0160808b01611fa4565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b50505050610adb565b610adb610aca60a0890160808a01611fa4565b6001600160a01b03841690836116a0565b610aeb60a0880160808901611fa4565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610b3a9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610b4f60018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff1692909190610b94906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc0906125ca565b8015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505090806003018054610c22906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610c4e906125ca565b8015610c9b5780601f10610c7057610100808354040283529160200191610c9b565b820191906000526020600020905b815481529060010190602001808311610c7e57829003601f168201915b5050505050905085565b6000610cb246848461177b565b90505b92915050565b610cc3611647565b6001600160a01b0387161580610d035750610cee886a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b0316876001600160a01b0316145b15610d2157604051634694641b60e01b815260040160405180910390fd5b6001600160a01b038616610d4857604051637c6addb760e01b815260040160405180910390fd5b84600003610d685760405162af849960e11b815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615610faf576001600160a01b03888116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff1691810191909152600282018054919291606084019190610e15906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610e41906125ca565b8015610e8e5780601f10610e6357610100808354040283529160200191610e8e565b820191906000526020600020905b815481529060010190602001808311610e7157829003601f168201915b50505050508152602001600382018054610ea7906125ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed3906125ca565b8015610f205780601f10610ef557610100808354040283529160200191610f20565b820191906000526020600020905b815481529060010190602001808311610f0357829003601f168201915b5050509190925250505060208101519092506001600160a01b0316610f4757610f47612604565b604051632770a7eb60e21b8152336004820152602481018890526001600160a01b03891690639dc29fac90604401600060405180830381600087803b158015610f8f57600080fd5b505af1158015610fa3573d6000803e3d6000fd5b505050508690506112a8565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611012573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110369190612629565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561107c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a49190810190612646565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261110f9190810190612646565b9052925061112c6a3a30b4b5b7afba37b5b2b760a91b6001610ca5565b6001600160a01b0316896001600160a01b0316036111ac57604051632770a7eb60e21b8152336004820152602481018990526001600160a01b038a1690639dc29fac90604401600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050508791506112a6565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156111f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611217919061256a565b905061122e6001600160a01b03831633308c611881565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611274573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611298919061256a565b6112a291906126bd565b9250505b505b611337604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015261135e8b6a1d1bdad95b97dd985d5b1d60aa1b60006107a7565b6001600160a01b031660a08201526080810151604051630637d5c160e11b91611390918691908e9087906024016126de565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610160820152610140810187905261012081018690526113e286346126bd565b60e08201526001600160a01b03851660c0820152610180810184905260006114136562726964676560d01b82610ca5565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b815260040161143f9190612776565b60206040518083038185885af115801561145d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611482919061256a565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611555939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a45050505061156a60018055565b5050505050505050565b61157c6115ed565b6001600160a01b0381166115e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610728565b6115ea8161182f565b50565b6065546001600160a01b031633146107d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610728565b6002600154036116995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610728565b6002600155565b6040516001600160a01b038316602482015260448101829052610b4f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526118b9565b8035600090815260cb6020908152604080832083929091839161172a918701908701611fa4565b6001600160a01b03908116825260208201929092526040016000205416905080610cb5576117578361198b565b6107b7565b60018055565b61176a611be6565b611772611c15565b6115ea81611c44565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190612866565b90508115801561180757506001600160a01b038116155b156107b757604051631467050360e21b81526004810185905260248101849052604401610728565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526106899085906323b872dd60e01b906084016116cc565b600061190e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c8d9092919063ffffffff16565b805190915015610b4f578080602001905181019061192c91906125ad565b610b4f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610728565b6000611a048183356119a36040860160208701611fa4565b6040516119c692916001600160a01b031690602001918252602082015260400190565b60405160208183030381529060405280519060200120604051806020016119ec90611f72565b601f1982820381018352601f90910116604052611c9c565b6097549091506001600160a01b0380831691636c0db62b9116611a2d6040860160208701611fa4565b8535611a3f6060880160408901612883565b611a4c60608901896128a0565b611a5960808b018b6128a0565b6040518963ffffffff1660e01b8152600401611a7c9897969594939291906128e7565b600060405180830381600087803b158015611a9657600080fd5b505af1158015611aaa573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c960209081526040808320805460ff1916600117905560ca9091529020839150611ae78282612a55565b50508135600090815260cb60209081526040808320849390929091611b1191908701908701611fa4565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316826020016020810190611b729190611fa4565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611bab60608701876128a0565b611bb860808901896128a0565b611bc860608b0160408c01612883565b604051611bd9959493929190612adc565b60405180910390a4919050565b600054610100900460ff16611c0d5760405162461bcd60e51b815260040161072890612b19565b6107d0611da0565b600054610100900460ff16611c3c5760405162461bcd60e51b815260040161072890612b19565b6107d0611dc7565b6001600160a01b038116611c6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60606107b48484600085611df7565b600083471015611cee5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610728565b8151600003611d3f5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610728565b8282516020840186f590506001600160a01b0381166107b75760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610728565b600054610100900460ff1661175c5760405162461bcd60e51b815260040161072890612b19565b600054610100900460ff16611dee5760405162461bcd60e51b815260040161072890612b19565b6107d03361182f565b606082471015611e585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610728565b600080866001600160a01b03168587604051611e749190612b64565b60006040518083038185875af1925050503d8060008114611eb1576040519150601f19603f3d011682016040523d82523d6000602084013e611eb6565b606091505b5091509150611ec787838387611ed4565b925050505b949350505050565b60608315611f43578251600003611f3c576001600160a01b0385163b611f3c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610728565b5081611ecc565b611ecc8383815115611f585781518083602001fd5b8060405162461bcd60e51b81526004016107289190612b80565b61199080612b9483390190565b6001600160a01b03811681146115ea57600080fd5b8035611f9f81611f7f565b919050565b600060208284031215611fb657600080fd5b81356107b781611f7f565b60008060008060808587031215611fd757600080fd5b843567ffffffffffffffff811115611fee57600080fd5b850160a0818803121561200057600080fd5b9350602085013561201081611f7f565b9250604085013561202081611f7f565b9396929550929360600135925050565b6000806040838503121561204357600080fd5b82359150602083013561205581611f7f565b809150509250929050565b80151581146115ea57600080fd5b60008060006060848603121561208357600080fd5b8335925060208401359150604084013561209c81612060565b809150509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000806000604084860312156120d557600080fd5b833567ffffffffffffffff808211156120ed57600080fd5b908501906101a0828803121561210257600080fd5b9093506020850135908082111561211857600080fd5b818601915086601f83011261212c57600080fd5b81358181111561213b57600080fd5b87602082850101111561214d57600080fd5b6020830194508093505050509250925092565b60005b8381101561217b578181015183820152602001612163565b50506000910152565b6000815180845261219c816020860160208601612160565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906121e390830185612184565b82810360808401526121f58185612184565b98975050505050505050565b6000806040838503121561221457600080fd5b82359150602083013561205581612060565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561226557612265612226565b604052919050565b600067ffffffffffffffff82111561228757612287612226565b50601f01601f191660200190565b600080600080600080600080610100898b0312156122b257600080fd5b8835975060208901356122c481611f7f565b965060408901356122d481611f7f565b9550606089013594506080890135935060a0890135925060c08901356122f981611f7f565b915060e089013567ffffffffffffffff81111561231557600080fd5b8901601f81018b1361232657600080fd5b80356123396123348261226d565b61223c565b8181528c602083850101111561234e57600080fd5b816020840160208301376000602083830101528093505050509295985092959890939650565b60006060828403121561238657600080fd5b6040516060810181811067ffffffffffffffff821117156123a9576123a9612226565b6040528251815260208301516123be81611f7f565b60208201526040928301519281019290925250919050565b6000808335601e198436030181126123ed57600080fd5b830160208101925035905067ffffffffffffffff81111561240d57600080fd5b80360382131561241c57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061246560208401611f94565b6001600160a01b038116604084015250604083013560608301526060830135608083015261249560808401611f94565b6001600160a01b03811660a0840152506124b160a08401611f94565b6001600160a01b03811660c0840152506124cd60c08401611f94565b6001600160a01b03811660e08401525061010060e084013581840152610120818501358185015261014091508085013582850152506101608185013581850152612519818601866123d6565b925090506101a061018081818701526125376101c087018585612423565b9350612545818801886123d6565b878603601f1901848901529350905061255f848483612423565b979650505050505050565b60006020828403121561257c57600080fd5b5051919050565b8481528360208201526060604082015260006125a3606083018486612423565b9695505050505050565b6000602082840312156125bf57600080fd5b81516107b781612060565b600181811c908216806125de57607f821691505b6020821081036125fe57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052600160045260246000fd5b60ff811681146115ea57600080fd5b60006020828403121561263b57600080fd5b81516107b78161261a565b60006020828403121561265857600080fd5b815167ffffffffffffffff81111561266f57600080fd5b8201601f8101841361268057600080fd5b805161268e6123348261226d565b8181528560208385010111156126a357600080fd5b6126b4826020830160208601612160565b95945050505050565b81810381811115610cb557634e487b7160e01b600052601160045260246000fd5b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152612728610120850183612184565b91506080880151607f19858403016101008601526127468382612184565b9188166020860152506001600160a01b038616604085015291506127679050565b82606083015295945050505050565b60208152815160208201526000602083015161279d60408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516127cc60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261284a6101c0860184612184565b90860151858203601f1901838701529092506125a38382612184565b60006020828403121561287857600080fd5b81516107b781611f7f565b60006020828403121561289557600080fd5b81356107b78161261a565b6000808335601e198436030181126128b757600080fd5b83018035915067ffffffffffffffff8211156128d257600080fd5b60200191503681900382131561241c57600080fd5b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c0608082018190526000906129249083018688612423565b82810360a0840152612937818587612423565b9b9a5050505050505050505050565b601f821115610b4f57600081815260208120601f850160051c8101602086101561296d5750805b601f850160051c820191505b8181101561298c57828155600101612979565b505050505050565b67ffffffffffffffff8311156129ac576129ac612226565b6129c0836129ba83546125ca565b83612946565b6000601f8411600181146129f457600085156129dc5750838201355b600019600387901b1c1916600186901b178355612a4e565b600083815260209020601f19861690835b82811015612a255786850135825560209485019460019092019101612a05565b5086821015612a425760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612a6b81611f7f565b81546040850135612a7b8161261a565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b03199190911617179055612ab160608301836128a0565b612abf818360028601612994565b5050612ace60808301836128a0565b610689818360038601612994565b606081526000612af0606083018789612423565b8281036020840152612b03818688612423565b91505060ff831660408301529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612b76818460208701612160565b9190910192915050565b602081526000610cb2602083018461218456fe608060405234801561001057600080fd5b50611970806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b36600461144e565b61036c565b005b61017a6103ef565b604051610187919061148f565b60405180910390f35b6101a361019e3660046114c2565b610429565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046114ee565b610443565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a36102313660046114c2565b610483565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b6101706102693660046114c2565b6104a5565b6101b760fc5481565b6101706102853660046115d2565b6105ae565b610243610298366004611691565b610754565b6101b76102ab36600461144e565b6001600160a01b0316600090815260c9602052604090205490565b610170610761565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a610775565b6101706103083660046114c2565b610807565b6101a361031b3660046114c2565b610901565b61024361032e3660046116c6565b610987565b6101a36103413660046114c2565b610994565b6101b76103543660046116f2565b6109c9565b61017061036736600461144e565b6109f4565b610374610a6d565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b60606103f9610ac7565b61040460fc54610ad6565b60405160200161041592919061172b565b604051602081830303815290604052905090565b600033610437818585610b69565b60019150505b92915050565b6000306001600160a01b0384160361046e576040516319a6f37760e21b815260040160405180910390fd5b610479848484610c8e565b90505b9392505050565b60003361043781858561049683836109c9565b6104a09190611769565b610b69565b647461696b6f60d81b6a1c1c9bdd995c97dc1bdbdb60aa1b6a1d1bdad95b97dd985d5b1d60aa1b6104d7836001610987565b6001600160a01b0316336001600160a01b03161415801561051457506104fe826001610987565b6001600160a01b0316336001600160a01b031614155b801561053c5750610526816001610987565b6001600160a01b0316336001600160a01b031614155b1561055a57604051630d85cccf60e11b815260040160405180910390fd5b6105648585610ca7565b846001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858560405161059f91815260200190565b60405180910390a25050505050565b600054610100900460ff16158080156105ce5750600054600160ff909116105b806105e85750303b1580156105e8575060005460ff166001145b6106505760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610673576000805461ff0019166101001790555b6001600160a01b0386161580610687575084155b8061069157504685145b8061069b57508251155b806106a557508151155b156106c3576040516301e25ab360e71b815260040160405180910390fd5b6106cc87610d69565b6106d68284610d82565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff8616179055801561074b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6000610479848484610db3565b610769610a6d565b6107736000610e67565b565b606060cd80546107849061178a565b80601f01602080910402602001604051908101604052809291908181526020018280546107b09061178a565b80156107fd5780601f106107d2576101008083540402835291602001916107fd565b820191906000526020600020905b8154815290600101906020018083116107e057829003601f168201915b5050505050905090565b647461696b6f60d81b6a1c1c9bdd995c97dc1bdbdb60aa1b6a1d1bdad95b97dd985d5b1d60aa1b610839836001610987565b6001600160a01b0316336001600160a01b0316141580156108765750610860826001610987565b6001600160a01b0316336001600160a01b031614155b801561089e5750610888816001610987565b6001600160a01b0316336001600160a01b031614155b156108bc57604051630d85cccf60e11b815260040160405180910390fd5b6108c68585610eb9565b846001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58560405161059f91815260200190565b6000338161090f82866109c9565b90508381101561096f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610647565b61097c8286868403610b69565b506001949350505050565b600061047c468484610db3565b6000306001600160a01b038416036109bf576040516319a6f37760e21b815260040160405180910390fd5b61047c8383610fea565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6109fc610a6d565b6001600160a01b038116610a615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610647565b610a6a81610e67565b50565b6065546001600160a01b031633146107735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610647565b606060cc80546107849061178a565b60606000610ae383610ff8565b600101905060008167ffffffffffffffff811115610b0357610b0361152f565b6040519080825280601f01601f191660200182016040528015610b2d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610b3757509392505050565b6001600160a01b038316610bcb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610647565b6001600160a01b038216610c2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610647565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600033610c9c8582856110d0565b61097c85858561114a565b6001600160a01b038216610cfd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610647565b8060cb6000828254610d0f9190611769565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b610d716112f5565b610d79611324565b610a6a81611353565b600054610100900460ff16610da95760405162461bcd60e51b8152600401610647906117c4565b610d65828261139c565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610e04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e28919061180f565b905081158015610e3f57506001600160a01b038116155b1561047c57604051631467050360e21b81526004810185905260248101849052604401610647565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610f195760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610647565b6001600160a01b038216600090815260c9602052604090205481811015610f8d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610647565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610c81565b505050565b60003361043781858561114a565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106110375772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611063576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061108157662386f26fc10000830492506010015b6305f5e1008310611099576305f5e100830492506008015b61271083106110ad57612710830492506004015b606483106110bf576064830492506002015b600a831061043d5760010192915050565b60006110dc84846109c9565b9050600019811461114457818110156111375760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610647565b6111448484848403610b69565b50505050565b6001600160a01b0383166111ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610647565b6001600160a01b0382166112105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610647565b6001600160a01b038316600090815260c96020526040902054818110156112885760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610647565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e89086815260200190565b60405180910390a3611144565b600054610100900460ff1661131c5760405162461bcd60e51b8152600401610647906117c4565b6107736113dc565b600054610100900460ff1661134b5760405162461bcd60e51b8152600401610647906117c4565b610773611409565b6001600160a01b03811661137a57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166113c35760405162461bcd60e51b8152600401610647906117c4565b60cc6113cf838261187a565b5060cd610fe5828261187a565b600054610100900460ff166114035760405162461bcd60e51b8152600401610647906117c4565b60018055565b600054610100900460ff166114305760405162461bcd60e51b8152600401610647906117c4565b61077333610e67565b6001600160a01b0381168114610a6a57600080fd5b60006020828403121561146057600080fd5b813561047c81611439565b60005b8381101561148657818101518382015260200161146e565b50506000910152565b60208152600082518060208401526114ae81604085016020870161146b565b601f01601f19169190910160400192915050565b600080604083850312156114d557600080fd5b82356114e081611439565b946020939093013593505050565b60008060006060848603121561150357600080fd5b833561150e81611439565b9250602084013561151e81611439565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261155657600080fd5b813567ffffffffffffffff808211156115715761157161152f565b604051601f8301601f19908116603f011681019082821181831017156115995761159961152f565b816040528381528660208588010111156115b257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156115eb57600080fd5b86356115f681611439565b9550602087013561160681611439565b945060408701359350606087013560ff8116811461162357600080fd5b9250608087013567ffffffffffffffff8082111561164057600080fd5b61164c8a838b01611545565b935060a089013591508082111561166257600080fd5b5061166f89828a01611545565b9150509295509295509295565b8035801515811461168c57600080fd5b919050565b6000806000606084860312156116a657600080fd5b83359250602084013591506116bd6040850161167c565b90509250925092565b600080604083850312156116d957600080fd5b823591506116e96020840161167c565b90509250929050565b6000806040838503121561170557600080fd5b823561171081611439565b9150602083013561172081611439565b809150509250929050565b6000835161173d81846020880161146b565b6241c55b60e71b908301908152835161175d81600484016020880161146b565b01600401949350505050565b8082018082111561043d57634e487b7160e01b600052601160045260246000fd5b600181811c9082168061179e57607f821691505b6020821081036117be57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561182157600080fd5b815161047c81611439565b601f821115610fe557600081815260208120601f850160051c810160208610156118535750805b601f850160051c820191505b818110156118725782815560010161185f565b505050505050565b815167ffffffffffffffff8111156118945761189461152f565b6118a8816118a2845461178a565b8461182c565b602080601f8311600181146118dd57600084156118c55750858301515b600019600386901b1c1916600185901b178555611872565b600085815260208120601f198616915b8281101561190c578886015182559484019460019091019084016118ed565b508582101561192a5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b40c6ab2d2ac6f02bd81640104801f3a38058209c3426b02583ae83cd4f9626164736f6c63430008140033a264697066735822122051da8881de7c8127cafb93733e67495f9cf4eb99b2d5f043b163acb59a7c9c5c64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "TokenVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a90565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a90565b61032a565b34801561014057600080fd5b506100ed61014f366004610ac2565b610442565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af7565b6104fb565b3480156101b757600080fd5b506100ed610512565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b2c565b610526565b34801561020a57600080fd5b506100ed610219366004610b4f565b610533565b34801561022a57600080fd5b506100ed610239366004610b7b565b6105f1565b34801561024a57600080fd5b506100ed610259366004610a90565b610674565b34801561026a57600080fd5b50610297610279366004610a90565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106ea565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff161580801561034a5750600054600160ff909116105b806103645750303b158015610364575060005460ff166001145b6103cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103ef576000805461ff0019166101001790555b6103f882610744565b801561043e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61044a6106ea565b6001600160a01b038216158061047e57506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049c57604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b600061050884848461075d565b90505b9392505050565b61051a6106ea565b6105246000610811565b565b600061050b46848461075d565b33600090815260c9602052604090205460ff1661056357604051634fa3f24560e01b815260040160405180910390fd5b61056b610863565b6001600160a01b0382166105925760405163687563df60e01b815260040160405180910390fd5b6105a56001600160a01b038316826108bc565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105e091815260200190565b60405180910390a261043e60018055565b33600090815260c9602052604090205460ff1661062157604051634fa3f24560e01b815260040160405180910390fd5b610629610863565b61063333826108bc565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261067160018055565b50565b61067c6106ea565b6001600160a01b0381166106e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c3565b61067181610811565b6065546001600160a01b031633146105245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b61074c61097d565b6107546109ac565b610671816109db565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610b94565b9050811580156107e957506001600160a01b038116155b1561050b57604051631467050360e21b815260048101859052602481018490526044016103c3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b8015806108d057506001600160a01b038216155b156108d9575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610926576040519150601f19603f3d011682016040523d82523d6000602084013e61092b565b606091505b50509050806109725760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103c3565b505050565b60018055565b600054610100900460ff166109a45760405162461bcd60e51b81526004016103c390610bb1565b610524610a24565b600054610100900460ff166109d35760405162461bcd60e51b81526004016103c390610bb1565b610524610a4b565b6001600160a01b038116610a0257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109775760405162461bcd60e51b81526004016103c390610bb1565b600054610100900460ff16610a725760405162461bcd60e51b81526004016103c390610bb1565b61052433610811565b6001600160a01b038116811461067157600080fd5b600060208284031215610aa257600080fd5b813561050b81610a7b565b80358015158114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b8235610ae081610a7b565b9150610aee60208401610aad565b90509250929050565b600080600060608486031215610b0c57600080fd5b8335925060208401359150610b2360408501610aad565b90509250925092565b60008060408385031215610b3f57600080fd5b82359150610aee60208401610aad565b60008060408385031215610b6257600080fd5b8235610b6d81610a7b565b946020939093013593505050565b600060208284031215610b8d57600080fd5b5035919050565b600060208284031215610ba657600080fd5b815161050b81610a7b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220d1f620816e429aef5462d90b937779e4a09a43cf61a7434dba633ff2bfa8098364736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a18565b6101e0565b005b6100cc6100dc366004611a18565b610263565b6100f46100ef366004611a35565b61037b565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a61565b6103ed565b61015461014f366004611af7565b61055d565b604051908152602001610100565b610116610170366004611b25565b6105a2565b6100cc6105b9565b6065546001600160a01b0316610116565b61011661019c366004611b5a565b6105cd565b6100cc6101af366004611a18565b6105da565b6101546101c2366004611a35565b6040805192835260208301919091526034600c830120918101905290565b6101e8610653565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156102835750600054600160ff909116105b8061029d5750303b15801561029d575060005460ff166001145b6103055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610328576000805461ff0019166101001790555b610331826106ad565b8015610377576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006001600160a01b0383166103a4576040516354cdfc8d60e11b815260040160405180910390fd5b60008290036103c65760405163014f1da760e21b815260040160405180910390fd5b5060408051838152602081018390526034600c820120908201909152546001145b92915050565b600046860361040f5760405163e822b48d60e01b815260040160405180910390fd5b6001600160a01b038516610436576040516354cdfc8d60e11b815260040160405180910390fd5b60008490036104585760405163014f1da760e21b815260040160405180910390fd5b600061046683850185611bf6565b9050600061047d647461696b6f60d81b60006105cd565b8251604051632e24533960e21b81526001600160a01b03929092169163b8914ce4916104af9160040190815260200190565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190611cbd565b60408051898152602081018990526034600c820120818301909252606081019190915290915061055190608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106c6565b98975050505050505050565b600081810361057f5760405163014f1da760e21b815260040160405180910390fd5b506040805133815260208101929092526034600c83012091810190526001815590565b60006105af8484846106ea565b90505b9392505050565b6105c1610653565b6105cb600061079e565b565b60006105b24684846106ea565b6105e2610653565b6001600160a01b0381166106475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102fc565b6106508161079e565b50565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102fc565b6106b56107f0565b6106bd61081f565b6106508161084e565b6000806106d286610897565b90506106e0818686866108c9565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611cd6565b90508115801561077657506001600160a01b038116155b156105b257604051631467050360e21b815260048101859052602481018490526044016102fc565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108175760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610906565b600054610100900460ff166108465760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610933565b6001600160a01b03811661087557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108b391815260200190565b6040516020818303038152906040529050919050565b60008060006108d9878686610963565b915091508180156108fb57508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff1661092d5760405162461bcd60e51b81526004016102fc90611cf3565b60018055565b600054610100900460ff1661095a5760405162461bcd60e51b81526004016102fc90611cf3565b6105cb3361079e565b60006060600061097285610a3e565b90506000806000610984848a89610b37565b815192955090935091501580806109985750815b6109e45760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102fc565b600081610a005760405180602001604052806000815250610a2c565b610a2c86610a0f600188611d54565b81518110610a1f57610a1f611d67565b6020026020010151610f57565b919b919a509098505050505050505050565b60606000610a4b83610f7e565b90506000815167ffffffffffffffff811115610a6957610a69611b86565b604051908082528060200260200182016040528015610aae57816020015b6040805180820190915260608082526020820152815260200190600190039081610a875790505b50905060005b8251811015610b2f576000610ae1848381518110610ad457610ad4611d67565b6020026020010151610fb1565b90506040518060400160405280610af783610f7e565b815260200182815250838381518110610b1257610b12611d67565b60200260200101819052505080610b2890611d7d565b9050610ab4565b509392505050565b600060606000806000610b4987611041565b90506000869050600080610b70604051806040016040528060608152602001606081525090565b60005b8c51811015610f2f578c8181518110610b8e57610b8e611d67565b602002602001015191508284610ba49190611d96565b9350610bb1600188611d96565b965083600003610c0e578482602001518051906020012014610c095760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102fc565b610cd0565b602082602001515110610c75578482602001518051906020012014610c095760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102fc565b84610c83836020015161117a565b14610cd05760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102fc565b610cdc60106001611da9565b60ff1682600001515103610d4a5785518414610f2f576000868581518110610d0657610d06611d67565b01602001518351805160f89290921c925060009183908110610d2a57610d2a611d67565b60200260200101519050610d3d816111a2565b9650600194505050610f1f565b81515160011901610ed7576000610d60836111d8565b9050600081600081518110610d7757610d77611d67565b016020015160f81c90506000610d8e600283611dc2565b610d99906002611df2565b90506000610daa848360ff166111fc565b90506000610db88b8a6111fc565b90506000610dc68383611232565b905060ff851660021480610ddd575060ff85166003145b15610e1757808351148015610df25750808251145b15610e0457610e01818b611d96565b99505b50600160ff1b9950610f2f945050505050565b60ff85161580610e2a575060ff85166001145b15610e805782518114610e4a5750600160ff1b9950610f2f945050505050565b610e718860000151600181518110610e6457610e64611d67565b60200260200101516111a2565b9a509750610f1f945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102fc565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102fc565b610f2881611d7d565b9050610b73565b50600160ff1b841486610f4287866111fc565b909e909d50909b509950505050505050505050565b805180516060916103e791610f6e90600190611d54565b81518110610ad457610ad4611d67565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906103e7906112ac565b60606000806000610fc185611498565b919450925090506000816001811115610fdc57610fdc611e0b565b146110295760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102fc565b611038856020015184846117e2565b95945050505050565b60606000825160026110539190611e21565b67ffffffffffffffff81111561106b5761106b611b86565b6040519080825280601f01601f191660200182016040528015611095576020820181803683370190505b50905060005b83518110156111735760048482815181106110b8576110b8611d67565b01602001516001600160f81b031916901c826110d5836002611e21565b815181106110e5576110e5611d67565b60200101906001600160f81b031916908160001a905350601084828151811061111057611110611d67565b0160200151611122919060f81c611dc2565b60f81b82611131836002611e21565b61113c906001611d96565b8151811061114c5761114c611d67565b60200101906001600160f81b031916908160001a90535061116c81611d7d565b905061109b565b5092915050565b600060208251101561118e57506020015190565b818060200190518101906103e79190611cbd565b600060606020836000015110156111c3576111bc8361188b565b90506111cf565b6111cc83610fb1565b90505b6105b28161117a565b60606103e76111f78360000151600081518110610ad457610ad4611d67565b611041565b60608251821061121b57506040805160208101909152600081526103e7565b6105b2838384865161122d9190611d54565b611896565b6000805b8084511180156112465750808351115b8015611297575082818151811061125f5761125f611d67565b602001015160f81c60f81b6001600160f81b03191684828151811061128657611286611d67565b01602001516001600160f81b031916145b156105b2576112a581611d7d565b9050611236565b60606000806112ba84611498565b919350909150600190508160018111156112d6576112d6611e0b565b146113235760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102fc565b6040805160208082526104208201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908161133c5790505090506000835b865181101561148d57602082106113d55760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102fc565b6000806114126040518060400160405280858c600001516113f69190611d54565b8152602001858c6020015161140b9190611d96565b9052611498565b50915091506040518060400160405280838361142e9190611d96565b8152602001848b602001516114439190611d96565b81525085858151811061145857611458611d67565b602090810291909101015261146e600185611d96565b935061147a8183611d96565b6114849084611d96565b92505050611369565b508152949350505050565b6000806000808460000151116114f05760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102fc565b6020840151805160001a607f81116115155760006001600094509450945050506117db565b60b7811161159157600061152a608083611d54565b90508087600001511161157f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102fc565b600195509350600092506117db915050565b60bf81116116805760006115a660b783611d54565b9050808760000151116115fb5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102fc565b600183015160208290036101000a90046116158183611d96565b8851116116645760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102fc565b61166f826001611d96565b96509450600093506117db92505050565b60f781116116fb57600061169560c083611d54565b9050808760000151116116ea5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102fc565b6001955093508492506117db915050565b600061170860f783611d54565b90508087600001511161175d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102fc565b600183015160208290036101000a90046117778183611d96565b8851116117bf5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102fc565b6117ca826001611d96565b96509450600193506117db92505050565b9193909250565b606060008267ffffffffffffffff8111156117ff576117ff611b86565b6040519080825280601f01601f191660200182016040528015611829576020820181803683370190505b509050805160000361183c5790506105b2565b8484016020820160005b8581101561185e578281015182820152602001611846565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606103e7826119ed565b6060816118a481601f611d96565b10156118e35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b826118ee8382611d96565b101561192d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b6119378284611d96565b8451101561197b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102fc565b60608215801561199a57604051915060008252602082016040526119e4565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119d35780518352602092830192016119bb565b5050858452601f01601f1916604052505b50949350505050565b60606103e78260200151600084600001516117e2565b6001600160a01b038116811461065057600080fd5b600060208284031215611a2a57600080fd5b81356105b281611a03565b60008060408385031215611a4857600080fd5b8235611a5381611a03565b946020939093013593505050565b600080600080600060808688031215611a7957600080fd5b853594506020860135611a8b81611a03565b935060408601359250606086013567ffffffffffffffff80821115611aaf57600080fd5b818801915088601f830112611ac357600080fd5b813581811115611ad257600080fd5b896020828501011115611ae457600080fd5b9699959850939650602001949392505050565b600060208284031215611b0957600080fd5b5035919050565b80358015158114611b2057600080fd5b919050565b600080600060608486031215611b3a57600080fd5b8335925060208401359150611b5160408501611b10565b90509250925092565b60008060408385031215611b6d57600080fd5b82359150611b7d60208401611b10565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bbf57611bbf611b86565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611b86565b604052919050565b60006020808385031215611c0957600080fd5b823567ffffffffffffffff80821115611c2157600080fd5b9084019060408287031215611c3557600080fd5b611c3d611b9c565b823581528383013582811115611c5257600080fd5b80840193505086601f840112611c6757600080fd5b823582811115611c7957611c79611b86565b611c8b601f8201601f19168601611bc5565b92508083528785828601011115611ca157600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ccf57600080fd5b5051919050565b600060208284031215611ce857600080fd5b81516105b281611a03565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e7576103e7611d3e565b634e487b7160e01b600052603260045260246000fd5b600060018201611d8f57611d8f611d3e565b5060010190565b808201808211156103e7576103e7611d3e565b60ff81811683821601908111156103e7576103e7611d3e565b600060ff831680611de357634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156103e7576103e7611d3e565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176103e7576103e7611d3e56fea2646970667358221220727b3b71bb6428f2b0ff827ceeabefd08ed4c1ffd6ad882c5d137fbe8f96be8064736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220caef1c2a647344b8936c2def885861b955c9b56ccb762c5243ac8ec49af2096f64736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x5de52a798624bd714aafa39067b28145e3708f46d26ac1d8a415c99cb44977ab": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x29f6d6ec0904737d43c119104bcf9427181549a0e10faeefa218e436001011fd": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/grimsvotn.json taikoxyz/taiko-geth/core/taiko_genesis/grimsvotn.json new file mode 100644 index 0000000000000000000000000000000000000000..b9932a22f1e7129e1a440f3b03188014a36f4998 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/grimsvotn.json @@ -0,0 +1,164 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x09d4121CD4123F039390c7f5e99b15BED5e07222": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9E5da4B6D25Ee5A68aa8c29B6B87C82f7F463893": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x5075901Fdd1d57Ca754472cb94967f564bA7dc6E": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063a54274621461003a575b600080fd5b61004d61004836600461173e565b610061565b604051901515815260200160405180910390f35b600080806100718486018661188e565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610184565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101ad565b9050600061013c8260028151811061012f5761012f6118f2565b60200260200101516101e6565b90506101738b60405160200161015491815260200190565b60405160208183030381529060405261016c8c6102e9565b87846102fc565b9d9c50505050505050505050505050565b60006060600061019386610316565b90506101a0818686610348565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101e090610423565b92915050565b600060218260000151111561023d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061024b8561060f565b91945092509050600081600181111561026657610266611908565b146102b35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516102c59190611934565b805190915060208410156102df5760208490036101000a90045b9695505050505050565b60606101e06102f783610959565b610a8d565b60008061030886610316565b90506102df81868686610afc565b6060818051906020012060405160200161033291815260200190565b6040516020818303038152906040529050919050565b60006060600061035785610b39565b90506000806000610369848a89610c32565b8151929550909350915015808061037d5750815b6103c95760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816103e55760405180602001604052806000815250610411565b610411866103f4600188611947565b81518110610404576104046118f2565b6020026020010151611052565b919b919a509098505050505050505050565b60606000806104318461060f565b9193509091506001905081600181111561044d5761044d611908565b1461049a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104b35790505090506000835b8651811015610604576020821061054c5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610101565b6000806105896040518060400160405280858c6000015161056d9190611947565b8152602001858c602001516105829190611934565b905261060f565b5091509150604051806040016040528083836105a59190611934565b8152602001848b602001516105ba9190611934565b8152508585815181106105cf576105cf6118f2565b60209081029190910101526105e5600185611934565b93506105f18183611934565b6105fb9084611934565b925050506104e0565b508152949350505050565b6000806000808460000151116106675760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f811161068c576000600160009450945094505050610952565b60b781116107085760006106a1608083611947565b9050808760000151116106f65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b60019550935060009250610952915050565b60bf81116107f757600061071d60b783611947565b9050808760000151116107725760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a900461078c8183611934565b8851116107db5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b6107e6826001611934565b965094506000935061095292505050565b60f7811161087257600061080c60c083611947565b9050808760000151116108615760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b600195509350849250610952915050565b600061087f60f783611947565b9050808760000151116108d45760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046108ee8183611934565b8851116109365760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610101565b610941826001611934565b965094506001935061095292505050565b9193909250565b606060008260405160200161097091815260200190565b604051602081830303815290604052905060005b60208110156109c55781818151811061099f5761099f6118f2565b01602001516001600160f81b0319166000036109c5576109be8161195a565b9050610984565b60006109d2826020611947565b67ffffffffffffffff8111156109ea576109ea6117eb565b6040519080825280601f01601f191660200182016040528015610a14576020820181803683370190505b50905060005b8151811015610a84578383610a2e8161195a565b945081518110610a4057610a406118f2565b602001015160f81c60f81b828281518110610a5d57610a5d6118f2565b60200101906001600160f81b031916908160001a905350610a7d8161195a565b9050610a1a565b50949350505050565b60608082516001148015610abb5750608083600081518110610ab157610ab16118f2565b016020015160f81c105b15610ac75750816101e0565b610ad383516080611079565b83604051602001610ae59291906119a3565b604051602081830303815290604052905092915050565b6000806000610b0c878686610348565b91509150818015610b2e57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b46836101ad565b90506000815167ffffffffffffffff811115610b6457610b646117eb565b604051908082528060200260200182016040528015610ba957816020015b6040805180820190915260608082526020820152815260200190600190039081610b825790505b50905060005b8251811015610c2a576000610bdc848381518110610bcf57610bcf6118f2565b6020026020010151611223565b90506040518060400160405280610bf2836101ad565b815260200182815250838381518110610c0d57610c0d6118f2565b60200260200101819052505080610c239061195a565b9050610baf565b509392505050565b600060606000806000610c44876112b3565b90506000869050600080610c6b604051806040016040528060608152602001606081525090565b60005b8c5181101561102a578c8181518110610c8957610c896118f2565b602002602001015191508284610c9f9190611934565b9350610cac600188611934565b965083600003610d09578482602001518051906020012014610d045760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610101565b610dcb565b602082602001515110610d70578482602001518051906020012014610d045760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610d7e83602001516113ec565b14610dcb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610dd7601060016119c0565b60ff1682600001515103610e45578551841461102a576000868581518110610e0157610e016118f2565b01602001518351805160f89290921c925060009183908110610e2557610e256118f2565b60200260200101519050610e3881611414565b965060019450505061101a565b81515160011901610fd2576000610e5b8361144a565b9050600081600081518110610e7257610e726118f2565b016020015160f81c90506000610e896002836119ef565b610e94906002611a11565b90506000610ea5848360ff1661146e565b90506000610eb38b8a61146e565b90506000610ec183836114a4565b905060ff851660021480610ed8575060ff85166003145b15610f1257808351148015610eed5750808251145b15610eff57610efc818b611934565b99505b50600160ff1b995061102a945050505050565b60ff85161580610f25575060ff85166001145b15610f7b5782518114610f455750600160ff1b995061102a945050505050565b610f6c8860000151600181518110610f5f57610f5f6118f2565b6020026020010151611414565b9a50975061101a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b6110238161195a565b9050610c6e565b50600160ff1b84148661103d878661146e565b909e909d50909b509950505050505050505050565b805180516060916101e09161106990600190611947565b81518110610bcf57610bcf6118f2565b60608060388410156110e057604080516001808252818301909252906020820181803683370190505090506110ae83856119c0565b60f81b816000815181106110c4576110c46118f2565b60200101906001600160f81b031916908160001a90535061121c565b600060015b6110ef8187611a2a565b15611112576110fd8261195a565b915061110b61010082611a3e565b90506110e5565b61111d826001611934565b67ffffffffffffffff811115611135576111356117eb565b6040519080825280601f01601f19166020018201604052801561115f576020820181803683370190505b50925061116c85836119c0565b6111779060376119c0565b60f81b8360008151811061118d5761118d6118f2565b60200101906001600160f81b031916908160001a905350600190505b818111611219576101006111bd8284611947565b6111c990610100611b39565b6111d39088611a2a565b6111dd9190611b45565b60f81b8382815181106111f2576111f26118f2565b60200101906001600160f81b031916908160001a9053506112128161195a565b90506111a9565b50505b9392505050565b606060008060006112338561060f565b91945092509050600081600181111561124e5761124e611908565b1461129b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b6112aa8560200151848461151e565b95945050505050565b60606000825160026112c59190611a3e565b67ffffffffffffffff8111156112dd576112dd6117eb565b6040519080825280601f01601f191660200182016040528015611307576020820181803683370190505b50905060005b83518110156113e557600484828151811061132a5761132a6118f2565b01602001516001600160f81b031916901c82611347836002611a3e565b81518110611357576113576118f2565b60200101906001600160f81b031916908160001a9053506010848281518110611382576113826118f2565b0160200151611394919060f81c6119ef565b60f81b826113a3836002611a3e565b6113ae906001611934565b815181106113be576113be6118f2565b60200101906001600160f81b031916908160001a9053506113de8161195a565b905061130d565b5092915050565b600060208251101561140057506020015190565b818060200190518101906101e09190611b59565b600060606020836000015110156114355761142e836115c7565b9050611441565b61143e83611223565b90505b61121c816113ec565b60606101e06114698360000151600081518110610bcf57610bcf6118f2565b6112b3565b60608251821061148d57506040805160208101909152600081526101e0565b61121c838384865161149f9190611947565b6115d2565b6000805b8084511180156114b85750808351115b801561150957508281815181106114d1576114d16118f2565b602001015160f81c60f81b6001600160f81b0319168482815181106114f8576114f86118f2565b01602001516001600160f81b031916145b1561121c576115178161195a565b90506114a8565b606060008267ffffffffffffffff81111561153b5761153b6117eb565b6040519080825280601f01601f191660200182016040528015611565576020820181803683370190505b509050805160000361157857905061121c565b8484016020820160005b8581101561159a578281015182820152602001611582565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101e082611728565b6060816115e081601f611934565b101561161f5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b8261162a8382611934565b10156116695760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610101565b6116738284611934565b845110156116b75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610101565b6060821580156116d65760405191506000825260208201604052610a84565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561170f5780518352602092830192016116f7565b5050858452601f01601f19166040525050949350505050565b60606101e082602001516000846000015161151e565b60008060008060008060a0878903121561175757600080fd5b8635955060208701356001600160a01b038116811461177557600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff808211156117a057600080fd5b818901915089601f8301126117b457600080fd5b8135818111156117c357600080fd5b8a60208285010111156117d557600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261181257600080fd5b813567ffffffffffffffff8082111561182d5761182d6117eb565b604051601f8301601f19908116603f01168101908282118183101715611855576118556117eb565b8160405283815286602085880101111561186e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156118a157600080fd5b823567ffffffffffffffff808211156118b957600080fd5b6118c586838701611801565b935060208501359150808211156118db57600080fd5b506118e885828601611801565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101e0576101e061191e565b818103818111156101e0576101e061191e565b60006001820161196c5761196c61191e565b5060010190565b6000815160005b81811015611994576020818501810151868301520161197a565b50600093019283525090919050565b60006119b86119b28386611973565b84611973565b949350505050565b60ff81811683821601908111156101e0576101e061191e565b634e487b7160e01b600052601260045260246000fd5b600060ff831680611a0257611a026119d9565b8060ff84160691505092915050565b60ff82811682821603908111156101e0576101e061191e565b600082611a3957611a396119d9565b500490565b80820281158282048414176101e0576101e061191e565b600181815b80851115611a90578160001904821115611a7657611a7661191e565b80851615611a8357918102915b93841c9390800290611a5a565b509250929050565b600082611aa7575060016101e0565b81611ab4575060006101e0565b8160018114611aca5760028114611ad457611af0565b60019150506101e0565b60ff841115611ae557611ae561191e565b50506001821b6101e0565b5060208310610133831016604e8410600b8410161715611b13575081810a6101e0565b611b1d8383611a55565b8060001904821115611b3157611b3161191e565b029392505050565b600061121c8383611a98565b600082611b5457611b546119d9565b500690565b600060208284031215611b6b57600080fd5b505191905056fea264697066735822122067ddb2e3690f84d93d1a412860f6a463049c890e3ec168676bae8e8dc7ae3f3764736f6c63430008120033", + "balance": "0x0" + }, + "0x032847A8Cdd4487f83705f8D702743b60029AFDD": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220beb5d00868487ae13b8103480d5057ef120c70dcf0a0b13d4d29fb292e8aad5764736f6c63430008120033", + "balance": "0x0" + }, + "0x3e55D64323AD7E3287aa283475903D3fb3cA5098": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d80093ff59f040f5928ff201a3c212fa752b2ff8e0aea20a97ac0325ba978abb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051633baa901360e21b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220c5f7d4557009ba7141b3cd005aecb51648d30e5868346d5747a6722064e5e73664736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xfeaa72fcc59acba6371da88141d071c9993f23312f54395296e3d9e5d39f0056": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x92fbb82d3d87ec735ae0893053f892b13be008dae0d966d083fc63772a95a170": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0x2d89f514e5eeed612cd92d7cbfb188ecb4896b21769ef98030d34bcdb4c94bd9": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0xc783d6d711f5c3d107daed8026e2089323b4661d3f4f92208071f4addcb75352": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0xe4e56c450eba5c80504ff288920951a9da92b61b66c227cf06a8edb6e2edb548": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638f3ca30d116100b8578063c7b969081161007c578063c7b96908146102f5578063dac5df781461030f578063e1848cb014610318578063ee82ac5e1461032b578063f2fde38b1461033e578063f535bd561461035157600080fd5b80638f3ca30d146102905780639ee512f2146102a3578063a86f9d9e146102bc578063b8914ce4146102cf578063bacb386d146102e257600080fd5b8063539b8ade116100ff578063539b8ade14610207578063591aad8a146102325780636c6563f614610264578063715018a6146102775780638da5cb5b1461027f57600080fd5b80630652b57a1461013c57806310da3738146101515780633ab76e9f1461018b5780633d384a4b146101b05780634e755573146101c3575b600080fd5b61014f61014a3660046116d2565b61036b565b005b6101787f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b6040519081526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610182565b61014f6101be366004611706565b6103ee565b6101cb61065e565b6040805182516001600160801b031681526020808401516001600160401b03908116918301919091529282015190921690820152606001610182565b60cd5461021a906001600160401b031681565b6040516001600160401b039091168152602001610182565b61024561024036600461174c565b6106be565b6040805160ff9094168452602084019290925290820152606001610182565b610198610272366004611792565b6108f9565b61014f610910565b6065546001600160a01b0316610198565b61014f61029e3660046117c7565b610924565b61019871777735367b36bc9b61c50022d9d0700db4ec81565b6101986102ca366004611808565b610ce0565b6101786102dd366004611834565b610cf6565b6101786102f0366004611834565b610d32565b60cd5461021a90600160401b90046001600160401b031681565b61017860cb5481565b61017861032636600461184d565b610d6b565b610178610339366004611834565b610d8f565b61014f61034c3660046116d2565b610ddc565b60cd5461021a90600160801b90046001600160401b031681565b610373610e55565b6001600160a01b03811661039a57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b3371777735367b36bc9b61c50022d9d0700db4ec1461042057604051636494e9f760e01b815260040160405180910390fd5b600061042d6001436118a8565b9050804060008061043d84610eaf565b915091508160cb54146104765760cb54604051636340d9fb60e11b81526004810191909152602481018390526044015b60405180910390fd5b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527f7528bbd1cef0e5d13408706892a51ee8ef82bbf33d4ec0c37216f8beba71205b910160405180910390a260008061052b61065e565b905080604001516001600160401b03166000146105935760cd5461056590829061055e906001600160401b0316426118a8565b458a610f42565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b8148146105c657604051634083acad60e01b81526001600160401b0380841660048301524816602482015260440161046d565b60cd805467ffffffffffffffff1916426001600160401b03908116918217909255604080514384168152858416602082015245909316908301526060820152608081018690524460a08201524160c082015263ffffffff461660e08201527f4dcb01f99c4a2c27a16ab38d00ec92434f8231be81fa62e058f260d3c7156029906101000160405180910390a150505050505050505050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b03811682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b60008060008360ff166001141580156106db57508360ff16600214155b156106f95760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff1660011461072a577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561074c565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff16600114610781577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186107a3565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff166001146107d8577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f26107fa565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036108345761082d8282600170014551231950b75fc4402da1732fc9bebe19610fde565b92506108a3565b61087c7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16108778484600170014551231950b75fc4402da1732fc9bebe19610fde565b61102d565b90925090506108a08282600170014551231950b75fc4402da1732fc9bebe19610fde565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156108f0576108e78370014551231950b75fc4402da1732fc9bebe196118a8565b92506001851894505b50509250925092565b600061090684848461104c565b90505b9392505050565b610918610e55565b6109226000611100565b565b600054610100900460ff16158080156109445750600054600160ff909116105b8061095e5750303b15801561095e575060005460ff166001145b6109c15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161046d565b6000805460ff1916600117905580156109e4576000805461ff0019166101001790555b6001461115806109f8575063ffffffff4610155b15610a16576040516306cffa2760e01b815260040160405180910390fd5b6001431115610a3857604051635a0f9e4160e11b815260040160405180910390fd5b610a4860408301602084016118bb565b6001600160401b031615610c3c57610a6360208301836118bb565b6001600160401b03161580610a8e5750610a8360608301604084016118bb565b6001600160401b0316155b80610aaf5750610aa460808301606084016118bb565b6001600160401b0316155b80610ad05750610ac560a08301608084016118bb565b6001600160401b0316155b15610aee57604051639cc448b560e01b815260040160405180910390fd5b600080610b36610b0460608601604087016118bb565b610b1160208701876118bb565b610b2160808801606089016118bb565b610b3160a0890160808a016118bb565b611152565b91509150816001600160801b031660001480610b6257506001600160401b036001600160801b03831610155b80610b7457506001600160801b038116155b15610b9257604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b03841617179055610bd060408501602086016118bb565b60cc80546001600160401b0392909216600160c01b026001600160c01b039092169190911790556002610c0960608601604087016118bb565b610c1391906118ec565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610c6183611251565b610c6a43610eaf565b5060cb554315610c95576000610c816001436118a8565b600081815260c96020526040902090409055505b8015610cdb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610ced46848461104c565b90505b92915050565b6000808215610d055782610d19565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020600101549392505050565b6000808215610d415782610d55565b60cd54600160401b90046001600160401b03165b600090815260ca60205260409020549392505050565b6000610d86610d7861065e565b8563ffffffff168585610f42565b50949350505050565b6000438210610da057506000919050565b4382108015610dba5750610db6610100436118a8565b8210155b15610dc457504090565b50600090815260c9602052604090205490565b919050565b610de4610e55565b6001600160a01b038116610e495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046d565b610e5281611100565b50565b6065546001600160a01b031633146109225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046d565b600080610eba61169d565b60005b60ff81108015610ed05750806001018510155b15610f02576000198186030180408360ff83066101008110610ef457610ef4611912565b602002015250600101610ebd565b5046611fe082015261200081209250834081610f1f60ff87611928565b6101008110610f3057610f30611912565b60200201526120009020919391925050565b600080806202bf206001600160401b03851611610f60576000610f67565b6202bf2084035b60cd546040890151919250600160801b90046001600160401b0390811681841601918116880290610fa49082610f9d858261126a565b0390611280565b9350505050610fc686602001516001600160401b031687600001518387611295565b915081600003610fd557600191505b94509492505050565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa61102357600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c1919061193c565b9050811580156110d857506001600160a01b038116155b1561090957604051631467050360e21b8152600481018590526024810184905260440161046d565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080856001600160401b031660000361116e5761116e611959565b600061117b6002886118ec565b90506111996001600160401b038816680755bf798b4a1bf1e461196f565b92506111b86111b384886001600160401b03168489611295565b611354565b915060006111c884848489611295565b905060006111e28585856111dd8b6002611989565b611295565b90506000826111f3836127106119b4565b6111fd91906119cb565b9050806001600160401b0316876001600160401b031614611244576040516331c2ec2360e21b81526001600160401b0380891660048301528216602482015260440161046d565b5050505094509492505050565b6112596113c1565b6112616113f0565b610e528161141f565b60008183116112795781610ced565b5090919050565b600081831161128f5782610ced565b50919050565b60006001600160801b038516158015906112b757506001600160801b03841615155b6112c3576112c3611959565b60006001600160401b038316156112da57826112dd565b60015b905060006112f4856001600160401b031688611468565b9050600061131461130584886119df565b6001600160401b031689611468565b90506001600160801b0387166001600160401b03841661133484846118a8565b61133e91906119cb565b61134891906119cb565b98975050505050505050565b60006001600160801b038211156113bd5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161046d565b5090565b600054610100900460ff166113e85760405162461bcd60e51b815260040161046d90611a06565b6109226114ba565b600054610100900460ff166114175760405162461bcd60e51b815260040161046d90611a06565b6109226114e7565b6001600160a01b03811661144657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008061147e6001600160801b038416856119b4565b9050680755bf798b4a1bf1e481106114a9576040516372de381d60e01b815260040160405180910390fd5b6114b281611517565b949350505050565b600054610100900460ff166114e15760405162461bcd60e51b815260040161046d90611a06565b60018055565b600054610100900460ff1661150e5760405162461bcd60e51b815260040161046d90611a06565b61092233611100565b6000680248ce36a70cb26b3e19821361153257506000919050565b680755bf798b4a1bf1e5821261155b57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b6d2c06887d92262d378b9593af35346c09791803c2923d5d9721c3da80929091056001605f1b0190921d6bb17217f7d1cf79abc9e3b39881029095039081018102606090811d6d019dd9374d4315c8464a395fc09881016c1bff318b126baa436ea9aeaffd19840102821d93840193016d29c9ad45cc0beb0a2ff097a7bab40192909202821d6dcf3c27b2e487711b467e90f19320016c22fcd1cffa6fa000f6e27eeca082018202831d6d022f98fbc368092c79210d196fa0018202831d6d13aaae3ba38de06adc25ebfacc0901820290921d6d624dcbeb5e25df590e409325888a01026d360d7aeea093263ec6495851bd9760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b6001600160a01b0381168114610e5257600080fd5b6000602082840312156116e457600080fd5b8135610909816116bd565b80356001600160401b0381168114610dd757600080fd5b6000806000806080858703121561171c57600080fd5b8435935060208501359250611733604086016116ef565b9150611741606086016116ef565b905092959194509250565b6000806040838503121561175f57600080fd5b82359150602083013560ff8116811461177757600080fd5b809150509250929050565b80358015158114610dd757600080fd5b6000806000606084860312156117a757600080fd5b83359250602084013591506117be60408501611782565b90509250925092565b60008082840360c08112156117db57600080fd5b83356117e6816116bd565b925060a0601f19820112156117fa57600080fd5b506020830190509250929050565b6000806040838503121561181b57600080fd5b8235915061182b60208401611782565b90509250929050565b60006020828403121561184657600080fd5b5035919050565b60008060006060848603121561186257600080fd5b833563ffffffff8116811461187657600080fd5b9250611884602085016116ef565b91506117be604085016116ef565b634e487b7160e01b600052601160045260246000fd5b81810381811115610cf057610cf0611892565b6000602082840312156118cd57600080fd5b610ced826116ef565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680611906576119066118d6565b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b600082611937576119376118d6565b500690565b60006020828403121561194e57600080fd5b8151610909816116bd565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b0380841680611906576119066118d6565b6001600160401b038181168382160280821691908281146119ac576119ac611892565b505092915050565b8082028115828204841417610cf057610cf0611892565b6000826119da576119da6118d6565b500490565b6001600160401b038181168382160190808211156119ff576119ff611892565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212203890f26859c50d4bcb2990b86955150cc1db102725f3e4bc015ad2ec3f168ef764736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0xdec49b32a269dacf8af649c78ad8106484a218de96500f2e3cae7afa7871599b", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x00000000001e8480000000022a83d6720000001c43c970ab8e4d088428ca4b6f", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x000000000000000000000001b171ea0000000000000000000000000064707075", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063bac443e21161006f578063bac443e21461041b578063ce70f39b1461043b578063d0496d6a1461045b578063f2fde38b146104ca578063f9803919146104ea578063fee99b221461050a57600080fd5b8063715018a6146103955780638da5cb5b146103aa57806396e17852146103c8578063a4444efd146103db578063a86f9d9e146103fb57600080fd5b8063540be6a3116100f2578063540be6a3146102e75780635817b0c3146103075780635d0bd98614610335578063606b5b74146103555780636c6563f61461037557600080fd5b80630652b57a1461020357806319ab453c14610223578063343b643c146102435780633ab76e9f146102885780635075a9d4146102ba57600080fd5b366101fe5761014c6a1d1bdad95b97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b03161415801561019757506101816a195d1a195c97dd985d5b1d60aa1b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101c757506101b1647461696b6f60d81b600161052a565b6001600160a01b0316336001600160a01b031614155b80156101de57506065546001600160a01b03163314155b156101fc576040516345dd044560e11b815260040160405180910390fd5b005b600080fd5b34801561020f57600080fd5b506101fc61021e366004612b75565b610540565b34801561022f57600080fd5b506101fc61023e366004612b75565b6105c3565b34801561024f57600080fd5b5061027361025e366004612b92565b600090815260cd602052604090205460ff1690565b60405190151581526020015b60405180910390f35b34801561029457600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200161027f565b3480156102c657600080fd5b506102da6102d5366004612b92565b6106db565b60405161027f9190612be3565b3480156102f357600080fd5b50610273610302366004612b92565b6106e6565b34801561031357600080fd5b50610327610322366004612c0a565b6106f2565b60405190815260200161027f565b34801561034157600080fd5b50610273610350366004612b92565b610705565b34801561036157600080fd5b50610327610370366004612b92565b610718565b34801561038157600080fd5b506102a2610390366004612c4c565b610723565b3480156103a157600080fd5b506101fc61073a565b3480156103b657600080fd5b506065546001600160a01b03166102a2565b6103276103d6366004612c0a565b61074e565b3480156103e757600080fd5b506102736103f6366004612ccd565b61077c565b34801561040757600080fd5b506102a2610416366004612d1f565b61052a565b34801561042757600080fd5b506101fc610436366004612d4f565b610794565b34801561044757600080fd5b50610273610456366004612ccd565b6107b8565b34801561046757600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc54938701938452865192835251169381019390935251928201929092520161027f565b3480156104d657600080fd5b506101fc6104e5366004612b75565b6107c7565b3480156104f657600080fd5b506101fc610505366004612db7565b610840565b34801561051657600080fd5b506101fc610525366004612d4f565b61085e565b6000610537468484610874565b90505b92915050565b610548610928565b6001600160a01b03811661056f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156105e35750600054600160ff909116105b806105fd5750303b1580156105fd575060005460ff166001145b6106655760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610688576000805461ff0019166101001790555b61069182610982565b80156106d7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061053a8261099b565b600061053a30836109c6565b600061053a61070083612f0d565b610aa7565b60006107113083610ad7565b5092915050565b600061053a82610b60565b6000610730848484610874565b90505b9392505050565b610742610928565b61074c6000610b9b565b565b6000610758610bed565b61076c60c93061076785612f0d565b610c46565b905061077760018055565b919050565b600061078b3086868686610f27565b95945050505050565b61079c610bed565b6107aa60c93085858561108a565b6107b360018055565b505050565b600061078b308686868661137b565b6107cf610928565b6001600160a01b0381166108345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b61083d81610b9b565b50565b610848610bed565b61085560c9308484611600565b6106d760018055565b610866610bed565b6107aa60c930858585611838565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156108c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e9919061300e565b90508115801561090057506001600160a01b038116155b1561073357604051631467050360e21b8152600481018590526024810184905260440161065c565b6065546001600160a01b0316331461074c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b61098a611d37565b610992611d66565b61083d81611d95565b6000806109a783610b60565b80549091508060038111156109be576109be612bab565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e906109f590849060040161302b565b602060405180830381865afa158015610a12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a36919061300e565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610537919061304d565b600081604051602001610aba91906130ba565b604051602081830303815290604052805190602001209050919050565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610b099291906131b4565b602060405180830381865afa158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a919061300e565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b81525082604051602001610aba9291906131d3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260015403610c3f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161065c565b6002600155565b60808101516000906001600160a01b0316610c74576040516301b1868360e71b815260040160405180910390fd5b600080610c85858560600151610ad7565b91509150811580610c995750468460600151145b15610cb75760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b03161580610ce65750806001600160a01b03168460a001516001600160a01b0316145b15610d045760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461012001518561010001518660e00151610d21919061320b565b610d2b919061320b565b9050348114610d4d57604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e90610d7d9060019060040161321e565b602060405180830381865afa158015610d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbe919061300e565b9050610dd36001600160a01b03821683611dde565b8754886000610de18361323d565b909155508652336020870152466040870152610dfc86610aa7565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610e2c9060009060040161302b565b602060405180830381865afa158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d919061300e565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610e9a91815260200190565b6020604051808303816000875af1158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613256565b50847f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f387604051610f0e91906130ba565b60405180910390a2505050509392505050565b60018055565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b8152600401610f599291906131b4565b602060405180830381865afa158015610f76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9a919061300e565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e90610fca9060009060040161302b565b602060405180830381865afa158015610fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100b919061300e565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b815260040161103e95949392919061326f565b602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f919061304d565b979650505050505050565b600061109c60a0850160808601612b75565b6001600160a01b0316036110c3576040516301b1868360e71b815260040160405180910390fd5b468360400135146110e75760405163e822b48d60e01b815260040160405180910390fd5b60006110f561070085612f0d565b600081815260048801602052604090205490915060ff16151560010361112e5760405163afde133560e01b815260040160405180910390fd5b61113f85828660600135868661137b565b61115c5760405163498b0b1d60e01b815260040160405180910390fd5b60008181526004870160205260408120805460ff1916600117905561118a61010086013560e087013561320b565b9050801561131f57604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906111c29060019060040161321e565b602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611203919061300e565b90506001600160a01b03811615611298576001600160a01b03811663ba0bbd9561123360a0890160808a01612b75565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b5050505061131d565b60006112aa60a0880160808901612b75565b6001600160a01b03168360405160006040518083038185875af1925050503d80600081146112f4576040519150601f19603f3d011682016040523d82523d6000602084013e6112f9565b606091505b505090508061131b5760405163f6664cf160e01b815260040160405180910390fd5b505b505b817fea00c741e39d1d9ab1c6703152d71f9da09a782ed4ae128414730dadbb9bd84761135160a0880160808901612b75565b604080516001600160a01b039092168252602082018590520160405180910390a250505050505050565b600046840361139d5760405163e822b48d60e01b815260040160405180910390fd5b60008590036113bf5760405163a6407c9360e01b815260040160405180910390fd5b60006113cd83850185613359565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611449919061300e565b8251610100015160405163bacb386d60e01b81526001600160801b0390911660048201526001600160a01b03919091169063bacb386d90602401602060405180830381865afa1580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c49190613256565b90508015806114dd575081516114d990611e94565b8114155b156114ed5760009250505061078b565b815160600151604051633632b1fb60e11b8152735075901Fdd1d57Ca754472cb94967f564bA7dc6E9163a5427462916001600160a01b038c1690636c6563f69061153e908c906000906004016131b4565b602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f919061300e565b6115888b610b60565b602087015160405160e086901b6001600160e01b03191681526115b3949392916003916004016134fd565b602060405180830381865af41580156115d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f4919061304d565b98975050505050505050565b610140820135158061160f5750805b156116555761162460a0830160808401612b75565b6001600160a01b0316336001600160a01b0316146116555760405163d7f4fc9f60e01b815260040160405180910390fd5b600061166361070084612f0d565b905060016116708261099b565b600381111561168157611681612bab565b1461169f57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e906116cf9060019060040161321e565b602060405180830381865afa1580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061300e565b90506001600160a01b0381161561178057604051630d73bb3d60e41b815261010085013560048201526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b505050505b61178c8685845a611eb9565b156117a15761179c826002612011565b611830565b8215611818576117b2826003612011565b6000806117c560e0870160c08801612b75565b6001600160a01b0316146117e8576117e360e0860160c08701612b75565b6117f8565b6117f860a0860160808701612b75565b90506118126001600160a01b038216610100870135611dde565b50611830565b6118306001600160a01b038216610100860135611dde565b505050505050565b61014083013515801561186c575061185660a0840160808501612b75565b6001600160a01b0316336001600160a01b031614155b1561188a5760405163398b635960e21b815260040160405180910390fd5b468360600135146118ae5760405163e822b48d60e01b815260040160405180910390fd5b60006118bc61070085612f0d565b905060006118c98261099b565b60038111156118da576118da612bab565b146118f857604051630cfafbf960e01b815260040160405180910390fd5b6000856001600160a01b0316636c6563f6866040013560006040518363ffffffff1660e01b815260040161192d9291906131b4565b602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e919061300e565b604051635437cecf60e11b81529091506001600160a01b0387169063a86f9d9e9061199e9060009060040161302b565b602060405180830381865afa1580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df919061300e565b6001600160a01b0316635221f6138660400135838588886040518663ffffffff1660e01b8152600401611a1695949392919061326f565b602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a57919061304d565b611a74576040516314504c7360e31b815260040160405180910390fd5b6000610120860135611a8f61010088013560e089013561320b565b611a99919061320b565b90506000876001600160a01b031663a86f9d9e60016040518263ffffffff1660e01b8152600401611aca919061321e565b602060405180830381865afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b919061300e565b90506001600160a01b03811615801590611b255750600082115b15611b8557604051630d73bb3d60e41b8152600481018390526001600160a01b0382169063d73bb3d090602401600060405180830381600087803b158015611b6c57600080fd5b505af1158015611b80573d6000803e3d6000fd5b505050505b611bac60e0880135611b9d60a08a0160808b01612b75565b6001600160a01b031690611dde565b60008030611bc060c08b0160a08c01612b75565b6001600160a01b03161480611bed57506000611be260c08b0160a08c01612b75565b6001600160a01b0316145b15611c02575060029050610100880135611c79565b6000611c1460a08b0160808c01612b75565b6001600160a01b0316336001600160a01b031614611c3757896101400135611c39565b5a5b90506000611c498d8c8a85611eb9565b90508015611c5a5760029350611c76565b60019350611c766001600160a01b0386166101008d0135611dde565b50505b611c838683612011565b600080611c9660e08c0160c08d01612b75565b6001600160a01b031614611cb957611cb460e08b0160c08c01612b75565b611cc9565b611cc960a08b0160808c01612b75565b90506001600160a01b0381163303611d07576000611cec836101208d013561320b565b9050611d016001600160a01b03831682611dde565b50611d29565b611d16336101208c0135611dde565b611d296001600160a01b03821683611dde565b505050505050505050505050565b600054610100900460ff16611d5e5760405162461bcd60e51b815260040161065c90613530565b61074c61208a565b600054610100900460ff16611d8d5760405162461bcd60e51b815260040161065c90613530565b61074c6120b1565b6001600160a01b038116611dbc57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611df257506001600160a01b038216155b15611dfb575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611e48576040519150601f19603f3d011682016040523d82523d6000602084013e611e4d565b606091505b50509050806107b35760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161065c565b600080611eaa611ea58460006120e1565b612502565b80516020909101209392505050565b600081600003611edc57604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611f009190612b75565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611f5260c0850160a08601612b75565b6001600160a01b031682610100860135611f7061016088018861357b565b604051611f7e9291906135c1565b600060405180830381858888f193505050503d8060008114611fbc576040519150601f19603f3d011682016040523d82523d6000602084013e611fc1565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b80600381111561202357612023612bab565b61202c8361099b565b600381111561203d5761203d612bab565b146106d75761204c8282612546565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c823360405161207e9291906135d1565b60405180910390a25050565b600054610100900460ff16610f215760405162461bcd60e51b815260040161065c90613530565b600054610100900460ff166120d85760405162461bcd60e51b815260040161065c90613530565b61074c33610b9b565b6102008201516060901561214c576120fa82601161320b565b6001600160401b0381111561211157612111612dfd565b60405190808252806020026020018201604052801561214457816020015b606081526020019060019003908161212f5790505b5090506121bb565b6101e083015115612162576120fa82601061320b565b61216d82600f61320b565b6001600160401b0381111561218457612184612dfd565b6040519080825280602002602001820160405280156121b757816020015b60608152602001906001900390816121a25790505b5090505b82516121c69061256f565b816000815181106121d9576121d96135f7565b60200260200101819052506121f1836020015161256f565b81600181518110612204576122046135f7565b602002602001018190525061221c8360400151612582565b8160028151811061222f5761222f6135f7565b6020026020010181905250612247836060015161256f565b8160038151811061225a5761225a6135f7565b6020026020010181905250612272836080015161256f565b81600481518110612285576122856135f7565b602002602001018190525061229d8360a0015161256f565b816005815181106122b0576122b06135f7565b60200260200101819052506122e78360c001516040516020016122d3919061360d565b6040516020818303038152906040526125ab565b816006815181106122fa576122fa6135f7565b60200260200101819052506123128360e0015161261a565b81600781518110612325576123256135f7565b60200260200101819052506123478361010001516001600160801b031661261a565b8160088151811061235a5761235a6135f7565b6020026020010181905250612373836101200151612628565b81600981518110612386576123866135f7565b602002602001018190525061239f836101400151612628565b81600a815181106123b2576123b26135f7565b60200260200101819052506123cb836101600151612628565b81600b815181106123de576123de6135f7565b60200260200101819052506123f78361018001516125ab565b81600c8151811061240a5761240a6135f7565b6020026020010181905250612423836101a0015161256f565b81600d81518110612436576124366135f7565b602002602001018190525061246d836101c001516040516020016122d3919060c09190911b6001600160c01b031916815260080190565b81600e81518110612480576124806135f7565b6020026020010181905250826101e001516000146124c5576124a6836101e0015161261a565b81600f815181106124b9576124b96135f7565b60200260200101819052505b6102008301511561053a576124de83610200015161256f565b816010815181106124f1576124f16135f7565b602002602001018190525092915050565b6060600061250f8361263f565b905061251d815160c0612774565b8160405160200161252f929190613642565b604051602081830303815290604052915050919050565b600061255183610b60565b9050600082600381111561256757612567612bab565b909155505050565b606061053a61257d8361291c565b6125ab565b604051606082811b6bffffffffffffffffffffffff191660208301529061053a906034016122d3565b606080825160011480156125d957506080836000815181106125cf576125cf6135f7565b016020015160f81c105b156125e557508161053a565b6125f183516080612774565b83604051602001612603929190613642565b604051602081830303815290604052905092915050565b606061053a61257d836129ce565b606061053a61257d836001600160401b03166129ce565b60608151600003612660576040805160008082526020820190925290610711565b6000805b83518110156126a55783818151811061267f5761267f6135f7565b60200260200101515182612693919061320b565b915061269e8161323d565b9050612664565b6000826001600160401b038111156126bf576126bf612dfd565b6040519080825280601f01601f1916602001820160405280156126e9576020820181803683370190505b50600092509050602081015b855183101561276b576000868481518110612712576127126135f7565b60200260200101519050600060208201905061273083828451612af8565b878581518110612742576127426135f7565b60200260200101515183612756919061320b565b92505050826127649061323d565b92506126f5565b50949350505050565b60608060388410156127db57604080516001808252818301909252906020820181803683370190505090506127a98385613671565b60f81b816000815181106127bf576127bf6135f7565b60200101906001600160f81b031916908160001a905350610537565b600060015b6127ea81876136a0565b1561280d576127f88261323d565b9150612806610100826136b4565b90506127e0565b61281882600161320b565b6001600160401b0381111561282f5761282f612dfd565b6040519080825280601f01601f191660200182016040528015612859576020820181803683370190505b5092506128668583613671565b612871906037613671565b60f81b83600081518110612887576128876135f7565b60200101906001600160f81b031916908160001a905350600190505b818111612913576101006128b782846136cb565b6128c3906101006137c2565b6128cd90886136a0565b6128d791906137ce565b60f81b8382815181106128ec576128ec6135f7565b60200101906001600160f81b031916908160001a90535061290c8161323d565b90506128a3565b50509392505050565b606060008260405160200161293391815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561276b5783836129788161323d565b94508151811061298a5761298a6135f7565b602001015160f81c60f81b8282815181106129a7576129a76135f7565b60200101906001600160f81b031916908160001a9053506129c78161323d565b9050612964565b60606000826040516020016129e591815260200190565b604051602081830303815290604052905060005b6020811015612a3a57818181518110612a1457612a146135f7565b01602001516001600160f81b031916600003612a3a57612a338161323d565b90506129f9565b6000612a478260206136cb565b6001600160401b03811115612a5e57612a5e612dfd565b6040519080825280601f01601f191660200182016040528015612a88576020820181803683370190505b50905060005b815181101561276b578383612aa28161323d565b945081518110612ab457612ab46135f7565b602001015160f81c60f81b828281518110612ad157612ad16135f7565b60200101906001600160f81b031916908160001a905350612af18161323d565b9050612a8e565b8282825b60208110612b345781518352612b1360208461320b565b9250612b2060208361320b565b9150612b2d6020826136cb565b9050612afc565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b038116811461083d57600080fd5b803561077781612b55565b600060208284031215612b8757600080fd5b813561053781612b55565b600060208284031215612ba457600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612bdf57634e487b7160e01b600052602160045260246000fd5b9052565b6020810161053a8284612bc1565b60006101a08284031215612c0457600080fd5b50919050565b600060208284031215612c1c57600080fd5b81356001600160401b03811115612c3257600080fd5b6109be84828501612bf1565b801515811461083d57600080fd5b600080600060608486031215612c6157600080fd5b83359250602084013591506040840135612c7a81612c3e565b809150509250925092565b60008083601f840112612c9757600080fd5b5081356001600160401b03811115612cae57600080fd5b602083019150836020828501011115612cc657600080fd5b9250929050565b60008060008060608587031215612ce357600080fd5b843593506020850135925060408501356001600160401b03811115612d0757600080fd5b612d1387828801612c85565b95989497509550505050565b60008060408385031215612d3257600080fd5b823591506020830135612d4481612c3e565b809150509250929050565b600080600060408486031215612d6457600080fd5b83356001600160401b0380821115612d7b57600080fd5b612d8787838801612bf1565b94506020860135915080821115612d9d57600080fd5b50612daa86828701612c85565b9497909650939450505050565b60008060408385031215612dca57600080fd5b82356001600160401b03811115612de057600080fd5b612dec85828601612bf1565b9250506020830135612d4481612c3e565b634e487b7160e01b600052604160045260246000fd5b6040516101a081016001600160401b0381118282101715612e3657612e36612dfd565b60405290565b604080519081016001600160401b0381118282101715612e3657612e36612dfd565b60405161022081016001600160401b0381118282101715612e3657612e36612dfd565b600082601f830112612e9257600080fd5b81356001600160401b0380821115612eac57612eac612dfd565b604051601f8301601f19908116603f01168101908282118183101715612ed457612ed4612dfd565b81604052838152866020858801011115612eed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215612f2057600080fd5b612f28612e13565b82358152612f3860208401612b6a565b60208201526040830135604082015260608301356060820152612f5d60808401612b6a565b6080820152612f6e60a08401612b6a565b60a0820152612f7f60c08401612b6a565b60c082015260e08381013590820152610100808401359082015261012080840135908201526101408084013590820152610160808401356001600160401b0380821115612fcb57600080fd5b612fd736838801612e81565b83850152610180925082860135915080821115612ff357600080fd5b5061300036828701612e81565b918301919091525092915050565b60006020828403121561302057600080fd5b815161053781612b55565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561305f57600080fd5b815161053781612c3e565b60005b8381101561308557818101518382015260200161306d565b50506000910152565b600081518084526130a681602086016020860161306a565b601f01601f19169290920160200192915050565b6020815281516020820152600060208301516130e160408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161311060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a061018080850182905261318e6101c086018461308e565b90860151858203601f1901838701529092506131aa838261308e565b9695505050505050565b9182526562726964676560d01b60208301521515604082015260600190565b600083516131e581846020880161306a565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561053a5761053a6131f5565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006001820161324f5761324f6131f5565b5060010190565b60006020828403121561326857600080fd5b5051919050565b8581526001600160a01b0385166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b600082601f8301126132cf57600080fd5b6040516101008082018281106001600160401b03821117156132f3576132f3612dfd565b6040528301818582111561330657600080fd5b845b82811015613320578035825260209182019101613308565b509195945050505050565b80356001600160801b038116811461077757600080fd5b80356001600160401b038116811461077757600080fd5b60006020828403121561336b57600080fd5b81356001600160401b038082111561338257600080fd5b908301906040828603121561339657600080fd5b61339e612e3c565b8235828111156133ad57600080fd5b830161030081880312156133c057600080fd5b6133c8612e5e565b81358152602082013560208201526133e260408301612b6a565b6040820152606082013560608201526080820135608082015260a082013560a08201526134128860c084016132be565b60c08201526101c08083013560e08301526101e061343181850161332b565b610100840152610200613445818601613342565b6101208501526134586102208601613342565b61014085015261346b6102408601613342565b6101608501526102608501358781111561348457600080fd5b6134908c828801612e81565b610180860152506102808501356101a08501526134b06102a08601613342565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134e257600080fd5b6134ee87828601612e81565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061107f60a083018461308e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261359257600080fd5b8301803591506001600160401b038211156135ac57600080fd5b602001915036819003821315612cc657600080fd5b8183823760009101908152919050565b604081016135df8285612bc1565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b6008811015613632578151835260209283019290910190600101613613565b5050506101008201905092915050565b6000835161365481846020880161306a565b83519083019061366881836020880161306a565b01949350505050565b60ff818116838216019081111561053a5761053a6131f5565b634e487b7160e01b600052601260045260246000fd5b6000826136af576136af61368a565b500490565b808202811582820484141761053a5761053a6131f5565b8181038181111561053a5761053a6131f5565b600181815b808511156137195781600019048211156136ff576136ff6131f5565b8085161561370c57918102915b93841c93908002906136e3565b509250929050565b6000826137305750600161053a565b8161373d5750600061053a565b8160018114613753576002811461375d57613779565b600191505061053a565b60ff84111561376e5761376e6131f5565b50506001821b61053a565b5060208310610133831016604e8410600b841016171561379c575081810a61053a565b6137a683836136de565b80600019048211156137ba576137ba6131f5565b029392505050565b60006105378383613721565b6000826137dd576137dd61368a565b50069056fea26469706673582212209944d85d0cc8409987bf496ae9ba9d199c3992cdf3a3f5d304737e8c526b4f3c64736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedTokenVault", + "storage": {}, + "code": "0x6080604052600436106100e85760003560e01c8063780b64f01161008a578063a86f9d9e11610059578063a86f9d9e146102ca578063c287e578146102ea578063ee1490b21461032a578063f2fde38b1461033d57600080fd5b8063780b64f0146101fc5780638da5cb5b1461025b5780639754149b146102795780639aa8605c1461029957600080fd5b80633ab76e9f116100c65780633ab76e9f1461014f57806367090ccf146101865780636c6563f6146101c7578063715018a6146101e757600080fd5b80630652b57a146100ed5780630c6fab821461010f57806319ab453c1461012f575b600080fd5b3480156100f957600080fd5b5061010d610108366004611fe4565b61035d565b005b34801561011b57600080fd5b5061010d61012a366004612001565b6103e0565b34801561013b57600080fd5b5061010d61014a366004611fe4565b6105f7565b34801561015b57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101696101a1366004612070565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d357600080fd5b506101696101e23660046120ae565b61070f565b3480156101f357600080fd5b5061010d610726565b34801561020857600080fd5b5061023c6102173660046120e7565b60cc60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b03909316835260208301919091520161017d565b34801561026757600080fd5b506065546001600160a01b0316610169565b34801561028557600080fd5b5061010d610294366004612100565b61073a565b3480156102a557600080fd5b506102b96102b4366004611fe4565b610a88565b60405161017d9594939291906121f0565b3480156102d657600080fd5b506101696102e5366004612241565b610bd9565b3480156102f657600080fd5b5061031a610305366004611fe4565b60c96020526000908152604090205460ff1681565b604051901515815260200161017d565b61010d6103383660046122d5565b610bef565b34801561034957600080fd5b5061010d610358366004611fe4565b61141f565b610365611498565b6001600160a01b03811661038c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b6103e86114f2565b6562726964676560d01b6103fd816000610bd9565b6001600160a01b0316336001600160a01b03161461042e57604051630d85cccf60e11b815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561046e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049291906123b4565b90506104b281604001516a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b031681602001516001600160a01b0316146104e7576040516320258b8760e21b815260040160405180910390fd5b60004687350361051c576105016040880160208901611fe4565b90506105176001600160a01b038216868661154b565b61058c565b610525876115ae565b6040516342e91bb360e01b81526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050505b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907fe5da926519fc972010fe65b35c1e3339e6dc72b35ffaec203999c2a2a2593eac9060600160405180910390a45050506105f160018055565b50505050565b600054610100900460ff16158080156106175750600054600160ff909116105b806106315750303b158015610631575060005460ff166001145b6106995760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156106bc576000805461ff0019166101001790555b6106c58261160d565b801561070b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061071c848484611626565b90505b9392505050565b61072e611498565b61073860006116da565b565b6107426114f2565b600061075460a0850160808601611fe4565b6001600160a01b03160361077b576040516372b41cdf60e01b815260040160405180910390fd5b4683604001351461079f576040516348bc100560e01b815260040160405180910390fd5b60006107b56562726964676560d01b6000610bd9565b90506000816001600160a01b0316635817b0c3866040518263ffffffff1660e01b81526004016107e5919061248c565b602060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082691906125aa565b600081815260cc6020526040902080546001909101549192506001600160a01b0316908161086757604051637c6addb760e01b815260040160405180910390fd5b60405163ce70f39b60e01b81526001600160a01b0385169063ce70f39b9061089d90869060608c0135908b908b906004016125c3565b602060405180830381865afa1580156108ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108de91906125ed565b6108fb576040516308ba49e560e31b815260040160405180910390fd5b6040805180820182526000808252602080830182815287835260cc909152929020905181546001600160a01b0319166001600160a01b0390911617815590516001909101558015610a0f576001600160a01b038216600090815260c9602052604090205460ff16156109eb576001600160a01b0382166342e91bb361098660a08a0160808b01611fe4565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156109ce57600080fd5b505af11580156109e2573d6000803e3d6000fd5b50505050610a0f565b610a0f6109fe60a0890160808a01611fe4565b6001600160a01b038416908361154b565b610a1f60a0880160808901611fe4565b6001600160a01b0316837fc5d9f7cd7998e24ecf12ad69eca9339764e2cb13788d5d9616f502601b219af68484604051610a6e9291906001600160a01b03929092168252602082015260400190565b60405180910390a350505050610a8360018055565b505050565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff1692909190610ac89061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610af49061260a565b8015610b415780601f10610b1657610100808354040283529160200191610b41565b820191906000526020600020905b815481529060010190602001808311610b2457829003601f168201915b505050505090806003018054610b569061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b829061260a565b8015610bcf5780601f10610ba457610100808354040283529160200191610bcf565b820191906000526020600020905b815481529060010190602001808311610bb257829003601f168201915b5050505050905085565b6000610be6468484611626565b90505b92915050565b610bf76114f2565b6001600160a01b0387161580610c375750610c22886a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b0316876001600160a01b0316145b15610c5557604051634694641b60e01b815260040160405180910390fd5b6001600160a01b038616610c7c57604051637c6addb760e01b815260040160405180910390fd5b84600003610c9c5760405162af849960e11b815260040160405180910390fd5b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff1615610ef357604051630ef7c31560e31b8152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff1691810191909152600282018054919291606084019190610da99061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd59061260a565b8015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b50505050508152602001600382018054610e3b9061260a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e679061260a565b8015610eb45780601f10610e8957610100808354040283529160200191610eb4565b820191906000526020600020905b815481529060010190602001808311610e9757829003601f168201915b5050509190925250505060208101519092506001600160a01b0316610eec57604051633e45a03560e21b815260040160405180910390fd5b5085611153565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7a9190612653565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fe89190810190612670565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561102b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110539190810190612670565b90526040516370a0823160e01b81523060048201529093506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c391906125aa565b90506110da6001600160a01b03831633308c61172c565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114491906125aa565b61114e91906126e7565b925050505b6111e2604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b90523360808201526112098b6a1d1bdad95b97dd985d5b1d60aa1b600061070f565b6001600160a01b031660a08201526080810151604051630637d5c160e11b9161123b918691908e908790602401612708565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526101608201526101408101879052610120810186905261128d86346126e7565b60e08201526001600160a01b03851660c0820152610180810184905260006112be6562726964676560d01b82610bd9565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016112ea91906127a0565b60206040518083038185885af1158015611308573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061132d91906125aa565b905060405180604001604052808b6001600160a01b031681526020018481525060cc600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550602082015181600101559050508a6001600160a01b031682608001516001600160a01b0316827f325cab7553038374e17f39bb45e2a2c90f66c6a52798cb5f95c20d94c11c95e28f8e88604051611400939291909283526001600160a01b03919091166020830152604082015260600190565b60405180910390a45050505061141560018055565b5050505050505050565b611427611498565b6001600160a01b03811661148c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610690565b611495816116da565b50565b6065546001600160a01b031633146107385760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610690565b6002600154036115445760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610690565b6002600155565b6040516001600160a01b038316602482015260448101829052610a8390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611764565b8035600090815260cb602090815260408083208392909183916115d5918701908701611fe4565b6001600160a01b03908116825260208201929092526040016000205416905080610be95761160283611836565b61071f565b60018055565b611615611abb565b61161d611aea565b61149581611b19565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b9190612890565b9050811580156116b257506001600160a01b038116155b1561071f57604051631467050360e21b81526004810185905260248101849052604401610690565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526105f19085906323b872dd60e01b90608401611577565b60006117b9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b629092919063ffffffff16565b805190915015610a8357808060200190518101906117d791906125ed565b610a835760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610690565b60006118af81833561184e6040860160208701611fe4565b60405161187192916001600160a01b031690602001918252602082015260400190565b604051602081830303815290604052805190602001206040518060200161189790611fb2565b601f1982820381018352601f90910116604052611b71565b6097549091506001600160a01b0380831691636c0db62b91166118d86040860160208701611fe4565b85356118ea60608801604089016128ad565b6118f760608901896128ca565b61190460808b018b6128ca565b61190e8c35611c75565b60405160200161192093929190612911565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401611951979695949392919061295a565b600060405180830381600087803b15801561196b57600080fd5b505af115801561197f573d6000803e3d6000fd5b5050506001600160a01b038216600090815260c960209081526040808320805460ff1916600117905560ca90915290208391506119bc8282612ac6565b50508135600090815260cb602090815260408083208493909290916119e691908701908701611fe4565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316826020016020810190611a479190611fe4565b6001600160a01b031683357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611a8060608701876128ca565b611a8d60808901896128ca565b611a9d60608b0160408c016128ad565b604051611aae959493929190612b4d565b60405180910390a4919050565b600054610100900460ff16611ae25760405162461bcd60e51b815260040161069090612b8a565b610738611d08565b600054610100900460ff16611b115760405162461bcd60e51b815260040161069090612b8a565b610738611d2f565b6001600160a01b038116611b4057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606061071c8484600085611d5f565b600083471015611bc35760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610690565b8151600003611c145760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610690565b8282516020840186f590506001600160a01b03811661071f5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610690565b60606000611c8283611e3c565b600101905060008167ffffffffffffffff811115611ca257611ca2612266565b6040519080825280601f01601f191660200182016040528015611ccc576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611cd657509392505050565b600054610100900460ff166116075760405162461bcd60e51b815260040161069090612b8a565b600054610100900460ff16611d565760405162461bcd60e51b815260040161069090612b8a565b610738336116da565b606082471015611dc05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610690565b600080866001600160a01b03168587604051611ddc9190612bd5565b60006040518083038185875af1925050503d8060008114611e19576040519150601f19603f3d011682016040523d82523d6000602084013e611e1e565b606091505b5091509150611e2f87838387611f14565b925050505b949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611e7b5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611ea7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ec557662386f26fc10000830492506010015b6305f5e1008310611edd576305f5e100830492506008015b6127108310611ef157612710830492506004015b60648310611f03576064830492506002015b600a8310610be95760010192915050565b60608315611f83578251600003611f7c576001600160a01b0385163b611f7c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610690565b5081611e34565b611e348383815115611f985781518083602001fd5b8060405162461bcd60e51b81526004016106909190612bf1565b6116ce80612c0583390190565b6001600160a01b038116811461149557600080fd5b8035611fdf81611fbf565b919050565b600060208284031215611ff657600080fd5b813561071f81611fbf565b6000806000806080858703121561201757600080fd5b843567ffffffffffffffff81111561202e57600080fd5b850160a0818803121561204057600080fd5b9350602085013561205081611fbf565b9250604085013561206081611fbf565b9396929550929360600135925050565b6000806040838503121561208357600080fd5b82359150602083013561209581611fbf565b809150509250929050565b801515811461149557600080fd5b6000806000606084860312156120c357600080fd5b833592506020840135915060408401356120dc816120a0565b809150509250925092565b6000602082840312156120f957600080fd5b5035919050565b60008060006040848603121561211557600080fd5b833567ffffffffffffffff8082111561212d57600080fd5b908501906101a0828803121561214257600080fd5b9093506020850135908082111561215857600080fd5b818601915086601f83011261216c57600080fd5b81358181111561217b57600080fd5b87602082850101111561218d57600080fd5b6020830194508093505050509250925092565b60005b838110156121bb5781810151838201526020016121a3565b50506000910152565b600081518084526121dc8160208601602086016121a0565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a060608201819052600090612223908301856121c4565b828103608084015261223581856121c4565b98975050505050505050565b6000806040838503121561225457600080fd5b823591506020830135612095816120a0565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156122a5576122a5612266565b604052919050565b600067ffffffffffffffff8211156122c7576122c7612266565b50601f01601f191660200190565b600080600080600080600080610100898b0312156122f257600080fd5b88359750602089013561230481611fbf565b9650604089013561231481611fbf565b9550606089013594506080890135935060a0890135925060c089013561233981611fbf565b915060e089013567ffffffffffffffff81111561235557600080fd5b8901601f81018b1361236657600080fd5b8035612379612374826122ad565b61227c565b8181528c602083850101111561238e57600080fd5b816020840160208301376000602083830101528093505050509295985092959890939650565b6000606082840312156123c657600080fd5b6040516060810181811067ffffffffffffffff821117156123e9576123e9612266565b6040528251815260208301516123fe81611fbf565b60208201526040928301519281019290925250919050565b6000808335601e1984360301811261242d57600080fd5b830160208101925035905067ffffffffffffffff81111561244d57600080fd5b80360382131561245c57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006124a560208401611fd4565b6001600160a01b03811660408401525060408301356060830152606083013560808301526124d560808401611fd4565b6001600160a01b03811660a0840152506124f160a08401611fd4565b6001600160a01b03811660c08401525061250d60c08401611fd4565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250610160818501358185015261255981860186612416565b925090506101a061018081818701526125776101c087018585612463565b935061258581880188612416565b878603601f1901848901529350905061259f848483612463565b979650505050505050565b6000602082840312156125bc57600080fd5b5051919050565b8481528360208201526060604082015260006125e3606083018486612463565b9695505050505050565b6000602082840312156125ff57600080fd5b815161071f816120a0565b600181811c9082168061261e57607f821691505b60208210810361263e57634e487b7160e01b600052602260045260246000fd5b50919050565b60ff8116811461149557600080fd5b60006020828403121561266557600080fd5b815161071f81612644565b60006020828403121561268257600080fd5b815167ffffffffffffffff81111561269957600080fd5b8201601f810184136126aa57600080fd5b80516126b8612374826122ad565b8181528560208385010111156126cd57600080fd5b6126de8260208301602086016121a0565b95945050505050565b81810381811115610be957634e487b7160e01b600052601160045260246000fd5b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e08501526127526101208501836121c4565b91506080880151607f198584030161010086015261277083826121c4565b9188166020860152506001600160a01b038616604085015291506127919050565b82606083015295945050505050565b6020815281516020820152600060208301516127c760408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516127f660a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a06101808085018290526128746101c08601846121c4565b90860151858203601f1901838701529092506125e383826121c4565b6000602082840312156128a257600080fd5b815161071f81611fbf565b6000602082840312156128bf57600080fd5b813561071f81612644565b6000808335601e198436030181126128e157600080fd5b83018035915067ffffffffffffffff8211156128fc57600080fd5b60200191503681900382131561245c57600080fd5b8284823760008382016b050c4e4d2c8cecac9e13f19160a31b8152835161293f81600c8401602088016121a0565b602960f81b600c9290910191820152600d0195945050505050565b6001600160a01b038881168252871660208201526040810186905260ff8516606082015260c0608082018190526000906129979083018587612463565b82810360a08401526129a981856121c4565b9a9950505050505050505050565b601f821115610a8357600081815260208120601f850160051c810160208610156129de5750805b601f850160051c820191505b818110156129fd578281556001016129ea565b505050505050565b67ffffffffffffffff831115612a1d57612a1d612266565b612a3183612a2b835461260a565b836129b7565b6000601f841160018114612a655760008515612a4d5750838201355b600019600387901b1c1916600186901b178355612abf565b600083815260209020601f19861690835b82811015612a965786850135825560209485019460019092019101612a76565b5086821015612ab35760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612adc81611fbf565b81546040850135612aec81612644565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b03199190911617179055612b2260608301836128ca565b612b30818360028601612a05565b5050612b3f60808301836128ca565b6105f1818360038601612a05565b606081526000612b61606083018789612463565b8281036020840152612b74818688612463565b91505060ff831660408301529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612be78184602087016121a0565b9190910192915050565b602081526000610be660208301846121c456fe608060405234801561001057600080fd5b506116ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c357806395d89b411161007c57806395d89b4114610305578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c657806377be18a8146102ce5780637cf8ed0d146102e15780638da5cb5b146102f457600080fd5b8063395093511161011557806339509351146101ed5780633ab76e9f1461020057806342e91bb31461022557806349d126051461023857806367e828bf146102415780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c5578063313ce567146101d8575b600080fd5b61017061016b3660046111d3565b61036c565b005b61017a6103ef565b60405161018791906111f0565b60405180910390f35b6101a361019e36600461123e565b610481565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d336600461126a565b61049b565b60fd5460405160ff9091168152602001610187565b6101a36101fb36600461123e565b6104db565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b61017061023336600461123e565b6104fd565b6101b760fc5481565b61025860fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b61017061028536600461134e565b61059a565b61020d61029836600461140d565b610740565b6101b76102ab3660046111d3565b6001600160a01b0316600090815260c9602052604090205490565b61017061074d565b6101706102dc36600461123e565b610761565b60fb5461020d906001600160a01b031681565b6065546001600160a01b031661020d565b61017a6107f1565b6101a361031b36600461123e565b610800565b61020d61032e366004611442565b610886565b6101a361034136600461123e565b610893565b6101b761035436600461146e565b6108c8565b6101706103673660046111d3565b6108f3565b61037461096c565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b606060cc80546103fe906114a7565b80601f016020809104026020016040519081016040528092919081815260200182805461042a906114a7565b80156104775780601f1061044c57610100808354040283529160200191610477565b820191906000526020600020905b81548152906001019060200180831161045a57829003601f168201915b5050505050905090565b60003361048f8185856109c6565b60019150505b92915050565b6000306001600160a01b038416036104c6576040516319a6f37760e21b815260040160405180910390fd5b6104d1848484610aeb565b90505b9392505050565b60003361048f8185856104ee83836108c8565b6104f891906114e1565b6109c6565b6a1d1bdad95b97dd985d5b1d60aa1b610517816000610886565b6001600160a01b0316336001600160a01b03161461054857604051630d85cccf60e11b815260040160405180910390fd5b6105528383610b04565b826001600160a01b03167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161058d91815260200190565b60405180910390a2505050565b600054610100900460ff16158080156105ba5750600054600160ff909116105b806105d45750303b1580156105d4575060005460ff166001145b61063c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561065f576000805461ff0019166101001790555b6001600160a01b0386161580610673575084155b8061067d57504685145b8061068757508251155b8061069157508151155b156106af576040516301e25ab360e71b815260040160405180910390fd5b6106b887610bc6565b6106c28284610bdf565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff86161790558015610737576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b60006104d1848484610c10565b61075561096c565b61075f6000610cc4565b565b6a1d1bdad95b97dd985d5b1d60aa1b61077b816000610886565b6001600160a01b0316336001600160a01b0316146107ac57604051630d85cccf60e11b815260040160405180910390fd5b6107b68383610d16565b826001600160a01b03167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161058d91815260200190565b606060cd80546103fe906114a7565b6000338161080e82866108c8565b90508381101561086e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610633565b61087b82868684036109c6565b506001949350505050565b60006104d4468484610c10565b6000306001600160a01b038416036108be576040516319a6f37760e21b815260040160405180910390fd5b6104d48383610e47565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6108fb61096c565b6001600160a01b0381166109605760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610633565b61096981610cc4565b50565b6065546001600160a01b0316331461075f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610633565b6001600160a01b038316610a285760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610633565b6001600160a01b038216610a895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610633565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600033610af9858285610e55565b61087b858585610ecf565b6001600160a01b038216610b5a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610633565b8060cb6000828254610b6c91906114e1565b90915550506001600160a01b038216600081815260c960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b5050565b610bce61107a565b610bd66110a9565b610969816110d8565b600054610100900460ff16610c065760405162461bcd60e51b815260040161063390611502565b610bc28282611121565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c85919061154d565b905081158015610c9c57506001600160a01b038116155b156104d457604051631467050360e21b81526004810185905260248101849052604401610633565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610d765760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610633565b6001600160a01b038216600090815260c9602052604090205481811015610dea5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610633565b6001600160a01b038316600081815260c960209081526040808320868603905560cb80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ade565b505050565b60003361048f818585610ecf565b6000610e6184846108c8565b90506000198114610ec95781811015610ebc5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610633565b610ec984848484036109c6565b50505050565b6001600160a01b038316610f335760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610633565b6001600160a01b038216610f955760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610633565b6001600160a01b038316600090815260c960205260409020548181101561100d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610633565b6001600160a01b03808516600081815260c9602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061106d9086815260200190565b60405180910390a3610ec9565b600054610100900460ff166110a15760405162461bcd60e51b815260040161063390611502565b61075f611161565b600054610100900460ff166110d05760405162461bcd60e51b815260040161063390611502565b61075f61118e565b6001600160a01b0381166110ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166111485760405162461bcd60e51b815260040161063390611502565b60cc61115483826115b8565b5060cd610e4282826115b8565b600054610100900460ff166111885760405162461bcd60e51b815260040161063390611502565b60018055565b600054610100900460ff166111b55760405162461bcd60e51b815260040161063390611502565b61075f33610cc4565b6001600160a01b038116811461096957600080fd5b6000602082840312156111e557600080fd5b81356104d4816111be565b600060208083528351808285015260005b8181101561121d57858101830151858201604001528201611201565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561125157600080fd5b823561125c816111be565b946020939093013593505050565b60008060006060848603121561127f57600080fd5b833561128a816111be565b9250602084013561129a816111be565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126112d257600080fd5b813567ffffffffffffffff808211156112ed576112ed6112ab565b604051601f8301601f19908116603f01168101908282118183101715611315576113156112ab565b8160405283815286602085880101111561132e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561136757600080fd5b8635611372816111be565b95506020870135611382816111be565b945060408701359350606087013560ff8116811461139f57600080fd5b9250608087013567ffffffffffffffff808211156113bc57600080fd5b6113c88a838b016112c1565b935060a08901359150808211156113de57600080fd5b506113eb89828a016112c1565b9150509295509295509295565b8035801515811461140857600080fd5b919050565b60008060006060848603121561142257600080fd5b8335925060208401359150611439604085016113f8565b90509250925092565b6000806040838503121561145557600080fd5b82359150611465602084016113f8565b90509250929050565b6000806040838503121561148157600080fd5b823561148c816111be565b9150602083013561149c816111be565b809150509250929050565b600181811c908216806114bb57607f821691505b6020821081036114db57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561049557634e487b7160e01b600052601160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561155f57600080fd5b81516104d4816111be565b601f821115610e4257600081815260208120601f850160051c810160208610156115915750805b601f850160051c820191505b818110156115b05782815560010161159d565b505050505050565b815167ffffffffffffffff8111156115d2576115d26112ab565b6115e6816115e084546114a7565b8461156a565b602080601f83116001811461161b57600084156116035750858301515b600019600386901b1c1916600185901b1785556115b0565b600085815260208120601f198616915b8281101561164a5788860151825594840194600190910190840161162b565b50858210156116685787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212205ce93c18102792779a2e35d561c62ea243b85b80c5963767b571fcdab9e3d74a64736f6c63430008120033a26469706673582212205b590be2c7b9e2eb2401e8170149f7dba7d88f43691401f4ee5b704b6bdc8bb364736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "TokenVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a90565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a90565b61032a565b34801561014057600080fd5b506100ed61014f366004610ac2565b610442565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af7565b6104fb565b3480156101b757600080fd5b506100ed610512565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b2c565b610526565b34801561020a57600080fd5b506100ed610219366004610b4f565b610533565b34801561022a57600080fd5b506100ed610239366004610b7b565b6105f1565b34801561024a57600080fd5b506100ed610259366004610a90565b610674565b34801561026a57600080fd5b50610297610279366004610a90565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106ea565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff161580801561034a5750600054600160ff909116105b806103645750303b158015610364575060005460ff166001145b6103cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103ef576000805461ff0019166101001790555b6103f882610744565b801561043e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b61044a6106ea565b6001600160a01b038216158061047e57506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049c57604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b600061050884848461075d565b90505b9392505050565b61051a6106ea565b6105246000610811565b565b600061050b46848461075d565b33600090815260c9602052604090205460ff1661056357604051634fa3f24560e01b815260040160405180910390fd5b61056b610863565b6001600160a01b0382166105925760405163687563df60e01b815260040160405180910390fd5b6105a56001600160a01b038316826108bc565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105e091815260200190565b60405180910390a261043e60018055565b33600090815260c9602052604090205460ff1661062157604051634fa3f24560e01b815260040160405180910390fd5b610629610863565b61063333826108bc565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261067160018055565b50565b61067c6106ea565b6001600160a01b0381166106e15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c3565b61067181610811565b6065546001600160a01b031633146105245760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c3565b61074c61097d565b6107546109ac565b610671816109db565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610b94565b9050811580156107e957506001600160a01b038116155b1561050b57604051631467050360e21b815260048101859052602481018490526044016103c3565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103c3565b6002600155565b8015806108d057506001600160a01b038216155b156108d9575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610926576040519150601f19603f3d011682016040523d82523d6000602084013e61092b565b606091505b50509050806109725760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103c3565b505050565b60018055565b600054610100900460ff166109a45760405162461bcd60e51b81526004016103c390610bb1565b610524610a24565b600054610100900460ff166109d35760405162461bcd60e51b81526004016103c390610bb1565b610524610a4b565b6001600160a01b038116610a0257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109775760405162461bcd60e51b81526004016103c390610bb1565b600054610100900460ff16610a725760405162461bcd60e51b81526004016103c390610bb1565b61052433610811565b6001600160a01b038116811461067157600080fd5b600060208284031215610aa257600080fd5b813561050b81610a7b565b80358015158114610abd57600080fd5b919050565b60008060408385031215610ad557600080fd5b8235610ae081610a7b565b9150610aee60208401610aad565b90509250929050565b600080600060608486031215610b0c57600080fd5b8335925060208401359150610b2360408501610aad565b90509250925092565b60008060408385031215610b3f57600080fd5b82359150610aee60208401610aad565b60008060408385031215610b6257600080fd5b8235610b6d81610a7b565b946020939093013593505050565b600060208284031215610b8d57600080fd5b5035919050565b600060208284031215610ba657600080fd5b815161050b81610a7b565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212207583c25e67e1b9db0f317fbe1c15cd5a0919373c4d9b26d98238ed2046695f9264736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a18565b6101e0565b005b6100cc6100dc366004611a18565b610263565b6100f46100ef366004611a35565b61037b565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a61565b6103ed565b61015461014f366004611af7565b61055d565b604051908152602001610100565b610116610170366004611b25565b6105a2565b6100cc6105b9565b6065546001600160a01b0316610116565b61011661019c366004611b5a565b6105cd565b6100cc6101af366004611a18565b6105da565b6101546101c2366004611a35565b6040805192835260208301919091526034600c830120918101905290565b6101e8610653565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b9060200160405180910390a150565b600054610100900460ff16158080156102835750600054600160ff909116105b8061029d5750303b15801561029d575060005460ff166001145b6103055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610328576000805461ff0019166101001790555b610331826106ad565b8015610377576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60006001600160a01b0383166103a4576040516354cdfc8d60e11b815260040160405180910390fd5b60008290036103c65760405163014f1da760e21b815260040160405180910390fd5b5060408051838152602081018390526034600c820120908201909152546001145b92915050565b600046860361040f5760405163e822b48d60e01b815260040160405180910390fd5b6001600160a01b038516610436576040516354cdfc8d60e11b815260040160405180910390fd5b60008490036104585760405163014f1da760e21b815260040160405180910390fd5b600061046683850185611bf6565b9050600061047d647461696b6f60d81b60006105cd565b8251604051632e24533960e21b81526001600160a01b03929092169163b8914ce4916104af9160040190815260200190565b602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f09190611cbd565b60408051898152602081018990526034600c820120818301909252606081019190915290915061055190608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106c6565b98975050505050505050565b600081810361057f5760405163014f1da760e21b815260040160405180910390fd5b506040805133815260208101929092526034600c83012091810190526001815590565b60006105af8484846106ea565b90505b9392505050565b6105c1610653565b6105cb600061079e565b565b60006105b24684846106ea565b6105e2610653565b6001600160a01b0381166106475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102fc565b6106508161079e565b50565b6065546001600160a01b031633146105cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102fc565b6106b56107f0565b6106bd61081f565b6106508161084e565b6000806106d286610897565b90506106e0818686866108c9565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f9190611cd6565b90508115801561077657506001600160a01b038116155b156105b257604051631467050360e21b815260048101859052602481018490526044016102fc565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108175760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610906565b600054610100900460ff166108465760405162461bcd60e51b81526004016102fc90611cf3565b6105cb610933565b6001600160a01b03811661087557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108b391815260200190565b6040516020818303038152906040529050919050565b60008060006108d9878686610963565b915091508180156108fb57508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff1661092d5760405162461bcd60e51b81526004016102fc90611cf3565b60018055565b600054610100900460ff1661095a5760405162461bcd60e51b81526004016102fc90611cf3565b6105cb3361079e565b60006060600061097285610a3e565b90506000806000610984848a89610b37565b815192955090935091501580806109985750815b6109e45760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102fc565b600081610a005760405180602001604052806000815250610a2c565b610a2c86610a0f600188611d54565b81518110610a1f57610a1f611d67565b6020026020010151610f57565b919b919a509098505050505050505050565b60606000610a4b83610f7e565b90506000815167ffffffffffffffff811115610a6957610a69611b86565b604051908082528060200260200182016040528015610aae57816020015b6040805180820190915260608082526020820152815260200190600190039081610a875790505b50905060005b8251811015610b2f576000610ae1848381518110610ad457610ad4611d67565b6020026020010151610fb1565b90506040518060400160405280610af783610f7e565b815260200182815250838381518110610b1257610b12611d67565b60200260200101819052505080610b2890611d7d565b9050610ab4565b509392505050565b600060606000806000610b4987611041565b90506000869050600080610b70604051806040016040528060608152602001606081525090565b60005b8c51811015610f2f578c8181518110610b8e57610b8e611d67565b602002602001015191508284610ba49190611d96565b9350610bb1600188611d96565b965083600003610c0e578482602001518051906020012014610c095760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102fc565b610cd0565b602082602001515110610c75578482602001518051906020012014610c095760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102fc565b84610c83836020015161117a565b14610cd05760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102fc565b610cdc60106001611da9565b60ff1682600001515103610d4a5785518414610f2f576000868581518110610d0657610d06611d67565b01602001518351805160f89290921c925060009183908110610d2a57610d2a611d67565b60200260200101519050610d3d816111a2565b9650600194505050610f1f565b81515160011901610ed7576000610d60836111d8565b9050600081600081518110610d7757610d77611d67565b016020015160f81c90506000610d8e600283611dc2565b610d99906002611df2565b90506000610daa848360ff166111fc565b90506000610db88b8a6111fc565b90506000610dc68383611232565b905060ff851660021480610ddd575060ff85166003145b15610e1757808351148015610df25750808251145b15610e0457610e01818b611d96565b99505b50600160ff1b9950610f2f945050505050565b60ff85161580610e2a575060ff85166001145b15610e805782518114610e4a5750600160ff1b9950610f2f945050505050565b610e718860000151600181518110610e6457610e64611d67565b60200260200101516111a2565b9a509750610f1f945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102fc565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102fc565b610f2881611d7d565b9050610b73565b50600160ff1b841486610f4287866111fc565b909e909d50909b509950505050505050505050565b805180516060916103e791610f6e90600190611d54565b81518110610ad457610ad4611d67565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906103e7906112ac565b60606000806000610fc185611498565b919450925090506000816001811115610fdc57610fdc611e0b565b146110295760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102fc565b611038856020015184846117e2565b95945050505050565b60606000825160026110539190611e21565b67ffffffffffffffff81111561106b5761106b611b86565b6040519080825280601f01601f191660200182016040528015611095576020820181803683370190505b50905060005b83518110156111735760048482815181106110b8576110b8611d67565b01602001516001600160f81b031916901c826110d5836002611e21565b815181106110e5576110e5611d67565b60200101906001600160f81b031916908160001a905350601084828151811061111057611110611d67565b0160200151611122919060f81c611dc2565b60f81b82611131836002611e21565b61113c906001611d96565b8151811061114c5761114c611d67565b60200101906001600160f81b031916908160001a90535061116c81611d7d565b905061109b565b5092915050565b600060208251101561118e57506020015190565b818060200190518101906103e79190611cbd565b600060606020836000015110156111c3576111bc8361188b565b90506111cf565b6111cc83610fb1565b90505b6105b28161117a565b60606103e76111f78360000151600081518110610ad457610ad4611d67565b611041565b60608251821061121b57506040805160208101909152600081526103e7565b6105b2838384865161122d9190611d54565b611896565b6000805b8084511180156112465750808351115b8015611297575082818151811061125f5761125f611d67565b602001015160f81c60f81b6001600160f81b03191684828151811061128657611286611d67565b01602001516001600160f81b031916145b156105b2576112a581611d7d565b9050611236565b60606000806112ba84611498565b919350909150600190508160018111156112d6576112d6611e0b565b146113235760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102fc565b6040805160208082526104208201909252600091816020015b604080518082019091526000808252602082015281526020019060019003908161133c5790505090506000835b865181101561148d57602082106113d55760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102fc565b6000806114126040518060400160405280858c600001516113f69190611d54565b8152602001858c6020015161140b9190611d96565b9052611498565b50915091506040518060400160405280838361142e9190611d96565b8152602001848b602001516114439190611d96565b81525085858151811061145857611458611d67565b602090810291909101015261146e600185611d96565b935061147a8183611d96565b6114849084611d96565b92505050611369565b508152949350505050565b6000806000808460000151116114f05760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102fc565b6020840151805160001a607f81116115155760006001600094509450945050506117db565b60b7811161159157600061152a608083611d54565b90508087600001511161157f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102fc565b600195509350600092506117db915050565b60bf81116116805760006115a660b783611d54565b9050808760000151116115fb5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102fc565b600183015160208290036101000a90046116158183611d96565b8851116116645760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102fc565b61166f826001611d96565b96509450600093506117db92505050565b60f781116116fb57600061169560c083611d54565b9050808760000151116116ea5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102fc565b6001955093508492506117db915050565b600061170860f783611d54565b90508087600001511161175d5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102fc565b600183015160208290036101000a90046117778183611d96565b8851116117bf5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102fc565b6117ca826001611d96565b96509450600193506117db92505050565b9193909250565b606060008267ffffffffffffffff8111156117ff576117ff611b86565b6040519080825280601f01601f191660200182016040528015611829576020820181803683370190505b509050805160000361183c5790506105b2565b8484016020820160005b8581101561185e578281015182820152602001611846565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606103e7826119ed565b6060816118a481601f611d96565b10156118e35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b826118ee8382611d96565b101561192d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102fc565b6119378284611d96565b8451101561197b5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102fc565b60608215801561199a57604051915060008252602082016040526119e4565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119d35780518352602092830192016119bb565b5050858452601f01601f1916604052505b50949350505050565b60606103e78260200151600084600001516117e2565b6001600160a01b038116811461065057600080fd5b600060208284031215611a2a57600080fd5b81356105b281611a03565b60008060408385031215611a4857600080fd5b8235611a5381611a03565b946020939093013593505050565b600080600080600060808688031215611a7957600080fd5b853594506020860135611a8b81611a03565b935060408601359250606086013567ffffffffffffffff80821115611aaf57600080fd5b818801915088601f830112611ac357600080fd5b813581811115611ad257600080fd5b896020828501011115611ae457600080fd5b9699959850939650602001949392505050565b600060208284031215611b0957600080fd5b5035919050565b80358015158114611b2057600080fd5b919050565b600080600060608486031215611b3a57600080fd5b8335925060208401359150611b5160408501611b10565b90509250925092565b60008060408385031215611b6d57600080fd5b82359150611b7d60208401611b10565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bbf57611bbf611b86565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611b86565b604052919050565b60006020808385031215611c0957600080fd5b823567ffffffffffffffff80821115611c2157600080fd5b9084019060408287031215611c3557600080fd5b611c3d611b9c565b823581528383013582811115611c5257600080fd5b80840193505086601f840112611c6757600080fd5b823582811115611c7957611c79611b86565b611c8b601f8201601f19168601611bc5565b92508083528785828601011115611ca157600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ccf57600080fd5b5051919050565b600060208284031215611ce857600080fd5b81516105b281611a03565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103e7576103e7611d3e565b634e487b7160e01b600052603260045260246000fd5b600060018201611d8f57611d8f611d3e565b5060010190565b808201808211156103e7576103e7611d3e565b60ff81811683821601908111156103e7576103e7611d3e565b600060ff831680611de357634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156103e7576103e7611d3e565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176103e7576103e7611d3e56fea2646970667358221220914fd418156d9d9a0e4aa8f2d563552ff29aa367381c04f0e5db5dcc63b0ce7264736f6c63430008120033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106c2565b610118565b61005b6100933660046106dd565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106c2565b6101ed565b3480156100f557600080fd5b506100ad61020d565b610106610269565b6101166101116102fe565b610308565b565b61012061032c565b6001600160a01b0316330361014d5761014a8160405180602001604052806000815250600061035f565b50565b61014a6100fe565b61015d61032c565b6001600160a01b031633036101b4576101af8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061035f915050565b505050565b6101af6100fe565b60006101c661032c565b6001600160a01b031633036101e2576101dd6102fe565b905090565b6101ea6100fe565b90565b6101f561032c565b6001600160a01b0316330361014d5761014a8161038a565b600061021761032c565b6001600160a01b031633036101e2576101dd61032c565b606061025383836040518060600160405280602781526020016107d4602791396103de565b9392505050565b6001600160a01b03163b151590565b61027161032c565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd610456565b3660008037600080366000845af43d6000803e808015610327573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103688361047e565b6000825111806103755750805b156101af57610384838361022e565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103b361032c565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a816104be565b6060600080856001600160a01b0316856040516103fb9190610784565b600060405180830381855af49150503d8060008114610436576040519150601f19603f3d011682016040523d82523d6000602084013e61043b565b606091505b509150915061044c86838387610567565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610350565b610487816105e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105235760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b606083156105d65782516000036105cf576001600160a01b0385163b6105cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f5565b50816105e0565b6105e0838361067c565b949350505050565b6001600160a01b0381163b6106555760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f5565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610546565b81511561068c5781518083602001fd5b8060405162461bcd60e51b81526004016102f591906107a0565b80356001600160a01b03811681146106bd57600080fd5b919050565b6000602082840312156106d457600080fd5b610253826106a6565b6000806000604084860312156106f257600080fd5b6106fb846106a6565b9250602084013567ffffffffffffffff8082111561071857600080fd5b818601915086601f83011261072c57600080fd5b81358181111561073b57600080fd5b87602082850101111561074d57600080fd5b6020830194508093505050509250925092565b60005b8381101561077b578181015183820152602001610763565b50506000910152565b60008251610796818460208701610760565b9190910192915050565b60208152600082518060208401526107bf816040850160208701610760565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f44b4bd0f73d4a6c872717d3b99f5935a2080af0980894ed447890241a743cdb64736f6c63430008120033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x55385a0c2ad17c21b4fe396be9b1f10f500e7eebad11fcd1afe36c68ee5fa4cd": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x478db7f3c43c550c1670aa0517a6d515b9e15f22ea28e4f99e8c5f8bcf58e406": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212209d989a5d58a4967fd0a1f669587c6ef0bd08d65b4de1b60d2f761d4c7661886164736f6c63430008120033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/hekla.json taikoxyz/taiko-geth/core/taiko_genesis/hekla.json new file mode 100644 index 0000000000000000000000000000000000000000..2956e1438c29ab6872b32c097a8bdb34e5861926 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/hekla.json @@ -0,0 +1,217 @@ +{ + "0xd26010814C620F80A70cbD58cE353A10fa05491a": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xd2b932FaCeb6FB733394e8445050daE6c025F9Be": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x0167009000000000000000000000000000000006": { + "contractName": "SharedAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106100fa575f3560e01c80635c975abb116100925780638da5cb5b116100625780638da5cb5b14610299578063a86f9d9e146102b6578063d8f4648f146102d5578063e30c3978146102f4578063f2fde38b14610311575f80fd5b80635c975abb1461022d578063715018a61461025d57806379ba5097146102715780638456cb5914610285575f80fd5b80633eb6b8cf116100cd5780633eb6b8cf146101c55780633f4ba83a146101e45780634f1ef286146101f857806352d1902d1461020b575f80fd5b806319ab453c146100fe57806328f713cc1461011f5780633659cfe6146101875780633ab76e9f146101a6575b5f80fd5b348015610109575f80fd5b5061011d610118366004610f59565b610330565b005b34801561012a575f80fd5b5061016a610139366004610f90565b67ffffffffffffffff919091165f90815260fb6020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610192575f80fd5b5061011d6101a1366004610f59565b610442565b3480156101b1575f80fd5b5060975461016a906001600160a01b031681565b3480156101d0575f80fd5b5061016a6101df366004610fc7565b61051f565b3480156101ef575f80fd5b5061011d610535565b61011d610206366004611014565b6105b4565b348015610216575f80fd5b5061021f61067f565b60405190815260200161017e565b348015610238575f80fd5b5061024d60c954610100900460ff1660021490565b604051901515815260200161017e565b348015610268575f80fd5b5061011d610730565b34801561027c575f80fd5b5061011d610741565b348015610290575f80fd5b5061011d6107b8565b3480156102a4575f80fd5b506033546001600160a01b031661016a565b3480156102c1575f80fd5b5061016a6102d03660046110d2565b610837565b3480156102e0575f80fd5b5061011d6102ef3660046110fc565b610843565b3480156102ff575f80fd5b506065546001600160a01b031661016a565b34801561031c575f80fd5b5061011d61032b366004610f59565b610921565b5f54610100900460ff161580801561034e57505f54600160ff909116105b806103675750303b15801561036757505f5460ff166001145b6103cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff1916600117905580156103f0575f805461ff0019166101001790555b6103f982610992565b801561043e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000616300361048a5760405162461bcd60e51b81526004016103c690611139565b7f00000000000000000000000001670090000000000000000000000000000000066001600160a01b03166104d25f80516020611273833981519152546001600160a01b031690565b6001600160a01b0316146104f85760405162461bcd60e51b81526004016103c690611185565b610501816109c2565b604080515f8082526020820190925261051c918391906109ca565b50565b5f61052b848484610b39565b90505b9392505050565b61054960c954610100900460ff1660021490565b6105665760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a16105b2335f610c27565b565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000000061630036105fc5760405162461bcd60e51b81526004016103c690611139565b7f00000000000000000000000001670090000000000000000000000000000000066001600160a01b03166106445f80516020611273833981519152546001600160a01b031690565b6001600160a01b03161461066a5760405162461bcd60e51b81526004016103c690611185565b610673826109c2565b61043e828260016109ca565b5f306001600160a01b037f0000000000000000000000000167009000000000000000000000000000000006161461071e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103c6565b505f8051602061127383398151915290565b610738610c3f565b6105b25f610c99565b60655433906001600160a01b031681146107af5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103c6565b61051c81610c99565b6107cc60c954610100900460ff1660021490565b156107ea5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a16105b2336001610c27565b5f61052e468484610b39565b61084b610c3f565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b0390811690821681900361089d576040516327b026fb60e21b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b610929610c3f565b606580546001600160a01b0383166001600160a01b0319909116811790915561095a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6109b06001600160a01b038216156109aa5781610c99565b33610c99565b5060c9805461ff001916610100179055565b61051c610c3f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a02576109fd83610cb2565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a5c575060408051601f3d908101601f19168201909252610a59918101906111d1565b60015b610abf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103c6565b5f805160206112738339815191528114610b2d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103c6565b506109fd838383610d4d565b6097545f906001600160a01b0316610b6457604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf91906111e8565b905081158015610bf657506001600160a01b038116155b1561052e57604051632b0d65db60e01b815267ffffffffffffffff85166004820152602481018490526044016103c6565b60405162580a9560e71b815260040160405180910390fd5b6033546001600160a01b031633146105b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c6565b606580546001600160a01b031916905561051c81610d77565b6001600160a01b0381163b610d1f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103c6565b5f8051602061127383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610d5683610dc8565b5f82511180610d625750805b156109fd57610d718383610e07565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610dd181610cb2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061052e83836040518060600160405280602781526020016112936027913960605f80856001600160a01b031685604051610e439190611225565b5f60405180830381855af49150503d805f8114610e7b576040519150601f19603f3d011682016040523d82523d5f602084013e610e80565b606091505b5091509150610e9186838387610e9b565b9695505050505050565b60608315610f095782515f03610f02576001600160a01b0385163b610f025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103c6565b5081610f13565b610f138383610f1b565b949350505050565b815115610f2b5781518083602001fd5b8060405162461bcd60e51b81526004016103c69190611240565b6001600160a01b038116811461051c575f80fd5b5f60208284031215610f69575f80fd5b813561052e81610f45565b803567ffffffffffffffff81168114610f8b575f80fd5b919050565b5f8060408385031215610fa1575f80fd5b610faa83610f74565b946020939093013593505050565b80358015158114610f8b575f80fd5b5f805f60608486031215610fd9575f80fd5b610fe284610f74565b925060208401359150610ff760408501610fb8565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611025575f80fd5b823561103081610f45565b9150602083013567ffffffffffffffff8082111561104c575f80fd5b818501915085601f83011261105f575f80fd5b81358181111561107157611071611000565b604051601f8201601f19908116603f0116810190838211818310171561109957611099611000565b816040528281528860208487010111156110b1575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f80604083850312156110e3575f80fd5b823591506110f360208401610fb8565b90509250929050565b5f805f6060848603121561110e575f80fd5b61111784610f74565b925060208401359150604084013561112e81610f45565b809150509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f602082840312156111e1575f80fd5b5051919050565b5f602082840312156111f8575f80fd5b815161052e81610f45565b5f5b8381101561121d578181015183820152602001611205565b50505f910152565b5f8251611236818460208701611203565b9190910192915050565b602081525f825180602084015261125e816040850160208701611203565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203cf7c7909aa3a171d69bba3422ad3ee05166e507361c8bce5bed32f66ed9173764736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000006": { + "contractName": "SharedAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x06e004775639cdb0e38f2c8a0f80bf9e3f0bafc0587c4deccd476e1b0b083676": "0x0000000000000000000000001670090000000000000000000000000000000001", + "0xb8c522e28ba83112fa09f2f92b3b5b52a7c1f13cbb8f63d8646f6622fef3f813": "0x0000000000000000000000001670090000000000000000000000000000000002", + "0x82ae8f3253e7287d155c8294e95cd3dd52ed217ba1d329ff95e6d8ffa381f4e0": "0x0000000000000000000000001670090000000000000000000000000000000003", + "0xe4ea7533cbb05f4e190c159cb9fb81e8521df30826303aeb47c41cb35d1bba33": "0x0000000000000000000000001670090000000000000000000000000000000004", + "0x57e7be70ddd7eb8855d6252773a58a2cd3685df17defaa305b7a91e54f33be8c": "0x0000000000000000000000001670090000000000000000000000000000000005", + "0xf03fbf03cd2fb98817c4c19098b6c47f4474a83b719463ed4e6a6e8f3fddabad": "0x0000000000000000000000000167009000000000000000000000000000010096", + "0x5b1fda64ce34e2802383bf43f53729861587224c0d0f408a5711efaa5b3332e7": "0x0000000000000000000000000167009000000000000000000000000000010097", + "0x8b468f5c678e4e20924a892aeff9bd555f11fdf7569ebdbbf1f51f10ac196137": "0x0000000000000000000000000167009000000000000000000000000000010098", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000006" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000000001": { + "contractName": "BridgeImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106101e9575f3560e01c8063715018a611610108578063b916a0be1161009d578063d8beb5c31161006d578063d8beb5c314610611578063e30c397814610640578063eefbf17e1461065d578063f09a401614610694578063f2fde38b146106b3575f80fd5b8063b916a0be1461056b578063d0496d6a1461058a578063d1aaa5df146105d2578063d6ba38b2146105f2575f80fd5b80638da5cb5b116100d85780638da5cb5b146104d25780638e3881a9146104ef5780639939a2dc1461052d578063a86f9d9e1461054c575f80fd5b8063715018a61461046d5780637844845b1461048157806379ba5097146104aa5780638456cb59146104be575f80fd5b806348548f251161017e5780635c975abb1161014e5780635c975abb1461039f5780636be4eb55146103bf5780636c334e2e146103de5780636edbad04146103ff575f80fd5b806348548f251461033a5780634f1ef2861461035957806352d1902d1461036c57806357209f4814610380575f80fd5b80633ab76e9f116101b95780633ab76e9f146102955780633c6cf473146102cc5780633eb6b8cf146103075780633f4ba83a14610326575f80fd5b806316b205c1146101f4578063302ac39914610215578063324c058e146102475780633659cfe614610276575f80fd5b366101f057005b5f80fd5b3480156101ff575f80fd5b5061021361020e366004612d7d565b6106d2565b005b348015610220575f80fd5b5061023461022f366004613039565b610c3a565b6040519081526020015b60405180910390f35b348015610252575f80fd5b50610266610261366004612d7d565b610c69565b604051901515815260200161023e565b348015610281575f80fd5b5061021361029036600461306a565b610cde565b3480156102a0575f80fd5b506097546102b4906001600160a01b031681565b6040516001600160a01b03909116815260200161023e565b3480156102d7575f80fd5b506102fa6102e6366004613085565b60fc6020525f908152604090205460ff1681565b60405161023e91906130b0565b348015610312575f80fd5b506102b46103213660046130e3565b610dc4565b348015610331575f80fd5b50610213610dd0565b348015610345575f80fd5b50610213610354366004613120565b610e4f565b610213610367366004613193565b6110a7565b348015610377575f80fd5b50610234611176565b34801561038b575f80fd5b5061021361039a3660046131df565b611228565b3480156103aa575f80fd5b5061026660c954610100900460ff1660021490565b3480156103ca575f80fd5b506102666103d9366004612d7d565b611347565b6103f16103ec366004613216565b6113a8565b60405161023e9291906133b8565b34801561040a575f80fd5b50610446610419366004613085565b6101006020525f90815260409020546001600160401b03811690600160401b90046001600160a01b031682565b604080516001600160401b0390931683526001600160a01b0390911660208301520161023e565b348015610478575f80fd5b506102136116b3565b34801561048c575f80fd5b506104956116c4565b6040805192835260208301919091520161023e565b3480156104b5575f80fd5b50610213611702565b3480156104c9575f80fd5b50610213611779565b3480156104dd575f80fd5b506033546001600160a01b03166102b4565b3480156104fa575f80fd5b5061050e6105093660046133d0565b6117f8565b6040805192151583526001600160a01b0390911660208301520161023e565b348015610538575f80fd5b50610266610547366004613216565b611824565b348015610557575f80fd5b506102b46105663660046133e9565b6118f2565b348015610576575f80fd5b5061021361058536600461340c565b6118fe565b348015610595575f80fd5b5061059e611aaf565b60408051825181526020808401516001600160a01b031690820152918101516001600160401b03169082015260600161023e565b3480156105dd575f80fd5b506102346105ec366004613085565b60031890565b3480156105fd575f80fd5b5061021361060c366004612d7d565b611b56565b34801561061c575f80fd5b5061026661062b36600461306a565b60ff60208190525f9182526040909120541681565b34801561064b575f80fd5b506065546001600160a01b03166102b4565b348015610668575f80fd5b5060fb5461067c906001600160801b031681565b6040516001600160801b03909116815260200161023e565b34801561069f575f80fd5b506102136106ae36600461344f565b611f7a565b3480156106be575f80fd5b506102136106cd36600461306a565b612088565b60026106e060c95460ff1690565b60ff16036107015760405163dfc60d8560e01b815260040160405180910390fd5b61070b60026120f9565b61071f60c954610100900460ff1660021490565b1561073d5760405163bae6e2a960e01b815260040160405180910390fd5b61074d60808401606085016133d0565b46816001600160401b03161461077657604051631c6c777560e31b815260040160405180910390fd5b5f61078361022f8661347b565b90505f8082815260fc602052604090205460ff1660048111156107a8576107a861309c565b146107c657604051630cfafbf960e01b815260040160405180910390fd5b5f6107e26d7369676e616c5f7365727669636560901b5f6118f2565b5f83815261010060205260409020549091506001600160401b031667fffffffffffffffe198101610826576040516329e5274f60e21b815260040160405180910390fd5b5f806108306116c4565b915091505f836001600160401b03165f0361091657610861858761085a60608e0160408f016133d0565b8c8c61210f565b61087e57604051635ea5ecc760e01b815260040160405180910390fd5b5042925060018215610916576040518060400160405280856001600160401b031681526020018b61014001355f146108b657336108c6565b6108c660c08d0160a08e0161306a565b6001600160a01b039081169091525f88815261010060209081526040909120835181549490920151909216600160401b026001600160e01b03199093166001600160401b03909116179190911790555b821580159061094357505f8681526101006020526040902054600160401b90046001600160a01b03163314155b1561094d57918101915b6109606001600160401b0385168461349a565b4210610bc6576101408a013515801561099a575061098460c08b0160a08c0161306a565b6001600160a01b0316336001600160a01b031614155b156109b8576040516372b6e1c360e11b815260040160405180910390fd5b5f8681526101006020526040812080546001600160e01b0319169055806109e560e08d0160c08e0161306a565b6001600160a01b03161480610a11575030610a0660e08d0160c08e0161306a565b6001600160a01b0316145b80610a3c57506001600160a01b038616610a3160e08d0160c08e0161306a565b6001600160a01b0316145b80610a72575060ff5f610a5560e08e0160c08f0161306a565b6001600160a01b0316815260208101919091526040015f205460ff165b15610a8e57506101008a0135610a89876002612197565b610af3565b5f610a9f60c08d0160a08e0161306a565b6001600160a01b0316336001600160a01b031614610ac2578b6101400135610ac4565b5a5b9050610ad18c89836122db565b15610ae657610ae1886002612197565b610af1565b610af1886001612197565b505b5f80610b066101008e0160e08f0161306a565b6001600160a01b031614610b2a57610b256101008d0160e08e0161306a565b610b3a565b610b3a60c08d0160a08e0161306a565b90506001600160a01b0381163303610b7357610b6e610b5e836101208f013561349a565b6001600160a01b0383169061243b565b610b95565b610b82336101208e013561243b565b610b956001600160a01b0382168361243b565b60405188907fe7d1e1f435233f7a187624ac11afaf32ee0da368cef8a5625be394412f619254905f90a25050610c24565b8015610c0b57857f3a7420670ebb84feae884388421d5f63bb1f9e073c54c8103e9e2ca7a98346e58b5f604051610bfe929190613664565b60405180910390a2610c24565b60405163714f083160e11b815260040160405180910390fd5b50505050505050610c3560016120f9565b505050565b5f81604051602001610c4c9190613687565b604051602081830303815290604052805190602001209050919050565b5f46610c7b60608601604087016133d0565b6001600160401b031614610c9057505f610cd7565b610cd4610cae6d7369676e616c5f7365727669636560901b5f6118f2565b610cbd6105ec61022f8861347b565b610ccd60808801606089016133d0565b868661210f565b90505b9392505050565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000000001163003610d2f5760405162461bcd60e51b8152600401610d26906136bd565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000000016001600160a01b0316610d775f80516020613943833981519152546001600160a01b031690565b6001600160a01b031614610d9d5760405162461bcd60e51b8152600401610d2690613709565b610da681612446565b604080515f80825260208201909252610dc19183919061244e565b50565b5f610cd48484846125b8565b610de460c954610100900460ff1660021490565b610e015760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a1610e4d335f6126a4565b565b6e6272696467655f7761746368646f6760881b610e746033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015610eb15750610e9b8160016118f2565b6001600160a01b0316336001600160a01b031614155b15610ecf57604051630d85cccf60e11b815260040160405180910390fd5b5f5b838110156110a0575f858583818110610eec57610eec613755565b9050602002013590508315610ff1575f81815261010060205260408120546001600160401b03169003610f325760405163880b250b60e01b815260040160405180910390fd5b5f81815261010060205260409020546001600160401b031667fffffffffffffffe1901610f72576040516329e5274f60e21b815260040160405180910390fd5b5f8181526101006020526040808220805467ffffffffffffffff19166001600160401b03179055517fa3bf322f86f6b7b2fcb75744c1a9e22891ae257bbeb6b2a265627371e2651bcb91610fe491849160019192835290151560208301526001600160401b0316604082015260600190565b60405180910390a1611097565b5f81815261010060205260409020546001600160401b03908116146110295760405163640f938b60e11b815260040160405180910390fd5b5f81815261010060209081526040808320805467ffffffffffffffff1916426001600160401b03169081179091558151858152928301939093528101919091527fa3bf322f86f6b7b2fcb75744c1a9e22891ae257bbeb6b2a265627371e2651bcb9060600160405180910390a15b50600101610ed1565b5050505050565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000000011630036110ef5760405162461bcd60e51b8152600401610d26906136bd565b7f00000000000000000000000001670090000000000000000000000000000000016001600160a01b03166111375f80516020613943833981519152546001600160a01b031690565b6001600160a01b03161461115d5760405162461bcd60e51b8152600401610d2690613709565b61116682612446565b6111728282600161244e565b5050565b5f306001600160a01b037f000000000000000000000000016700900000000000000000000000000000000116146112155760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610d26565b505f805160206139438339815191525b90565b6e6272696467655f7761746368646f6760881b61124d6033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161415801561128a57506112748160016118f2565b6001600160a01b0316336001600160a01b031614155b156112a857604051630d85cccf60e11b815260040160405180910390fd5b6001600160a01b0383165f90815260ff602081905260409091205483151591161515036112e8576040516319d893ad60e21b815260040160405180910390fd5b6001600160a01b0383165f81815260ff6020908152604091829020805460ff191686151590811790915591519182527f7113ce15c395851033544a97557341cdc71886964b54ff108a685d359ed4cdf8910160405180910390a2505050565b5f4661135960808601606087016133d0565b6001600160401b03161461136e57505f610cd7565b610cd461138c6d7369676e616c5f7365727669636560901b5f6118f2565b61139861022f8761347b565b610ccd60608801604089016133d0565b604080516101a0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082018390526101608201819052610180820152600261141c60c95460ff1690565b60ff160361143d5760405163dfc60d8560e01b815260040160405180910390fd5b61144760026120f9565b61145b60c954610100900460ff1660021490565b156114795760405163bae6e2a960e01b815260040160405180910390fd5b5f61148a60a085016080860161306a565b6001600160a01b031614806114b657505f6114ab60c0850160a0860161306a565b6001600160a01b0316145b156114d457604051633c4f94dd60e11b815260040160405180910390fd5b5f6114e861050960808601606087016133d0565b5090508061150957604051631c6c777560e31b815260040160405180910390fd5b4661151a60808601606087016133d0565b6001600160401b03160361154157604051631c6c777560e31b815260040160405180910390fd5b5f61155661012086013561010087013561349a565b905034811461157857604051634ac2abdf60e11b815260040160405180910390fd5b6115818561347b565b60fb80549194506001600160801b03909116905f61159e83613769565b82546101009290920a6001600160801b03818102199093169183160217909155168352336020840152466001600160401b031660408401526115df83610c3a565b93506115fc6d7369676e616c5f7365727669636560901b5f6118f2565b6001600160a01b03166366ca2bc0856040518263ffffffff1660e01b815260040161162991815260200190565b6020604051808303815f875af1158015611645573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611669919061378e565b50837f9a4c6dce9e49d66f9d79b5f213b08c30c2bcef51424e23934a80f4865e1f70398460405161169a91906137a5565b60405180910390a250506116ae60016120f9565b915091565b6116bb61274f565b610e4d5f6127a9565b5f806116cf466127c2565b156116e05750610e10916101809150565b6116e9466127d6565b156116fa575061012c916101809150565b505f91829150565b60655433906001600160a01b031681146117705760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610d26565b610dc1816127a9565b61178d60c954610100900460ff1660021490565b156117ab5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a1610e4d3360016126a4565b5f8061180f836562726964676560d01b6001610dc4565b6001600160a01b038116151594909350915050565b5f4661183660608401604085016133d0565b6001600160401b03161461184b57505f919050565b6118666d7369676e616c5f7365727669636560901b5f6118f2565b6001600160a01b03166332676bc63061188161022f8661347b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa1580156118c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118ec91906137b7565b92915050565b5f610cd74684846125b8565b600261190c60c95460ff1690565b60ff160361192d5760405163dfc60d8560e01b815260040160405180910390fd5b61193760026120f9565b61194b60c954610100900460ff1660021490565b156119695760405163bae6e2a960e01b815260040160405180910390fd5b61197960808301606084016133d0565b46816001600160401b0316146119a257604051631c6c777560e31b815260040160405180910390fd5b61014083013515806119b15750815b156119f7576119c660c0840160a0850161306a565b6001600160a01b0316336001600160a01b0316146119f7576040516372b6e1c360e11b815260040160405180910390fd5b5f611a0461022f8561347b565b905060015f82815260fc602052604090205460ff166004811115611a2a57611a2a61309c565b14611a4857604051636e10a9f360e01b815260040160405180910390fd5b611a5384825a6122db565b15611a6857611a63816002612197565b611a79565b8215611a7957611a79816003612197565b60405181907f72d1525c4df70aedf1877ec89702311c795a01c082917308a30fb40059da2cc7905f90a2505061117260016120f9565b604080516060810182525f8082526020820181905291810191909152611b26604080516060810182525f8082526020820181905291810191909152506040805160608101825260fd54815260fe546001600160a01b0381166020830152600160a01b90046001600160401b03169181019190915290565b80519091501580611b38575080515f19145b1561122557604051635ceed17360e01b815260040160405180910390fd5b6002611b6460c95460ff1690565b60ff1603611b855760405163dfc60d8560e01b815260040160405180910390fd5b611b8f60026120f9565b611ba360c954610100900460ff1660021490565b15611bc15760405163bae6e2a960e01b815260040160405180910390fd5b611bd160608401604085016133d0565b46816001600160401b031614611bfa57604051631c6c777560e31b815260040160405180910390fd5b5f611c0761022f8661347b565b90505f8082815260fc602052604090205460ff166004811115611c2c57611c2c61309c565b14611c4a57604051630cfafbf960e01b815260040160405180910390fd5b5f81815261010060205260409020546001600160401b031667fffffffffffffffe198101611c8b576040516329e5274f60e21b815260040160405180910390fd5b5f611c946116c4565b5090505f826001600160401b03165f03611dc0575f611cc46d7369676e616c5f7365727669636560901b5f6118f2565b604051631933b5e360e11b8152306004820152602481018790529091506001600160a01b038216906332676bc690604401602060405180830381865afa158015611d10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d3491906137b7565b611d515760405163ab035ad560e01b815260040160405180910390fd5b60038518611d6a828261085a60808e0160608f016133d0565b611d875760405163f149234f60e01b815260040160405180910390fd5b429450600192508315611dbd575f86815261010060205260409020805467ffffffffffffffff19166001600160401b0387161790555b50505b611dd36001600160401b0384168361349a565b4210611f29575f8481526101006020908152604080832080546001600160e01b031916905560fc825291829020805460ff19166004179055611e3591631e37aef160e11b91611e26918c01908c0161306a565b6001600160a01b0316906127ed565b15611ed257611e548430611e4f60608c0160408d016133d0565b61287a565b611e646040890160208a0161306a565b6001600160a01b0316633c6f5de28961010001358a876040518463ffffffff1660e01b8152600401611e979291906137d2565b5f604051808303818588803b158015611eae575f80fd5b505af1158015611ec0573d5f803e3d5ffd5b5050505050611ecd6128cf565b611efa565b611efa610100890135611eeb60a08b0160808c0161306a565b6001600160a01b03169061243b565b60405184907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa2905f90a2611f6b565b8015610c0b57837f3a7420670ebb84feae884388421d5f63bb1f9e073c54c8103e9e2ca7a98346e5896001604051611f62929190613664565b60405180910390a25b5050505050610c3560016120f9565b5f54610100900460ff1615808015611f9857505f54600160ff909116105b80611fb15750303b158015611fb157505f5460ff166001145b6120145760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d26565b5f805460ff191660011790558015612035575f805461ff0019166101001790555b61203f83836128f4565b8015610c35575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61209061274f565b606580546001600160a01b0383166001600160a01b031990911681179091556120c16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b5f856001600160a01b031663910af6ed85612134876562726964676560d01b5f610dc4565b8887876040518663ffffffff1660e01b81526004016121579594939291906137f3565b5f604051808303815f87803b15801561216e575f80fd5b505af192505050801561217f575060015b61218a57505f61218e565b5060015b95945050505050565b8060048111156121a9576121a961309c565b5f83815260fc602052604090205460ff1660048111156121cb576121cb61309c565b036121d4575050565b5f82815260fc60205260409020805482919060ff191660018360048111156121fe576121fe61309c565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b25756348260405161223391906130b0565b60405180910390a2600381600481111561224f5761224f61309c565b036111725761226f6d7369676e616c5f7365727669636560901b5f6118f2565b60405163019b28af60e61b81526003841860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af11580156122b7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c35919061378e565b5f815f036122fc576040516308c2ad5360e01b815260040160405180910390fd5b3061230d604086016020870161306a565b6001600160a01b03160361232357612323613829565b61234783612337604087016020880161306a565b611e4f60608801604089016133d0565b600461235761016086018661383d565b90501015801561238e5750637f07c94760e01b61237861016086018661383d565b6123819161387f565b6001600160e01b03191614155b80156123b757506123b76123a860e0860160c0870161306a565b6001600160a01b03163b151590565b156123c357505f612433565b612430610100850135836123db61016088018861383d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061241f9250505060e0890160c08a0161306a565b6001600160a01b0316929190612953565b90505b610cd76128cf565b61117282825a612990565b610dc161274f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561248157610c35836129d3565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156124db575060408051601f3d908101601f191682019092526124d89181019061378e565b60015b61253e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610d26565b5f8051602061394383398151915281146125ac5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610d26565b50610c35838383612a6e565b6097545f906001600160a01b03166125e357604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015612639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265d91906138af565b90508115801561267457506001600160a01b038116155b15610cd757604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610d26565b6033546001600160a01b03838116911614806126ea57506126d56b31b430b4b72fb830bab9b2b960a11b60016118f2565b6001600160a01b0316826001600160a01b0316145b156126f3575050565b80801561272d57506127186e6272696467655f7761746368646f6760881b60016118f2565b6001600160a01b0316826001600160a01b0316145b15612736575050565b604051630d85cccf60e11b815260040160405180910390fd5b6033546001600160a01b03163314610e4d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d26565b606580546001600160a01b0319169055610dc181612a98565b5f60018214806118ec57506118ec82612ae9565b5f617e2c82101580156118ec575050617e90101590565b5f6001600160a01b0383163b61280457505f6118ec565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801561286e575060408051601f3d908101601f1916820190925261286b918101906137b7565b60015b156118ec579392505050565b604080516060810182528481526001600160a01b03909316602084018190526001600160401b03909216920182905260fd9290925560fe8054600160a01b9092026001600160e01b0319909216909217179055565b6128d846612b2a565b156128e857610e4d5f808061287a565b610e4d5f19808061287a565b5f54610100900460ff1661291a5760405162461bcd60e51b8152600401610d26906138ca565b61292382612b49565b6001600160a01b03811661294a576040516375cabfef60e11b815260040160405180910390fd5b61117281612b79565b5f6001600160a01b03851661297b57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b815f0361299c57505050565b6129b683838360405180602001604052805f815250612953565b610c3557604051634c67134d60e11b815260040160405180910390fd5b6001600160a01b0381163b612a405760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610d26565b5f8051602061394383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a7783612be9565b5f82511180612a835750805b15610c3557612a928383612c28565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6002821480612af95750600482145b80612b045750600582145b80612b0f5750602a82145b80612b1b575061426882145b806118ec57505062aa36a71490565b5f6001821480612b1b57506142688214806118ec57505062aa36a71490565b612b676001600160a01b03821615612b6157816127a9565b336127a9565b5060c9805461ff001916610100179055565b5f54610100900460ff16612b9f5760405162461bcd60e51b8152600401610d26906138ca565b6001600160401b03461115612bc75760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b612bf2816129d3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610cd783836040518060600160405280602781526020016139636027913960605f80856001600160a01b031685604051612c649190613915565b5f60405180830381855af49150503d805f8114612c9c576040519150601f19603f3d011682016040523d82523d5f602084013e612ca1565b606091505b5091509150612cb286838387612cbc565b9695505050505050565b60608315612d2a5782515f03612d23576001600160a01b0385163b612d235760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d26565b5081612d34565b612d348383612d3c565b949350505050565b815115612d4c5781518083602001fd5b8060405162461bcd60e51b8152600401610d269190613930565b5f6101a08284031215612d77575f80fd5b50919050565b5f805f60408486031215612d8f575f80fd5b83356001600160401b0380821115612da5575f80fd5b612db187838801612d66565b94506020860135915080821115612dc6575f80fd5b818601915086601f830112612dd9575f80fd5b813581811115612de7575f80fd5b876020828501011115612df8575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52604160045260245ffd5b6040516101a081016001600160401b0381118282101715612e4257612e42612e0b565b60405290565b80356001600160801b0381168114612e5e575f80fd5b919050565b6001600160a01b0381168114610dc1575f80fd5b8035612e5e81612e63565b80356001600160401b0381168114612e5e575f80fd5b5f82601f830112612ea7575f80fd5b81356001600160401b0380821115612ec157612ec1612e0b565b604051601f8301601f19908116603f01168101908282118183101715612ee957612ee9612e0b565b81604052838152866020858801011115612f01575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f6101a08284031215612f31575f80fd5b612f39612e1f565b9050612f4482612e48565b8152612f5260208301612e77565b6020820152612f6360408301612e82565b6040820152612f7460608301612e82565b6060820152612f8560808301612e77565b6080820152612f9660a08301612e77565b60a0820152612fa760c08301612e77565b60c0820152612fb860e08301612e77565b60e0820152610100828101359082015261012080830135908201526101408083013590820152610160808301356001600160401b0380821115612ff9575f80fd5b61300586838701612e98565b83850152610180925082850135915080821115613020575f80fd5b5061302d85828601612e98565b82840152505092915050565b5f60208284031215613049575f80fd5b81356001600160401b0381111561305e575f80fd5b612d3484828501612f20565b5f6020828403121561307a575f80fd5b8135610cd781612e63565b5f60208284031215613095575f80fd5b5035919050565b634e487b7160e01b5f52602160045260245ffd5b60208101600583106130d057634e487b7160e01b5f52602160045260245ffd5b91905290565b8015158114610dc1575f80fd5b5f805f606084860312156130f5575f80fd5b6130fe84612e82565b9250602084013591506040840135613115816130d6565b809150509250925092565b5f805f60408486031215613132575f80fd5b83356001600160401b0380821115613148575f80fd5b818601915086601f83011261315b575f80fd5b813581811115613169575f80fd5b8760208260051b850101111561317d575f80fd5b60209283019550935050840135613115816130d6565b5f80604083850312156131a4575f80fd5b82356131af81612e63565b915060208301356001600160401b038111156131c9575f80fd5b6131d585828601612e98565b9150509250929050565b5f80604083850312156131f0575f80fd5b82356131fb81612e63565b9150602083013561320b816130d6565b809150509250929050565b5f60208284031215613226575f80fd5b81356001600160401b0381111561323b575f80fd5b612d3484828501612d66565b5f5b83811015613261578181015183820152602001613249565b50505f910152565b5f8151808452613280816020860160208601613247565b601f01601f19169290920160200192915050565b80516001600160801b031682525f6101a060208301516132bf60208601826001600160a01b03169052565b5060408301516132da60408601826001600160401b03169052565b5060608301516132f560608601826001600160401b03169052565b50608083015161331060808601826001600160a01b03169052565b5060a083015161332b60a08601826001600160a01b03169052565b5060c083015161334660c08601826001600160a01b03169052565b5060e083015161336160e08601826001600160a01b03169052565b506101008381015190850152610120808401519085015261014080840151908501526101608084015181860183905261339c83870182613269565b925050506101808084015185830382870152612cb28382613269565b828152604060208201525f610cd46040830184613294565b5f602082840312156133e0575f80fd5b610cd782612e82565b5f80604083850312156133fa575f80fd5b82359150602083013561320b816130d6565b5f806040838503121561341d575f80fd5b82356001600160401b03811115613432575f80fd5b61343e85828601612d66565b925050602083013561320b816130d6565b5f8060408385031215613460575f80fd5b823561346b81612e63565b9150602083013561320b81612e63565b5f6118ec3683612f20565b634e487b7160e01b5f52601160045260245ffd5b808201808211156118ec576118ec613486565b5f808335601e198436030181126134c2575f80fd5b83016020810192503590506001600160401b038111156134e0575f80fd5b8036038213156134ee575f80fd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f6101a061353b8461352e85612e48565b6001600160801b03169052565b61354760208401612e77565b6001600160a01b0316602085015261356160408401612e82565b6001600160401b0316604085015261357b60608401612e82565b6001600160401b0316606085015261359560808401612e77565b6001600160a01b031660808501526135af60a08401612e77565b6001600160a01b031660a08501526135c960c08401612e77565b6001600160a01b031660c08501526135e360e08401612e77565b6001600160a01b031660e0850152610100838101359085015261012080840135908501526101408084013590850152610160613621818501856134ad565b838388015261363384880182846134f5565b9350505050610180613647818501856134ad565b868403838801526136598482846134f5565b979650505050505050565b604081525f613676604083018561351d565b905082151560208301529392505050565b60408152600d60408201526c5441494b4f5f4d45535341474560981b6060820152608060208201525f610cd76080830184613294565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f6001600160801b0380831681810361378457613784613486565b6001019392505050565b5f6020828403121561379e575f80fd5b5051919050565b602081525f610cd76020830184613294565b5f602082840312156137c7575f80fd5b8151610cd7816130d6565b604081525f6137e4604083018561351d565b90508260208301529392505050565b6001600160401b038616815260018060a01b0385166020820152836040820152608060608201525f6136596080830184866134f5565b634e487b7160e01b5f52600160045260245ffd5b5f808335601e19843603018112613852575f80fd5b8301803591506001600160401b0382111561386b575f80fd5b6020019150368190038213156134ee575f80fd5b6001600160e01b031981358181169160048510156138a75780818660040360031b1b83161692505b505092915050565b5f602082840312156138bf575f80fd5b8151610cd781612e63565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251613926818460208701613247565b9190910192915050565b602081525f610cd7602083018461326956fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fd8171596afd791a7977d46b3ef76e3b99d868dfc289ca5278123d358ae79dfd64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000001": { + "contractName": "Bridge", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x033b2dcd9a1ae301c8000000" + }, + "0x0167009000000000000000000000000000000002": { + "contractName": "ERC20VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x60806040526004361062000163575f3560e01c8063715018a611620000c2578063a86f9d9e1162000076578063a86f9d9e14620003f8578063caec3e4e146200041c578063e30c3978146200044f578063f09a4016146200046e578063f2fde38b1462000492578063fa233d0c14620004b6575f80fd5b8063715018a6146200034657806379ba5097146200035d5780637f07c94714620003745780638456cb59146200038b5780638da5cb5b14620003a25780639aa8605c14620003c1575f80fd5b80633eb6b8cf116200011a5780633eb6b8cf14620002775780633f4ba83a146200029b5780634f1ef28614620002b257806352d1902d14620002c95780635c975abb14620002e057806367090ccf1462000302575f80fd5b806301ffc9a7146200016757806306fdde0314620001b05780630ecd8be914620001dc5780633659cfe614620002195780633ab76e9f146200023f5780633c6f5de21462000260575b5f80fd5b34801562000173575f80fd5b506200019b6200018536600462002f2f565b6001600160e01b031916631e37aef160e11b1490565b60405190151581526020015b60405180910390f35b348015620001bc575f80fd5b506a195c98cc8c17dd985d5b1d60aa1b5b604051908152602001620001a7565b348015620001e8575f80fd5b5062000200620001fa36600462002f6d565b620004dc565b6040516001600160a01b039091168152602001620001a7565b34801562000225575f80fd5b506200023d6200023736600462002fc4565b62000bb6565b005b3480156200024b575f80fd5b5060975462000200906001600160a01b031681565b6200023d6200027136600462002fe2565b62000ca8565b34801562000283575f80fd5b5062000200620002953660046200304e565b62000e53565b348015620002a7575f80fd5b506200023d62000e6b565b6200023d620002c3366004620031ab565b62000eee565b348015620002d5575f80fd5b50620001cd62000fc5565b348015620002ec575f80fd5b506200019b60c954610100900460ff1660021490565b3480156200030e575f80fd5b506200020062000320366004620031fd565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801562000352575f80fd5b506200023d6200107a565b34801562000369575f80fd5b506200023d6200108f565b6200023d6200038536600462003223565b6200110a565b34801562000397575f80fd5b506200023d620012a0565b348015620003ae575f80fd5b506033546001600160a01b031662000200565b348015620003cd575f80fd5b50620003e5620003df36600462002fc4565b62001323565b604051620001a7959493929190620032e4565b34801562000404575f80fd5b50620002006200041636600462003341565b62001488565b34801562000428575f80fd5b506200019b6200043a36600462002fc4565b61012f6020525f908152604090205460ff1681565b3480156200045b575f80fd5b506065546001600160a01b031662000200565b3480156200047a575f80fd5b506200023d6200048c36600462003367565b62001496565b3480156200049e575f80fd5b506200023d620004b036600462002fc4565b620015ae565b620004cd620004c736600462003386565b62001622565b604051620001a79190620033c0565b5f6002620004ec60c95460ff1690565b60ff16036200050e5760405163dfc60d8560e01b815260040160405180910390fd5b6200051a600262001aaf565b6200052f60c954610100900460ff1660021490565b156200054e5760405163bae6e2a960e01b815260040160405180910390fd5b6200055862001ac5565b6001600160a01b03821615806200058f57506001600160a01b038281165f90815261012d6020526040902054600160401b90041615155b15620005ae5760405163dc63f98760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261012f602052604090205460ff1615620005e9576040516375c42fc160e01b815260040160405180910390fd5b6033546001600160a01b03166001600160a01b0316826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200063b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006619190620034f3565b6001600160a01b031614620006895760405163c0507c1760e01b815260040160405180910390fd5b61012e5f6200069c602086018662003511565b6001600160401b031681526020019081526020015f205f846020016020810190620006c8919062002fc4565b6001600160a01b03908116825260208201929092526040015f2054169050801562000a53576001600160a01b038181165f90815261012d60209081526040808320815160a08101835281546001600160401b0381168252600160401b810490961693810193909352600160e01b90940460ff1690820152600183018054929391926060840191906200075a906200352f565b80601f016020809104026020016040519081016040528092919081815260200182805462000788906200352f565b8015620007d75780601f10620007ad57610100808354040283529160200191620007d7565b820191905f5260205f20905b815481529060010190602001808311620007b957829003601f168201915b50505050508152602001600282018054620007f2906200352f565b80601f016020809104026020016040519081016040528092919081815260200182805462000820906200352f565b80156200086f5780601f1062000845576101008083540402835291602001916200086f565b820191905f5260205f20905b8154815290600101906020018083116200085157829003601f168201915b50505050508152505090508360400160208101906200088f919062003585565b60ff16816040015160ff16141580620008d95750620008b26060850185620035a3565b604051620008c2929190620035ef565b604051809103902081606001518051906020012014155b80620009165750620008ef6080850185620035a3565b604051620008ff929190620035ef565b604051809103902081608001518051906020012014155b156200093557604051632f9d1d7b60e11b815260040160405180910390fd5b6001600160a01b0382165f90815261012d6020526040812080546001600160e81b0319168155906200096b600183018262002ecf565b6200097a600283015f62002ecf565b50506001600160a01b038281165f81815261012f6020526040808220805460ff191660011790555163b8f2e0c560e01b8152928616600484015260248301529063b8f2e0c5906044015f604051808303815f87803b158015620009db575f80fd5b505af1158015620009ee573d5f803e3d5ffd5b505060405163b8f2e0c560e01b81526001600160a01b038581166004830152600160248301528616925063b8f2e0c591506044015f604051808303815f87803b15801562000a3a575f80fd5b505af115801562000a4d573d5f803e3d5ffd5b50505050505b6001600160a01b0382165f90815261012d60205260409020839062000a79828262003713565b5082905061012e5f62000a90602087018762003511565b6001600160401b031681526020019081526020015f205f85602001602081019062000abc919062002fc4565b6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555082602001602081019062000b13919062002fc4565b6001600160a01b031662000b2b602085018562003511565b6001600160401b03167f031d68e1805917560c34a5f55a7dd91bef98f911190ed02cdbb53caedae6c39d838562000b666060890189620035a3565b62000b7560808b018b620035a3565b62000b8760608d0160408e0162003585565b60405162000b9c979695949392919062003810565b60405180910390a362000bb0600162001aaf565b92915050565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000216300362000c0a5760405162461bcd60e51b815260040162000c01906200386b565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000000026001600160a01b031662000c545f80516020620045de833981519152546001600160a01b031690565b6001600160a01b03161462000c7d5760405162461bcd60e51b815260040162000c0190620038b7565b62000c888162001b21565b604080515f8082526020820190925262000ca59183919062001b2b565b50565b600262000cb760c95460ff1690565b60ff160362000cd95760405163dfc60d8560e01b815260040160405180910390fd5b62000ce5600262001aaf565b62000cfa60c954610100900460ff1660021490565b1562000d195760405163bae6e2a960e01b815260040160405180910390fd5b62000d2362001ca2565b505f62000d35610160840184620035a3565b62000d4591600490829062003903565b81019062000d5491906200392c565b90505f808280602001905181019062000d6e9190620039c4565b9350505091505f62000d968387608001602081019062000d8f919062002fc4565b8462001d99565b905062000dc461010087013562000db460a0890160808a0162002fc4565b6001600160a01b03169062001e45565b62000dd660a087016080880162002fc4565b6001600160a01b0316857f3dea0f5955b148debf6212261e03bd80eaf8534bee43780452d16637dcc22dd58560200151848660405162000e37939291906001600160a01b039384168152919092166020820152604081019190915260600190565b60405180910390a35050505062000e4f600162001aaf565b5050565b5f62000e6184848462001e52565b90505b9392505050565b62000e8060c954610100900460ff1660021490565b62000e9e5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a162000eec335f62001f45565b565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000216300362000f395760405162461bcd60e51b815260040162000c01906200386b565b7f00000000000000000000000001670090000000000000000000000000000000026001600160a01b031662000f835f80516020620045de833981519152546001600160a01b031690565b6001600160a01b03161462000fac5760405162461bcd60e51b815260040162000c0190620038b7565b62000fb78262001b21565b62000e4f8282600162001b2b565b5f306001600160a01b037f00000000000000000000000001670090000000000000000000000000000000021614620010665760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c01565b505f80516020620045de8339815191525b90565b6200108462001ac5565b62000eec5f62001f4f565b60655433906001600160a01b03168114620010ff5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000c01565b62000ca58162001f4f565b60026200111960c95460ff1690565b60ff16036200113b5760405163dfc60d8560e01b815260040160405180910390fd5b62001147600262001aaf565b6200115c60c954610100900460ff1660021490565b156200117b5760405163bae6e2a960e01b815260040160405180910390fd5b5f8080806200118d8587018762003ad0565b93509350935093505f620011a062001f6a565b90506001600160a01b0383161580620011c157506001600160a01b03831630145b15620011e05760405163def9481360e01b815260040160405180910390fd5b5f620011ee86858562001d99565b9050620012056001600160a01b0385163462001e45565b836001600160a01b0316856001600160a01b0316835f01517f75a051823424fc80e92556c41cb0ad977ae1dcb09c68a9c38acab86b11a69f8985604001518a6020015186896040516200128694939291906001600160401b039490941684526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a450505050505062000e4f600162001aaf565b620012b560c954610100900460ff1660021490565b15620012d45760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a162000eec33600162001f45565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b84046001600160a01b031693600160e01b900460ff169290916200136d906200352f565b80601f01602080910402602001604051908101604052809291908181526020018280546200139b906200352f565b8015620013ea5780601f10620013c057610100808354040283529160200191620013ea565b820191905f5260205f20905b815481529060010190602001808311620013cc57829003601f168201915b50505050509080600201805462001401906200352f565b80601f01602080910402602001604051908101604052809291908181526020018280546200142f906200352f565b80156200147e5780601f1062001454576101008083540402835291602001916200147e565b820191905f5260205f20905b8154815290600101906020018083116200146057829003601f168201915b5050505050905085565b5f62000e6446848462001e52565b5f54610100900460ff1615808015620014b557505f54600160ff909116105b80620014d05750303b158015620014d057505f5460ff166001145b620015355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c01565b5f805460ff19166001179055801562001557575f805461ff0019166101001790555b6200156383836200208f565b8015620015a9575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b620015b862001ac5565b606580546001600160a01b0383166001600160a01b03199091168117909155620015ea6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b604080516101a0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820192909252610160810182905261018081019190915260026200169b60c95460ff1690565b60ff1603620016bd5760405163dfc60d8560e01b815260040160405180910390fd5b620016c9600262001aaf565b620016de60c954610100900460ff1660021490565b15620016fd5760405163bae6e2a960e01b815260040160405180910390fd5b81608001355f036200172257604051634299323b60e11b815260040160405180910390fd5b5f62001735608084016060850162002fc4565b6001600160a01b0316036200175d576040516303f8a7d360e01b815260040160405180910390fd5b61012f5f62001773608085016060860162002fc4565b6001600160a01b0316815260208101919091526040015f205460ff1615620017ae576040516375c42fc160e01b815260040160405180910390fd5b5f8080620017e533620017c8608088016060890162002fc4565b620017da6060890160408a0162002fc4565b8860800135620020f6565b604080516101a0810182525f808252602080830182905292820181905294975092955090935060608201906200181e9089018962003511565b6001600160401b03168152602001336001600160a01b031681526020015f6001600160a01b03168860200160208101906200185a919062002fc4565b6001600160a01b03160362001870573362001882565b620018826040890160208a0162002fc4565b6001600160a01b03168152602090810190620018bd90620018a6908a018a62003511565b6a195c98cc8c17dd985d5b1d60aa1b5b5f62000e53565b6001600160a01b03168152602001620018de610100890160e08a0162002fc4565b6001600160a01b03168152602001620018fc60c08901353462003bcf565b815260c0880135602082015260a08801356040820152606081018690526080016200192c610100890189620035a3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250939094525092935091506200197c90506562726964676560d01b8262001488565b6001600160a01b0316636c334e2e34846040518363ffffffff1660e01b8152600401620019aa9190620033c0565b5f6040518083038185885af1158015620019c6573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052620019f0919081019062003c06565b9650905062001a06606088016040890162002fc4565b60808701516001600160a01b039182169116827feb8a69f21b7a981e25f90d9f1e2ab7fa5bdbfddbc0ac160344145fc5caa6ddd262001a4960208c018c62003511565b602089015162001a6060808e0160608f0162002fc4565b604080516001600160401b0390941684526001600160a01b0392831660208501529116908201526060810188905260800160405180910390a4505050505062001aaa600162001aaf565b919050565b60c9805460ff191660ff92909216919091179055565b6033546001600160a01b0316331462000eec5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c01565b62000ca562001ac5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001b6157620015a9836200262d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001bbe575060408051601f3d908101601f1916820190925262001bbb9181019062003d65565b60015b62001c235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c01565b5f80516020620045de833981519152811462001c945760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c01565b50620015a9838383620026cb565b604080516060810182525f808252602082018190529181019190915262001cd36562726964676560d01b5f62001488565b6001600160a01b0316336001600160a01b03161462001d0557604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001d42573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001d68919062003d7d565b60208101519091506001600160a01b031633146200107757604051632583296b60e01b815260040160405180910390fd5b5f46845f01516001600160401b03160362001dd05750602083015162001dca6001600160a01b0382168484620026fb565b62000e64565b62001ddb8462002760565b6040516340c10f1960e01b81526001600160a01b03858116600483015260248201859052919250908216906340c10f19906044015f604051808303815f87803b15801562001e27575f80fd5b505af115801562001e3a573d5f803e3d5ffd5b505050509392505050565b62000e4f82825a620027a5565b6097545f906001600160a01b031662001e7e57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001ed5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001efb9190620034f3565b90508115801562001f1357506001600160a01b038116155b1562000e6457604051632b0d65db60e01b81526001600160401b03851660048201526024810184905260440162000c01565b62000e4f62001ac5565b606580546001600160a01b031916905562000ca581620027ec565b604080516060810182525f808252602082018190529181019190915262001f9b6562726964676560d01b5f62001488565b6001600160a01b0316336001600160a01b03161462001fcd57604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200200a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002030919062003d7d565b90505f620020528260400151620018b66a195c98cc8c17dd985d5b1d60aa1b90565b9050806001600160a01b031682602001516001600160a01b0316146200208b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f54610100900460ff16620020b85760405162461bcd60e51b815260040162000c019062003deb565b620020c3826200283d565b6001600160a01b038116620020eb576040516375cabfef60e11b815260040160405180910390fd5b62000e4f8162002871565b6040805160a0810182525f80825260208083018290528284018290526060808401819052608084018190526001600160a01b03888116845261012d90925293822054600160401b900416156200233e576001600160a01b038681165f90815261012d6020908152604091829020825160a08101845281546001600160401b0381168252600160401b810490951692810192909252600160e01b90930460ff1691810191909152600182018054919291606084019190620021b6906200352f565b80601f0160208091040260200160405190810160405280929190818152602001828054620021e4906200352f565b8015620022335780601f10620022095761010080835404028352916020019162002233565b820191905f5260205f20905b8154815290600101906020018083116200221557829003601f168201915b505050505081526020016002820180546200224e906200352f565b80601f01602080910402602001604051908101604052809291908181526020018280546200227c906200352f565b8015620022cb5780601f10620022a157610100808354040283529160200191620022cb565b820191905f5260205f20905b815481529060010190602001808311620022ad57829003601f168201915b505050919092525050604051632770a7eb60e21b815233600482015260248101879052919350506001600160a01b03871690639dc29fac906044015f604051808303815f87803b1580156200231e575f80fd5b505af115801562002331573d5f803e3d5ffd5b50505050839050620025ad565b5f8690506040518060a00160405280466001600160401b03168152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620023a8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620023ce919062003e36565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562002412573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200243b919081019062003e54565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200247c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052620024a5919081019062003e54565b90526040516370a0823160e01b815230600482015290935087905f906001600160a01b038316906370a0823190602401602060405180830381865afa158015620024f1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002517919062003d65565b9050620025306001600160a01b03831633308a620028e5565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801562002575573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200259b919062003d65565b620025a7919062003bcf565b93505050505b306001600160a01b0316637f07c94783898885604051602001620025d5949392919062003e89565b60408051601f1981840301815290829052620025f49160240162003f2e565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505092509450945094915050565b6001600160a01b0381163b6200269c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c01565b5f80516020620045de83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620026d6836200291f565b5f82511180620026e35750805b15620015a957620026f5838362002960565b50505050565b6040516001600160a01b038316602482015260448101829052620015a990849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002988565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b039081168552925290912054168062001aaa5762000bb08262002a62565b815f03620027b257505050565b620027ce83838360405180602001604052805f81525062002c74565b620015a957604051634c67134d60e11b815260040160405180910390fd5b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6200285f6001600160a01b0382161562002858578162001f4f565b3362001f4f565b5060c9805461ff001916610100179055565b5f54610100900460ff166200289a5760405162461bcd60e51b815260040162000c019062003deb565b6001600160401b03461115620028c35760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6040516001600160a01b0380851660248301528316604482015260648101829052620026f59085906323b872dd60e01b9060840162002728565b6200292a816200262d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000e648383604051806060016040528060278152602001620045fe6027913962002cb2565b5f620029de826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662002d2c9092919063ffffffff16565b905080515f148062002a0157508080602001905181019062002a01919062003f42565b620015a95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000c01565b5f8062002a776033546001600160a01b031690565b60975460208501518551604080880151606089015160808a0151925162002aaf97966001600160a01b03169594939060240162003f60565b60408051601f198184030181529190526020810180516001600160e01b031663bb86ef9360e01b179052905062002af76c0627269646765645f657263323609c1b5f62001488565b8160405162002b069062002f0b565b62002b1392919062003fcf565b604051809103905ff08015801562002b2d573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d602090815260409182902087518154928901519389015160ff16600160e01b0260ff60e01b1994909516600160401b026001600160e01b03199093166001600160401b0390911617919091179190911691909117815560608501519193508491600182019062002bb1908262003ff4565b506080820151600282019062002bc8908262003ff4565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b0319168885169081179091559151885160608a015160808b0151848c01519451959850929095169516937fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea13090799362002c669391929190620040c0565b60405180910390a450919050565b5f6001600160a01b03851662002c9d57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60605f80856001600160a01b03168560405162002cd09190620040fc565b5f60405180830381855af49150503d805f811462002d0a576040519150601f19603f3d011682016040523d82523d5f602084013e62002d0f565b606091505b509150915062002d228683838762002d3c565b9695505050505050565b606062000e6184845f8562002dc3565b6060831562002daf5782515f0362002da7576001600160a01b0385163b62002da75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c01565b508162002dbb565b62002dbb838362002ea2565b949350505050565b60608247101562002e265760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000c01565b5f80866001600160a01b0316858760405162002e439190620040fc565b5f6040518083038185875af1925050503d805f811462002e7f576040519150601f19603f3d011682016040523d82523d5f602084013e62002e84565b606091505b509150915062002e978783838762002d3c565b979650505050505050565b81511562002eb35781518083602001fd5b8060405162461bcd60e51b815260040162000c01919062003f2e565b50805462002edd906200352f565b5f825580601f1062002eed575050565b601f0160209004905f5260205f209081019062000ca5919062002f19565b6104c4806200411a83390190565b5b808211156200208b575f815560010162002f1a565b5f6020828403121562002f40575f80fd5b81356001600160e01b03198116811462000e64575f80fd5b6001600160a01b038116811462000ca5575f80fd5b5f806040838503121562002f7f575f80fd5b82356001600160401b0381111562002f95575f80fd5b830160a0818603121562002fa7575f80fd5b9150602083013562002fb98162002f58565b809150509250929050565b5f6020828403121562002fd5575f80fd5b813562000e648162002f58565b5f806040838503121562002ff4575f80fd5b82356001600160401b038111156200300a575f80fd5b83016101a081860312156200301d575f80fd5b946020939093013593505050565b6001600160401b038116811462000ca5575f80fd5b801515811462000ca5575f80fd5b5f805f6060848603121562003061575f80fd5b83356200306e816200302b565b9250602084013591506040840135620030878162003040565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715620030cb57620030cb62003092565b60405290565b6040516101a081016001600160401b0381118282101715620030cb57620030cb62003092565b604051601f8201601f191681016001600160401b038111828210171562003122576200312262003092565b604052919050565b5f6001600160401b0382111562003145576200314562003092565b50601f01601f191660200190565b5f82601f83011262003163575f80fd5b81356200317a62003174826200312a565b620030f7565b8181528460208386010111156200318f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215620031bd575f80fd5b8235620031ca8162002f58565b915060208301356001600160401b03811115620031e5575f80fd5b620031f38582860162003153565b9150509250929050565b5f80604083850312156200320f575f80fd5b82359150602083013562002fb98162002f58565b5f806020838503121562003235575f80fd5b82356001600160401b03808211156200324c575f80fd5b818501915085601f83011262003260575f80fd5b8135818111156200326f575f80fd5b86602082850101111562003281575f80fd5b60209290920196919550909350505050565b5f5b83811015620032af57818101518382015260200162003295565b50505f910152565b5f8151808452620032d081602086016020860162003293565b601f01601f19169290920160200192915050565b6001600160401b03861681526001600160a01b038516602082015260ff8416604082015260a0606082018190525f906200332190830185620032b7565b8281036080840152620033358185620032b7565b98975050505050505050565b5f806040838503121562003353575f80fd5b82359150602083013562002fb98162003040565b5f806040838503121562003379575f80fd5b823562002fa78162002f58565b5f6020828403121562003397575f80fd5b81356001600160401b03811115620033ad575f80fd5b8201610120818503121562000e64575f80fd5b60208152620033db6020820183516001600160801b03169052565b5f6020830151620033f760408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e08301516101006200347e818501836001600160a01b03169052565b8401516101208481019190915284015161014080850191909152840151610160808501919091528401516101a061018080860182905291925090620034c86101c0860184620032b7565b90860151858203601f19018387015290925062002d228382620032b7565b805162001aaa8162002f58565b5f6020828403121562003504575f80fd5b815162000e648162002f58565b5f6020828403121562003522575f80fd5b813562000e64816200302b565b600181811c908216806200354457607f821691505b6020821081036200356357634e487b7160e01b5f52602260045260245ffd5b50919050565b60ff8116811462000ca5575f80fd5b803562001aaa8162003569565b5f6020828403121562003596575f80fd5b813562000e648162003569565b5f808335601e19843603018112620035b9575f80fd5b8301803591506001600160401b03821115620035d3575f80fd5b602001915036819003821315620035e8575f80fd5b9250929050565b818382375f9101908152919050565b601f821115620015a957805f5260205f20601f840160051c81016020851015620036255750805b601f840160051c820191505b8181101562003646575f815560010162003631565b5050505050565b6001600160401b0383111562003667576200366762003092565b6200367f836200367883546200352f565b83620035fe565b5f601f841160018114620036b3575f85156200369b5750838201355b5f19600387901b1c1916600186901b17835562003646565b5f83815260208120601f198716915b82811015620036e45786850135825560209485019460019092019101620036c2565b508682101562003701575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813562003720816200302b565b6001600160401b03811690508154816001600160401b0319821617835560208401356200374d8162002f58565b68010000000000000000600160e01b03604091821b166001600160e01b0319831684178117855590850135620037838162003569565b60ff60e01b8160e01b1660ff60e01b19851662ffffff60e81b851617831717855550505050620037b76060830183620035a3565b620037c78183600186016200364d565b5050620037d86080830183620035a3565b620026f58183600286016200364d565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b0388811682528716602082015260a0604082018190525f906200383e9083018789620037e8565b828103606084015262003853818688620037e8565b91505060ff8316608083015298975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f808585111562003912575f80fd5b838611156200391f575f80fd5b5050820193919092039150565b5f602082840312156200393d575f80fd5b81356001600160401b0381111562003953575f80fd5b62002dbb8482850162003153565b805162001aaa816200302b565b805162001aaa8162003569565b5f82601f8301126200398b575f80fd5b81516200399c62003174826200312a565b818152846020838601011115620039b1575f80fd5b62002dbb82602083016020870162003293565b5f805f8060808587031215620039d8575f80fd5b84516001600160401b0380821115620039ef575f80fd5b9086019060a0828903121562003a03575f80fd5b62003a0d620030a6565b825162003a1a816200302b565b8152602083015162003a2c8162002f58565b602082015262003a3f604084016200396e565b604082015260608301518281111562003a56575f80fd5b62003a648a8286016200397b565b60608301525060808301518281111562003a7c575f80fd5b62003a8a8a8286016200397b565b608083015250955062003aa391505060208601620034e6565b925062003ab360408601620034e6565b6060959095015193969295505050565b803562001aaa8162002f58565b5f805f806080858703121562003ae4575f80fd5b84356001600160401b038082111562003afb575f80fd5b9086019060a0828903121562003b0f575f80fd5b62003b19620030a6565b823562003b26816200302b565b8152602083013562003b388162002f58565b602082015262003b4b6040840162003578565b604082015260608301358281111562003b62575f80fd5b62003b708a82860162003153565b60608301525060808301358281111562003b88575f80fd5b62003b968a82860162003153565b608083015250955062003baf9150506020860162003ac3565b925062003bbf6040860162003ac3565b9396929550929360600135925050565b8181038181111562000bb057634e487b7160e01b5f52601160045260245ffd5b80516001600160801b038116811462001aaa575f80fd5b5f806040838503121562003c18575f80fd5b8251915060208301516001600160401b038082111562003c36575f80fd5b908401906101a0828703121562003c4b575f80fd5b62003c55620030d1565b62003c608362003bef565b815262003c7060208401620034e6565b602082015262003c836040840162003961565b604082015262003c966060840162003961565b606082015262003ca960808401620034e6565b608082015262003cbc60a08401620034e6565b60a082015262003ccf60c08401620034e6565b60c082015262003ce260e08401620034e6565b60e0820152610100838101519082015261012080840151908201526101408084015190820152610160808401518381111562003d1c575f80fd5b62003d2a898287016200397b565b828401525050610180808401518381111562003d44575f80fd5b62003d52898287016200397b565b8284015250508093505050509250929050565b5f6020828403121562003d76575f80fd5b5051919050565b5f6060828403121562003d8e575f80fd5b604051606081018181106001600160401b038211171562003db35762003db362003092565b60405282518152602083015162003dca8162002f58565b6020820152604083015162003ddf816200302b565b60408201529392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f6020828403121562003e47575f80fd5b815162000e648162003569565b5f6020828403121562003e65575f80fd5b81516001600160401b0381111562003e7b575f80fd5b62002dbb848285016200397b565b608081526001600160401b03855116608082015260018060a01b0360208601511660a082015260ff60408601511660c08201525f606086015160a060e084015262003ed9610120840182620032b7565b90506080870151607f198483030161010085015262003ef98282620032b7565b9250505062003f1360208301866001600160a01b03169052565b6001600160a01b039390931660408201526060015292915050565b602081525f62000e646020830184620032b7565b5f6020828403121562003f53575f80fd5b815162000e648162003040565b6001600160a01b0388811682528781166020830152861660408201526001600160401b038516606082015260ff8416608082015260e060a082018190525f9062003fad90830185620032b7565b82810360c084015262003fc18185620032b7565b9a9950505050505050505050565b6001600160a01b03831681526040602082018190525f9062000e6190830184620032b7565b81516001600160401b0381111562004010576200401062003092565b62004028816200402184546200352f565b84620035fe565b602080601f8311600181146200405e575f8415620040465750858301515b5f19600386901b1c1916600185901b178555620040b8565b5f85815260208120601f198616915b828110156200408e578886015182559484019460019091019084016200406d565b5085821015620040ac57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b606081525f620040d46060830186620032b7565b8281036020840152620040e88186620032b7565b91505060ff83166040830152949350505050565b5f82516200410f81846020870162003293565b919091019291505056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122022da3beb0be1c40b804b65c991383ee9453da8ac34cdebe2148f706343621e4e64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000002": { + "contractName": "ERC20Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000000003": { + "contractName": "ERC721VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106200019b575f3560e01c80635c975abb11620000de5780638456cb591162000092578063a86f9d9e116200006a578063a86f9d9e14620004c9578063e30c397814620004ed578063f09a4016146200050c578063f2fde38b1462000530575f80fd5b80638456cb59146200045d5780638da5cb5b14620004745780639aa8605c1462000493575f80fd5b80635c975abb146200039c578063634da63a14620003be57806367090ccf14620003d4578063715018a6146200041857806379ba5097146200042f5780637f07c9471462000446575f80fd5b80633ab76e9f11620001525780633f4ba83a116200012a5780633f4ba83a146200033b5780634f1ef286146200035257806352d1902d146200036957806359f4a9071462000380575f80fd5b80633ab76e9f14620002c65780633c6f5de214620003005780633eb6b8cf1462000317575f80fd5b806301ffc9a7146200019f57806306fdde0314620001e85780631507cc471462000215578063150b7a02146200023b5780632ca069a514620002845780633659cfe614620002a0575b5f80fd5b348015620001ab575f80fd5b50620001d3620001bd366004620026b4565b6001600160e01b031916631e37aef160e11b1490565b60405190151581526020015b60405180910390f35b348015620001f4575f80fd5b506b195c98cdcc8c57dd985d5b1d60a21b5b604051908152602001620001df565b6200022c62000226366004620028f3565b62000554565b604051620001df919062002a78565b34801562000247575f80fd5b506200026a6200025936600462002be5565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001620001df565b34801562000290575f80fd5b506200026a636cdb3d1360e11b81565b348015620002ac575f80fd5b50620002c4620002be36600462002c5a565b62000961565b005b348015620002d2575f80fd5b50609754620002e7906001600160a01b031681565b6040516001600160a01b039091168152602001620001df565b620002c46200031136600462002c78565b62000a53565b34801562000323575f80fd5b50620002e76200033536600462002ccf565b62000c28565b34801562000347575f80fd5b50620002c462000c40565b620002c46200036336600462002d13565b62000cc3565b34801562000375575f80fd5b506200020662000d9a565b3480156200038c575f80fd5b506200026a6380ac58cd60e01b81565b348015620003a8575f80fd5b50620001d360c954610100900460ff1660021490565b348015620003ca575f80fd5b5062000206600a81565b348015620003e0575f80fd5b50620002e7620003f236600462002d65565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801562000424575f80fd5b50620002c462000e4f565b3480156200043b575f80fd5b50620002c462000e64565b620002c46200045736600462002d96565b62000edf565b34801562000469575f80fd5b50620002c462001093565b34801562000480575f80fd5b506033546001600160a01b0316620002e7565b3480156200049f575f80fd5b50620004b7620004b136600462002c5a565b62001116565b604051620001df949392919062002dd8565b348015620004d5575f80fd5b50620002e7620004e736600462002e2b565b62001271565b348015620004f9575f80fd5b506065546001600160a01b0316620002e7565b34801562000518575f80fd5b50620002c46200052a36600462002e51565b62001288565b3480156200053c575f80fd5b50620002c46200054e36600462002c5a565b620013a0565b604080516101a0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820183905261014082019290925261016081018290526101808101919091526002620005cd60c95460ff1690565b60ff1603620005ef5760405163dfc60d8560e01b815260040160405180910390fd5b620005fb600262001414565b6200061060c954610100900460ff1660021490565b156200062f5760405163bae6e2a960e01b815260040160405180910390fd5b818060a0015151816080015151146200065b5760405163196e8a4160e31b815260040160405180910390fd5b600a8160800151511115620006835760405163e4a4c1c760e01b815260040160405180910390fd5b60608101516001600160a01b0316620006af576040516303f8a7d360e01b815260040160405180910390fd5b5f5b83608001515181101562000709578360a001518181518110620006d857620006d862002e82565b60200260200101515f146200070057604051634299323b60e11b815260040160405180910390fd5b600101620006b1565b5060608301516200072b906001600160a01b03166380ac58cd60e01b6200142a565b6200074957604051633ee915f560e11b815260040160405180910390fd5b5f80620007573386620014bd565b604080516101a0810182525f808252602080830182905292820181905289516001600160401b03166060830152336080830152918901519395509193509160a08201906001600160a01b0316620007af5733620007b5565b87602001515b6001600160a01b03168152602001620007e9885f0151620007e26b195c98cdcc8c57dd985d5b1d60a21b90565b5f62000c28565b6001600160a01b031681526020018761010001516001600160a01b031681526020018760e00151346200081d919062002e96565b81526020018760e0015181526020018760c00151815260200184815260200187610120015181525090505f6200085d6562726964676560d01b5f62001271565b6001600160a01b0316636c334e2e34846040518363ffffffff1660e01b81526004016200088b919062002a78565b5f6040518083038185885af1158015620008a7573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052620008d1919081019062002f30565b809750819250505086604001516001600160a01b031686608001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc896060015187602001518c606001518d608001518e60a0015160405162000943959493929190620030cb565b60405180910390a450505050506200095c600162001414565b919050565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000000003163003620009b55760405162461bcd60e51b8152600401620009ac9062003127565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000000036001600160a01b0316620009ff5f8051602062003de5833981519152546001600160a01b031690565b6001600160a01b03161462000a285760405162461bcd60e51b8152600401620009ac9062003173565b62000a338162001988565b604080515f8082526020820190925262000a509183919062001992565b50565b600262000a6260c95460ff1690565b60ff160362000a845760405163dfc60d8560e01b815260040160405180910390fd5b62000a90600262001414565b62000aa560c954610100900460ff1660021490565b1562000ac45760405163bae6e2a960e01b815260040160405180910390fd5b62000ace62001b09565b505f62000ae0610160840184620031bf565b62000af091600490829062003204565b81019062000aff91906200322d565b90505f808280602001905181019062000b199190620032c5565b9350505091505f62000b418387608001602081019062000b3a919062002c5a565b8462001c00565b905062000b6f61010087013562000b5f60a0890160808a0162002c5a565b6001600160a01b03169062001d8a565b62000b8160a087016080880162002c5a565b6001600160a01b0316857fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c8560200151848687516001600160401b0381111562000bcf5762000bcf620026dd565b60405190808252806020026020018201604052801562000bf9578160200160208202803683370190505b5060405162000c0c9493929190620033cf565b60405180910390a35050505062000c24600162001414565b5050565b5f62000c3684848462001d97565b90505b9392505050565b62000c5560c954610100900460ff1660021490565b62000c735760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a162000cc1335f62001e8a565b565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000316300362000d0e5760405162461bcd60e51b8152600401620009ac9062003127565b7f00000000000000000000000001670090000000000000000000000000000000036001600160a01b031662000d585f8051602062003de5833981519152546001600160a01b031690565b6001600160a01b03161462000d815760405162461bcd60e51b8152600401620009ac9062003173565b62000d8c8262001988565b62000c248282600162001992565b5f306001600160a01b037f0000000000000000000000000167009000000000000000000000000000000003161462000e3b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401620009ac565b505f8051602062003de58339815191525b90565b62000e5962001e8f565b62000cc15f62001eeb565b60655433906001600160a01b0316811462000ed45760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401620009ac565b62000a508162001eeb565b600262000eee60c95460ff1690565b60ff160362000f105760405163dfc60d8560e01b815260040160405180910390fd5b62000f1c600262001414565b62000f3160c954610100900460ff1660021490565b1562000f505760405163bae6e2a960e01b815260040160405180910390fd5b5f80808062000f628587018762003410565b93509350935093505f62000f7562001f06565b90506001600160a01b038316158062000f9657506001600160a01b03831630145b1562000fb55760405163def9481360e01b815260040160405180910390fd5b5f62000fc386858562001c00565b905062000fda6001600160a01b0385163462001d8a565b836001600160a01b0316856001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518a6020015186898a516001600160401b038111156200103b576200103b620026dd565b60405190808252806020026020018201604052801562001065578160200160208202803683370190505b5060405162001079959493929190620030cb565b60405180910390a450505050505062000c24600162001414565b620010a860c954610100900460ff1660021490565b15620010c75760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a162000cc133600162001e8a565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b031692919062001156906200350e565b80601f016020809104026020016040519081016040528092919081815260200182805462001184906200350e565b8015620011d35780601f10620011a957610100808354040283529160200191620011d3565b820191905f5260205f20905b815481529060010190602001808311620011b557829003601f168201915b505050505090806002018054620011ea906200350e565b80601f016020809104026020016040519081016040528092919081815260200182805462001218906200350e565b8015620012675780601f106200123d5761010080835404028352916020019162001267565b820191905f5260205f20905b8154815290600101906020018083116200124957829003601f168201915b5050505050905084565b5f6200127f46848462001d97565b90505b92915050565b5f54610100900460ff1615808015620012a757505f54600160ff909116105b80620012c25750303b158015620012c257505f5460ff166001145b620013275760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620009ac565b5f805460ff19166001179055801562001349575f805461ff0019166101001790555b6200135583836200202c565b80156200139b575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b620013aa62001e8f565b606580546001600160a01b0383166001600160a01b03199091168117909155620013dc6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b5f6001600160a01b0383163b6200144357505f62001282565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015620014b0575060408051601f3d908101601f19168201909252620014ad9181019062003548565b60015b1562001282579392505050565b604080516080810182525f8082526020820152606091810182905280820182905260608301516001600160a01b039081165f90815261012d6020526040902054600160401b90041615620017435760608301516001600160a01b039081165f90815261012d6020908152604091829020825160808101845281546001600160401b0381168252600160401b90049094169184019190915260018101805491928401916200156a906200350e565b80601f016020809104026020016040519081016040528092919081815260200182805462001598906200350e565b8015620015e75780601f10620015bd57610100808354040283529160200191620015e7565b820191905f5260205f20905b815481529060010190602001808311620015c957829003601f168201915b5050505050815260200160028201805462001602906200350e565b80601f016020809104026020016040519081016040528092919081815260200182805462001630906200350e565b80156200167f5780601f1062001655576101008083540402835291602001916200167f565b820191905f5260205f20905b8154815290600101906020018083116200166157829003601f168201915b50505050508152505090505f5b8360800151518110156200173c5783606001516001600160a01b0316639dc29fac8686608001518481518110620016c757620016c762002e82565b60200260200101516040518363ffffffff1660e01b8152600401620017019291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b15801562001719575f80fd5b505af11580156200172c573d5f803e3d5ffd5b505050508060010190506200168c565b5062001903565b5f836060015190506040518060800160405280466001600160401b0316815260200185606001516001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015620017b4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052620017dd919081019062003566565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156200181e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405262001847919081019062003566565b905291505f5b8460800151518110156200190057816001600160a01b03166342842e0e87308860800151858151811062001885576200188562002e82565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b158015620018dd575f80fd5b505af1158015620018f0573d5f803e3d5ffd5b505050508060010190506200184d565b50505b306001600160a01b0316637f07c9478286866040015187608001516040516020016200193394939291906200359b565b60408051601f198184030181529082905262001952916024016200362a565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505091509250929050565b62000a5062001e8f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620019c8576200139b8362002093565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001a25575060408051601f3d908101601f1916820190925262001a22918101906200363e565b60015b62001a8a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401620009ac565b5f8051602062003de5833981519152811462001afb5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401620009ac565b506200139b83838362002131565b604080516060810182525f808252602082018190529181019190915262001b3a6562726964676560d01b5f62001271565b6001600160a01b0316336001600160a01b03161462001b6c57604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001ba9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001bcf919062003656565b60208101519091506001600160a01b0316331462000e4c57604051632583296b60e01b815260040160405180910390fd5b5f46845f01516001600160401b03160362001ccf575060208301515f5b825181101562001cc857816001600160a01b03166342842e0e308686858151811062001c4d5762001c4d62002e82565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b15801562001ca5575f80fd5b505af115801562001cb8573d5f803e3d5ffd5b5050505080600101905062001c1d565b5062000c39565b62001cda8462002161565b90505f5b825181101562001d8257816001600160a01b03166340c10f198585848151811062001d0d5762001d0d62002e82565b60200260200101516040518363ffffffff1660e01b815260040162001d479291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b15801562001d5f575f80fd5b505af115801562001d72573d5f803e3d5ffd5b5050505080600101905062001cde565b509392505050565b62000c2482825a620021a6565b6097545f906001600160a01b031662001dc357604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001e1a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e409190620036c4565b90508115801562001e5857506001600160a01b038116155b1562000c3957604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401620009ac565b62000c245b6033546001600160a01b0316331462000cc15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620009ac565b606580546001600160a01b031916905562000a5081620021ed565b604080516060810182525f808252602082018190529181019190915262001f376562726964676560d01b5f62001271565b6001600160a01b0316336001600160a01b03161462001f6957604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001fa6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001fcc919062003656565b90505f62001fef8260400151620007e26b195c98cdcc8c57dd985d5b1d60a21b90565b9050806001600160a01b031682602001516001600160a01b0316146200202857604051632583296b60e01b815260040160405180910390fd5b5090565b5f54610100900460ff16620020555760405162461bcd60e51b8152600401620009ac90620036e2565b62002060826200223e565b6001600160a01b03811662002088576040516375cabfef60e11b815260040160405180910390fd5b62000c248162002272565b6001600160a01b0381163b620021025760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620009ac565b5f8051602062003de583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200213c83620022e6565b5f82511180620021495750805b156200139b576200215b838362002327565b50505050565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806200095c5762001282826200234f565b815f03620021b357505050565b620021cf83838360405180602001604052805f8152506200253a565b6200139b57604051634c67134d60e11b815260040160405180910390fd5b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b620022606001600160a01b0382161562002259578162001eeb565b3362001eeb565b5060c9805461ff001916610100179055565b5f54610100900460ff166200229b5760405162461bcd60e51b8152600401620009ac90620036e2565b6001600160401b03461115620022c45760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b620022f18162002093565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606200127f838360405180606001604052806027815260200162003e056027913962002578565b5f80620023646033546001600160a01b031690565b60975460208501518551604080880151606089015191516200239796956001600160a01b0316949392906024016200372d565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620023e06d627269646765645f65726337323160901b5f62001271565b81604051620023ef90620026a6565b620023fc92919062003792565b604051809103905ff08015801562002416573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b0390941693909317178255850151919350849160018201906200247c908262003806565b506060820151600282019062002493908262003806565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b926200252c9290620038d2565b60405180910390a450919050565b5f6001600160a01b0385166200256357604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60605f80856001600160a01b03168560405162002596919062003903565b5f60405180830381855af49150503d805f8114620025d0576040519150601f19603f3d011682016040523d82523d5f602084013e620025d5565b606091505b5091509150620025e886838387620025f2565b9695505050505050565b60608315620026655782515f036200265d576001600160a01b0385163b6200265d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620009ac565b508162002671565b62002671838362002679565b949350505050565b8151156200268a5781518083602001fd5b8060405162461bcd60e51b8152600401620009ac91906200362a565b6104c4806200392183390190565b5f60208284031215620026c5575f80fd5b81356001600160e01b0319811681146200127f575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405161014081016001600160401b0381118282101715620027175762002717620026dd565b60405290565b6040516101a081016001600160401b0381118282101715620027175762002717620026dd565b604051608081016001600160401b0381118282101715620027175762002717620026dd565b604051601f8201601f191681016001600160401b0381118282101715620027935762002793620026dd565b604052919050565b6001600160401b038116811462000a50575f80fd5b80356200095c816200279b565b6001600160a01b038116811462000a50575f80fd5b80356200095c81620027bd565b5f6001600160401b03821115620027fa57620027fa620026dd565b5060051b60200190565b5f82601f83011262002814575f80fd5b813560206200282d6200282783620027df565b62002768565b8083825260208201915060208460051b8701019350868411156200284f575f80fd5b602086015b848110156200286d578035835291830191830162002854565b509695505050505050565b5f6001600160401b03821115620028935762002893620026dd565b50601f01601f191660200190565b5f82601f830112620028b1575f80fd5b8135620028c2620028278262002878565b818152846020838601011115620028d7575f80fd5b816020850160208301375f918101602001919091529392505050565b5f6020828403121562002904575f80fd5b81356001600160401b03808211156200291b575f80fd5b90830190610140828603121562002930575f80fd5b6200293a620026f1565b6200294583620027b0565b81526200295560208401620027d2565b60208201526200296860408401620027d2565b60408201526200297b60608401620027d2565b606082015260808301358281111562002992575f80fd5b620029a08782860162002804565b60808301525060a083013582811115620029b8575f80fd5b620029c68782860162002804565b60a08301525060c083013560c082015260e083013560e0820152610100620029f0818501620027d2565b90820152610120838101358381111562002a08575f80fd5b62002a1688828701620028a1565b918301919091525095945050505050565b5f5b8381101562002a4357818101518382015260200162002a29565b50505f910152565b5f815180845262002a6481602086016020860162002a27565b601f01601f19169290920160200192915050565b6020815262002a936020820183516001600160801b03169052565b5f602083015162002aaf60408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010062002b36818501836001600160a01b03169052565b8401516101208481019190915284015161014080850191909152840151610160808501919091528401516101a06101808086018290529192509062002b806101c086018462002a4b565b90860151858203601f190183870152909250620025e8838262002a4b565b5f8083601f84011262002baf575f80fd5b5081356001600160401b0381111562002bc6575f80fd5b60208301915083602082850101111562002bde575f80fd5b9250929050565b5f805f805f6080868803121562002bfa575f80fd5b853562002c0781620027bd565b9450602086013562002c1981620027bd565b93506040860135925060608601356001600160401b0381111562002c3b575f80fd5b62002c498882890162002b9e565b969995985093965092949392505050565b5f6020828403121562002c6b575f80fd5b81356200127f81620027bd565b5f806040838503121562002c8a575f80fd5b82356001600160401b0381111562002ca0575f80fd5b83016101a0818603121562002cb3575f80fd5b946020939093013593505050565b801515811462000a50575f80fd5b5f805f6060848603121562002ce2575f80fd5b833562002cef816200279b565b925060208401359150604084013562002d088162002cc1565b809150509250925092565b5f806040838503121562002d25575f80fd5b823562002d3281620027bd565b915060208301356001600160401b0381111562002d4d575f80fd5b62002d5b85828601620028a1565b9150509250929050565b5f806040838503121562002d77575f80fd5b82359150602083013562002d8b81620027bd565b809150509250929050565b5f806020838503121562002da8575f80fd5b82356001600160401b0381111562002dbe575f80fd5b62002dcc8582860162002b9e565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f9062002e0c9083018562002a4b565b828103606084015262002e20818562002a4b565b979650505050505050565b5f806040838503121562002e3d575f80fd5b82359150602083013562002d8b8162002cc1565b5f806040838503121562002e63575f80fd5b823562002e7081620027bd565b9150602083013562002d8b81620027bd565b634e487b7160e01b5f52603260045260245ffd5b818103818111156200128257634e487b7160e01b5f52601160045260245ffd5b80516001600160801b03811681146200095c575f80fd5b80516200095c81620027bd565b80516200095c816200279b565b5f82601f83011262002ef7575f80fd5b815162002f08620028278262002878565b81815284602083860101111562002f1d575f80fd5b6200267182602083016020870162002a27565b5f806040838503121562002f42575f80fd5b8251915060208301516001600160401b038082111562002f60575f80fd5b908401906101a0828703121562002f75575f80fd5b62002f7f6200271d565b62002f8a8362002eb6565b815262002f9a6020840162002ecd565b602082015262002fad6040840162002eda565b604082015262002fc06060840162002eda565b606082015262002fd36080840162002ecd565b608082015262002fe660a0840162002ecd565b60a082015262002ff960c0840162002ecd565b60c08201526200300c60e0840162002ecd565b60e0820152610100838101519082015261012080840151908201526101408084015190820152610160808401518381111562003046575f80fd5b620030548982870162002ee7565b82840152505061018080840151838111156200306e575f80fd5b6200307c8982870162002ee7565b8284015250508093505050509250929050565b5f815180845260208085019450602084015f5b83811015620030c057815187529582019590820190600101620030a2565b509495945050505050565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f9062003107908301856200308f565b82810360808401526200311b81856200308f565b98975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f808335601e19843603018112620031d5575f80fd5b8301803591506001600160401b03821115620031ef575f80fd5b60200191503681900382131562002bde575f80fd5b5f808585111562003213575f80fd5b8386111562003220575f80fd5b5050820193919092039150565b5f602082840312156200323e575f80fd5b81356001600160401b0381111562003254575f80fd5b6200267184828501620028a1565b5f82601f83011262003272575f80fd5b81516020620032856200282783620027df565b8083825260208201915060208460051b870101935086841115620032a7575f80fd5b602086015b848110156200286d5780518352918301918301620032ac565b5f805f8060808587031215620032d9575f80fd5b84516001600160401b0380821115620032f0575f80fd5b908601906080828903121562003304575f80fd5b6200330e62002743565b82516200331b816200279b565b815260208301516200332d81620027bd565b602082015260408301518281111562003344575f80fd5b620033528a82860162002ee7565b6040830152506060830151828111156200336a575f80fd5b620033788a82860162002ee7565b60608301525095506200338e6020880162002ecd565b94506200339e6040880162002ecd565b93506060870151915080821115620033b4575f80fd5b50620033c38782880162003262565b91505092959194509250565b6001600160a01b038581168252841660208201526080604082018190525f90620033fc908301856200308f565b828103606084015262002e2081856200308f565b5f805f806080858703121562003424575f80fd5b84356001600160401b03808211156200343b575f80fd5b90860190608082890312156200344f575f80fd5b6200345962002743565b823562003466816200279b565b815260208301356200347881620027bd565b60208201526040830135828111156200348f575f80fd5b6200349d8a828601620028a1565b604083015250606083013582811115620034b5575f80fd5b620034c38a828601620028a1565b6060830152509550620034d960208801620027d2565b9450620034e960408801620027d2565b93506060870135915080821115620034ff575f80fd5b50620033c38782880162002804565b600181811c908216806200352357607f821691505b6020821081036200354257634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6020828403121562003559575f80fd5b81516200127f8162002cc1565b5f6020828403121562003577575f80fd5b81516001600160401b038111156200358d575f80fd5b620026718482850162002ee7565b608080825285516001600160401b03168282015260208601516001600160a01b0390811660a0840152604087015160c08401929092525f9190620035e461010085018362002a4b565b91506060880151607f198584030160e086015262003603838262002a4b565b88831660208701529187166040860152508381036060850152905062002e2081856200308f565b602081525f6200127f602083018462002a4b565b5f602082840312156200364f575f80fd5b5051919050565b5f6060828403121562003667575f80fd5b604051606081018181106001600160401b03821117156200368c576200368c620026dd565b604052825181526020830151620036a381620027bd565b60208201526040830151620036b8816200279b565b60408201529392505050565b5f60208284031215620036d5575f80fd5b81516200127f81620027bd565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f90620037719083018562002a4b565b82810360a084015262003785818562002a4b565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000c369083018462002a4b565b601f8211156200139b57805f5260205f20601f840160051c81016020851015620037de5750805b601f840160051c820191505b81811015620037ff575f8155600101620037ea565b5050505050565b81516001600160401b03811115620038225762003822620026dd565b6200383a816200383384546200350e565b84620037b7565b602080601f83116001811462003870575f8415620038585750858301515b5f19600386901b1c1916600185901b178555620038ca565b5f85815260208120601f198616915b82811015620038a0578886015182559484019460019091019084016200387f565b5085821015620038be57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f620038e6604083018562002a4b565b8281036020840152620038fa818562002a4b565b95945050505050565b5f82516200391681846020870162002a27565b919091019291505056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122078d47b9ef19554ced9fdffe22a811a18cbe200ac438a1d972be4de0a658b715564736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000003": { + "contractName": "ERC721Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000003" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000000004": { + "contractName": "ERC1155VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x608060405260043610620001b7575f3560e01c8063634da63a11620000fa5780639aa8605c1162000092578063e30c3978116200006a578063e30c397814620004fd578063f09a4016146200051c578063f23a6e611462000540578063f2fde38b1462000570575f80fd5b80639aa8605c1462000471578063a86f9d9e14620004a7578063bc197c8114620004cb575f80fd5b806379ba509711620000d257806379ba5097146200040d5780637f07c94714620004245780638456cb59146200043b5780638da5cb5b1462000452575f80fd5b8063634da63a146200039c57806367090ccf14620003b2578063715018a614620003f6575f80fd5b80633c6f5de2116200016e5780634f1ef28611620001465780634f1ef286146200033057806352d1902d146200034757806359f4a907146200035e5780635c975abb146200037a575f80fd5b80633c6f5de214620002de5780633eb6b8cf14620002f55780633f4ba83a1462000319575f80fd5b806301ffc9a714620001bb57806306fdde0314620001f45780631507cc4714620002225780632ca069a514620002485780633659cfe6146200027e5780633ab76e9f14620002a4575b5f80fd5b348015620001c7575f80fd5b50620001df620001d93660046200268e565b62000594565b60405190151581526020015b60405180910390f35b34801562000200575f80fd5b506c195c98cc4c4d4d57dd985d5b1d609a1b5b604051908152602001620001eb565b6200023962000233366004620028cd565b620005cb565b604051620001eb919062002a52565b34801562000254575f80fd5b5062000264636cdb3d1360e11b81565b6040516001600160e01b03199091168152602001620001eb565b3480156200028a575f80fd5b50620002a26200029c36600462002b78565b620009d9565b005b348015620002b0575f80fd5b50609754620002c5906001600160a01b031681565b6040516001600160a01b039091168152602001620001eb565b620002a2620002ef36600462002b96565b62000acb565b34801562000301575f80fd5b50620002c56200031336600462002bed565b62000c5f565b34801562000325575f80fd5b50620002a262000c77565b620002a26200034136600462002c31565b62000cfa565b34801562000353575f80fd5b506200021362000dd1565b3480156200036a575f80fd5b50620002646380ac58cd60e01b81565b34801562000386575f80fd5b50620001df60c954610100900460ff1660021490565b348015620003a8575f80fd5b5062000213600a81565b348015620003be575f80fd5b50620002c5620003d036600462002c83565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801562000402575f80fd5b50620002a262000e86565b34801562000419575f80fd5b50620002a262000e9b565b620002a26200043536600462002cfb565b62000f16565b34801562000447575f80fd5b50620002a262001089565b3480156200045e575f80fd5b506033546001600160a01b0316620002c5565b3480156200047d575f80fd5b50620004956200048f36600462002b78565b6200110c565b604051620001eb949392919062002d3d565b348015620004b3575f80fd5b50620002c5620004c536600462002d90565b62001267565b348015620004d7575f80fd5b5062000264620004e936600462002df9565b63bc197c8160e01b98975050505050505050565b34801562000509575f80fd5b506065546001600160a01b0316620002c5565b34801562000528575f80fd5b50620002a26200053a36600462002ebd565b62001275565b3480156200054c575f80fd5b50620002646200055e36600462002eee565b63f23a6e6160e01b9695505050505050565b3480156200057c575f80fd5b50620002a26200058e36600462002b78565b6200138d565b5f6001600160e01b031982166301ffc9a760e01b1480620005c55750631e37aef160e11b6001600160e01b03198316145b92915050565b604080516101a0810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820192909252610160810182905261018081019190915260026200064460c95460ff1690565b60ff1603620006665760405163dfc60d8560e01b815260040160405180910390fd5b62000672600262001401565b6200068760c954610100900460ff1660021490565b15620006a65760405163bae6e2a960e01b815260040160405180910390fd5b818060a001515181608001515114620006d25760405163196e8a4160e31b815260040160405180910390fd5b600a8160800151511115620006fa5760405163e4a4c1c760e01b815260040160405180910390fd5b60608101516001600160a01b031662000726576040516303f8a7d360e01b815260040160405180910390fd5b5f5b8360a001515181101562000780578360a0015181815181106200074f576200074f62002f6c565b60200260200101515f036200077757604051634299323b60e11b815260040160405180910390fd5b60010162000728565b506060830151620007a2906001600160a01b0316636cdb3d1360e11b62001417565b620007c057604051633ee915f560e11b815260040160405180910390fd5b5f80620007ce3386620014aa565b604080516101a0810182525f808252602080830182905292820181905289516001600160401b03166060830152336080830152918901519395509193509160a08201906001600160a01b03166200082657336200082c565b87602001515b6001600160a01b0316815260200162000861885f01516200085a6c195c98cc4c4d4d57dd985d5b1d609a1b90565b5f62000c5f565b6001600160a01b031681526020018761010001516001600160a01b031681526020018760e001513462000895919062002f80565b81526020018760e0015181526020018760c00151815260200184815260200187610120015181525090505f620008d56562726964676560d01b5f62001267565b6001600160a01b0316636c334e2e34846040518363ffffffff1660e01b815260040162000903919062002a52565b5f6040518083038185885af11580156200091f573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526200094991908101906200301a565b809750819250505086604001516001600160a01b031686608001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc896060015187602001518c606001518d608001518e60a00151604051620009bb959493929190620031b5565b60405180910390a45050505050620009d4600162001401565b919050565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000416300362000a2d5760405162461bcd60e51b815260040162000a249062003211565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000000046001600160a01b031662000a775f8051602062003fd8833981519152546001600160a01b031690565b6001600160a01b03161462000aa05760405162461bcd60e51b815260040162000a24906200325d565b62000aab81620019fc565b604080515f8082526020820190925262000ac89183919062001a06565b50565b600262000ada60c95460ff1690565b60ff160362000afc5760405163dfc60d8560e01b815260040160405180910390fd5b62000b08600262001401565b62000b1d60c954610100900460ff1660021490565b1562000b3c5760405163bae6e2a960e01b815260040160405180910390fd5b62000b4662001b7d565b505f62000b58610160840184620032a9565b62000b68916004908290620032ee565b81019062000b77919062003317565b90505f805f8380602001905181019062000b929190620033af565b94509450505092505f62000bbd8488608001602081019062000bb5919062002b78565b858562001c74565b905062000beb61010088013562000bdb60a08a0160808b0162002b78565b6001600160a01b03169062001d70565b62000bfd60a088016080890162002b78565b6001600160a01b0316867fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c866020015184878760405162000c429493929190620034df565b60405180910390a3505050505062000c5b600162001401565b5050565b5f62000c6d84848462001d7d565b90505b9392505050565b62000c8c60c954610100900460ff1660021490565b62000caa5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a162000cf8335f62001e70565b565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000416300362000d455760405162461bcd60e51b815260040162000a249062003211565b7f00000000000000000000000001670090000000000000000000000000000000046001600160a01b031662000d8f5f8051602062003fd8833981519152546001600160a01b031690565b6001600160a01b03161462000db85760405162461bcd60e51b815260040162000a24906200325d565b62000dc382620019fc565b62000c5b8282600162001a06565b5f306001600160a01b037f0000000000000000000000000167009000000000000000000000000000000004161462000e725760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000a24565b505f8051602062003fd88339815191525b90565b62000e9062001e75565b62000cf85f62001ed1565b60655433906001600160a01b0316811462000f0b5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000a24565b62000ac88162001ed1565b600262000f2560c95460ff1690565b60ff160362000f475760405163dfc60d8560e01b815260040160405180910390fd5b62000f53600262001401565b62000f6860c954610100900460ff1660021490565b1562000f875760405163bae6e2a960e01b815260040160405180910390fd5b5f8080808062000f9a8688018862003520565b945094509450945094505f62000faf62001eec565b90506001600160a01b038416158062000fd057506001600160a01b03841630145b1562000fef5760405163def9481360e01b815260040160405180910390fd5b5f62000ffe8786868662001c74565b9050620010156001600160a01b0386163462001d70565b846001600160a01b0316866001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518b60200151868a8a6040516200106e959493929190620031b5565b60405180910390a45050505050505062000c5b600162001401565b6200109e60c954610100900460ff1660021490565b15620010bd5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a162000cf833600162001e70565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b03169291906200114c9062003643565b80601f01602080910402602001604051908101604052809291908181526020018280546200117a9062003643565b8015620011c95780601f106200119f57610100808354040283529160200191620011c9565b820191905f5260205f20905b815481529060010190602001808311620011ab57829003601f168201915b505050505090806002018054620011e09062003643565b80601f01602080910402602001604051908101604052809291908181526020018280546200120e9062003643565b80156200125d5780601f1062001233576101008083540402835291602001916200125d565b820191905f5260205f20905b8154815290600101906020018083116200123f57829003601f168201915b5050505050905084565b5f62000c7046848462001d7d565b5f54610100900460ff16158080156200129457505f54600160ff909116105b80620012af5750303b158015620012af57505f5460ff166001145b620013145760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000a24565b5f805460ff19166001179055801562001336575f805461ff0019166101001790555b62001342838362002013565b801562001388575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6200139762001e75565b606580546001600160a01b0383166001600160a01b03199091168117909155620013c96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b5f6001600160a01b0383163b6200143057505f620005c5565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa9250505080156200149d575060408051601f3d908101601f191682019092526200149a918101906200367d565b60015b15620005c5579392505050565b604080516080810182525f8082526020820152606091810182905280820182905260608301516001600160a01b039081165f90815261012d6020526040902054600160401b90041615620017565760608301516001600160a01b039081165f90815261012d6020908152604091829020825160808101845281546001600160401b0381168252600160401b9004909416918401919091526001810180549192840191620015579062003643565b80601f0160208091040260200160405190810160405280929190818152602001828054620015859062003643565b8015620015d45780601f10620015aa57610100808354040283529160200191620015d4565b820191905f5260205f20905b815481529060010190602001808311620015b657829003601f168201915b50505050508152602001600282018054620015ef9062003643565b80601f01602080910402602001604051908101604052809291908181526020018280546200161d9062003643565b80156200166c5780601f1062001642576101008083540402835291602001916200166c565b820191905f5260205f20905b8154815290600101906020018083116200164e57829003601f168201915b50505050508152505090505f5b8360800151518110156200174f5783606001516001600160a01b031663f5298aca8686608001518481518110620016b457620016b462002f6c565b60200260200101518760a001518581518110620016d557620016d562002f6c565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064015f604051808303815f87803b1580156200172c575f80fd5b505af11580156200173f573d5f803e3d5ffd5b5050505080600101905062001679565b506200197a565b6040518060800160405280466001600160401b0316815260200184606001516001600160a01b0316815260200160405180602001604052805f815250815260200160405180602001604052805f81525081525090505f83606001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa9250505080156200181357506040513d5f823e601f3d908101601f191682016040526200181091908101906200369b565b60015b156200181f5760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa9250505080156200187f57506040513d5f823e601f3d908101601f191682016040526200187c91908101906200369b565b60015b156200188b5760408301525b5f5b846080015151811015620019775784606001516001600160a01b031663f242432a333088608001518581518110620018c957620018c962002f6c565b60200260200101518960a001518681518110620018ea57620018ea62002f6c565b60209081029190910101516040516001600160e01b031960e087901b1681526001600160a01b0394851660048201529390921660248401526044830152606482015260a060848201525f60a482015260c4015f604051808303815f87803b15801562001954575f80fd5b505af115801562001967573d5f803e3d5ffd5b505050508060010190506200188d565b50505b604080840151608085015160a086015192513093637f07c94793620019a79387938b9390602001620036d0565b60408051601f1981840301815290829052620019c69160240162003787565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505091509250929050565b62000ac862001e75565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001a3c5762001388836200207a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001a99575060408051601f3d908101601f1916820190925262001a96918101906200379b565b60015b62001afe5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000a24565b5f8051602062003fd8833981519152811462001b6f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000a24565b506200138883838362002118565b604080516060810182525f808252602082018190529181019190915262001bae6562726964676560d01b5f62001267565b6001600160a01b0316336001600160a01b03161462001be057604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001c1d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001c439190620037b3565b60208101519091506001600160a01b0316331462000e8357604051632583296b60e01b815260040160405180910390fd5b5f46855f01516001600160401b03160362001cf857506020840151604051631759616b60e11b81526001600160a01b03821690632eb2c2d69062001cc390309088908890889060040162003821565b5f604051808303815f87803b15801562001cdb575f80fd5b505af115801562001cee573d5f803e3d5ffd5b5050505062001d68565b62001d038562002148565b60405163d81d0a1560e01b81529091506001600160a01b0382169063d81d0a159062001d38908790879087906004016200387e565b5f604051808303815f87803b15801562001d50575f80fd5b505af115801562001d63573d5f803e3d5ffd5b505050505b949350505050565b62000c5b82825a6200218d565b6097545f906001600160a01b031662001da957604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001e00573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e269190620038b7565b90508115801562001e3e57506001600160a01b038116155b1562000c7057604051632b0d65db60e01b81526001600160401b03851660048201526024810184905260440162000a24565b62000c5b5b6033546001600160a01b0316331462000cf85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000a24565b606580546001600160a01b031916905562000ac881620021d4565b604080516060810182525f808252602082018190529181019190915262001f1d6562726964676560d01b5f62001267565b6001600160a01b0316336001600160a01b03161462001f4f57604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001f8c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001fb29190620037b3565b90505f62001fd682604001516200085a6c195c98cc4c4d4d57dd985d5b1d609a1b90565b9050806001600160a01b031682602001516001600160a01b0316146200200f57604051632583296b60e01b815260040160405180910390fd5b5090565b5f54610100900460ff166200203c5760405162461bcd60e51b815260040162000a2490620038d5565b620020478262002225565b6001600160a01b0381166200206f576040516375cabfef60e11b815260040160405180910390fd5b62000c5b8162002259565b6001600160a01b0381163b620020e95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000a24565b5f8051602062003fd883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200212383620022cd565b5f82511180620021305750805b1562001388576200214283836200230e565b50505050565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b0390811685529252909120541680620009d457620005c58262002336565b815f036200219a57505050565b620021b683838360405180602001604052805f81525062002522565b6200138857604051634c67134d60e11b815260040160405180910390fd5b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b620022476001600160a01b0382161562002240578162001ed1565b3362001ed1565b5060c9805461ff001916610100179055565b5f54610100900460ff16620022825760405162461bcd60e51b815260040162000a2490620038d5565b6001600160401b03461115620022ab5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b620022d8816200207a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000c70838360405180606001604052806027815260200162003ff86027913962002560565b5f806200234b6033546001600160a01b031690565b60975460208501518551604080880151606089015191516200237e96956001600160a01b03169493929060240162003920565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620023c86e627269646765645f6572633131353560881b5f62001267565b81604051620023d79062002680565b620023e492919062003985565b604051809103905ff080158015620023fe573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b039094169390931717825585015191935084916001820190620024649082620039f9565b50606082015160028201906200247b9082620039f9565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b9262002514929062003ac5565b60405180910390a450919050565b5f6001600160a01b0385166200254b57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60605f80856001600160a01b0316856040516200257e919062003af6565b5f60405180830381855af49150503d805f8114620025b8576040519150601f19603f3d011682016040523d82523d5f602084013e620025bd565b606091505b5091509150620025d086838387620025da565b9695505050505050565b606083156200264d5782515f0362002645576001600160a01b0385163b620026455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000a24565b508162001d68565b62001d688383815115620026645781518083602001fd5b8060405162461bcd60e51b815260040162000a24919062003787565b6104c48062003b1483390190565b5f602082840312156200269f575f80fd5b81356001600160e01b03198116811462000c70575f80fd5b634e487b7160e01b5f52604160045260245ffd5b60405161014081016001600160401b0381118282101715620026f157620026f1620026b7565b60405290565b6040516101a081016001600160401b0381118282101715620026f157620026f1620026b7565b604051608081016001600160401b0381118282101715620026f157620026f1620026b7565b604051601f8201601f191681016001600160401b03811182821017156200276d576200276d620026b7565b604052919050565b6001600160401b038116811462000ac8575f80fd5b8035620009d48162002775565b6001600160a01b038116811462000ac8575f80fd5b8035620009d48162002797565b5f6001600160401b03821115620027d457620027d4620026b7565b5060051b60200190565b5f82601f830112620027ee575f80fd5b81356020620028076200280183620027b9565b62002742565b8083825260208201915060208460051b87010193508684111562002829575f80fd5b602086015b848110156200284757803583529183019183016200282e565b509695505050505050565b5f6001600160401b038211156200286d576200286d620026b7565b50601f01601f191660200190565b5f82601f8301126200288b575f80fd5b81356200289c620028018262002852565b818152846020838601011115620028b1575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215620028de575f80fd5b81356001600160401b0380821115620028f5575f80fd5b9083019061014082860312156200290a575f80fd5b62002914620026cb565b6200291f836200278a565b81526200292f60208401620027ac565b60208201526200294260408401620027ac565b60408201526200295560608401620027ac565b60608201526080830135828111156200296c575f80fd5b6200297a87828601620027de565b60808301525060a08301358281111562002992575f80fd5b620029a087828601620027de565b60a08301525060c083013560c082015260e083013560e0820152610100620029ca818501620027ac565b908201526101208381013583811115620029e2575f80fd5b620029f0888287016200287b565b918301919091525095945050505050565b5f5b8381101562002a1d57818101518382015260200162002a03565b50505f910152565b5f815180845262002a3e81602086016020860162002a01565b601f01601f19169290920160200192915050565b6020815262002a6d6020820183516001600160801b03169052565b5f602083015162002a8960408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010062002b10818501836001600160a01b03169052565b8401516101208481019190915284015161014080850191909152840151610160808501919091528401516101a06101808086018290529192509062002b5a6101c086018462002a25565b90860151858203601f190183870152909250620025d0838262002a25565b5f6020828403121562002b89575f80fd5b813562000c708162002797565b5f806040838503121562002ba8575f80fd5b82356001600160401b0381111562002bbe575f80fd5b83016101a0818603121562002bd1575f80fd5b946020939093013593505050565b801515811462000ac8575f80fd5b5f805f6060848603121562002c00575f80fd5b833562002c0d8162002775565b925060208401359150604084013562002c268162002bdf565b809150509250925092565b5f806040838503121562002c43575f80fd5b823562002c508162002797565b915060208301356001600160401b0381111562002c6b575f80fd5b62002c79858286016200287b565b9150509250929050565b5f806040838503121562002c95575f80fd5b82359150602083013562002ca98162002797565b809150509250929050565b5f8083601f84011262002cc5575f80fd5b5081356001600160401b0381111562002cdc575f80fd5b60208301915083602082850101111562002cf4575f80fd5b9250929050565b5f806020838503121562002d0d575f80fd5b82356001600160401b0381111562002d23575f80fd5b62002d318582860162002cb4565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f9062002d719083018562002a25565b828103606084015262002d85818562002a25565b979650505050505050565b5f806040838503121562002da2575f80fd5b82359150602083013562002ca98162002bdf565b5f8083601f84011262002dc7575f80fd5b5081356001600160401b0381111562002dde575f80fd5b6020830191508360208260051b850101111562002cf4575f80fd5b5f805f805f805f8060a0898b03121562002e11575f80fd5b883562002e1e8162002797565b9750602089013562002e308162002797565b965060408901356001600160401b038082111562002e4c575f80fd5b62002e5a8c838d0162002db6565b909850965060608b013591508082111562002e73575f80fd5b62002e818c838d0162002db6565b909650945060808b013591508082111562002e9a575f80fd5b5062002ea98b828c0162002cb4565b999c989b5096995094979396929594505050565b5f806040838503121562002ecf575f80fd5b823562002edc8162002797565b9150602083013562002ca98162002797565b5f805f805f8060a0878903121562002f04575f80fd5b863562002f118162002797565b9550602087013562002f238162002797565b9450604087013593506060870135925060808701356001600160401b0381111562002f4c575f80fd5b62002f5a89828a0162002cb4565b979a9699509497509295939492505050565b634e487b7160e01b5f52603260045260245ffd5b81810381811115620005c557634e487b7160e01b5f52601160045260245ffd5b80516001600160801b0381168114620009d4575f80fd5b8051620009d48162002797565b8051620009d48162002775565b5f82601f83011262002fe1575f80fd5b815162002ff2620028018262002852565b81815284602083860101111562003007575f80fd5b62001d6882602083016020870162002a01565b5f80604083850312156200302c575f80fd5b8251915060208301516001600160401b03808211156200304a575f80fd5b908401906101a082870312156200305f575f80fd5b62003069620026f7565b620030748362002fa0565b8152620030846020840162002fb7565b6020820152620030976040840162002fc4565b6040820152620030aa6060840162002fc4565b6060820152620030bd6080840162002fb7565b6080820152620030d060a0840162002fb7565b60a0820152620030e360c0840162002fb7565b60c0820152620030f660e0840162002fb7565b60e0820152610100838101519082015261012080840151908201526101408084015190820152610160808401518381111562003130575f80fd5b6200313e8982870162002fd1565b828401525050610180808401518381111562003158575f80fd5b620031668982870162002fd1565b8284015250508093505050509250929050565b5f815180845260208085019450602084015f5b83811015620031aa578151875295820195908201906001016200318c565b509495945050505050565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f90620031f19083018562003179565b828103608084015262003205818562003179565b98975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f808335601e19843603018112620032bf575f80fd5b8301803591506001600160401b03821115620032d9575f80fd5b60200191503681900382131562002cf4575f80fd5b5f8085851115620032fd575f80fd5b838611156200330a575f80fd5b5050820193919092039150565b5f6020828403121562003328575f80fd5b81356001600160401b038111156200333e575f80fd5b62001d68848285016200287b565b5f82601f8301126200335c575f80fd5b815160206200336f6200280183620027b9565b8083825260208201915060208460051b87010193508684111562003391575f80fd5b602086015b8481101562002847578051835291830191830162003396565b5f805f805f60a08688031215620033c4575f80fd5b85516001600160401b0380821115620033db575f80fd5b908701906080828a031215620033ef575f80fd5b620033f96200271d565b8251620034068162002775565b81526020830151620034188162002797565b60208201526040830151828111156200342f575f80fd5b6200343d8b82860162002fd1565b60408301525060608301518281111562003455575f80fd5b620034638b82860162002fd1565b6060830152509650620034796020890162002fb7565b9550620034896040890162002fb7565b945060608801519150808211156200349f575f80fd5b620034ad89838a016200334c565b93506080880151915080821115620034c3575f80fd5b50620034d2888289016200334c565b9150509295509295909350565b6001600160a01b038581168252841660208201526080604082018190525f906200350c9083018562003179565b828103606084015262002d85818562003179565b5f805f805f60a0868803121562003535575f80fd5b85356001600160401b03808211156200354c575f80fd5b908701906080828a03121562003560575f80fd5b6200356a6200271d565b8235620035778162002775565b81526020830135620035898162002797565b6020820152604083013582811115620035a0575f80fd5b620035ae8b8286016200287b565b604083015250606083013582811115620035c6575f80fd5b620035d48b8286016200287b565b6060830152509650620035ea60208901620027ac565b9550620035fa60408901620027ac565b9450606088013591508082111562003610575f80fd5b6200361e89838a01620027de565b9350608088013591508082111562003634575f80fd5b50620034d288828901620027de565b600181811c908216806200365857607f821691505b6020821081036200367757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602082840312156200368e575f80fd5b815162000c708162002bdf565b5f60208284031215620036ac575f80fd5b81516001600160401b03811115620036c2575f80fd5b62001d688482850162002fd1565b60a080825286516001600160401b03169082015260208601516001600160a01b031660c08201526040860151608060e08301525f906200371561012084018262002a25565b90506060880151609f198483030161010085015262003735828262002a25565b9150506200374e60208401886001600160a01b03169052565b6001600160a01b0386166040840152828103606084015262003771818662003179565b9050828103608084015262003205818562003179565b602081525f62000c70602083018462002a25565b5f60208284031215620037ac575f80fd5b5051919050565b5f60608284031215620037c4575f80fd5b604051606081018181106001600160401b0382111715620037e957620037e9620026b7565b604052825181526020830151620038008162002797565b60208201526040830151620038158162002775565b60408201529392505050565b6001600160a01b0385811682528416602082015260a0604082018190525f906200384e9083018562003179565b828103606084015262003862818562003179565b83810360809094019390935250505f8152602001949350505050565b6001600160a01b03841681526060602082018190525f90620038a39083018562003179565b8281036040840152620025d0818562003179565b5f60208284031215620038c8575f80fd5b815162000c708162002797565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f90620039649083018562002a25565b82810360a084015262003978818562002a25565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000c6d9083018462002a25565b601f8211156200138857805f5260205f20601f840160051c81016020851015620039d15750805b601f840160051c820191505b81811015620039f2575f8155600101620039dd565b5050505050565b81516001600160401b0381111562003a155762003a15620026b7565b62003a2d8162003a26845462003643565b84620039aa565b602080601f83116001811462003a63575f841562003a4b5750858301515b5f19600386901b1c1916600185901b17855562003abd565b5f85815260208120601f198616915b8281101562003a935788860151825594840194600190910190840162003a72565b508582101562003ab157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f62003ad9604083018562002a25565b828103602084015262003aed818562002a25565b95945050505050565b5f825162003b0981846020870162002a01565b919091019291505056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122099dfd2e82e6430ef2c3892d351d538d37e465b5b3e67e6272faa4f53b60e26a964736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000004": { + "contractName": "ERC1155Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000004" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010096": { + "contractName": "BridgedERC20", + "storage": {}, + "code": "0x60806040526004361061030d575f3560e01c806370a08231116101a3578063981b24d0116100f2578063bb86ef9311610092578063dd62ed3e1161006d578063dd62ed3e14610940578063e30c39781461095f578063f1127ed81461097c578063f2fde38b146109c5575f80fd5b8063bb86ef93146108e3578063c3cda52014610902578063d505accf14610921575f80fd5b8063a457c2d7116100cd578063a457c2d714610867578063a86f9d9e14610886578063a9059cbb146108a5578063b8f2e0c5146108c4575f80fd5b8063981b24d01461080a5780639ab24eb0146108295780639dc29fac14610848575f80fd5b80638456cb591161015d5780638e539e8c116101385780638e539e8c1461079857806391ddadf4146107b757806395d89b41146107e25780639711715a146107f6575f80fd5b80638456cb591461074957806384b0196e1461075d5780638da5cb5b14610784575f80fd5b806370a082311461068e578063715018a6146106c357806379ba5097146106d75780637cf8ed0d146106eb5780637e4746341461070b5780637ecebe001461072a575f80fd5b80633ab76e9f1161025f5780634ee2cd7e11610219578063587cde1e116101f4578063587cde1e146105e35780635c19a95c1461061b5780635c975abb1461063a5780636fcfff451461065a575f80fd5b80634ee2cd7e1461059d5780634f1ef286146105bc57806352d1902d146105cf575f80fd5b80633ab76e9f146105025780633eb6b8cf146105215780633f4ba83a1461054057806340c10f191461055457806349d12605146105735780634bf5d7e914610589575f80fd5b80632e74eb2d116102ca5780633659cfe6116102a55780633659cfe61461046d57806337fbe1121461048c57806339509351146104c45780633a46b1a8146104e3575f80fd5b80632e74eb2d1461040c578063313ce5671461042d5780633644e51514610459575f80fd5b806306fdde0314610311578063095ea7b31461033b5780630ae745481461036a57806318160ddd1461038a57806323b872dd146103a957806326afaadd146103c8575b5f80fd5b34801561031c575f80fd5b506103256109e4565b6040516103329190613c7f565b60405180910390f35b348015610346575f80fd5b5061035a610355366004613ca5565b6109ff565b6040519015158152602001610332565b348015610375575f80fd5b5060fb5461035a90600160a01b900460ff1681565b348015610395575f80fd5b5061012f545b604051908152602001610332565b3480156103b4575f80fd5b5061035a6103c3366004613ccf565b610a18565b3480156103d3575f80fd5b506103ed61022a5461022b546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610332565b348015610417575f80fd5b5061042b610426366004613d0d565b610a3d565b005b348015610438575f80fd5b5061022a54600160a01b900460ff1660405160ff9091168152602001610332565b348015610464575f80fd5b5061039b610a68565b348015610478575f80fd5b5061042b610487366004613d0d565b610a71565b348015610497575f80fd5b5061022c546104ac906001600160a01b031681565b6040516001600160a01b039091168152602001610332565b3480156104cf575f80fd5b5061035a6104de366004613ca5565b610b57565b3480156104ee575f80fd5b5061039b6104fd366004613ca5565b610b78565b34801561050d575f80fd5b506097546104ac906001600160a01b031681565b34801561052c575f80fd5b506104ac61053b366004613d37565b610bf5565b34801561054b575f80fd5b5061042b610c09565b34801561055f575f80fd5b5061042b61056e366004613ca5565b610c88565b34801561057e575f80fd5b5061039b61022b5481565b348015610594575f80fd5b50610325610dd6565b3480156105a8575f80fd5b5061039b6105b7366004613ca5565b610e6e565b61042b6105ca366004613e05565b610ec7565b3480156105da575f80fd5b5061039b610f92565b3480156105ee575f80fd5b506104ac6105fd366004613d0d565b6001600160a01b039081165f9081526101f860205260409020541690565b348015610626575f80fd5b5061042b610635366004613d0d565b611043565b348015610645575f80fd5b5061035a60c954610100900460ff1660021490565b348015610665575f80fd5b50610679610674366004613d0d565b61104d565b60405163ffffffff9091168152602001610332565b348015610699575f80fd5b5061039b6106a8366004613d0d565b6001600160a01b03165f90815261012d602052604090205490565b3480156106ce575f80fd5b5061042b61106f565b3480156106e2575f80fd5b5061042b611080565b3480156106f6575f80fd5b5061022a546104ac906001600160a01b031681565b348015610716575f80fd5b5060fb546104ac906001600160a01b031681565b348015610735575f80fd5b5061039b610744366004613d0d565b6110f7565b348015610754575f80fd5b5061042b611115565b348015610768575f80fd5b50610771611194565b6040516103329796959493929190613e65565b34801561078f575f80fd5b506104ac61122f565b3480156107a3575f80fd5b5061039b6107b2366004613efc565b611242565b3480156107c2575f80fd5b506107cb6112a9565b60405165ffffffffffff9091168152602001610332565b3480156107ed575f80fd5b506103256112b3565b348015610801575f80fd5b5061039b6112c5565b348015610815575f80fd5b5061039b610824366004613efc565b611321565b348015610834575f80fd5b5061039b610843366004613d0d565b611342565b348015610853575f80fd5b5061042b610862366004613ca5565b6113c1565b348015610872575f80fd5b5061035a610881366004613ca5565b611560565b348015610891575f80fd5b506104ac6108a0366004613f13565b6115e5565b3480156108b0575f80fd5b5061035a6108bf366004613ca5565b6115f1565b3480156108cf575f80fd5b5061042b6108de366004613f3d565b6115fe565b3480156108ee575f80fd5b5061042b6108fd366004613f95565b61179b565b34801561090d575f80fd5b5061042b61091c366004614044565b61190d565b34801561092c575f80fd5b5061042b61093b36600461409a565b611a42565b34801561094b575f80fd5b5061039b61095a366004614103565b611ba3565b34801561096a575f80fd5b506065546001600160a01b03166104ac565b348015610987575f80fd5b5061099b61099636600461413a565b611bce565b60408051825163ffffffff1681526020928301516001600160e01b03169281019290925201610332565b3480156109d0575f80fd5b5061042b6109df366004613d0d565b611c50565b60606109fa6109f1611cb6565b61022b54611d47565b905090565b5f33610a0c818585611d96565b60019150505b92915050565b5f33610a25858285611eba565b610a30858585611f32565b60019150505b9392505050565b610a456120ee565b61022c80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6109fa61214d565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000010096163003610ac25760405162461bcd60e51b8152600401610ab99061416e565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000100966001600160a01b0316610b0a5f805160206144f6833981519152546001600160a01b031690565b6001600160a01b031614610b305760405162461bcd60e51b8152600401610ab9906141ba565b610b3981612156565b604080515f80825260208201909252610b549183919061215e565b50565b5f33610a0c818585610b698383611ba3565b610b73919061421a565b611d96565b5f610b816112a9565b65ffffffffffff168210610bd35760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610ab9565b6001600160a01b0383165f9081526101f960205260409020610a3690836122cd565b5f610c018484846123ae565b949350505050565b610c1d60c954610100900460ff1660021490565b610c3a5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a1610c86335f61249c565b565b6002610c9660c95460ff1690565b60ff1603610cb75760405163dfc60d8560e01b815260040160405180910390fd5b610cc160026124a4565b610cd560c954610100900460ff1660021490565b15610cf35760405163bae6e2a960e01b815260040160405180910390fd5b610cfb6124ba565b15610d195760405163b19aa30f60e01b815260040160405180910390fd5b60fb546001600160a01b03163303610d745760fb546040518281526001600160a01b038481169216907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a3610dbe565b610d8d6a195c98cc8c17dd985d5b1d60aa1b60016115e5565b6001600160a01b0316336001600160a01b031614610dbe576040516361fad54f60e11b815260040160405180910390fd5b610dc882826124e3565b610dd260016124a4565b5050565b606043610de16112a9565b65ffffffffffff1614610e365760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606401610ab9565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0382165f90815261015f6020526040812081908190610e959085906124ed565b9150915081610ebc576001600160a01b0385165f90815261012d6020526040902054610ebe565b805b95945050505050565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000010096163003610f0f5760405162461bcd60e51b8152600401610ab99061416e565b7f00000000000000000000000001670090000000000000000000000000000100966001600160a01b0316610f575f805160206144f6833981519152546001600160a01b031690565b6001600160a01b031614610f7d5760405162461bcd60e51b8152600401610ab9906141ba565b610f8682612156565b610dd28282600161215e565b5f306001600160a01b037f000000000000000000000000016700900000000000000000000000000001009616146110315760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ab9565b505f805160206144f683398151915290565b610b5433826125dd565b6001600160a01b0381165f9081526101f96020526040812054610a1290612658565b6110776120ee565b610c865f6126c0565b60655433906001600160a01b031681146110ee5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610ab9565b610b54816126c0565b6001600160a01b0381165f9081526101c56020526040812054610a12565b61112960c954610100900460ff1660021490565b156111475760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a1610c8633600161249c565b5f6060805f805f6060610191545f801b1480156111b2575061019254155b6111f65760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610ab9565b6111fe6126d9565b6112066126e9565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f6109fa6033546001600160a01b031690565b5f61124b6112a9565b65ffffffffffff16821061129d5760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610ab9565b610a126101fa836122cd565b5f6109fa436126f9565b60606109fa6112c061275f565b61276f565b5f6112ce61122f565b6001600160a01b0316336001600160a01b0316141580156112fb575061022c546001600160a01b03163314155b1561131957604051630b1d89d360e41b815260040160405180910390fd5b6109fa6127b8565b5f805f611330846101606124ed565b9150915081610a365761012f54610c01565b6001600160a01b0381165f9081526101f9602052604081205480156113af576001600160a01b0383165f9081526101f96020526040902080545f19830190811061138e5761138e61422d565b5f9182526020909120015464010000000090046001600160e01b03166113b1565b5f5b6001600160e01b03169392505050565b60026113cf60c95460ff1690565b60ff16036113f05760405163dfc60d8560e01b815260040160405180910390fd5b6113fa60026124a4565b61140e60c954610100900460ff1660021490565b1561142c5760405163bae6e2a960e01b815260040160405180910390fd5b6114346124ba565b1561150c57336001600160a01b03831614611462576040516361fad54f60e11b815260040160405180910390fd5b60fb546040518281526001600160a01b038481169216907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a360fb546040516340c10f1960e01b81526001600160a01b03848116600483015260248201849052909116906340c10f19906044015f604051808303815f87803b1580156114f1575f80fd5b505af1158015611503573d5f803e3d5ffd5b50505050611556565b6115256a195c98cc8c17dd985d5b1d60aa1b60016115e5565b6001600160a01b0316336001600160a01b03161461155657604051630d85cccf60e11b815260040160405180910390fd5b610dc88282612811565b5f338161156d8286611ba3565b9050838110156115cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ab9565b6115da8286868403611d96565b506001949350505050565b5f610a364684846123ae565b5f33610a0c818585611f32565b600261160c60c95460ff1690565b60ff160361162d5760405163dfc60d8560e01b815260040160405180910390fd5b61163760026124a4565b61164b60c954610100900460ff1660021490565b156116695760405163bae6e2a960e01b815260040160405180910390fd5b6a195c98cc8c17dd985d5b1d60aa1b61168061122f565b6001600160a01b0316336001600160a01b0316141580156116bd57506116a78160016115e5565b6001600160a01b0316336001600160a01b031614155b156116db57604051630d85cccf60e11b815260040160405180910390fd5b60fb546001600160a01b03848116911614801561170a575060fb60149054906101000a900460ff161515821515145b156117285760405163b253fdfd60e01b815260040160405180910390fd5b60fb80546001600160a01b0385166001600160a81b03199091168117600160a01b851515908102919091179092556040805191825260208201929092527fa6b6f959792843a48d9d03d13595f2de7c86ae0ce12ef0fa759dd911b205e565910160405180910390a150610dd260016124a4565b5f54610100900460ff16158080156117b957505f54600160ff909116105b806117d25750303b1580156117d257505f5460ff166001145b6118355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ab9565b5f805460ff191660011790558015611856575f805461ff0019166101001790555b6118628686858561281b565b61186c8888612850565b61187682846128af565b61187e6128df565b6118866128df565b61188f82612905565b61022a805461022b87905560ff8616600160a01b026001600160a81b03199091166001600160a01b038916171790558015611903575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b8342111561195d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610ab9565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590525f906119d6906119ce9060a0016040516020818303038152906040528051906020012061294e565b85858561297a565b90506119e1816129a0565b8614611a2f5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610ab9565b611a3981886125dd565b50505050505050565b83421115611a925760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610ab9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611ac08c6129a0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f611b1a8261294e565b90505f611b298287878761297a565b9050896001600160a01b0316816001600160a01b031614611b8c5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610ab9565b611b978a8a8a611d96565b50505050505050505050565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205490565b604080518082019091525f80825260208201526001600160a01b0383165f9081526101f960205260409020805463ffffffff8416908110611c1157611c1161422d565b5f9182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b611c586120ee565b606580546001600160a01b0319166001600160a01b038316908117909155611c7e61122f565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60606101308054611cc690614241565b80601f0160208091040260200160405190810160405280929190818152602001828054611cf290614241565b8015611d3d5780601f10611d1457610100808354040283529160200191611d3d565b820191905f5260205f20905b815481529060010190602001808311611d2057829003601f168201915b5050505050905090565b606082515f03611d65575060408051602081019091525f8152610a12565b82611d6f836129c8565b604051602001611d80929190614273565b6040516020818303038152906040529050610a12565b6001600160a01b038316611df85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ab9565b6001600160a01b038216611e595760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ab9565b6001600160a01b038381165f81815261012e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f611ec58484611ba3565b90505f198114611f2c5781811015611f1f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610ab9565b611f2c8484848403611d96565b50505050565b6001600160a01b038316611f965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ab9565b6001600160a01b038216611ff85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ab9565b612003838383612a58565b6001600160a01b0383165f90815261012d60205260409020548181101561207b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ab9565b6001600160a01b038085165f81815261012d602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906120db9086815260200190565b60405180910390a3611f2c848484612abe565b336120f761122f565b6001600160a01b031614610c865760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ab9565b5f6109fa612ac9565b610b546120ee565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156121965761219183612b3c565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156121f0575060408051601f3d908101601f191682019092526121ed918101906142d3565b60015b6122535760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610ab9565b5f805160206144f683398151915281146122c15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610ab9565b50612191838383612bd7565b81545f9081816005811115612324575f6122e684612bfb565b6122f090856142ea565b5f88815260209020909150869082015463ffffffff16111561231457809150612322565b61231f81600161421a565b92505b505b8082101561236f575f6123378383612cdf565b5f88815260209020909150869082015463ffffffff16111561235b57809150612369565b61236681600161421a565b92505b50612324565b8015612399575f8681526020902081015f19015464010000000090046001600160e01b031661239b565b5f5b6001600160e01b03169695505050505050565b6097545f906001600160a01b03166123d957604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015612430573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061245491906142fd565b90508115801561246b57506001600160a01b038116155b15610a3657604051632b0d65db60e01b815267ffffffffffffffff8516600482015260248101849052604401610ab9565b610dd26120ee565b60c9805460ff191660ff92909216919091179055565b60fb545f906001600160a01b0316158015906109fa57505060fb54600160a01b900460ff161590565b610dd28282612cf9565b5f805f84116125375760405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606401610ab9565b61253f612d03565b84111561258e5760405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606401610ab9565b5f6125998486612d0e565b845490915081036125b0575f8092509250506125d6565b60018460010182815481106125c7576125c761422d565b905f5260205f20015492509250505b9250929050565b6001600160a01b038281165f8181526101f860208181526040808420805461012d845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611f2c828483612db4565b5f63ffffffff8211156126bc5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610ab9565b5090565b606580546001600160a01b0319169055610b5481612ef0565b60606101938054611cc690614241565b60606101948054611cc690614241565b5f65ffffffffffff8211156126bc5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610ab9565b60606101318054611cc690614241565b606081515f0361278c57505060408051602081019091525f815290565b8160405160200161279d9190614318565b6040516020818303038152906040529050919050565b919050565b5f6127c861016280546001019055565b5f6127d1612d03565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb678160405161280491815260200190565b60405180910390a1919050565b610dd28282612f41565b6128258484612f4b565b8151158061283257508051155b15611f2c5760405163c118d2f360e01b815260040160405180910390fd5b5f54610100900460ff166128765760405162461bcd60e51b8152600401610ab99061433d565b61287f82612f87565b6001600160a01b0381166128a6576040516375cabfef60e11b815260040160405180910390fd5b610dd281612fb7565b5f54610100900460ff166128d55760405162461bcd60e51b8152600401610ab99061433d565b610dd28282613028565b5f54610100900460ff16610c865760405162461bcd60e51b8152600401610ab99061433d565b5f54610100900460ff1661292b5760405162461bcd60e51b8152600401610ab99061433d565b610b5481604051806040016040528060018152602001603160f81b815250613069565b5f610a1261295a61214d565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f612989878787876130ba565b9150915061299681613177565b5095945050505050565b6001600160a01b0381165f9081526101c5602052604090208054600181018255905b50919050565b60605f6129d4836132c0565b60010190505f8167ffffffffffffffff8111156129f3576129f3613d7e565b6040519080825280601f01601f191660200182016040528015612a1d576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084612a2757509392505050565b306001600160a01b03831603612a8157604051630183150560e21b815260040160405180910390fd5b612a9560c954610100900460ff1660021490565b15612ab35760405163bae6e2a960e01b815260040160405180910390fd5b612191838383613397565b6121918383836133df565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612af3613411565b612afb61346a565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381163b612ba95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ab9565b5f805160206144f683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612be08361349b565b5f82511180612bec5750805b1561219157611f2c83836134da565b5f815f03612c0a57505f919050565b5f6001612c16846134ff565b901c6001901b90506001818481612c2f57612c2f614388565b048201901c90506001818481612c4757612c47614388565b048201901c90506001818481612c5f57612c5f614388565b048201901c90506001818481612c7757612c77614388565b048201901c90506001818481612c8f57612c8f614388565b048201901c90506001818481612ca757612ca7614388565b048201901c90506001818481612cbf57612cbf614388565b048201901c9050610a3681828581612cd957612cd9614388565b04613592565b5f612ced600284841861439c565b610a369084841661421a565b610dd282826135a7565b5f6109fa6101625490565b81545f908103612d1f57505f610a12565b82545f905b80821015612d69575f612d378383612cdf565b5f8781526020902090915085908201541115612d5557809150612d63565b612d6081600161421a565b92505b50612d24565b5f82118015612d93575083612d9086612d836001866142ea565b5f91825260209091200190565b54145b15612dac57612da36001836142ea565b92505050610a12565b509050610a12565b816001600160a01b0316836001600160a01b031614158015612dd557505f81115b15612191576001600160a01b03831615612e63576001600160a01b0383165f9081526101f9602052604081208190612e10906136338561363e565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612e58929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615612191576001600160a01b0382165f9081526101f9602052604081208190612e99906137aa8561363e565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ee1929190918252602082015260400190565b60405180910390a25050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610dd282826137b5565b6001600160a01b0382161580612f5f575080155b80612f6957504681145b15610dd25760405163c118d2f360e01b815260040160405180910390fd5b612fa56001600160a01b03821615612f9f57816126c0565b336126c0565b5060c9805461ff001916610100179055565b5f54610100900460ff16612fdd5760405162461bcd60e51b8152600401610ab99061433d565b67ffffffffffffffff4611156130065760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff1661304e5760405162461bcd60e51b8152600401610ab99061433d565b61013061305b8382614406565b506101316121918282614406565b5f54610100900460ff1661308f5760405162461bcd60e51b8152600401610ab99061433d565b61019361309c8382614406565b506101946130aa8282614406565b50505f6101918190556101925550565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156130ef57505f9050600361316e565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613140573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116613168575f6001925092505061316e565b91505f90505b94509492505050565b5f81600481111561318a5761318a6144c6565b036131925750565b60018160048111156131a6576131a66144c6565b036131f35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610ab9565b6002816004811115613207576132076144c6565b036132545760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610ab9565b6003816004811115613268576132686144c6565b03610b545760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610ab9565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106132fe5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061332a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061334857662386f26fc10000830492506010015b6305f5e1008310613360576305f5e100830492506008015b612710831061337457612710830492506004015b60648310613386576064830492506002015b600a8310610a125760010192915050565b6001600160a01b0383166133b6576133ae826137ce565b612191613802565b6001600160a01b0382166133cd576133ae836137ce565b6133d6836137ce565b612191826137ce565b6001600160a01b038381165f9081526101f8602052604080822054858416835291205461219192918216911683612db4565b5f8061341b6126d9565b805190915015613432578051602090910120919050565b6101915480156134425792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b5f806134746126e9565b80519091501561348b578051602090910120919050565b6101925480156134425792915050565b6134a481612b3c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610a36838360405180606001604052806027815260200161451660279139613812565b5f80608083901c1561351357608092831c92015b604083901c1561352557604092831c92015b602083901c1561353757602092831c92015b601083901c1561354957601092831c92015b600883901c1561355b57600892831c92015b600483901c1561356d57600492831c92015b600283901c1561357f57600292831c92015b600183901c15610a125760010192915050565b5f8183106135a05781610a36565b5090919050565b6135b18282613886565b61012f546001600160e01b0310156136245760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608401610ab9565b611f2c6101fa6137aa8361363e565b5f610a3682846142ea565b82545f908190818115613688575f8781526020902082015f190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b0316602082015261369c565b604080518082019091525f80825260208201525b905080602001516001600160e01b031693506136bc84868863ffffffff16565b92505f821180156136e457506136d06112a9565b65ffffffffffff16815f015163ffffffff16145b15613727576136f283613959565b5f8881526020902083015f190180546001600160e01b03929092166401000000000263ffffffff9092169190911790556137a0565b86604051806040016040528061374b61373e6112a9565b65ffffffffffff16612658565b63ffffffff16815260200161375f86613959565b6001600160e01b0390811690915282546001810184555f938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b5f610a36828461421a565b6137bf82826139c1565b611f2c6101fa6136338361363e565b6001600160a01b0381165f90815261015f6020908152604080832061012d90925290912054610b549190613b07565b613b07565b610c866101606137fd61012f5490565b60605f80856001600160a01b03168560405161382e91906144da565b5f60405180830381855af49150503d805f8114613866576040519150601f19603f3d011682016040523d82523d5f602084013e61386b565b606091505b509150915061387c86838387613b4f565b9695505050505050565b6001600160a01b0382166138dc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610ab9565b6138e75f8383612a58565b8061012f5f8282546138f9919061421a565b90915550506001600160a01b0382165f81815261012d60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dd25f8383612abe565b5f6001600160e01b038211156126bc5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610ab9565b6001600160a01b038216613a215760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ab9565b613a2c825f83612a58565b6001600160a01b0382165f90815261012d602052604090205481811015613aa05760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610ab9565b6001600160a01b0383165f81815261012d60209081526040808320868603905561012f80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3612191835f84612abe565b5f613b10612d03565b905080613b1c84613bc7565b1015612191578254600180820185555f858152602080822090930193909355938401805494850181558252902090910155565b60608315613bbd5782515f03613bb6576001600160a01b0385163b613bb65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ab9565b5081610c01565b610c018383613c08565b80545f908103613bd857505f919050565b81548290613be8906001906142ea565b81548110613bf857613bf861422d565b905f5260205f2001549050919050565b815115613c185781518083602001fd5b8060405162461bcd60e51b8152600401610ab99190613c7f565b5f5b83811015613c4c578181015183820152602001613c34565b50505f910152565b5f8151808452613c6b816020860160208601613c32565b601f01601f19169290920160200192915050565b602081525f610a366020830184613c54565b6001600160a01b0381168114610b54575f80fd5b5f8060408385031215613cb6575f80fd5b8235613cc181613c91565b946020939093013593505050565b5f805f60608486031215613ce1575f80fd5b8335613cec81613c91565b92506020840135613cfc81613c91565b929592945050506040919091013590565b5f60208284031215613d1d575f80fd5b8135610a3681613c91565b803580151581146127b3575f80fd5b5f805f60608486031215613d49575f80fd5b833567ffffffffffffffff81168114613d60575f80fd5b925060208401359150613d7560408501613d28565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff80841115613dac57613dac613d7e565b604051601f8501601f19908116603f01168101908282118183101715613dd457613dd4613d7e565b81604052809350858152868686011115613dec575f80fd5b858560208301375f602087830101525050509392505050565b5f8060408385031215613e16575f80fd5b8235613e2181613c91565b9150602083013567ffffffffffffffff811115613e3c575f80fd5b8301601f81018513613e4c575f80fd5b613e5b85823560208401613d92565b9150509250929050565b60ff60f81b881681525f602060e06020840152613e8560e084018a613c54565b8381036040850152613e97818a613c54565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b81811015613eea57835183529284019291840191600101613ece565b50909c9b505050505050505050505050565b5f60208284031215613f0c575f80fd5b5035919050565b5f8060408385031215613f24575f80fd5b82359150613f3460208401613d28565b90509250929050565b5f8060408385031215613f4e575f80fd5b8235613f5981613c91565b9150613f3460208401613d28565b803560ff811681146127b3575f80fd5b5f82601f830112613f86575f80fd5b610a3683833560208501613d92565b5f805f805f805f60e0888a031215613fab575f80fd5b8735613fb681613c91565b96506020880135613fc681613c91565b95506040880135613fd681613c91565b945060608801359350613feb60808901613f67565b925060a088013567ffffffffffffffff80821115614007575f80fd5b6140138b838c01613f77565b935060c08a0135915080821115614028575f80fd5b506140358a828b01613f77565b91505092959891949750929550565b5f805f805f8060c08789031215614059575f80fd5b863561406481613c91565b9550602087013594506040870135935061408060608801613f67565b92506080870135915060a087013590509295509295509295565b5f805f805f805f60e0888a0312156140b0575f80fd5b87356140bb81613c91565b965060208801356140cb81613c91565b955060408801359450606088013593506140e760808901613f67565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215614114575f80fd5b823561411f81613c91565b9150602083013561412f81613c91565b809150509250929050565b5f806040838503121561414b575f80fd5b823561415681613c91565b9150602083013563ffffffff8116811461412f575f80fd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a1257610a12614206565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061425557607f821691505b6020821081036129c257634e487b7160e01b5f52602260045260245ffd5b670213934b233b2b2160c51b81525f8351614295816008850160208801613c32565b634051c55b60df1b60089184019182015283516142b981600d840160208801613c32565b602960f81b600d9290910191820152600e01949350505050565b5f602082840312156142e3575f80fd5b5051919050565b81810381811115610a1257610a12614206565b5f6020828403121561430d575f80fd5b8151610a3681613c91565b5f8251614329818460208701613c32565b610b9d60f21b920191825250600201919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b5f826143b657634e487b7160e01b5f52601260045260245ffd5b500490565b601f82111561219157805f5260205f20601f840160051c810160208510156143e05750805b601f840160051c820191505b818110156143ff575f81556001016143ec565b5050505050565b815167ffffffffffffffff81111561442057614420613d7e565b6144348161442e8454614241565b846143bb565b602080601f831160018114614467575f84156144505750858301515b5f19600386901b1c1916600185901b1785556144be565b5f85815260208120601f198616915b8281101561449557888601518255948401946001909101908401614476565b50858210156144b257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52602160045260245ffd5b5f82516144eb818460208701613c32565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ec966d93736eefd7f412aea610ad43cc033d1d66fa81be3114e02cf05ae8001664736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010097": { + "contractName": "BridgedERC721", + "storage": {}, + "code": "0x6080604052600436106101e6575f3560e01c806367e828bf116101085780639dc29fac1161009d578063c87b56dd1161006d578063c87b56dd1461055b578063e30c39781461057a578063e985e9c514610597578063ef8c4ae6146105df578063f2fde38b146105fe575f80fd5b80639dc29fac146104df578063a22cb465146104fe578063a86f9d9e1461051d578063b88d4fde1461053c575f80fd5b80637cf8ed0d116100d85780637cf8ed0d1461047a5780638456cb591461049a5780638da5cb5b146104ae57806395d89b41146104cb575f80fd5b806367e828bf146103ef57806370a0823114610433578063715018a61461045257806379ba509714610466575f80fd5b80633f4ba83a1161017e5780634f1ef2861161014e5780634f1ef2861461038957806352d1902d1461039c5780635c975abb146103b05780636352211e146103d0575f80fd5b80633f4ba83a1461031357806340c10f191461032757806342842e0e1461034657806349d1260514610365575f80fd5b806323b872dd116101b957806323b872dd146102975780633659cfe6146102b65780633ab76e9f146102d55780633eb6b8cf146102f4575f80fd5b806301ffc9a7146101ea57806306fdde031461021e578063081812fc1461023f578063095ea7b314610276575b5f80fd5b3480156101f5575f80fd5b5061020961020436600461245d565b61061d565b60405190151581526020015b60405180910390f35b348015610229575f80fd5b5061023261066e565b60405161021591906124c5565b34801561024a575f80fd5b5061025e6102593660046124d7565b610689565b6040516001600160a01b039091168152602001610215565b348015610281575f80fd5b50610295610290366004612502565b6106af565b005b3480156102a2575f80fd5b506102956102b136600461252c565b6107c8565b3480156102c1575f80fd5b506102956102d036600461256a565b6107f9565b3480156102e0575f80fd5b5060975461025e906001600160a01b031681565b3480156102ff575f80fd5b5061025e61030e366004612594565b6108d6565b34801561031e575f80fd5b506102956108ec565b348015610332575f80fd5b50610295610341366004612502565b61096b565b348015610351575f80fd5b5061029561036036600461252c565b610a3b565b348015610370575f80fd5b5061037b6101605481565b604051908152602001610215565b610295610397366004612678565b610a55565b3480156103a7575f80fd5b5061037b610b20565b3480156103bb575f80fd5b5061020960c954610100900460ff1660021490565b3480156103db575f80fd5b5061025e6103ea3660046124d7565b610bd1565b3480156103fa575f80fd5b5061041461015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610215565b34801561043e575f80fd5b5061037b61044d36600461256a565b610c31565b34801561045d575f80fd5b50610295610cb6565b348015610471575f80fd5b50610295610cc7565b348015610485575f80fd5b5061015f5461025e906001600160a01b031681565b3480156104a5575f80fd5b50610295610d3e565b3480156104b9575f80fd5b506033546001600160a01b031661025e565b3480156104d6575f80fd5b50610232610dbd565b3480156104ea575f80fd5b506102956104f9366004612502565b610dcf565b348015610509575f80fd5b506102956105183660046126c5565b610ec9565b348015610528575f80fd5b5061025e6105373660046126f8565b610ed4565b348015610547575f80fd5b50610295610556366004612719565b610ee0565b348015610566575f80fd5b506102326105753660046124d7565b610f18565b348015610585575f80fd5b506065546001600160a01b031661025e565b3480156105a2575f80fd5b506102096105b1366004612781565b6001600160a01b039182165f9081526101326020908152604080832093909416825291909152205460ff1690565b3480156105ea575f80fd5b506102956105f93660046127b8565b610f68565b348015610609575f80fd5b5061029561061836600461256a565b6110b1565b5f6001600160e01b031982166380ac58cd60e01b148061064d57506001600160e01b03198216635b5e139f60e01b145b8061066857506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061068461067b611122565b610160546111b3565b905090565b5f61069382611202565b505f90815261013160205260409020546001600160a01b031690565b5f6106b982610bd1565b9050806001600160a01b0316836001600160a01b03160361072b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610747575061074781336105b1565b6107b95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610722565b6107c38383611261565b505050565b6107d233826112cf565b6107ee5760405162461bcd60e51b815260040161072290612856565b6107c383838361134d565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000100971630036108415760405162461bcd60e51b8152600401610722906128a3565b7f00000000000000000000000001670090000000000000000000000000000100976001600160a01b03166108895f80516020612d84833981519152546001600160a01b031690565b6001600160a01b0316146108af5760405162461bcd60e51b8152600401610722906128ef565b6108b8816114bf565b604080515f808252602082019092526108d3918391906114c7565b50565b5f6108e2848484611631565b90505b9392505050565b61090060c954610100900460ff1660021490565b61091d5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a1610969335f61171f565b565b600261097960c95460ff1690565b60ff160361099a5760405163dfc60d8560e01b815260040160405180910390fd5b6109a46002611727565b6109b860c954610100900460ff1660021490565b156109d65760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b6109f1816001610ed4565b6001600160a01b0316336001600160a01b031614610a2257604051630d85cccf60e11b815260040160405180910390fd5b610a2c838361173d565b50610a376001611727565b5050565b6107c383838360405180602001604052805f815250610ee0565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000010097163003610a9d5760405162461bcd60e51b8152600401610722906128a3565b7f00000000000000000000000001670090000000000000000000000000000100976001600160a01b0316610ae55f80516020612d84833981519152546001600160a01b031690565b6001600160a01b031614610b0b5760405162461bcd60e51b8152600401610722906128ef565b610b14826114bf565b610a37828260016114c7565b5f306001600160a01b037f00000000000000000000000001670090000000000000000000000000000100971614610bbf5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610722565b505f80516020612d8483398151915290565b5f81815261012f60205260408120546001600160a01b0316806106685760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610722565b5f6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610722565b506001600160a01b03165f908152610130602052604090205490565b610cbe611756565b6109695f6117b0565b60655433906001600160a01b03168114610d355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610722565b6108d3816117b0565b610d5260c954610100900460ff1660021490565b15610d705760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a161096933600161171f565b6060610684610dca6117c9565b6117d9565b6002610ddd60c95460ff1690565b60ff1603610dfe5760405163dfc60d8560e01b815260040160405180910390fd5b610e086002611727565b610e1c60c954610100900460ff1660021490565b15610e3a5760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610e55816001610ed4565b6001600160a01b0316336001600160a01b031614610e8657604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b0316610e9983610bd1565b6001600160a01b031614610ec05760405163358bf3d960e01b815260040160405180910390fd5b610a2c8261180c565b610a373383836118ae565b5f6108e5468484611631565b610eea33836112cf565b610f065760405162461bcd60e51b815260040161072290612856565b610f128484848461197c565b50505050565b61015f5461016054606091610f38916001600160a01b03909116906119af565b610f41836119f6565b604051602001610f5292919061293b565b6040516020818303038152906040529050919050565b5f54610100900460ff1615808015610f8657505f54600160ff909116105b80610f9f5750303b158015610f9f57505f5460ff166001145b6110025760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610722565b5f805460ff191660011790558015611023575f805461ff0019166101001790555b61102d8585611a86565b6110378787611ac2565b6110418284611b21565b61015f80546001600160a01b0319166001600160a01b03871617905561016084905580156110a8575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6110b9611756565b606580546001600160a01b0383166001600160a01b031990911681179091556110ea6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b606061012d805461113290612969565b80601f016020809104026020016040519081016040528092919081815260200182805461115e90612969565b80156111a95780601f10611180576101008083540402835291602001916111a9565b820191905f5260205f20905b81548152906001019060200180831161118c57829003601f168201915b5050505050905090565b606082515f036111d1575060408051602081019091525f8152610668565b826111db836119f6565b6040516020016111ec9291906129a1565b6040516020818303038152906040529050610668565b5f81815261012f60205260409020546001600160a01b03166108d35760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610722565b5f8181526101316020526040902080546001600160a01b0319166001600160a01b038416908117909155819061129682610bd1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f806112da83610bd1565b9050806001600160a01b0316846001600160a01b0316148061132157506001600160a01b038082165f908152610132602090815260408083209388168352929052205460ff165b806113455750836001600160a01b031661133a84610689565b6001600160a01b0316145b949350505050565b826001600160a01b031661136082610bd1565b6001600160a01b0316146113865760405162461bcd60e51b815260040161072290612a01565b6001600160a01b0382166113e85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610722565b6113f58383836001611b51565b826001600160a01b031661140882610bd1565b6001600160a01b03161461142e5760405162461bcd60e51b815260040161072290612a01565b5f8181526101316020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652610130855283862080545f190190559087168086528386208054600101905586865261012f90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108d3611756565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114fa576107c383611bac565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611554575060408051601f3d908101601f1916820190925261155191810190612a46565b60015b6115b75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610722565b5f80516020612d8483398151915281146116255760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610722565b506107c3838383611c47565b6097545f906001600160a01b031661165c57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa1580156116b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d79190612a5d565b9050811580156116ee57506001600160a01b038116155b156108e557604051632b0d65db60e01b815267ffffffffffffffff8516600482015260248101849052604401610722565b610a37611756565b60c9805460ff191660ff92909216919091179055565b610a37828260405180602001604052805f815250611c6b565b6033546001600160a01b031633146109695760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610722565b606580546001600160a01b03191690556108d381611c9d565b606061012e805461113290612969565b606081515f036117f657505060408051602081019091525f815290565b81604051602001610f529190612a78565b919050565b5f61181682610bd1565b9050611825815f846001611b51565b61182e82610bd1565b5f8381526101316020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552610130845282852080545f1901905587855261012f909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b03160361190f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610722565b6001600160a01b038381165f8181526101326020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61198784848461134d565b61199384848484611cee565b610f125760405162461bcd60e51b815260040161072290612a9d565b60606119c5836001600160a01b03166014611deb565b6119ce836119f6565b6040516020016119df929190612aef565b604051602081830303815290604052905092915050565b60605f611a0283611f81565b60010190505f8167ffffffffffffffff811115611a2157611a216125db565b6040519080825280601f01601f191660200182016040528015611a4b576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a5557509392505050565b6001600160a01b0382161580611a9a575080155b80611aa457504681145b15610a375760405163c118d2f360e01b815260040160405180910390fd5b5f54610100900460ff16611ae85760405162461bcd60e51b815260040161072290612b5e565b611af182612058565b6001600160a01b038116611b18576040516375cabfef60e11b815260040160405180910390fd5b610a3781612088565b5f54610100900460ff16611b475760405162461bcd60e51b815260040161072290612b5e565b610a3782826120f9565b306001600160a01b03841603611b7a57604051630183150560e21b815260040160405180910390fd5b611b8e60c954610100900460ff1660021490565b15610f125760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0381163b611c195760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610722565b5f80516020612d8483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611c508361213a565b5f82511180611c5c5750805b156107c357610f128383612179565b611c75838361219e565b611c815f848484611cee565b6107c35760405162461bcd60e51b815260040161072290612a9d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6001600160a01b0384163b15611de057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611d31903390899088908890600401612ba9565b6020604051808303815f875af1925050508015611d6b575060408051601f3d908101601f19168201909252611d6891810190612bdb565b60015b611dc6573d808015611d98576040519150601f19603f3d011682016040523d82523d5f602084013e611d9d565b606091505b5080515f03611dbe5760405162461bcd60e51b815260040161072290612a9d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611345565b506001949350505050565b60605f611df9836002612c0a565b611e04906002612c21565b67ffffffffffffffff811115611e1c57611e1c6125db565b6040519080825280601f01601f191660200182016040528015611e46576020820181803683370190505b509050600360fc1b815f81518110611e6057611e60612c34565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611e8e57611e8e612c34565b60200101906001600160f81b03191690815f1a9053505f611eb0846002612c0a565b611ebb906001612c21565b90505b6001811115611f32576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611eef57611eef612c34565b1a60f81b828281518110611f0557611f05612c34565b60200101906001600160f81b03191690815f1a90535060049490941c93611f2b81612c48565b9050611ebe565b5083156108e55760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610722565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611fbf5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611feb576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061200957662386f26fc10000830492506010015b6305f5e1008310612021576305f5e100830492506008015b612710831061203557612710830492506004015b60648310612047576064830492506002015b600a83106106685760010192915050565b6120766001600160a01b0382161561207057816117b0565b336117b0565b5060c9805461ff001916610100179055565b5f54610100900460ff166120ae5760405162461bcd60e51b815260040161072290612b5e565b67ffffffffffffffff4611156120d75760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff1661211f5760405162461bcd60e51b815260040161072290612b5e565b61012d61212c8382612ca8565b5061012e6107c38282612ca8565b61214381611bac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606108e58383604051806060016040528060278152602001612da460279139612337565b6001600160a01b0382166121f45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610722565b5f81815261012f60205260409020546001600160a01b0316156122595760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610722565b6122665f83836001611b51565b5f81815261012f60205260409020546001600160a01b0316156122cb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610722565b6001600160a01b0382165f818152610130602090815260408083208054600101905584835261012f90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60605f80856001600160a01b0316856040516123539190612d68565b5f60405180830381855af49150503d805f811461238b576040519150601f19603f3d011682016040523d82523d5f602084013e612390565b606091505b50915091506123a1868383876123ab565b9695505050505050565b606083156124195782515f03612412576001600160a01b0385163b6124125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610722565b5081611345565b611345838381511561242e5781518083602001fd5b8060405162461bcd60e51b815260040161072291906124c5565b6001600160e01b0319811681146108d3575f80fd5b5f6020828403121561246d575f80fd5b81356108e581612448565b5f5b8381101561249257818101518382015260200161247a565b50505f910152565b5f81518084526124b1816020860160208601612478565b601f01601f19169290920160200192915050565b602081525f6108e5602083018461249a565b5f602082840312156124e7575f80fd5b5035919050565b6001600160a01b03811681146108d3575f80fd5b5f8060408385031215612513575f80fd5b823561251e816124ee565b946020939093013593505050565b5f805f6060848603121561253e575f80fd5b8335612549816124ee565b92506020840135612559816124ee565b929592945050506040919091013590565b5f6020828403121561257a575f80fd5b81356108e5816124ee565b80358015158114611807575f80fd5b5f805f606084860312156125a6575f80fd5b833567ffffffffffffffff811681146125bd575f80fd5b9250602084013591506125d260408501612585565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126125fe575f80fd5b813567ffffffffffffffff80821115612619576126196125db565b604051601f8301601f19908116603f01168101908282118183101715612641576126416125db565b81604052838152866020858801011115612659575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215612689575f80fd5b8235612694816124ee565b9150602083013567ffffffffffffffff8111156126af575f80fd5b6126bb858286016125ef565b9150509250929050565b5f80604083850312156126d6575f80fd5b82356126e1816124ee565b91506126ef60208401612585565b90509250929050565b5f8060408385031215612709575f80fd5b823591506126ef60208401612585565b5f805f806080858703121561272c575f80fd5b8435612737816124ee565b93506020850135612747816124ee565b925060408501359150606085013567ffffffffffffffff811115612769575f80fd5b612775878288016125ef565b91505092959194509250565b5f8060408385031215612792575f80fd5b823561279d816124ee565b915060208301356127ad816124ee565b809150509250929050565b5f805f805f8060c087890312156127cd575f80fd5b86356127d8816124ee565b955060208701356127e8816124ee565b945060408701356127f8816124ee565b935060608701359250608087013567ffffffffffffffff8082111561281b575f80fd5b6128278a838b016125ef565b935060a089013591508082111561283c575f80fd5b5061284989828a016125ef565b9150509295509295509295565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f835161294c818460208801612478565b835190830190612960818360208801612478565b01949350505050565b600181811c9082168061297d57607f821691505b60208210810361299b57634e487b7160e01b5f52602260045260245ffd5b50919050565b670213934b233b2b2160c51b81525f83516129c3816008850160208801612478565b634051c55b60df1b60089184019182015283516129e781600d840160208801612478565b602960f81b600d9290910191820152600e01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b5f60208284031215612a56575f80fd5b5051919050565b5f60208284031215612a6d575f80fd5b81516108e5816124ee565b5f8251612a89818460208701612478565b610b9d60f21b920191825250600201919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6832ba3432b932bab69d60b91b81525f8351612b12816009850160208801612478565b600160fe1b6009918401918201528351612b3381600a840160208801612478565b712f746f6b656e5552493f75696e743235363d60701b600a9290910191820152601c01949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906123a19083018461249a565b5f60208284031215612beb575f80fd5b81516108e581612448565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761066857610668612bf6565b8082018082111561066857610668612bf6565b634e487b7160e01b5f52603260045260245ffd5b5f81612c5657612c56612bf6565b505f190190565b601f8211156107c357805f5260205f20601f840160051c81016020851015612c825750805b601f840160051c820191505b81811015612ca1575f8155600101612c8e565b5050505050565b815167ffffffffffffffff811115612cc257612cc26125db565b612cd681612cd08454612969565b84612c5d565b602080601f831160018114612d09575f8415612cf25750858301515b5f19600386901b1c1916600185901b178555612d60565b5f85815260208120601f198616915b82811015612d3757888601518255948401946001909101908401612d18565b5085821015612d5457878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8251612d79818460208701612478565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203f79b375075ab76c20863b31403aa53cc4810d01808c370f49d624c8b1fd8f8164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010098": { + "contractName": "BridgedERC1155", + "storage": {}, + "code": "0x6080604052600436106101c4575f3560e01c8063715018a6116100f2578063a86f9d9e11610092578063ef8c4ae611610062578063ef8c4ae61461050a578063f242432a14610529578063f2fde38b14610548578063f5298aca14610567575f80fd5b8063a86f9d9e14610467578063d81d0a1514610486578063e30c3978146104a5578063e985e9c5146104c2575f80fd5b80638456cb59116100cd5780638456cb59146104035780638da5cb5b1461041757806395d89b4114610434578063a22cb46514610448575f80fd5b8063715018a6146103bb57806379ba5097146103cf5780637cf8ed0d146103e3575f80fd5b80633ab76e9f116101685780634e1273f4116101385780634e1273f4146103485780634f1ef2861461037457806352d1902d146103875780635c975abb1461039b575f80fd5b80633ab76e9f146102c85780633eb6b8cf146102ff5780633f4ba83a1461031e57806349d1260514610332575f80fd5b80630e89341c116101a35780630e89341c1461024a578063156e29f6146102695780632eb2c2d61461028a5780633659cfe6146102a9575f80fd5b8062fdd58e146101c857806301ffc9a7146101fa57806306fdde0314610229575b5f80fd5b3480156101d3575f80fd5b506101e76101e236600461276f565b610586565b6040519081526020015b60405180910390f35b348015610205575f80fd5b506102196102143660046127ae565b610620565b60405190151581526020016101f1565b348015610234575f80fd5b5061023d61066f565b6040516101f19190612816565b348015610255575f80fd5b5061023d610264366004612828565b61070c565b348015610274575f80fd5b5061028861028336600461283f565b61079f565b005b348015610295575f80fd5b506102886102a43660046129b5565b610881565b3480156102b4575f80fd5b506102886102c3366004612a5b565b6108cd565b3480156102d3575f80fd5b506097546102e7906001600160a01b031681565b6040516001600160a01b0390911681526020016101f1565b34801561030a575f80fd5b506102e7610319366004612a85565b6109aa565b348015610329575f80fd5b506102886109c0565b34801561033d575f80fd5b506101e76101605481565b348015610353575f80fd5b50610367610362366004612acb565b610a3f565b6040516101f19190612bcb565b610288610382366004612bdd565b610b5e565b348015610392575f80fd5b506101e7610c2d565b3480156103a6575f80fd5b5061021960c954610100900460ff1660021490565b3480156103c6575f80fd5b50610288610cdf565b3480156103da575f80fd5b50610288610cf0565b3480156103ee575f80fd5b5061015f546102e7906001600160a01b031681565b34801561040e575f80fd5b50610288610d67565b348015610422575f80fd5b506033546001600160a01b03166102e7565b34801561043f575f80fd5b5061023d610de6565b348015610453575f80fd5b50610288610462366004612c1f565b610e7a565b348015610472575f80fd5b506102e7610481366004612c52565b610e85565b348015610491575f80fd5b506102886104a0366004612c73565b610e91565b3480156104b0575f80fd5b506065546001600160a01b03166102e7565b3480156104cd575f80fd5b506102196104dc366004612ce3565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205460ff1690565b348015610515575f80fd5b50610288610524366004612d1a565b610f63565b348015610534575f80fd5b50610288610543366004612db7565b6110d0565b348015610553575f80fd5b50610288610562366004612a5b565b611115565b348015610572575f80fd5b5061028861058136600461283f565b611186565b5f6001600160a01b0383166105f55760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b505f81815261012d602090815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216636cdb3d1360e11b148061065057506001600160e01b031982166303a24d0760e21b145b8061061a57506301ffc9a760e01b6001600160e01b031983161461061a565b6060610707610162805461068290612e1a565b80601f01602080910402602001604051908101604052809291908181526020018280546106ae90612e1a565b80156106f95780601f106106d0576101008083540402835291602001916106f9565b820191905f5260205f20905b8154815290600101906020018083116106dc57829003601f168201915b505050505061016054611249565b905090565b606061012f805461071c90612e1a565b80601f016020809104026020016040519081016040528092919081815260200182805461074890612e1a565b80156107935780601f1061076a57610100808354040283529160200191610793565b820191905f5260205f20905b81548152906001019060200180831161077657829003601f168201915b50505050509050919050565b60026107ad60c95460ff1690565b60ff16036107ce5760405163dfc60d8560e01b815260040160405180910390fd5b6107d86002611298565b6107ec60c954610100900460ff1660021490565b1561080a5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610826816001610e85565b6001600160a01b0316336001600160a01b03161461085757604051630d85cccf60e11b815260040160405180910390fd5b61087184848460405180602001604052805f8152506112ae565b5061087c6001611298565b505050565b6001600160a01b03851633148061089d575061089d85336104dc565b6108b95760405162461bcd60e51b81526004016105ec90612e52565b6108c6858585858561138b565b5050505050565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000100981630036109155760405162461bcd60e51b81526004016105ec90612ea0565b7f00000000000000000000000001670090000000000000000000000000000100986001600160a01b031661095d5f80516020613514833981519152546001600160a01b031690565b6001600160a01b0316146109835760405162461bcd60e51b81526004016105ec90612eec565b61098c8161152e565b604080515f808252602082019092526109a791839190611536565b50565b5f6109b68484846116a0565b90505b9392505050565b6109d460c954610100900460ff1660021490565b6109f15760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a1610a3d335f61178c565b565b60608151835114610aa45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016105ec565b5f83516001600160401b03811115610abe57610abe612871565b604051908082528060200260200182016040528015610ae7578160200160208202803683370190505b5090505f5b8451811015610b5657610b31858281518110610b0a57610b0a612f38565b6020026020010151858381518110610b2457610b24612f38565b6020026020010151610586565b828281518110610b4357610b43612f38565b6020908102919091010152600101610aec565b509392505050565b6001600160a01b037f0000000000000000000000000167009000000000000000000000000000010098163003610ba65760405162461bcd60e51b81526004016105ec90612ea0565b7f00000000000000000000000001670090000000000000000000000000000100986001600160a01b0316610bee5f80516020613514833981519152546001600160a01b031690565b6001600160a01b031614610c145760405162461bcd60e51b81526004016105ec90612eec565b610c1d8261152e565b610c2982826001611536565b5050565b5f306001600160a01b037f00000000000000000000000001670090000000000000000000000000000100981614610ccc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105ec565b505f805160206135148339815191525b90565b610ce7611790565b610a3d5f6117ea565b60655433906001600160a01b03168114610d5e5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016105ec565b6109a7816117ea565b610d7b60c954610100900460ff1660021490565b15610d995760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a1610a3d33600161178c565b60606107076101618054610df990612e1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2590612e1a565b8015610e705780601f10610e4757610100808354040283529160200191610e70565b820191905f5260205f20905b815481529060010190602001808311610e5357829003601f168201915b5050505050611803565b610c2933838361184c565b5f6109b94684846116a0565b6002610e9f60c95460ff1690565b60ff1603610ec05760405163dfc60d8560e01b815260040160405180910390fd5b610eca6002611298565b610ede60c954610100900460ff1660021490565b15610efc5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610f18816001610e85565b6001600160a01b0316336001600160a01b031614610f4957604051630d85cccf60e11b815260040160405180910390fd5b61087184848460405180602001604052805f81525061192c565b5f54610100900460ff1615808015610f8157505f54600160ff909116105b80610f9a5750303b158015610f9a57505f5460ff166001145b610ffd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105ec565b5f805460ff19166001179055801561101e575f805461ff0019166101001790555b6110288585611a74565b6110328787611ab0565b61104461103f8686611b0f565b611b56565b61015f80546001600160a01b0319166001600160a01b0387161790556101608490556101616110738482612f90565b506101626110818382612f90565b5080156110c7575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6001600160a01b0385163314806110ec57506110ec85336104dc565b6111085760405162461bcd60e51b81526004016105ec90612e52565b6108c68585858585611b85565b61111d611790565b606580546001600160a01b0383166001600160a01b0319909116811790915561114e6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600261119460c95460ff1690565b60ff16036111b55760405163dfc60d8560e01b815260040160405180910390fd5b6111bf6002611298565b6111d360c954610100900460ff1660021490565b156111f15760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b61120d816001610e85565b6001600160a01b0316336001600160a01b03161461123e57604051630d85cccf60e11b815260040160405180910390fd5b610871848484611cbf565b606082515f03611267575060408051602081019091525f815261061a565b8261127183611e4e565b60405160200161128292919061304b565b604051602081830303815290604052905061061a565b60c9805460ff191660ff92909216919091179055565b6001600160a01b0384166112d45760405162461bcd60e51b81526004016105ec906130ab565b335f6112df85611edd565b90505f6112eb85611edd565b90506112fb835f89858589611f26565b5f86815261012d602090815260408083206001600160a01b038b1684529091528120805487929061132d908490613100565b909155505060408051878152602081018790526001600160a01b03808a16925f92918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46110c7835f89898989611f81565b81518351146113ac5760405162461bcd60e51b81526004016105ec90613113565b6001600160a01b0384166113d25760405162461bcd60e51b81526004016105ec9061315b565b336113e1818787878787611f26565b5f5b84518110156114c0575f8582815181106113ff576113ff612f38565b602002602001015190505f85838151811061141c5761141c612f38565b6020908102919091018101515f84815261012d835260408082206001600160a01b038e16835290935291909120549091508181101561146d5760405162461bcd60e51b81526004016105ec906131a0565b5f83815261012d602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906114ac908490613100565b9091555050600190930192506113e3915050565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516115109291906131ea565b60405180910390a46115268187878787876120db565b505050505050565b6109a7611790565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156115695761087c83612195565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156115c3575060408051601f3d908101601f191682019092526115c091810190613217565b60015b6116265760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105ec565b5f8051602061351483398151915281146116945760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105ec565b5061087c838383612230565b6097545f906001600160a01b03166116cb57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611721573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611745919061322e565b90508115801561175c57506001600160a01b038116155b156109b957604051632b0d65db60e01b81526001600160401b0385166004820152602481018490526044016105ec565b610c295b6033546001600160a01b03163314610a3d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ec565b606580546001600160a01b03191690556109a78161225a565b606081515f0361182057505060408051602081019091525f815290565b816040516020016118319190613249565b6040516020818303038152906040529050919050565b919050565b816001600160a01b0316836001600160a01b0316036118bf5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016105ec565b6001600160a01b038381165f81815261012e6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166119525760405162461bcd60e51b81526004016105ec906130ab565b81518351146119735760405162461bcd60e51b81526004016105ec90613113565b33611982815f87878787611f26565b5f5b8451811015611a0e5783818151811061199f5761199f612f38565b602002602001015161012d5f8784815181106119bd576119bd612f38565b602002602001015181526020019081526020015f205f886001600160a01b03166001600160a01b031681526020019081526020015f205f828254611a019190613100565b9091555050600101611984565b50846001600160a01b03165f6001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611a5e9291906131ea565b60405180910390a46108c6815f878787876120db565b6001600160a01b0382161580611a88575080155b80611a9257504681145b15610c295760405163c118d2f360e01b815260040160405180910390fd5b5f54610100900460ff16611ad65760405162461bcd60e51b81526004016105ec9061326e565b611adf826122ab565b6001600160a01b038116611b06576040516375cabfef60e11b815260040160405180910390fd5b610c29816122db565b6060611b25836001600160a01b0316601461234b565b611b2e83611e4e565b604051602001611b3f9291906132b9565b604051602081830303815290604052905092915050565b5f54610100900460ff16611b7c5760405162461bcd60e51b81526004016105ec9061326e565b6109a7816124e0565b6001600160a01b038416611bab5760405162461bcd60e51b81526004016105ec9061315b565b335f611bb685611edd565b90505f611bc285611edd565b9050611bd2838989858589611f26565b5f86815261012d602090815260408083206001600160a01b038c16845290915290205485811015611c155760405162461bcd60e51b81526004016105ec906131a0565b5f87815261012d602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611c54908490613100565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611cb4848a8a8a8a8a611f81565b505050505050505050565b6001600160a01b038316611d215760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b60648201526084016105ec565b335f611d2c84611edd565b90505f611d3884611edd565b9050611d5683875f858560405180602001604052805f815250611f26565b5f85815261012d602090815260408083206001600160a01b038a16845290915290205484811015611dd55760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b60648201526084016105ec565b5f86815261012d602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091525f90526110c7565b60605f611e5a8361250f565b60010190505f816001600160401b03811115611e7857611e78612871565b6040519080825280601f01601f191660200182016040528015611ea2576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611eac57509392505050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110611f1557611f15612f38565b602090810291909101015292915050565b306001600160a01b03851603611f4f57604051630183150560e21b815260040160405180910390fd5b611f6360c954610100900460ff1660021490565b156115265760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0384163b156115265760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611fc59089908990889088908890600401613328565b6020604051808303815f875af1925050508015611fff575060408051601f3d908101601f19168201909252611ffc9181019061336c565b60015b6120ab5761200b613387565b806308c379a003612044575061201f61339f565b8061202a5750612046565b8060405162461bcd60e51b81526004016105ec9190612816565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016105ec565b6001600160e01b0319811663f23a6e6160e01b146110c75760405162461bcd60e51b81526004016105ec90613427565b6001600160a01b0384163b156115265760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061211f908990899088908890889060040161346f565b6020604051808303815f875af1925050508015612159575060408051601f3d908101601f191682019092526121569181019061336c565b60015b6121655761200b613387565b6001600160e01b0319811663bc197c8160e01b146110c75760405162461bcd60e51b81526004016105ec90613427565b6001600160a01b0381163b6122025760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105ec565b5f8051602061351483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612239836125e6565b5f825111806122455750805b1561087c576122548383612625565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6122c96001600160a01b038216156122c357816117ea565b336117ea565b5060c9805461ff001916610100179055565b5f54610100900460ff166123015760405162461bcd60e51b81526004016105ec9061326e565b6001600160401b034611156123295760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6123598360026134cc565b612364906002613100565b6001600160401b0381111561237b5761237b612871565b6040519080825280601f01601f1916602001820160405280156123a5576020820181803683370190505b509050600360fc1b815f815181106123bf576123bf612f38565b60200101906001600160f81b03191690815f1a905350600f60fb1b816001815181106123ed576123ed612f38565b60200101906001600160f81b03191690815f1a9053505f61240f8460026134cc565b61241a906001613100565b90505b6001811115612491576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061244e5761244e612f38565b1a60f81b82828151811061246457612464612f38565b60200101906001600160f81b03191690815f1a90535060049490941c9361248a816134e3565b905061241d565b5083156109b95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105ec565b5f54610100900460ff166125065760405162461bcd60e51b81526004016105ec9061326e565b6109a78161264a565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061254d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612579576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061259757662386f26fc10000830492506010015b6305f5e10083106125af576305f5e100830492506008015b61271083106125c357612710830492506004015b606483106125d5576064830492506002015b600a831061061a5760010192915050565b6125ef81612195565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606109b9838360405180606001604052806027815260200161353460279139612657565b61012f610c298282612f90565b60605f80856001600160a01b03168560405161267391906134f8565b5f60405180830381855af49150503d805f81146126ab576040519150601f19603f3d011682016040523d82523d5f602084013e6126b0565b606091505b50915091506126c1868383876126cb565b9695505050505050565b606083156127395782515f03612732576001600160a01b0385163b6127325760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105ec565b5081612743565b612743838361274b565b949350505050565b81511561202a5781518083602001fd5b6001600160a01b03811681146109a7575f80fd5b5f8060408385031215612780575f80fd5b823561278b8161275b565b946020939093013593505050565b6001600160e01b0319811681146109a7575f80fd5b5f602082840312156127be575f80fd5b81356109b981612799565b5f5b838110156127e35781810151838201526020016127cb565b50505f910152565b5f81518084526128028160208601602086016127c9565b601f01601f19169290920160200192915050565b602081525f6109b960208301846127eb565b5f60208284031215612838575f80fd5b5035919050565b5f805f60608486031215612851575f80fd5b833561285c8161275b565b95602085013595506040909401359392505050565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b03811182821017156128aa576128aa612871565b6040525050565b5f6001600160401b038211156128c9576128c9612871565b5060051b60200190565b5f82601f8301126128e2575f80fd5b813560206128ef826128b1565b6040516128fc8282612885565b80915083815260208101915060208460051b87010193508684111561291f575f80fd5b602086015b8481101561293b5780358352918301918301612924565b509695505050505050565b5f82601f830112612955575f80fd5b81356001600160401b0381111561296e5761296e612871565b604051612985601f8301601f191660200182612885565b818152846020838601011115612999575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a086880312156129c9575f80fd5b85356129d48161275b565b945060208601356129e48161275b565b935060408601356001600160401b03808211156129ff575f80fd5b612a0b89838a016128d3565b94506060880135915080821115612a20575f80fd5b612a2c89838a016128d3565b93506080880135915080821115612a41575f80fd5b50612a4e88828901612946565b9150509295509295909350565b5f60208284031215612a6b575f80fd5b81356109b98161275b565b80358015158114611847575f80fd5b5f805f60608486031215612a97575f80fd5b83356001600160401b0381168114612aad575f80fd5b925060208401359150612ac260408501612a76565b90509250925092565b5f8060408385031215612adc575f80fd5b82356001600160401b0380821115612af2575f80fd5b818501915085601f830112612b05575f80fd5b81356020612b12826128b1565b604051612b1f8282612885565b83815260059390931b8501820192828101915089841115612b3e575f80fd5b948201945b83861015612b65578535612b568161275b565b82529482019490820190612b43565b96505086013592505080821115612b7a575f80fd5b50612b87858286016128d3565b9150509250929050565b5f815180845260208085019450602084015f5b83811015612bc057815187529582019590820190600101612ba4565b509495945050505050565b602081525f6109b96020830184612b91565b5f8060408385031215612bee575f80fd5b8235612bf98161275b565b915060208301356001600160401b03811115612c13575f80fd5b612b8785828601612946565b5f8060408385031215612c30575f80fd5b8235612c3b8161275b565b9150612c4960208401612a76565b90509250929050565b5f8060408385031215612c63575f80fd5b82359150612c4960208401612a76565b5f805f60608486031215612c85575f80fd5b8335612c908161275b565b925060208401356001600160401b0380821115612cab575f80fd5b612cb7878388016128d3565b93506040860135915080821115612ccc575f80fd5b50612cd9868287016128d3565b9150509250925092565b5f8060408385031215612cf4575f80fd5b8235612cff8161275b565b91506020830135612d0f8161275b565b809150509250929050565b5f805f805f8060c08789031215612d2f575f80fd5b8635612d3a8161275b565b95506020870135612d4a8161275b565b94506040870135612d5a8161275b565b93506060870135925060808701356001600160401b0380821115612d7c575f80fd5b612d888a838b01612946565b935060a0890135915080821115612d9d575f80fd5b50612daa89828a01612946565b9150509295509295509295565b5f805f805f60a08688031215612dcb575f80fd5b8535612dd68161275b565b94506020860135612de68161275b565b9350604086013592506060860135915060808601356001600160401b03811115612e0e575f80fd5b612a4e88828901612946565b600181811c90821680612e2e57607f821691505b602082108103612e4c57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b601f82111561087c57805f5260205f20601f840160051c81016020851015612f715750805b601f840160051c820191505b818110156108c6575f8155600101612f7d565b81516001600160401b03811115612fa957612fa9612871565b612fbd81612fb78454612e1a565b84612f4c565b602080601f831160018114612ff0575f8415612fd95750858301515b5f19600386901b1c1916600185901b178555611526565b5f85815260208120601f198616915b8281101561301e57888601518255948401946001909101908401612fff565b508582101561303b57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b670213934b233b2b2160c51b81525f835161306d8160088501602088016127c9565b634051c55b60df1b600891840191820152835161309181600d8401602088016127c9565b602960f81b600d9290910191820152600e01949350505050565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561061a5761061a6130ec565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081525f6131fc6040830185612b91565b828103602084015261320e8185612b91565b95945050505050565b5f60208284031215613227575f80fd5b5051919050565b5f6020828403121561323e575f80fd5b81516109b98161275b565b5f825161325a8184602087016127c9565b610b9d60f21b920191825250600201919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6832ba3432b932bab69d60b91b81525f83516132dc8160098501602088016127c9565b600160fe1b60099184019182015283516132fd81600a8401602088016127c9565b712f746f6b656e5552493f75696e743235363d60701b600a9290910191820152601c01949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f90613361908301846127eb565b979650505050505050565b5f6020828403121561337c575f80fd5b81516109b981612799565b5f60033d1115610cdc5760045f803e505f5160e01c90565b5f60443d10156133ac5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156133db57505050505090565b82850191508151818111156133f35750505050505090565b843d870101602082850101111561340d5750505050505090565b61341c60208286010187612885565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190525f9061349a90830186612b91565b82810360608401526134ac8186612b91565b905082810360808401526134c081856127eb565b98975050505050505050565b808202811582820484141761061a5761061a6130ec565b5f816134f1576134f16130ec565b505f190190565b5f82516135098184602087016127c9565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f0bffdb132665b3a5f95537107ba4fba343a91059f2539e704cb09cb4f121f8964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000000005": { + "contractName": "SignalServiceImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x60806040526004361061017b575f3560e01c8063715018a6116100cd5780639b527cfa11610087578063e30c397811610062578063e30c397814610479578063f09a401614610496578063f2fde38b146104b5578063fe9fbb80146104d4575f80fd5b80639b527cfa146103fd578063a86f9d9e1461041c578063dfc8ff1d1461043b575f80fd5b8063715018a61461036657806379ba50971461037a5780638456cb591461038e5780638da5cb5b146103a2578063910af6ed146103bf57806391f3f74b146103de575f80fd5b80633eb6b8cf116101385780634f90a674116101135780634f90a674146102e657806352d1902d146103135780635c975abb1461032757806366ca2bc014610347575f80fd5b80633eb6b8cf146102a05780633f4ba83a146102bf5780634f1ef286146102d3575f80fd5b80632d1fb3891461017f57806332676bc6146101a0578063355bcc3d146101d45780633659cfe61461022b5780633ab76e9f1461024a5780633ced0e0814610281575b5f80fd5b34801561018a575f80fd5b5061019e6101993660046135c3565b610502565b005b3480156101ab575f80fd5b506101bf6101ba3660046135f6565b6105a8565b60405190151581526020015b60405180910390f35b3480156101df575f80fd5b506102136101ee366004613636565b60fb60209081525f92835260408084209091529082529020546001600160401b031681565b6040516001600160401b0390911681526020016101cb565b348015610236575f80fd5b5061019e610245366004613650565b6105be565b348015610255575f80fd5b50609754610269906001600160a01b031681565b6040516001600160a01b0390911681526020016101cb565b34801561028c575f80fd5b506101bf61029b36600461366b565b6106a4565b3480156102ab575f80fd5b506102696102ba3660046136ac565b6106eb565b3480156102ca575f80fd5b5061019e610701565b61019e6102e13660046137bc565b610780565b3480156102f1575f80fd5b5061030561030036600461366b565b61084f565b6040519081526020016101cb565b34801561031e575f80fd5b50610305610895565b348015610332575f80fd5b506101bf60c954610100900460ff1660021490565b348015610352575f80fd5b50610305610361366004613808565b610946565b348015610371575f80fd5b5061019e610952565b348015610385575f80fd5b5061019e610963565b348015610399575f80fd5b5061019e6109da565b3480156103ad575f80fd5b506033546001600160a01b0316610269565b3480156103ca575f80fd5b5061019e6103d936600461381f565b610a59565b3480156103e9575f80fd5b506103056103f83660046138b3565b610cf3565b348015610408575f80fd5b506103056104173660046138ef565b610d5e565b348015610427575f80fd5b5061026961043636600461391f565b610d8a565b348015610446575f80fd5b5061045a6104553660046138ef565b610d96565b604080516001600160401b0390931683526020830191909152016101cb565b348015610484575f80fd5b506065546001600160a01b0316610269565b3480156104a1575f80fd5b5061019e6104b0366004613940565b610e2a565b3480156104c0575f80fd5b5061019e6104cf366004613650565b610f39565b3480156104df575f80fd5b506101bf6104ee366004613650565b60fc6020525f908152604090205460ff1681565b61050a610faa565b6001600160a01b0382165f90815260fc602052604090205481151560ff90911615150361054a576040516398f26f4560e01b815260040160405180910390fd5b6001600160a01b0382165f81815260fc6020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b5f6105b38383611004565b151590505b92915050565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000000000516300361060f5760405162461bcd60e51b815260040161060690613977565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000000056001600160a01b03166106575f80516020613fd6833981519152546001600160a01b031690565b6001600160a01b03161461067d5760405162461bcd60e51b8152600401610606906139c3565b61068681611066565b604080515f808252602082019092526106a19183919061106e565b50565b5f818082036106c657604051630426d36960e31b815260040160405180910390fd5b5f6106d2878787610d5e565b9050836106df3083611004565b14979650505050505050565b5f6106f78484846111d8565b90505b9392505050565b61071560c954610100900460ff1660021490565b6107325760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a161077e335f6112c4565b565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000000051630036107c85760405162461bcd60e51b815260040161060690613977565b7f00000000000000000000000001670090000000000000000000000000000000056001600160a01b03166108105f80516020613fd6833981519152546001600160a01b031690565b6001600160a01b0316146108365760405162461bcd60e51b8152600401610606906139c3565b61083f82611066565b61084b8282600161106e565b5050565b335f90815260fc602052604081205460ff1661087e57604051631f67751f60e01b815260040160405180910390fd5b61088a858585856112dd565b90505b949350505050565b5f306001600160a01b037f000000000000000000000000016700900000000000000000000000000000000516146109345760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610606565b505f80516020613fd683398151915290565b5f6105b83383846113bf565b61095a610faa565b61077e5f611498565b60655433906001600160a01b031681146109d15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610606565b6106a181611498565b6109ee60c954610100900460ff1660021490565b15610a0c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a161077e3360016112c4565b836001600160a01b038116610a81576040516327e0ab1560e21b815260040160405180910390fd5b835f819003610aa357604051630426d36960e31b815260040160405180910390fd5b5f610ab084860186613abe565b905080515f03610ad357604051630b92daef60e21b815260040160405180910390fd5b878787805f610af4856d7369676e616c5f7365727669636560901b836106eb565b9050610b2e6040805160c0810182525f80825260208201819052918101829052906060820190815260200160608152602001606081525090565b5f5b8751811015610cae57878181518110610b4b57610b4b613bfc565b602002602001015191505f610b648888888887896114b1565b90505f60018a51610b759190613c24565b831490508015610bb15783516001600160401b03164614610ba9576040516338bf822760e21b815260040160405180910390fd5b309450610c10565b83516001600160401b03161580610bd1575083516001600160401b031646145b15610bef57604051637556223560e11b815260040160405180910390fd5b8351610c0d906d7369676e616c5f7365727669636560901b5f6106eb565b94505b5f8460800151515f14159050610c2e858b8760200151868587611550565b5f81610c5a577fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf5610c7c565b7f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1695b9050610c8d8b828860200151610d5e565b985085604001519750855f01519a5086995050505050806001019050610b30565b50821580610cc55750610cc13085611004565b8314155b15610ce35760405163738afa0560e01b815260040160405180910390fd5b5050505050505050505050505050565b6040516514d251d3905360d21b60208201526001600160c01b031960c085901b1660268201526bffffffffffffffffffffffff19606084901b16602e820152604281018290525f906062015b6040516020818303038152906040528051906020012090509392505050565b604080516001600160401b03808616602083015291810184905290821660608201525f90608001610d3f565b5f6106fa4684846111d8565b5f80826001600160401b03165f03610dd2576001600160401b038086165f90815260fb6020908152604080832088845290915290205416610dd4565b825b91506001600160401b03821615610e22575f610df1868685610d5e565b9050610dfd3082611004565b91505f829003610e205760405163738afa0560e01b815260040160405180910390fd5b505b935093915050565b5f54610100900460ff1615808015610e4857505f54600160ff909116105b80610e615750303b158015610e6157505f5460ff166001145b610ec45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610606565b5f805460ff191660011790558015610ee5575f805461ff0019166101001790555b610eef8383611662565b8015610f34575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610f41610faa565b606580546001600160a01b0383166001600160a01b03199091168117909155610f726033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b0316331461077e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610606565b5f826001600160a01b03811661102d576040516327e0ab1560e21b815260040160405180910390fd5b825f81900361104f57604051630426d36960e31b815260040160405180910390fd5b5f61105b468787610cf3565b549695505050505050565b6106a1610faa565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a157610f34836116c1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110fb575060408051601f3d908101601f191682019092526110f891810190613c37565b60015b61115e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610606565b5f80516020613fd683398151915281146111cc5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610606565b50610f3483838361175c565b6097545f906001600160a01b031661120357604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611259573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127d9190613c4e565b90508115801561129457506001600160a01b038116155b156106fa57604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610606565b60405163198bb9dd60e11b815260040160405180910390fd5b5f6112e9858585610d5e565b90506112f63082846113bf565b506001600160401b038581165f90815260fb6020908152604080832088845290915290205481851691161015611360576001600160401b038581165f90815260fb602090815260408083208884529091529020805467ffffffffffffffff19169185169190911790555b83836001600160401b0316866001600160401b03167fde247c825b1fb2d7ff9e0e771cba6f9e757ad04479fcdc135d88ae91fd50b37d85856040516113af929190918252602082015260400190565b60405180910390a4949350505050565b5f836001600160a01b0381166113e8576040516327e0ab1560e21b815260040160405180910390fd5b835f81900361140a57604051630426d36960e31b815260040160405180910390fd5b835f81900361142c57604051630426d36960e31b815260040160405180910390fd5b611437468888610cf3565b858155604080516001600160a01b038a16815260208101899052908101829052606081018790529094507f0ad2d108660a211f47bf7fb43a0443cae181624995d3d42b88ee6879d200e9739060800160405180910390a15050509392505050565b606580546001600160a01b03191690556106a181611786565b5f856001600160a01b0381166114da576040516327e0ab1560e21b815260040160405180910390fd5b855f8190036114fc57604051630426d36960e31b815260040160405180910390fd5b855f81900361151e57604051630426d36960e31b815260040160405180910390fd5b6115428660400151866115328d8d8d610cf3565b8a8a608001518b60a001516117d7565b9a9950505050505050505050565b5f60038760600151600381111561156957611569613c69565b148061158a575060028760600151600381111561158857611588613c69565b145b90508080156115965750825b80156115a0575081155b156115d7576115d5867f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da169878a604001516112dd565b505b5f6003886060015160038111156115f0576115f0613c69565b1480611611575060018860600151600381111561160f5761160f613c69565b145b905080801561162557508380611625575082155b1561165857611656877fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf588886112dd565b505b5050505050505050565b5f54610100900460ff166116885760405162461bcd60e51b815260040161060690613c7d565b611691826118e4565b6001600160a01b0381166116b8576040516375cabfef60e11b815260040160405180910390fd5b61084b81611914565b6001600160a01b0381163b61172e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610606565b5f80516020613fd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61176583611984565b5f825111806117715750805b15610f345761178083836119c3565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f82515f1461187f576040516bffffffffffffffffffffffff19606088901b1660208201525f9061181b90603401604051602081830303815290604052858a6119e8565b905080515f0361183e57604051630414cd5b60e31b815260040160405180910390fd5b5f61184882611a0a565b905061186d8160028151811061186057611860613bfc565b6020026020010151611a1d565b61187690613cc8565b92505050611882565b50855b5f6118b98660405160200161189991815260200190565b60408051601f198184030181529190526118b287611b3d565b8585611b50565b9050806118d957604051638d9a4db360e01b815260040160405180910390fd5b509695505050505050565b6119026001600160a01b038216156118fc5781611498565b33611498565b5060c9805461ff001916610100179055565b5f54610100900460ff1661193a5760405162461bcd60e51b815260040161060690613c7d565b6001600160401b034611156119625760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b61198d816116c1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606106fa8383604051806060016040528060278152602001613ff660279139611b73565b60605f6119f485611bdd565b9050611a01818585611c0f565b95945050505050565b60606105b8611a188361247c565b6124cd565b60605f805f611a2b856126ea565b919450925090505f816001811115611a4557611a45613c69565b14611ab85760405162461bcd60e51b815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d000000000000006064820152608401610606565b611ac28284613cee565b855114611b2e5760405162461bcd60e51b815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527330b71034b73b30b634b2103932b6b0b4b73232b960611b6064820152608401610606565b611a0185602001518484612d91565b60606105b8611b4b83612e21565b612f3c565b5f80611b5b86611bdd565b9050611b6981868686612f94565b9695505050505050565b60605f80856001600160a01b031685604051611b8f9190613d23565b5f60405180830381855af49150503d805f8114611bc7576040519150601f19603f3d011682016040523d82523d5f602084013e611bcc565b606091505b5091509150611b6986838387612fba565b60608180519060200120604051602001611bf991815260200190565b6040516020818303038152906040529050919050565b60605f845111611c595760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610606565b5f611c6384613032565b90505f611c6f8661311c565b90505f84604051602001611c8591815260200190565b60405160208183030381529060405290505f805b8451811015612425575f858281518110611cb557611cb5613bfc565b602002602001015190508451831115611d275760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610606565b825f03611dc55780518051602091820120604051611d7492611d4e92910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b611dc05760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610606565b611ebb565b805151602011611e4b5780518051602091820120604051611def92611d4e92910190815260200190565b611dc05760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610606565b805184516020808701919091208251919092012014611ebb5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610606565b611ec760106001613cee565b8160200151510361205f5784518303611ff957611ef4816020015160108151811061186057611860613bfc565b96505f875111611f6c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610606565b60018651611f7a9190613c24565b8214611fee5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610606565b5050505050506106fa565b5f85848151811061200c5761200c613bfc565b602001015160f81c60f81b60f81c90505f82602001518260ff168151811061203657612036613bfc565b602002602001015190506120498161317d565b9550612056600186613cee565b9450505061241c565b6002816020015151036123c3575f612076826131a1565b90505f815f8151811061208b5761208b613bfc565b016020015160f81c90505f6120a1600283613d52565b6120ac906002613d73565b90505f6120bc848360ff166131c4565b90505f6120c98a896131c4565b90505f6120d683836131f9565b90508083511461214e5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610606565b60ff851660021480612163575060ff85166003145b1561230357808251146121de5760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610606565b6121f8876020015160018151811061186057611860613bfc565b9c505f8d51116122705760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610606565b60018c5161227e9190613c24565b88146122f25760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610606565b5050505050505050505050506106fa565b60ff85161580612316575060ff85166001145b1561235557612342876020015160018151811061233557612335613bfc565b602002602001015161317d565b995061234e818a613cee565b98506123b8565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610606565b50505050505061241c565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610606565b50600101611c99565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610606565b604080518082019091525f80825260208201525f8251116124af5760405162461bcd60e51b815260040161060690613d8c565b50604080518082019091528151815260209182019181019190915290565b60605f805f6124db856126ea565b9194509250905060018160018111156124f6576124f6613c69565b146125695760405162461bcd60e51b815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d00000000000000006064820152608401610606565b84516125758385613cee565b146125dd5760405162461bcd60e51b815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e76616044820152713634b2103230ba30903932b6b0b4b73232b960711b6064820152608401610606565b604080516020808252610420820190925290816020015b604080518082019091525f80825260208201528152602001906001900390816125f45790505093505f835b86518110156126de575f806126636040518060400160405280858c5f01516126479190613c24565b8152602001858c6020015161265c9190613cee565b90526126ea565b50915091506040518060400160405280838361267f9190613cee565b8152602001848b602001516126949190613cee565b8152508885815181106126a9576126a9613bfc565b60209081029190910101526126bf600185613cee565b93506126cb8183613cee565b6126d59084613cee565b9250505061261f565b50845250919392505050565b5f805f80845f01511161270f5760405162461bcd60e51b815260040161060690613d8c565b602084015180515f1a607f8111612731575f60015f9450945094505050612d8a565b60b7811161288a575f612745608083613c24565b905080875f0151116127c35760405162461bcd60e51b815260206004820152604e60248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201526d2873686f727420737472696e672960901b608482015260a401610606565b6001838101516001600160f81b03191690821415806127f05750600160ff1b6001600160f81b0319821610155b6128785760405162461bcd60e51b815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201526c73686f727420737472696e672960981b608482015260a401610606565b506001955093505f9250612d8a915050565b60bf8111612ac3575f61289e60b783613c24565b905080875f01511161291f5760405162461bcd60e51b815260206004820152605160248201525f80516020613fb683398151915260448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527067746820286c6f6e6720737472696e672960781b608482015260a401610606565b60018301516001600160f81b0319165f8190036129a45760405162461bcd60e51b815260206004820152604a60248201525f80516020613fb683398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152696e6720737472696e672960b01b608482015260a401610606565b600184015160088302610100031c60378111612a265760405162461bcd60e51b815260206004820152604860248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201526720737472696e672960c01b608482015260a401610606565b612a308184613cee565b895111612aa75760405162461bcd60e51b815260206004820152604c60248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201526b6c6f6e6720737472696e672960a01b608482015260a401610606565b612ab2836001613cee565b975095505f9450612d8a9350505050565b60f78111612b62575f612ad760c083613c24565b905080875f015111612b515760405162461bcd60e51b815260206004820152604a60248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e206c697374206c656e677468202873606482015269686f7274206c6973742960b01b608482015260a401610606565b600195509350849250612d8a915050565b5f612b6e60f783613c24565b905080875f015111612beb5760405162461bcd60e51b815260206004820152604d60248201525f80516020613fb683398151915260448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201526c6820286c6f6e67206c6973742960981b608482015260a401610606565b60018301516001600160f81b0319165f819003612c6e5760405162461bcd60e51b815260206004820152604860248201525f80516020613fb683398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152676e67206c6973742960c01b608482015260a401610606565b600184015160088302610100031c60378111612cee5760405162461bcd60e51b815260206004820152604660248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e67606482015265206c6973742960d01b608482015260a401610606565b612cf88184613cee565b895111612d6d5760405162461bcd60e51b815260206004820152604a60248201525f80516020613fb683398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e67746820286064820152696c6f6e67206c6973742960b01b608482015260a401610606565b612d78836001613cee565b9750955060019450612d8a9350505050565b9193909250565b6060816001600160401b03811115612dab57612dab6136e5565b6040519080825280601f01601f191660200182016040528015612dd5576020820181803683370190505b50905081156106fa575f612de98486613cee565b9050602082015f5b84811015612e09578281015182820152602001612df1565b84811115612e17575f858301525b5050509392505050565b60605f82604051602001612e3791815260200190565b60405160208183030381529060405290505f5b6020811015612e8257818181518110612e6557612e65613bfc565b01602001516001600160f81b0319165f03612e8257600101612e4a565b612e8d816020613c24565b6001600160401b03811115612ea457612ea46136e5565b6040519080825280601f01601f191660200182016040528015612ece576020820181803683370190505b5092505f5b8351811015612f34578282612ee781613dfc565b935081518110612ef957612ef9613bfc565b602001015160f81c60f81b848281518110612f1657612f16613bfc565b60200101906001600160f81b03191690815f1a905350600101612ed3565b505050919050565b606081516001148015612f6857506080825f81518110612f5e57612f5e613bfc565b016020015160f81c105b15612f71575090565b612f7d8251608061327c565b82604051602001611bf9929190613e14565b919050565b5f61088a84612fa4878686611c0f565b8051602091820120825192909101919091201490565b606083156130285782515f03613021576001600160a01b0385163b6130215760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610606565b508161088d565b61088d8383613421565b8051606090806001600160401b0381111561304f5761304f6136e5565b60405190808252806020026020018201604052801561309457816020015b604080518082019091526060808252602082015281526020019060019003908161306d5790505b5091505f5b818110156131155760405180604001604052808583815181106130be576130be613bfc565b602002602001015181526020016130ed8684815181106130e0576130e0613bfc565b6020026020010151611a0a565b81525083828151811061310257613102613bfc565b6020908102919091010152600101613099565b5050919050565b606080604051905082518060011b603f8101601f191683016040528083525060208401602083015f5b83811015613172578060011b8201818401515f1a8060041c8253600f811660018301535050600101613145565b509295945050505050565b60606020825f0151106131985761319382611a1d565b6105b8565b6105b88261344b565b60606105b86131bf83602001515f8151811061186057611860613bfc565b61311c565b6060825182106131e2575060408051602081019091525f81526105b8565b6106fa83838486516131f49190613c24565b61345f565b5f80825184511061320b57825161320e565b83515b90505b8082108015613265575082828151811061322d5761322d613bfc565b602001015160f81c60f81b6001600160f81b03191684838151811061325457613254613bfc565b01602001516001600160f81b031916145b1561327557816001019150613211565b5092915050565b606060388310156132e057604080516001808252818301909252906020820181803683370190505090506132b08284613e42565b60f81b815f815181106132c5576132c5613bfc565b60200101906001600160f81b03191690815f1a9053506105b8565b5f60015b6132ee8186613e5b565b1561331457816132fd81613dfc565b925061330d905061010082613e6e565b90506132e4565b61331f826001613cee565b6001600160401b03811115613336576133366136e5565b6040519080825280601f01601f191660200182016040528015613360576020820181803683370190505b50925061336d8483613e42565b613378906037613e42565b60f81b835f8151811061338d5761338d613bfc565b60200101906001600160f81b03191690815f1a905350600190505b818111613419576101006133bc8284613c24565b6133c890610100613f65565b6133d29087613e5b565b6133dc9190613f70565b60f81b8382815181106133f1576133f1613bfc565b60200101906001600160f81b03191690815f1a9053508061341181613dfc565b9150506133a8565b505092915050565b8151156134315781518083602001fd5b8060405162461bcd60e51b81526004016106069190613f83565b60606105b882602001515f845f0151612d91565b60608182601f0110156134a55760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610606565b8282840110156134e85760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610606565b8183018451101561352f5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610606565b60608215801561354d5760405191505f825260208201604052613597565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561358657805183526020928301920161356e565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b03811681146106a1575f80fd5b80358015158114612f8f575f80fd5b5f80604083850312156135d4575f80fd5b82356135df816135a0565b91506135ed602084016135b4565b90509250929050565b5f8060408385031215613607575f80fd5b8235613612816135a0565b946020939093013593505050565b80356001600160401b0381168114612f8f575f80fd5b5f8060408385031215613647575f80fd5b61361283613620565b5f60208284031215613660575f80fd5b81356106fa816135a0565b5f805f806080858703121561367e575f80fd5b61368785613620565b93506020850135925061369c60408601613620565b9396929550929360600135925050565b5f805f606084860312156136be575f80fd5b6136c784613620565b9250602084013591506136dc604085016135b4565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b038111828210171561371b5761371b6136e5565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613749576137496136e5565b604052919050565b5f82601f830112613760575f80fd5b81356001600160401b03811115613779576137796136e5565b61378c601f8201601f1916602001613721565b8181528460208386010111156137a0575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156137cd575f80fd5b82356137d8816135a0565b915060208301356001600160401b038111156137f2575f80fd5b6137fe85828601613751565b9150509250929050565b5f60208284031215613818575f80fd5b5035919050565b5f805f805f60808688031215613833575f80fd5b61383c86613620565b9450602086013561384c816135a0565b93506040860135925060608601356001600160401b038082111561386e575f80fd5b818801915088601f830112613881575f80fd5b81358181111561388f575f80fd5b8960208285010111156138a0575f80fd5b9699959850939650602001949392505050565b5f805f606084860312156138c5575f80fd5b6138ce84613620565b925060208401356138de816135a0565b929592945050506040919091013590565b5f805f60608486031215613901575f80fd5b61390a84613620565b9250602084013591506136dc60408501613620565b5f8060408385031215613930575f80fd5b823591506135ed602084016135b4565b5f8060408385031215613951575f80fd5b823561395c816135a0565b9150602083013561396c816135a0565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f6001600160401b03821115613a2757613a276136e5565b5060051b60200190565b803560048110612f8f575f80fd5b5f82601f830112613a4e575f80fd5b81356020613a63613a5e83613a0f565b613721565b82815260059290921b84018101918181019086841115613a81575f80fd5b8286015b848110156118d95780356001600160401b03811115613aa2575f80fd5b613ab08986838b0101613751565b845250918301918301613a85565b5f6020808385031215613acf575f80fd5b82356001600160401b0380821115613ae5575f80fd5b818501915085601f830112613af8575f80fd5b8135613b06613a5e82613a0f565b81815260059190911b83018401908481019088831115613b24575f80fd5b8585015b83811015613bef57803585811115613b3e575f80fd5b860160c0818c03601f19011215613b53575f80fd5b613b5b6136f9565b613b66898301613620565b81526040613b75818401613620565b8a8301526060808401358284015260809150613b92828501613a31565b9083015260a08381013589811115613ba8575f80fd5b613bb68f8d83880101613a3f565b838501525060c0840135915088821115613bce575f80fd5b613bdc8e8c84870101613a3f565b9083015250845250918601918601613b28565b5098975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156105b8576105b8613c10565b5f60208284031215613c47575f80fd5b5051919050565b5f60208284031215613c5e575f80fd5b81516106fa816135a0565b634e487b7160e01b5f52602160045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b80516020808301519190811015613ce8575f198160200360031b1b821691505b50919050565b808201808211156105b8576105b8613c10565b5f5b83811015613d1b578181015183820152602001613d03565b50505f910152565b5f8251613d34818460208701613d01565b9190910192915050565b634e487b7160e01b5f52601260045260245ffd5b5f60ff831680613d6457613d64613d3e565b8060ff84160691505092915050565b60ff82811682821603908111156105b8576105b8613c10565b6020808252604a908201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60408201527f206d7573742062652067726561746572207468616e207a65726f20746f206265606082015269206465636f6461626c6560b01b608082015260a00190565b5f60018201613e0d57613e0d613c10565b5060010190565b5f8351613e25818460208801613d01565b835190830190613e39818360208801613d01565b01949350505050565b60ff81811683821601908111156105b8576105b8613c10565b5f82613e6957613e69613d3e565b500490565b80820281158282048414176105b8576105b8613c10565b600181815b80851115613ebf57815f1904821115613ea557613ea5613c10565b80851615613eb257918102915b93841c9390800290613e8a565b509250929050565b5f82613ed5575060016105b8565b81613ee157505f6105b8565b8160018114613ef75760028114613f0157613f1d565b60019150506105b8565b60ff841115613f1257613f12613c10565b50506001821b6105b8565b5060208310610133831016604e8410600b8410161715613f40575081810a6105b8565b613f4a8383613e85565b805f1904821115613f5d57613f5d613c10565b029392505050565b5f6106fa8383613ec7565b5f82613f7e57613f7e613d3e565b500690565b602081525f8251806020840152613fa1816040850160208701613d01565b601f01601f1916919091016040019291505056fe524c505265616465723a206c656e677468206f6620636f6e74656e74206d7573360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122026509c7d0962754acadcf1ba2e83cec7c8d29b86f2088c00b216a1d1edf88cb264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000000005": { + "contractName": "SignalService", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000000006", + "0x031b527db15e04fbfff38f22f062b0041c6d7dbbf534c333afd08c8be13df0c6": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000000005" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010001": { + "contractName": "TaikoL2Impl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106101af575f3560e01c806379ba5097116100e7578063c3f909d411610087578063e30c397811610062578063e30c3978146104f7578063f2fde38b14610514578063f535bd5614610533578063f940e38514610552575f80fd5b8063c3f909d41461047b578063da69d3db146104c3578063dac5df78146104e2575f80fd5b80638da5cb5b116100c25780638da5cb5b146103de5780639ee512f2146103fb578063a7e022d114610420578063a86f9d9e1461045c575f80fd5b806379ba50971461038b5780638456cb591461039f5780638551f41e146103b3575f80fd5b80633f4ba83a11610152578063539b8ade1161012d578063539b8ade146103125780635950f9f1146103385780635c975abb14610357578063715018a614610377575f80fd5b80633f4ba83a146102d75780634f1ef286146102eb57806352d1902d146102fe575f80fd5b806333d5ac9b1161018d57806333d5ac9b1461023a5780633659cfe6146102605780633ab76e9f146102815780633eb6b8cf146102b8575f80fd5b806312622e5b146101b357806323ac7136146101ef5780632f9804731461021c575b5f80fd5b3480156101be575f80fd5b5060fe546101d2906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156101fa575f80fd5b5061020e610209366004611ece565b610571565b6040519081526020016101e6565b348015610227575f80fd5b505f5b60405190151581526020016101e6565b348015610245575f80fd5b5060fd546101d290600160401b90046001600160401b031681565b34801561026b575f80fd5b5061027f61027a366004611efb565b6105cd565b005b34801561028c575f80fd5b506097546102a0906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b3480156102c3575f80fd5b506102a06102d2366004611f23565b6106b3565b3480156102e2575f80fd5b5061027f6106c9565b61027f6102f9366004611f74565b610748565b348015610309575f80fd5b5061020e610817565b34801561031d575f80fd5b5060fd546101d290600160801b90046001600160401b031681565b348015610343575f80fd5b5061027f610352366004612031565b6108c8565b348015610362575f80fd5b5061022a60c954610100900460ff1660021490565b348015610382575f80fd5b5061027f610af1565b348015610396575f80fd5b5061027f610b02565b3480156103aa575f80fd5b5061027f610b79565b3480156103be575f80fd5b5061020e6103cd366004612086565b60fb6020525f908152604090205481565b3480156103e9575f80fd5b506033546001600160a01b03166102a0565b348015610406575f80fd5b506102a071777735367b36bc9b61c50022d9d0700db4ec81565b34801561042b575f80fd5b5061043f61043a3660046120b0565b610bf8565b604080519283526001600160401b039091166020830152016101e6565b348015610467575f80fd5b506102a06104763660046120e1565b610c6d565b348015610486575f80fd5b5061048f610c82565b60408051825163ffffffff16815260208084015160ff1690820152918101516001600160401b0316908201526060016101e6565b3480156104ce575f80fd5b5061027f6104dd36600461210f565b610cce565b3480156104ed575f80fd5b5061020e60fc5481565b348015610502575f80fd5b506065546001600160a01b03166102a0565b34801561051f575f80fd5b5061027f61052e366004611efb565b610fd7565b34801561053e575f80fd5b5060fd546101d2906001600160401b031681565b34801561055d575f80fd5b5061027f61056c366004612147565b611048565b5f43826001600160401b03161061058957505f919050565b4361059683610100612187565b6001600160401b0316106105b257506001600160401b03164090565b506001600160401b03165f90815260fb602052604090205490565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000001000116300361061e5760405162461bcd60e51b8152600401610615906121ae565b60405180910390fd5b7f00000000000000000000000001670090000000000000000000000000000100016001600160a01b03166106665f80516020612424833981519152546001600160a01b031690565b6001600160a01b03161461068c5760405162461bcd60e51b8152600401610615906121fa565b61069581611207565b604080515f808252602082019092526106b09183919061120f565b50565b5f6106bf848484611379565b90505b9392505050565b6106dd60c954610100900460ff1660021490565b6106fa5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a1610746335f611465565b565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000100011630036107905760405162461bcd60e51b8152600401610615906121ae565b7f00000000000000000000000001670090000000000000000000000000000100016001600160a01b03166107d85f80516020612424833981519152546001600160a01b031690565b6001600160a01b0316146107fe5760405162461bcd60e51b8152600401610615906121fa565b61080782611207565b6108138282600161120f565b5050565b5f306001600160a01b037f000000000000000000000000016700900000000000000000000000000001000116146108b65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610615565b505f8051602061242483398151915290565b5f54610100900460ff16158080156108e657505f54600160ff909116105b806108ff5750303b1580156108ff57505f5460ff166001145b6109625760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610615565b5f805460ff191660011790558015610983575f805461ff0019166101001790555b61098d858561146d565b6001600160401b03831615806109ab575046836001600160401b0316145b156109c9576040516308279a2560e31b815260040160405180910390fd5b6001461115806109df57506001600160401b0346115b156109fd57604051638f972ecb60e01b815260040160405180910390fd5b4315610a475743600103610a2e575f610a17600143612246565b5f81815260fb602052604090209040905550610a47565b604051635a0f9e4160e11b815260040160405180910390fd5b60fe80546001600160401b0380861667ffffffffffffffff199283161790925560fd805492851692909116919091179055610a81436114cc565b5060fc5560fd80546001600160c01b0316600160c01b426001600160401b0316021790558015610aea575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610af961155c565b6107465f6115b6565b60655433906001600160a01b03168114610b705760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610615565b6106b0816115b6565b610b8d60c954610100900460ff1660021490565b15610bab5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a1610746336001611465565b5f805f610c03610c82565b805160fd549192505f9163ffffffff90911690610c3090600160401b90046001600160401b031688612259565b610c3a9190612279565b82516020840151604085015160fd54939450610c60936001600160401b0316858a6115cf565b9097909650945050505050565b5f610c79468484611379565b90505b92915050565b604080516060810182525f8082526020820181905291810191909152610cc960408051606081018252630393870081526008602082015264044acfc6c09181019190915290565b905090565b6002610cdc60c95460ff1690565b60ff1603610cfd5760405163dfc60d8560e01b815260040160405180910390fd5b610d07600261167a565b831580610d12575082155b80610d2457506001600160401b038216155b80610d3f575043600114158015610d3f575063ffffffff8116155b15610d5d5760405163053fd54760e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec14610d8f57604051636494e9f760e01b815260040160405180910390fd5b5f1943015f80610d9e836114cc565b915091508160fc5414610dc45760405163d719258d60e01b815260040160405180910390fd5b5f610dcf8686610bf8565b60fd805467ffffffffffffffff19166001600160401b03929092169190911790559050488114610e12576040516336d54d4f60e11b815260040160405180910390fd5b60fd546001600160401b03600160401b90910481169087161115610f2257610e4b6d7369676e616c5f7365727669636560901b5f610c6d565b60fe546040516313e4299d60e21b81526001600160401b0391821660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da16960248201529088166044820152606481018990526001600160a01b039190911690634f90a674906084016020604051808303815f875af1158015610ed2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef691906122a4565b5060fd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038916021790555b5f84815260fb602090815260409182902086409081905560fc85905560fd80546fffffffffffffffffffffffffffffffff8116600160c01b918290046001600160401b03908116600160801b026001600160c01b031691909117428216929092029190911791829055845192835216918101919091527f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe4910160405180910390a150505050610fd1600161167a565b50505050565b610fdf61155c565b606580546001600160a01b0383166001600160a01b031990911681179091556110106033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b693bb4ba34323930bbb2b960b11b6110686033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316141580156110a5575061108f816001610c6d565b6001600160a01b0316336001600160a01b031614155b156110c357604051630d85cccf60e11b815260040160405180910390fd5b60026110d160c95460ff1690565b60ff16036110f25760405163dfc60d8560e01b815260040160405180910390fd5b6110fc600261167a565b61111060c954610100900460ff1660021490565b1561112e5760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0382166111555760405163053fd54760e01b815260040160405180910390fd5b6001600160a01b03831661117b576111766001600160a01b03831647611690565b6111f8565b6040516370a0823160e01b81523060048201526111f89083906001600160a01b038616906370a0823190602401602060405180830381865afa1580156111c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e791906122a4565b6001600160a01b038616919061169b565b611202600161167a565b505050565b6106b061155c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561124257611202836116ed565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561129c575060408051601f3d908101601f19168201909252611299918101906122a4565b60015b6112ff5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610615565b5f80516020612424833981519152811461136d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610615565b50611202838383611788565b6097545f906001600160a01b03166113a457604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa1580156113fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061141e91906122bb565b90508115801561143557506001600160a01b038116155b156106c257604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610615565b61081361155c565b5f54610100900460ff166114935760405162461bcd60e51b8152600401610615906122d6565b61149c826117ac565b6001600160a01b0381166114c3576040516375cabfef60e11b815260040160405180910390fd5b610813816117dc565b5f806114d6611e93565b5f5b60ff811080156114eb5750806001018510155b1561151c575f198186030180408360ff8306610100811061150e5761150e612335565b6020020152506001016114d8565b5046611fe08201526120008120925083408161153960ff87612349565b610100811061154a5761154a612335565b60200201526120009020919391925050565b6033546001600160a01b031633146107465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610615565b606580546001600160a01b03191690556106b08161184c565b5f80806115eb63ffffffff85166001600160401b03881661235c565b9050846001600160401b03168111611604576001611617565b6116176001600160401b03861682612246565b90506116396001600160401b038089169061163390849061189d565b906118b1565b91506116606001600160401b03831661165b63ffffffff8c1660ff8c1661236f565b6118c6565b9250825f0361166e57600192505b50965096945050505050565b60c9805460ff191660ff92909216919091179055565b61081382825a61190f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611202908490611952565b6001600160a01b0381163b61175a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610615565b5f8051602061242483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61179183611a25565b5f8251118061179d5750805b1561120257610fd18383611a64565b6117ca6001600160a01b038216156117c457816115b6565b336115b6565b5060c9805461ff001916610100179055565b5f54610100900460ff166118025760405162461bcd60e51b8152600401610615906122d6565b6001600160401b0346111561182a5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8183116118ab5782610c79565b50919050565b5f8183116118bf5781610c79565b5090919050565b5f815f036118e757604051636296f1b960e11b815260040160405180910390fd5b81670de0b6b3a76400006118fb8585611a89565b6119059190612386565b610c799190612386565b815f0361191b57505050565b61193583838360405180602001604052805f815250611ad8565b61120257604051634c67134d60e11b815260040160405180910390fd5b5f6119a6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b159092919063ffffffff16565b905080515f14806119c65750808060200190518101906119c69190612399565b6112025760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610615565b611a2e816116ed565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610c79838360405180606001604052806027815260200161244460279139611b23565b5f8082611a9e670de0b6b3a76400008661236f565b611aa89190612386565b9050680755bf798b4a1bf1e4811115611ac75750680755bf798b4a1bf1e45b611ad081611b97565b949350505050565b5f6001600160a01b038516611b0057604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60606106bf84845f85611d1f565b60605f80856001600160a01b031685604051611b3f91906123d6565b5f60405180830381855af49150503d805f8114611b77576040519150601f19603f3d011682016040523d82523d5f602084013e611b7c565b606091505b5091509150611b8d86838387611df6565b9695505050505050565b5f680248ce36a70cb26b3e198213611bb057505f919050565b680755bf798b4a1bf1e58212611bd957604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b606082471015611d805760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610615565b5f80866001600160a01b03168587604051611d9b91906123d6565b5f6040518083038185875af1925050503d805f8114611dd5576040519150601f19603f3d011682016040523d82523d5f602084013e611dda565b606091505b5091509150611deb87838387611df6565b979650505050505050565b60608315611e645782515f03611e5d576001600160a01b0385163b611e5d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610615565b5081611ad0565b611ad08383815115611e795781518083602001fd5b8060405162461bcd60e51b815260040161061591906123f1565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b0381168114611ec9575f80fd5b919050565b5f60208284031215611ede575f80fd5b610c7982611eb3565b6001600160a01b03811681146106b0575f80fd5b5f60208284031215611f0b575f80fd5b81356106c281611ee7565b80151581146106b0575f80fd5b5f805f60608486031215611f35575f80fd5b611f3e84611eb3565b9250602084013591506040840135611f5581611f16565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611f85575f80fd5b8235611f9081611ee7565b915060208301356001600160401b0380821115611fab575f80fd5b818501915085601f830112611fbe575f80fd5b813581811115611fd057611fd0611f60565b604051601f8201601f19908116603f01168101908382118183101715611ff857611ff8611f60565b81604052828152886020848701011115612010575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f8060808587031215612044575f80fd5b843561204f81611ee7565b9350602085013561205f81611ee7565b925061206d60408601611eb3565b915061207b60608601611eb3565b905092959194509250565b5f60208284031215612096575f80fd5b5035919050565b803563ffffffff81168114611ec9575f80fd5b5f80604083850312156120c1575f80fd5b6120ca83611eb3565b91506120d86020840161209d565b90509250929050565b5f80604083850312156120f2575f80fd5b82359150602083013561210481611f16565b809150509250929050565b5f805f8060808587031215612122575f80fd5b843593506020850135925061213960408601611eb3565b915061207b6060860161209d565b5f8060408385031215612158575f80fd5b823561216381611ee7565b9150602083013561210481611ee7565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190808211156121a7576121a7612173565b5092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610c7c57610c7c612173565b6001600160401b038281168282160390808211156121a7576121a7612173565b6001600160401b0381811683821602808216919082811461229c5761229c612173565b505092915050565b5f602082840312156122b4575f80fd5b5051919050565b5f602082840312156122cb575f80fd5b81516106c281611ee7565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f8261235757612357612321565b500690565b80820180821115610c7c57610c7c612173565b8082028115828204841417610c7c57610c7c612173565b5f8261239457612394612321565b500490565b5f602082840312156123a9575f80fd5b81516106c281611f16565b5f5b838110156123ce5781810151838201526020016123b6565b50505f910152565b5f82516123e78184602087016123b4565b9190910192915050565b602081525f825180602084015261240f8160408501602087016123b4565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200910e22634b6f1551e873c664bfc622939fb47d120f9d846eadfca2805ec4fe264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000010001": { + "contractName": "TaikoL2", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670090000000000000000000000000000010002", + "0x00000000000000000000000000000000000000000000000000000000000000fe": "0x0000000000000000000000000000000000000000000000000000000000004268", + "0x00000000000000000000000000000000000000000000000000000000000000fd": "0x00000000000000000000000000000000000000000000000000000004a817c800", + "0x00000000000000000000000000000000000000000000000000000000000000fc": "0x12ca4c463583981a753aba62115b12209171346133eaa90b752fb316efd4d2be", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000010001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010002": { + "contractName": "RollupAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106100fa575f3560e01c80635c975abb116100925780638da5cb5b116100625780638da5cb5b14610299578063a86f9d9e146102b6578063d8f4648f146102d5578063e30c3978146102f4578063f2fde38b14610311575f80fd5b80635c975abb1461022d578063715018a61461025d57806379ba5097146102715780638456cb5914610285575f80fd5b80633eb6b8cf116100cd5780633eb6b8cf146101c55780633f4ba83a146101e45780634f1ef286146101f857806352d1902d1461020b575f80fd5b806319ab453c146100fe57806328f713cc1461011f5780633659cfe6146101875780633ab76e9f146101a6575b5f80fd5b348015610109575f80fd5b5061011d610118366004610f59565b610330565b005b34801561012a575f80fd5b5061016a610139366004610f90565b67ffffffffffffffff919091165f90815260fb6020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610192575f80fd5b5061011d6101a1366004610f59565b610442565b3480156101b1575f80fd5b5060975461016a906001600160a01b031681565b3480156101d0575f80fd5b5061016a6101df366004610fc7565b61051f565b3480156101ef575f80fd5b5061011d610535565b61011d610206366004611014565b6105b4565b348015610216575f80fd5b5061021f61067f565b60405190815260200161017e565b348015610238575f80fd5b5061024d60c954610100900460ff1660021490565b604051901515815260200161017e565b348015610268575f80fd5b5061011d610730565b34801561027c575f80fd5b5061011d610741565b348015610290575f80fd5b5061011d6107b8565b3480156102a4575f80fd5b506033546001600160a01b031661016a565b3480156102c1575f80fd5b5061016a6102d03660046110d2565b610837565b3480156102e0575f80fd5b5061011d6102ef3660046110fc565b610843565b3480156102ff575f80fd5b506065546001600160a01b031661016a565b34801561031c575f80fd5b5061011d61032b366004610f59565b610921565b5f54610100900460ff161580801561034e57505f54600160ff909116105b806103675750303b15801561036757505f5460ff166001145b6103cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff1916600117905580156103f0575f805461ff0019166101001790555b6103f982610992565b801561043e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b037f000000000000000000000000016700900000000000000000000000000001000216300361048a5760405162461bcd60e51b81526004016103c690611139565b7f00000000000000000000000001670090000000000000000000000000000100026001600160a01b03166104d25f80516020611273833981519152546001600160a01b031690565b6001600160a01b0316146104f85760405162461bcd60e51b81526004016103c690611185565b610501816109c2565b604080515f8082526020820190925261051c918391906109ca565b50565b5f61052b848484610b39565b90505b9392505050565b61054960c954610100900460ff1660021490565b6105665760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9060200160405180910390a16105b2335f610c27565b565b6001600160a01b037f00000000000000000000000001670090000000000000000000000000000100021630036105fc5760405162461bcd60e51b81526004016103c690611139565b7f00000000000000000000000001670090000000000000000000000000000100026001600160a01b03166106445f80516020611273833981519152546001600160a01b031690565b6001600160a01b03161461066a5760405162461bcd60e51b81526004016103c690611185565b610673826109c2565b61043e828260016109ca565b5f306001600160a01b037f0000000000000000000000000167009000000000000000000000000000010002161461071e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103c6565b505f8051602061127383398151915290565b610738610c3f565b6105b25f610c99565b60655433906001600160a01b031681146107af5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103c6565b61051c81610c99565b6107cc60c954610100900460ff1660021490565b156107ea5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200160405180910390a16105b2336001610c27565b5f61052e468484610b39565b61084b610c3f565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b0390811690821681900361089d576040516327b026fb60e21b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b610929610c3f565b606580546001600160a01b0383166001600160a01b0319909116811790915561095a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6109b06001600160a01b038216156109aa5781610c99565b33610c99565b5060c9805461ff001916610100179055565b61051c610c3f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610a02576109fd83610cb2565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610a5c575060408051601f3d908101601f19168201909252610a59918101906111d1565b60015b610abf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103c6565b5f805160206112738339815191528114610b2d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103c6565b506109fd838383610d4d565b6097545f906001600160a01b0316610b6457604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015610bbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdf91906111e8565b905081158015610bf657506001600160a01b038116155b1561052e57604051632b0d65db60e01b815267ffffffffffffffff85166004820152602481018490526044016103c6565b60405162580a9560e71b815260040160405180910390fd5b6033546001600160a01b031633146105b25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c6565b606580546001600160a01b031916905561051c81610d77565b6001600160a01b0381163b610d1f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103c6565b5f8051602061127383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610d5683610dc8565b5f82511180610d625750805b156109fd57610d718383610e07565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610dd181610cb2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061052e83836040518060600160405280602781526020016112936027913960605f80856001600160a01b031685604051610e439190611225565b5f60405180830381855af49150503d805f8114610e7b576040519150601f19603f3d011682016040523d82523d5f602084013e610e80565b606091505b5091509150610e9186838387610e9b565b9695505050505050565b60608315610f095782515f03610f02576001600160a01b0385163b610f025760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103c6565b5081610f13565b610f138383610f1b565b949350505050565b815115610f2b5781518083602001fd5b8060405162461bcd60e51b81526004016103c69190611240565b6001600160a01b038116811461051c575f80fd5b5f60208284031215610f69575f80fd5b813561052e81610f45565b803567ffffffffffffffff81168114610f8b575f80fd5b919050565b5f8060408385031215610fa1575f80fd5b610faa83610f74565b946020939093013593505050565b80358015158114610f8b575f80fd5b5f805f60608486031215610fd9575f80fd5b610fe284610f74565b925060208401359150610ff760408501610fb8565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611025575f80fd5b823561103081610f45565b9150602083013567ffffffffffffffff8082111561104c575f80fd5b818501915085601f83011261105f575f80fd5b81358181111561107157611071611000565b604051601f8201601f19908116603f0116810190838211818310171561109957611099611000565b816040528281528860208487010111156110b1575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f80604083850312156110e3575f80fd5b823591506110f360208401610fb8565b90509250929050565b5f805f6060848603121561110e575f80fd5b61111784610f74565b925060208401359150604084013561112e81610f45565b809150509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f602082840312156111e1575f80fd5b5051919050565b5f602082840312156111f8575f80fd5b815161052e81610f45565b5f5b8381101561121d578181015183820152602001611205565b50505f910152565b5f8251611236818460208701611203565b9190910192915050565b602081525f825180602084015261125e816040850160208701611203565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203cf7c7909aa3a171d69bba3422ad3ee05166e507361c8bce5bed32f66ed9173764736f6c63430008180033", + "balance": "0x0" + }, + "0x1670090000000000000000000000000000010002": { + "contractName": "RollupAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0xd330e44a3603b4246ee804ea67699b051c53a81e87cb0e4159648e14c2c7ff54": "0x0000000000000000000000001670090000000000000000000000000000010001", + "0x06e004775639cdb0e38f2c8a0f80bf9e3f0bafc0587c4deccd476e1b0b083676": "0x0000000000000000000000001670090000000000000000000000000000000001", + "0x57e7be70ddd7eb8855d6252773a58a2cd3685df17defaa305b7a91e54f33be8c": "0x0000000000000000000000001670090000000000000000000000000000000005", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167009000000000000000000000000000010002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220ee2b34631d0aeafcbca8c09b3d006837becb1e761da7ef1dfde69d83e98a206164736f6c63430008180033", + "balance": "0x0" + }, + "0x3De27cC792B5a5886E85806316E7230Fd350BdaA": { + "contractName": "LibNetwork", + "storage": {}, + "code": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212200e91ea97951a08e1a55500bea198d5173bbd28c3741a91cc9a0898a286c7802864736f6c63430008180033", + "balance": "0x0" + }, + "0x0167009000000000000000000000000000010099": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000001f4000", + "0x7e98f6668cc63185c0ed735323fd659178e6c2a72e12a0915ffe1e12f257e25f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x36b8d434cffc56d906e4123d42c8917d6bf64c3eead76e75f37db4862e4ed11e": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461011f57806370a082311461013257806395d89b411461015a578063a457c2d714610162578063a9059cbb14610175578063dd62ed3e14610188575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f80fd5b6100b261019b565b6040516100bf919061068a565b60405180910390f35b6100db6100d63660046106f1565b61022b565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b366004610719565b610244565b604051601281526020016100bf565b6100db61012d3660046106f1565b610267565b6100ef610140366004610752565b6001600160a01b03165f9081526020819052604090205490565b6100b2610288565b6100db6101703660046106f1565b610297565b6100db6101833660046106f1565b610316565b6100ef610196366004610772565b610323565b6060600380546101aa906107a3565b80601f01602080910402602001604051908101604052809291908181526020018280546101d6906107a3565b80156102215780601f106101f857610100808354040283529160200191610221565b820191905f5260205f20905b81548152906001019060200180831161020457829003601f168201915b5050505050905090565b5f3361023881858561034d565b60019150505b92915050565b5f33610251858285610470565b61025c8585856104e8565b506001949350505050565b5f336102388185856102798383610323565b61028391906107db565b61034d565b6060600480546101aa906107a3565b5f33816102a48286610323565b9050838110156103095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61025c828686840361034d565b5f336102388185856104e8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103af5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610300565b6001600160a01b0382166104105760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610300565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61047b8484610323565b90505f1981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610300565b6104e2848484840361034d565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610300565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610300565b6001600160a01b0383165f90815260208190526040902054818110156106255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610300565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b5f602080835283518060208501525f5b818110156106b65785810183015185820160400152820161069a565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106ec575f80fd5b919050565b5f8060408385031215610702575f80fd5b61070b836106d6565b946020939093013593505050565b5f805f6060848603121561072b575f80fd5b610734846106d6565b9250610742602085016106d6565b9150604084013590509250925092565b5f60208284031215610762575f80fd5b61076b826106d6565b9392505050565b5f8060408385031215610783575f80fd5b61078c836106d6565b915061079a602084016106d6565b90509250929050565b600181811c908216806107b757607f821691505b6020821081036107d557634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561023e57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220147ef409e997b57527888b48fd0fb61bc86cc4d715fa732d06bbff34ee44453764736f6c63430008180033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/internal_l2a.json taikoxyz/taiko-geth/core/taiko_genesis/internal_l2a.json new file mode 100644 index 0000000000000000000000000000000000000000..1e901a177fbee15c22cc213e6c086b59e9449136 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/internal_l2a.json @@ -0,0 +1,369 @@ +{ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": { + "balance": "0x3782dace9d90000000" + }, + "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": { + "balance": "0x3782dace9d90000000" + }, + "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": { + "balance": "0x3782dace9d90000000" + }, + "0x90F79bf6EB2c4f870365E785982E1f101E93b906": { + "balance": "0x3782dace9d90000000" + }, + "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": { + "balance": "0x3782dace9d90000000" + }, + "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": { + "balance": "0x3782dace9d90000000" + }, + "0x976EA74026E726554dB657fA54763abd0C3a0aa9": { + "balance": "0x3782dace9d90000000" + }, + "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": { + "balance": "0x3782dace9d90000000" + }, + "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": { + "balance": "0x3782dace9d90000000" + }, + "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": { + "balance": "0x3782dace9d90000000" + }, + "0xBcd4042DE499D14e55001CcbB24a551F3b954096": { + "balance": "0x3782dace9d90000000" + }, + "0x71bE63f3384f5fb98995898A86B02Fb2426c5788": { + "balance": "0x3782dace9d90000000" + }, + "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a": { + "balance": "0x3782dace9d90000000" + }, + "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec": { + "balance": "0x3782dace9d90000000" + }, + "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097": { + "balance": "0x3782dace9d90000000" + }, + "0xcd3B766CCDd6AE721141F452C550Ca635964ce71": { + "balance": "0x3782dace9d90000000" + }, + "0x2546BcD3c84621e976D8185a91A922aE77ECEc30": { + "balance": "0x3782dace9d90000000" + }, + "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E": { + "balance": "0x3782dace9d90000000" + }, + "0xdD2FD4581271e230360230F9337D5c0430Bf44C0": { + "balance": "0x3782dace9d90000000" + }, + "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199": { + "balance": "0x3782dace9d90000000" + }, + "0x7D86687F980A56b832e9378952B738b614A99dc6": { + "balance": "0x3782dace9d90000000" + }, + "0x11e8F3eA3C6FcF12EcfF2722d75CEFC539c51a1C": { + "balance": "0x3782dace9d90000000" + }, + "0x9eAF5590f2c84912A08de97FA28d0529361Deb9E": { + "balance": "0x3782dace9d90000000" + }, + "0x1003ff39d25F2Ab16dBCc18EcE05a9B6154f65F4": { + "balance": "0x3782dace9d90000000" + }, + "0x4779d18931B35540F84b0cd0e9633855B84df7b8": { + "balance": "0x3782dace9d90000000" + }, + "0x1c87Bb9234aeC6aDc580EaE6C8B59558A4502220": { + "balance": "0x3782dace9d90000000" + }, + "0x0d803cdeEe5990f22C2a8DF10A695D2312dA26CC": { + "balance": "0x3782dace9d90000000" + }, + "0xAb707cb80e7de7C75d815B1A653433F3EEc44c74": { + "balance": "0x3782dace9d90000000" + }, + "0xe8B1ff302A740fD2C6e76B620d45508dAEc2DDFf": { + "balance": "0x3782dace9d90000000" + }, + "0xa0EC9eE47802CeB56eb58ce80F3E41630B771b04": { + "balance": "0x3782dace9d90000000" + }, + "0x042a63149117602129B6922ecFe3111168C2C323": { + "balance": "0x3782dace9d90000000" + }, + "0xA1196426b41627ae75Ea7f7409E074BE97367da2": { + "balance": "0x3782dace9d90000000" + }, + "0xE74cEf90b6CF1a77FEfAd731713e6f53e575C183": { + "balance": "0x3782dace9d90000000" + }, + "0x7Df8Efa6d6F1CB5C4f36315e0AcB82b02Ae8BA40": { + "balance": "0x3782dace9d90000000" + }, + "0x9E126C57330FA71556628e0aabd6B6B6783d99fA": { + "balance": "0x3782dace9d90000000" + }, + "0xcBDc0F9a4C38f1e010bD3B6e43598A55D1868c23": { + "balance": "0x3782dace9d90000000" + }, + "0xBc5BdceE96b1BC47822C74e6f64186fbA7d686be": { + "balance": "0x3782dace9d90000000" + }, + "0x0536896a5e38BbD59F3F369FF3682677965aBD19": { + "balance": "0x3782dace9d90000000" + }, + "0xFE0f143FcAD5B561b1eD2AC960278A2F23559Ef9": { + "balance": "0x3782dace9d90000000" + }, + "0x98D08079928FcCB30598c6C6382ABfd7dbFaA1cD": { + "balance": "0x3782dace9d90000000" + }, + "0x0167001000000000000000000000000000000006": { + "contractName": "SharedAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b14610301578063a86f9d9e1461031e578063d8f4648f1461033d578063e07baba61461035c578063e30c39781461039b578063f2fde38b146103b8575f5ffd5b80635c975abb14610291578063715018a6146102b157806379ba5097146102c55780638456cb59146102d95780638abf6077146102ed575f5ffd5b80633ab76e9f116100ee5780633ab76e9f1461020a5780633eb6b8cf146102295780633f4ba83a146102485780634f1ef2861461025c57806352d1902d1461026f575f5ffd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db56146101c75780633659cfe6146101eb575b5f5ffd5b348015610135575f5ffd5b5061013e6103d7565b005b34801561014b575f5ffd5b5061013e61015a36600461110e565b610487565b34801561016a575f5ffd5b506101aa610179366004611145565b67ffffffffffffffff919091165f90815260fb6020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101d2575f5ffd5b506101db61055f565b60405190151581526020016101be565b3480156101f6575f5ffd5b5061013e61020536600461110e565b610577565b348015610215575f5ffd5b506097546101aa906001600160a01b031681565b348015610234575f5ffd5b506101aa61024336600461117c565b61063e565b348015610253575f5ffd5b5061013e610654565b61013e61026a3660046111c9565b610668565b34801561027a575f5ffd5b5061028361071d565b6040519081526020016101be565b34801561029c575f5ffd5b506101db60c954610100900460ff1660021490565b3480156102bc575f5ffd5b5061013e6107ce565b3480156102d0575f5ffd5b5061013e6107df565b3480156102e4575f5ffd5b5061013e610856565b3480156102f8575f5ffd5b506101aa610869565b34801561030c575f5ffd5b506033546001600160a01b03166101aa565b348015610329575f5ffd5b506101aa61033836600461128f565b610877565b348015610348575f5ffd5b5061013e6103573660046112b9565b610883565b348015610367575f5ffd5b5060c9546103829062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101be565b3480156103a6575f5ffd5b506065546001600160a01b03166101aa565b3480156103c3575f5ffd5b5061013e6103d236600461110e565b610961565b6103df6109d2565b5f54600290610100900460ff161580156103ff57505f5460ff8083169116105b6104245760405162461bcd60e51b815260040161041b906112f6565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff16158080156104a557505f54600160ff909116105b806104be5750303b1580156104be57505f5460ff166001145b6104da5760405162461bcd60e51b815260040161041b906112f6565b5f805460ff1916600117905580156104fb575f805461ff0019166101001790555b61050482610a2c565b609780546001600160a01b03191630179055801561055b575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b5f600261056e60c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000061630036105bf5760405162461bcd60e51b815260040161041b90611344565b7f00000000000000000000000001670010000000000000000000000000000000066001600160a01b03166105f1610a8a565b6001600160a01b0316146106175760405162461bcd60e51b815260040161041b90611390565b61062081610aa5565b604080515f8082526020820190925261063b91839190610aad565b50565b5f61064a848484610c1c565b90505b9392505050565b61065c610c6f565b610666335f610d00565b565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000061630036106b05760405162461bcd60e51b815260040161041b90611344565b7f00000000000000000000000001670010000000000000000000000000000000066001600160a01b03166106e2610a8a565b6001600160a01b0316146107085760405162461bcd60e51b815260040161041b90611390565b61071182610aa5565b61055b82826001610aad565b5f306001600160a01b037f000000000000000000000000016700100000000000000000000000000000000616146107bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161041b565b505f5160206114c95f395f51905f5290565b6107d66109d2565b6106665f610d19565b60655433906001600160a01b0316811461084d5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161041b565b61063b81610d19565b61085e610d32565b610666336001610d00565b5f610872610a8a565b905090565b5f61064d468484610c1c565b61088b6109d2565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108dd5760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109696109d2565b606580546001600160a01b0383166001600160a01b0319909116811790915561099a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041b565b5f54610100900460ff16610a525760405162461bcd60e51b815260040161041b906113dc565b610a5a610da3565b610a786001600160a01b03821615610a725781610d19565b33610d19565b5060c9805461ff001916610100179055565b5f5160206114c95f395f51905f52546001600160a01b031690565b61063b6109d2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ae557610ae083610dc9565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b3f575060408051601f3d908101601f19168201909252610b3c91810190611427565b60015b610ba25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161041b565b5f5160206114c95f395f51905f528114610c105760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161041b565b50610ae0838383610e64565b5f610c278484610e8e565b905081158015610c3e57506001600160a01b038116155b1561064d57604051632b0d65db60e01b815267ffffffffffffffff851660048201526024810184905260440161041b565b610c8360c954610100900460ff1660021490565b610ca05760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063b81610f39565b610d4660c954610100900460ff1660021490565b15610d645760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610cf6565b5f54610100900460ff166106665760405162461bcd60e51b815260040161041b906113dc565b6001600160a01b0381163b610e365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161041b565b5f5160206114c95f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b610e6d83610f8a565b5f82511180610e795750805b15610ae057610e888383610fc9565b50505050565b6097545f906001600160a01b031680610eba57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff85166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610f0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f31919061143e565b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610f9381610dc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061064d83836040518060600160405280602781526020016114e96027913960605f5f856001600160a01b031685604051611005919061147b565b5f60405180830381855af49150503d805f811461103d576040519150601f19603f3d011682016040523d82523d5f602084013e611042565b606091505b50915091506110538683838761105d565b9695505050505050565b606083156110cb5782515f036110c4576001600160a01b0385163b6110c45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610f31565b610f3183838151156110e05781518083602001fd5b8060405162461bcd60e51b815260040161041b9190611496565b6001600160a01b038116811461063b575f5ffd5b5f6020828403121561111e575f5ffd5b813561064d816110fa565b803567ffffffffffffffff81168114611140575f5ffd5b919050565b5f5f60408385031215611156575f5ffd5b61115f83611129565b946020939093013593505050565b80358015158114611140575f5ffd5b5f5f5f6060848603121561118e575f5ffd5b61119784611129565b9250602084013591506111ac6040850161116d565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156111da575f5ffd5b82356111e5816110fa565b9150602083013567ffffffffffffffff811115611200575f5ffd5b8301601f81018513611210575f5ffd5b803567ffffffffffffffff81111561122a5761122a6111b5565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611259576112596111b5565b604052818152828201602001871015611270575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f604083850312156112a0575f5ffd5b823591506112b06020840161116d565b90509250929050565b5f5f5f606084860312156112cb575f5ffd5b6112d484611129565b92506020840135915060408401356112eb816110fa565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f60208284031215611437575f5ffd5b5051919050565b5f6020828403121561144e575f5ffd5b815161064d816110fa565b5f5b8381101561147357818101518382015260200161145b565b50505f910152565b5f825161148c818460208701611459565b9190910192915050565b602081525f82518060208401526114b4816040850160208701611459565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220086d22e71c4d170ad7ce74f948ce47f2f39076babb18c7b950d99c756006877464736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000006": { + "contractName": "SharedAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0xc64d73fae391b0ac595df47d373c227e7f86156e3d98ea2db53384d097ed1368": "0x0000000000000000000000001670010000000000000000000000000000000001", + "0x874594376407a7a3ecea7d4704f3d74c6c46d5ebede74ed82e228810d8de14e8": "0x0000000000000000000000001670010000000000000000000000000000000002", + "0x2723bcf67bd1580da6815ff7d2e86d877ad3a715975e5ec695c979712859d633": "0x0000000000000000000000001670010000000000000000000000000000000003", + "0x0b9331c6e6848711b59bebda4cb38292225176ce8cfca5d6019d5b562dc3ed9e": "0x0000000000000000000000001670010000000000000000000000000000000004", + "0x30e0422248fc90822e500074357003173b9f5edac82e6cc3679f5f9b5ae0843a": "0x0000000000000000000000001670010000000000000000000000000000000005", + "0xfe44fe816c0baa33783639d99e595cb6de463e186ec113aaed043e42d2c4e279": "0x0000000000000000000000000167001000000000000000000000000000010096", + "0xd2d6c2a7f8afdb0440c97960518d1f1133dc92587d9c6884dbaff6290e06319c": "0x0000000000000000000000000167001000000000000000000000000000010097", + "0x6db8284aa664f2ba76ffc7a2219f82b728ba258e79df0e93d3eb45b5cb231a69": "0x0000000000000000000000000167001000000000000000000000000000010098", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000006" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000000001": { + "contractName": "BridgeImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x60806040526004361061021d575f3560e01c806382b5e8891161011e578063b8acae0e116100a8578063e07baba61161006d578063e07baba61461066b578063e30c3978146106a8578063eefbf17e146106c5578063f09a4016146106eb578063f2fde38b1461070a575f5ffd5b8063b8acae0e146105af578063be880c81146105ce578063c012fa77146105e4578063d0496d6a14610603578063d1aaa5df1461064b575f5ffd5b80638e3881a9116100ee5780638e3881a9146104fe578063913b16cb1461053c5780639efc7a2e1461055b578063a730cdfb1461057a578063a86f9d9e14610590575f5ffd5b806382b5e8891461049a5780638456cb59146104b95780638abf6077146104cd5780638da5cb5b146104e1575f5ffd5b80633f4ba83a116101aa5780635c975abb1161016f5780635c975abb146103ff57806360620c6b1461041f578063715018a61461043e57806379ba5097146104525780637cbadfaa14610466575f5ffd5b80633f4ba83a14610381578063422770fa146103955780634f1ef286146103b957806352d1902d146103cc5780635862f6e1146103e0575f5ffd5b80633075db56116101f05780633075db56146102ad5780633659cfe6146102d15780633ab76e9f146102f05780633c6cf473146103275780633eb6b8cf14610362575f5ffd5b80630432873c14610221578063069489a2146102425780631bdb0037146102565780632035065e14610280575b5f5ffd5b34801561022c575f5ffd5b5061024061023b366004612f55565b610729565b005b34801561024d575f5ffd5b50610240610a27565b610269610264366004612fa3565b610ade565b60405161027792919061312f565b60405180910390f35b34801561028b575f5ffd5b5061029f61029a366004613147565b610e94565b604051610277929190613204565b3480156102b8575f5ffd5b506102c1611354565b6040519015158152602001610277565b3480156102dc575f5ffd5b506102406102eb366004613253565b61136c565b3480156102fb575f5ffd5b5060975461030f906001600160a01b031681565b6040516001600160a01b039091168152602001610277565b348015610332575f5ffd5b5061035561034136600461326e565b60fc6020525f908152604090205460ff1681565b6040516102779190613285565b34801561036d575f5ffd5b5061030f61037c3660046132a9565b611433565b34801561038c575f5ffd5b50610240611449565b3480156103a0575f5ffd5b506103ab62030d4081565b604051908152602001610277565b6102406103c73660046133ac565b61145d565b3480156103d7575f5ffd5b506103ab611516565b3480156103eb575f5ffd5b506102c16103fa366004613147565b6115c8565b34801561040a575f5ffd5b506102c160c954610100900460ff1660021490565b34801561042a575f5ffd5b506102c1610439366004612fa3565b611633565b348015610449575f5ffd5b50610240611701565b34801561045d575f5ffd5b50610240611712565b348015610471575f5ffd5b5061048561048036600461326e565b611789565b60405163ffffffff9091168152602001610277565b3480156104a5575f5ffd5b506102406104b4366004613253565b6117a7565b3480156104c4575f5ffd5b50610240611827565b3480156104d8575f5ffd5b5061030f61183a565b3480156104ec575f5ffd5b506033546001600160a01b031661030f565b348015610509575f5ffd5b5061051d6105183660046133f8565b611848565b6040805192151583526001600160a01b03909116602083015201610277565b348015610547575f5ffd5b50610240610556366004612fa3565b611874565b348015610566575f5ffd5b50610240610575366004613147565b611a63565b348015610585575f5ffd5b506104856201d4c081565b34801561059b575f5ffd5b5061030f6105aa366004613411565b611d67565b3480156105ba575f5ffd5b506102c16105c9366004613147565b611d73565b3480156105d9575f5ffd5b50610485620c350081565b3480156105ef575f5ffd5b506103ab6105fe366004613534565b611dd4565b34801561060e575f5ffd5b50610617611e03565b60408051825181526020808401516001600160a01b031690820152918101516001600160401b031690820152606001610277565b348015610656575f5ffd5b506103ab61066536600461326e565b60031890565b348015610676575f5ffd5b5060c954610690906201000090046001600160401b031681565b6040516001600160401b039091168152602001610277565b3480156106b3575f5ffd5b506065546001600160a01b031661030f565b3480156106d0575f5ffd5b5060fb5461069090600160401b90046001600160401b031681565b3480156106f6575f5ffd5b50610240610705366004613565565b611eaa565b348015610715575f5ffd5b50610240610724366004613253565b611f71565b61073960e0830160c084016133f8565b46816001600160401b03161461076257604051631c6c777560e31b815260040160405180910390fd5b61077260a08401608085016133f8565b6001600160401b0381161580610790575046816001600160401b0316145b156107ae57604051631c6c777560e31b815260040160405180910390fd5b6107c260c954610100900460ff1660021490565b156107e05760405163bae6e2a960e01b815260040160405180910390fd5b60026107ee60c95460ff1690565b60ff160361080f5760405163dfc60d8560e01b815260040160405180910390fd5b6108196002611fe2565b5f6108266105fe86613591565b9050610833816001611ff8565b61084185610120013561204a565b61085e576040516335856fbd60e21b815260040160405180910390fd5b5f6108838661087e6d7369676e616c5f7365727669636560901b5f611d67565b6120eb565b156108ce576108c78661012001356188b860405180602001604052805f8152508960e00160208101906108b69190613253565b6001600160a01b03169291906121e2565b9050610948565b6108de606087016040880161359c565b63ffffffff1615806108ed5750845b801561091b5750610905610100870160e08801613253565b6001600160a01b0316336001600160a01b031614155b15610939576040516372b6e1c360e11b815260040160405180910390fd5b61094586835a5f61221f565b90505b801561095e57610959826002612343565b610a15565b84156109fc5761096f826003612343565b61098a6d7369676e616c5f7365727669636560901b5f611d67565b60405163019b28af60e61b81526003841860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af11580156109d2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f691906135b5565b50610a15565b60405163161e3ead60e01b815260040160405180910390fd5b5050610a216001611fe2565b50505050565b610a2f612400565b5f54600290610100900460ff16158015610a4f57505f5460ff8083169116105b610a745760405162461bcd60e51b8152600401610a6b906135cc565b60405180910390fd5b5f805460fb805467ffffffffffffffff1916905560ff82815561010083815561ff001991851661ffff19909316831717169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152610b4460c0840160a08501613253565b6001600160a01b038116610b6b5760405163538ba4f960e01b815260040160405180910390fd5b610b7c610100850160e08601613253565b6001600160a01b038116610ba35760405163538ba4f960e01b815260040160405180910390fd5b610bb360e0860160c087016133f8565b6001600160401b0381161580610bd1575046816001600160401b0316145b15610bef57604051631c6c777560e31b815260040160405180910390fd5b610c0360c954610100900460ff1660021490565b15610c215760405163bae6e2a960e01b815260040160405180910390fd5b6002610c2f60c95460ff1690565b60ff1603610c505760405163dfc60d8560e01b815260040160405180910390fd5b610c5a6002611fe2565b610c6a606087016040880161359c565b63ffffffff165f03610cb257610c8660408701602088016133f8565b6001600160401b031615610cad5760405163c9f5178760e01b815260040160405180910390fd5b610cda565b610cbb8661245a565b5f03610cda576040516308c2ad5360e01b815260040160405180910390fd5b5f610cee61051860e0890160c08a016133f8565b50905080610d0f57604051631c6c777560e31b815260040160405180910390fd5b34610d206040890160208a016133f8565b610d38906001600160401b03166101208a013561362e565b14610d5657604051634ac2abdf60e11b815260040160405180910390fd5b610d5f87613591565b60fb8054919650600160401b9091046001600160401b0316906008610d8383613641565b82546101009290920a6001600160401b03818102199093169183160217909155908116865233606087015246166080860152610dbe85611dd4565b9550857fe33fd33b4f45b95b1c196242240c5b5233129d724b578f95b66ce8d8aae9351786604051610df0919061366b565b60405180910390a2610e136d7369676e616c5f7365727669636560901b5f611d67565b6001600160a01b03166366ca2bc0876040518263ffffffff1660e01b8152600401610e4091815260200190565b6020604051808303815f875af1158015610e5c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8091906135b5565b5050610e8c6001611fe2565b505050915091565b5f5f610eaa60c954610100900460ff1660021490565b15610ec85760405163bae6e2a960e01b815260040160405180910390fd5b6002610ed660c95460ff1690565b60ff1603610ef75760405163dfc60d8560e01b815260040160405180910390fd5b610f016002611fe2565b5f5a905046610f1660e0880160c089016133f8565b6001600160401b031614610f3d57604051631c6c777560e31b815260040160405180910390fd5b610f4d60a08701608088016133f8565b6001600160401b03161580610f79575046610f6e60a08801608089016133f8565b6001600160401b0316145b15610f9757604051631c6c777560e31b815260040160405180910390fd5b604080516080810182525f808252602082018190529181018290526060810191909152610fcb610100880160e08901613253565b6001600160a01b031633148015606083015261103a57610ff1606088016040890161359c565b63ffffffff165f03611016576040516372b6e1c360e11b815260040160405180910390fd5b62030d4085111561103a57604051631e3b03c960e01b815260040160405180910390fd5b5f6110476105fe89613591565b9050611053815f611ff8565b5f61106f6d7369676e616c5f7365727669636560901b5f611d67565b63ffffffff881660208501529050611099818361109260a08d0160808e016133f8565b8b8b6124ad565b63ffffffff166040808501919091526110d8906110bb908b0160208c016133f8565b6110d3906001600160401b03166101208c013561362e565b61204a565b6110f5576040516335856fbd60e21b815260040160405180910390fd5b5f6111008a836120eb565b1561111957506002955060019450610120890135611160565b5f8460600151611129575a611132565b6111328b61245a565b90506111448b8583886060015161221f565b1561115557600297505f965061115e565b60019750600296505b505b61117060408b0160208c016133f8565b6001600160401b0316156112d15761118e60408b0160208c016133f8565b6111a1906001600160401b03168261362e565b9050836060015180156111c857506111bf60608b0160408c0161359c565b63ffffffff1615155b156112d157604084015163ffffffff16614e20025a6112056111ee6101408e018e61367d565b6020601f909101819004026101a00160041b919050565b63ffffffff9081168801919091036201d4c00181168087525f91839161122e9183919061255816565b0390505f61124260608e0160408f0161359c565b63ffffffff168d602001602081019061125b91906133f8565b6001600160401b0316830281611273576112736136c6565b0490505f48830290505f6112b78f602001602081019061129391906133f8565b6001600160401b0316848410156112af5784840160011c6112b1565b845b9061256d565b958690039590506112cb33826188b8612581565b50505050505b6112f9816188b86112e96101008e0160e08f01613253565b6001600160a01b03169190612581565b6113038388612343565b827f8580f507761043ecdd2bdca084d6fb0109150b3d9842d854d34e3dea6d69387d8b8660405161133592919061385e565b60405180910390a2505050505061134c6001611fe2565b935093915050565b5f600261136360c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000011630036113b45760405162461bcd60e51b8152600401610a6b906138b2565b7f00000000000000000000000001670010000000000000000000000000000000016001600160a01b03166113e66125c4565b6001600160a01b03161461140c5760405162461bcd60e51b8152600401610a6b906138fe565b611415816125df565b604080515f80825260208201909252611430918391906125e7565b50565b5f61143f848484612751565b90505b9392505050565b6114516127a3565b61145b335f612833565b565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000011630036114a55760405162461bcd60e51b8152600401610a6b906138b2565b7f00000000000000000000000001670010000000000000000000000000000000016001600160a01b03166114d76125c4565b6001600160a01b0316146114fd5760405162461bcd60e51b8152600401610a6b906138fe565b611506826125df565b611512828260016125e7565b5050565b5f306001600160a01b037f000000000000000000000000016700100000000000000000000000000000000116146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610a6b565b505f516020613b185f395f51905f525b90565b5f466115da60a08601608087016133f8565b6001600160401b0316146115ef57505f611442565b61143f61160d6d7369676e616c5f7365727669636560901b5f611d67565b61161c6106656105fe88613591565b61162c60e0880160c089016133f8565b86866128e0565b5f4661164560a08401608085016133f8565b6001600160401b03161461165a57505f919050565b6116756d7369676e616c5f7365727669636560901b5f611d67565b6001600160a01b03166332676bc6306116906105fe86613591565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa1580156116d7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fb919061394a565b92915050565b611709612400565b61145b5f612962565b60655433906001600160a01b031681146117805760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610a6b565b61143081612962565b5f6116fb620c35006101a06020601f8601819004020160041b613965565b806001600160a01b0381166117cf5760405163538ba4f960e01b815260040160405180910390fd5b6040516317066a5760e21b81523060048201526001600160a01b03831690635c19a95c906024015f604051808303815f87803b15801561180d575f5ffd5b505af115801561181f573d5f5f3e3d5ffd5b505050505050565b61182f61297b565b61145b336001612833565b5f6118436125c4565b905090565b5f5f61185f836562726964676560d01b6001611433565b6001600160a01b038116151594909350915050565b61188460e0820160c083016133f8565b46816001600160401b0316146118ad57604051631c6c777560e31b815260040160405180910390fd5b6118bd60a08301608084016133f8565b6001600160401b03811615806118db575046816001600160401b0316145b156118f957604051631c6c777560e31b815260040160405180910390fd5b61190d60c954610100900460ff1660021490565b1561192b5760405163bae6e2a960e01b815260040160405180910390fd5b600261193960c95460ff1690565b60ff160361195a5760405163dfc60d8560e01b815260040160405180910390fd5b6119646002611fe2565b611975610100840160e08501613253565b6001600160a01b0316336001600160a01b0316146119a6576040516372b6e1c360e11b815260040160405180910390fd5b5f6119b36105fe85613591565b90506119c0816001611ff8565b6119cb816003612343565b6119e66d7369676e616c5f7365727669636560901b5f611d67565b60405163019b28af60e61b81526003831860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af1158015611a2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a5291906135b5565b5050611a5e6001611fe2565b505050565b611a7360a08401608085016133f8565b46816001600160401b031614611a9c57604051631c6c777560e31b815260040160405180910390fd5b611aac60e0850160c086016133f8565b6001600160401b0381161580611aca575046816001600160401b0316145b15611ae857604051631c6c777560e31b815260040160405180910390fd5b611afc60c954610100900460ff1660021490565b15611b1a5760405163bae6e2a960e01b815260040160405180910390fd5b6002611b2860c95460ff1690565b60ff1603611b495760405163dfc60d8560e01b815260040160405180910390fd5b611b536002611fe2565b5f611b606105fe87613591565b9050611b6c815f611ff8565b5f611b886d7369676e616c5f7365727669636560901b5f611d67565b604051631933b5e360e11b8152306004820152602481018490529091506001600160a01b038216906332676bc690604401602060405180830381865afa158015611bd4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bf8919061394a565b611c155760405163ab035ad560e01b815260040160405180910390fd5b611c348160038418611c2d60e08b0160c08c016133f8565b89896124ad565b50611c40826004612343565b611c4e87610120013561204a565b611c6b576040516335856fbd60e21b815260040160405180910390fd5b611c9462bc399d60e11b611c8560808a0160608b01613253565b6001600160a01b0316906129ec565b15611d3857611cb38230611cae60a08b0160808c016133f8565b612a79565b611cc36080880160608901613253565b6001600160a01b0316630178733a88610120013589856040518463ffffffff1660e01b8152600401611cf6929190613981565b5f604051808303818588803b158015611d0d575f5ffd5b505af1158015611d1f573d5f5f3e3d5ffd5b5050505050611d335f195f1b5f1980612a79565b611d54565b611d546101208801356188b86112e960c08b0160a08c01613253565b5050611d606001611fe2565b5050505050565b5f611442468484612751565b5f46611d8560e0860160c087016133f8565b6001600160401b031614611d9a57505f611442565b61143f611db86d7369676e616c5f7365727669636560901b5f611d67565b611dc46105fe87613591565b61162c60a08801608089016133f8565b5f81604051602001611de691906139a2565b604051602081830303815290604052805190602001209050919050565b604080516060810182525f8082526020820181905291810191909152611e7a604080516060810182525f8082526020820181905291810191909152506040805160608101825260fd54815260fe546001600160a01b0381166020830152600160a01b90046001600160401b03169181019190915290565b80519091501580611e8c575080515f19145b156115c557604051635ceed17360e01b815260040160405180910390fd5b5f54610100900460ff1615808015611ec857505f54600160ff909116105b80611ee15750303b158015611ee157505f5460ff166001145b611efd5760405162461bcd60e51b8152600401610a6b906135cc565b5f805460ff191660011790558015611f1e575f805461ff0019166101001790555b611f288383612ace565b8015611a5e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611f79612400565b606580546001600160a01b0383166001600160a01b03199091168117909155611faa6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b80600481111561200a5761200a6131dc565b5f83815260fc602052604090205460ff16600481111561202c5761202c6131dc565b14611512576040516319d893ad60e21b815260040160405180910390fd5b5f5f6120676c38bab7ba30afb6b0b730b3b2b960991b6001611d67565b90506001600160a01b0381166120805750600192915050565b6040516315c638fb60e31b81525f6004820152602481018490526001600160a01b0382169063ae31c7d8906044015f604051808303815f87803b1580156120c5575f5ffd5b505af19250505080156120d6575060015b6120e257505f92915050565b50600192915050565b5f806120ff61012085016101008601613253565b6001600160a01b031603612115575060016116fb565b3061212861012085016101008601613253565b6001600160a01b03160361213e575060016116fb565b6001600160a01b03821661215a61012085016101008601613253565b6001600160a01b031603612170575060016116fb565b600461218061014085018561367d565b9050101580156121b75750637f07c94760e01b6121a161014085018561367d565b6121aa916139d8565b6001600160e01b03191614155b801561144257506114426121d361012085016101008601613253565b6001600160a01b03163b151590565b5f6001600160a01b03851661220a57604051634c67134d60e11b815260040160405180910390fd5b5f5f835160208501878988f195945050505050565b5f306122316080870160608801613253565b6001600160a01b03160361224757612247613a10565b610120850135158015612267575061226361014086018661367d565b1590505b156122745750600161233b565b825f0361228257505f61233b565b6122a6846122966080880160608901613253565b611cae60a0890160808a016133f8565b5f6122b961012087016101008801613253565b90506101208601355f6122d061014089018961367d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935083925090506020850186888cf194505a9050851561232a5761232a8188612b08565b6123365f198080612a79565b505050505b949350505050565b806004811115612355576123556131dc565b5f83815260fc602052604090205460ff166004811115612377576123776131dc565b03612395576040516319d893ad60e21b815260040160405180910390fd5b5f82815260fc60205260409020805482919060ff191660018360048111156123bf576123bf6131dc565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634826040516123f49190613285565b60405180910390a25050565b6033546001600160a01b0316331461145b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a6b565b5f8061247461246d61014085018561367d565b9050611789565b63ffffffff169050806124a5612490606086016040870161359c565b63ffffffff168361255890919063ffffffff16565b039392505050565b5f856001600160a01b031663910af6ed856124d2876562726964676560d01b5f611433565b8887876040518663ffffffff1660e01b81526004016124f5959493929190613a24565b6020604051808303815f875af192505050801561252f575060408051601f3d908101601f1916820190925261252c918101906135b5565b60015b61254c576040516314504c7360e31b815260040160405180910390fd5b90505b95945050505050565b5f8183116125665781611442565b5090919050565b5f81831161257b5782611442565b50919050565b815f0361258d57505050565b6125a783838360405180602001604052805f8152506121e2565b611a5e57604051634c67134d60e11b815260040160405180910390fd5b5f516020613b185f395f51905f52546001600160a01b031690565b611430612400565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561261a57611a5e83612b1c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612674575060408051601f3d908101601f19168201909252612671918101906135b5565b60015b6126d75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610a6b565b5f516020613b185f395f51905f5281146127455760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610a6b565b50611a5e838383612bb7565b5f61275c8484612bdb565b90508115801561277357506001600160a01b038116155b1561144257604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610a6b565b6127b760c954610100900460ff1660021490565b6127d45760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6033546001600160a01b038381169116148061287b57506128666d636861696e5f7761746368646f6760901b6001611d67565b6001600160a01b0316826001600160a01b0316145b15612884575050565b8080156128be57506128a96e6272696467655f7761746368646f6760881b6001611d67565b6001600160a01b0316826001600160a01b0316145b156128c7575050565b604051630d85cccf60e11b815260040160405180910390fd5b5f856001600160a01b031663ce9d082085612905876562726964676560d01b5f611433565b8887876040518663ffffffff1660e01b8152600401612928959493929190613a24565b5f6040518083038186803b15801561293e575f5ffd5b505afa92505050801561294f575060015b61295a57505f61254f565b50600161254f565b606580546001600160a01b031916905561143081612c7d565b61298f60c954610100900460ff1660021490565b156129ad5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001612829565b5f6001600160a01b0383163b612a0357505f6116fb565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015612a6d575060408051601f3d908101601f19168201909252612a6a9181019061394a565b60015b156116fb579392505050565b604080516060810182528481526001600160a01b03909316602084018190526001600160401b03909216920182905260fd9290925560fe8054600160a01b9092026001600160e01b0319909216909217179055565b806001600160a01b038116612af65760405163538ba4f960e01b815260040160405180910390fd5b612aff83612cce565b611a5e82612d2c565b612b13603f82613a65565b82101561151257fe5b6001600160a01b0381163b612b895760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610a6b565b5f516020613b185f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b612bc083612d9c565b5f82511180612bcc5750805b15611a5e57610a218383612ddb565b6097545f906001600160a01b031680612c0757604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015612c59573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061233b9190613a84565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16612cf45760405162461bcd60e51b8152600401610a6b90613a9f565b612cfc612e00565b612d1a6001600160a01b03821615612d145781612962565b33612962565b5060c9805461ff001916610100179055565b5f54610100900460ff16612d525760405162461bcd60e51b8152600401610a6b90613a9f565b6001600160401b03461115612d7a5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b612da581612b1c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606114428383604051806060016040528060278152602001613b3860279139612e26565b5f54610100900460ff1661145b5760405162461bcd60e51b8152600401610a6b90613a9f565b60605f5f856001600160a01b031685604051612e429190613aea565b5f60405180830381855af49150503d805f8114612e7a576040519150601f19603f3d011682016040523d82523d5f602084013e612e7f565b606091505b5091509150612e9086838387612e9a565b9695505050505050565b60608315612f085782515f03612f01576001600160a01b0385163b612f015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a6b565b508161233b565b61233b8383815115612f1d5781518083602001fd5b8060405162461bcd60e51b8152600401610a6b9190613b05565b5f610160828403121561257b575f5ffd5b8015158114611430575f5ffd5b5f5f60408385031215612f66575f5ffd5b82356001600160401b03811115612f7b575f5ffd5b612f8785828601612f37565b9250506020830135612f9881612f48565b809150509250929050565b5f60208284031215612fb3575f5ffd5b81356001600160401b03811115612fc8575f5ffd5b61233b84828501612f37565b5f5b83811015612fee578181015183820152602001612fd6565b50505f910152565b5f815180845261300d816020860160208601612fd4565b601f01601f19169290920160200192915050565b80516001600160401b031682525f602082015161304960208501826001600160401b03169052565b506040820151613061604085018263ffffffff169052565b50606082015161307c60608501826001600160a01b03169052565b50608082015161309760808501826001600160401b03169052565b5060a08201516130b260a08501826001600160a01b03169052565b5060c08201516130cd60c08501826001600160401b03169052565b5060e08201516130e860e08501826001600160a01b03169052565b506101008201516131056101008501826001600160a01b03169052565b5061012082015161012084015261014082015161016061014085015261233b610160850182612ff6565b828152604060208201525f61143f6040830184613021565b5f5f5f60408486031215613159575f5ffd5b83356001600160401b0381111561316e575f5ffd5b61317a86828701612f37565b93505060208401356001600160401b03811115613195575f5ffd5b8401601f810186136131a5575f5ffd5b80356001600160401b038111156131ba575f5ffd5b8660208284010111156131cb575f5ffd5b939660209190910195509293505050565b634e487b7160e01b5f52602160045260245ffd5b60058110613200576132006131dc565b9052565b6040810161321282856131f0565b60048310613222576132226131dc565b8260208301529392505050565b6001600160a01b0381168114611430575f5ffd5b803561324e8161322f565b919050565b5f60208284031215613263575f5ffd5b81356114428161322f565b5f6020828403121561327e575f5ffd5b5035919050565b602081016116fb82846131f0565b80356001600160401b038116811461324e575f5ffd5b5f5f5f606084860312156132bb575f5ffd5b6132c484613293565b92506020840135915060408401356132db81612f48565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161016081016001600160401b038111828210171561331d5761331d6132e6565b60405290565b5f82601f830112613332575f5ffd5b81356001600160401b0381111561334b5761334b6132e6565b604051601f8201601f19908116603f011681016001600160401b0381118282101715613379576133796132e6565b604052818152838201602001851015613390575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156133bd575f5ffd5b82356133c88161322f565b915060208301356001600160401b038111156133e2575f5ffd5b6133ee85828601613323565b9150509250929050565b5f60208284031215613408575f5ffd5b61144282613293565b5f5f60408385031215613422575f5ffd5b823591506020830135612f9881612f48565b803563ffffffff8116811461324e575f5ffd5b5f6101608284031215613458575f5ffd5b6134606132fa565b905061346b82613293565b815261347960208301613293565b602082015261348a60408301613434565b604082015261349b60608301613243565b60608201526134ac60808301613293565b60808201526134bd60a08301613243565b60a08201526134ce60c08301613293565b60c08201526134df60e08301613243565b60e08201526134f16101008301613243565b61010082015261012082810135908201526101408201356001600160401b0381111561351b575f5ffd5b61352784828501613323565b6101408301525092915050565b5f60208284031215613544575f5ffd5b81356001600160401b03811115613559575f5ffd5b61233b84828501613447565b5f5f60408385031215613576575f5ffd5b82356135818161322f565b91506020830135612f988161322f565b5f6116fb3683613447565b5f602082840312156135ac575f5ffd5b61144282613434565b5f602082840312156135c5575f5ffd5b5051919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156116fb576116fb61361a565b5f6001600160401b0382166001600160401b0381036136625761366261361a565b60010192915050565b602081525f6114426020830184613021565b5f5f8335601e19843603018112613692575f5ffd5b8301803591506001600160401b038211156136ab575f5ffd5b6020019150368190038213156136bf575f5ffd5b9250929050565b634e487b7160e01b5f52601260045260245ffd5b5f5f8335601e198436030181126136ef575f5ffd5b83016020810192503590506001600160401b0381111561370d575f5ffd5b8036038213156136bf575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b61375d8261375083613293565b6001600160401b03169052565b5f61376a60208301613293565b6001600160401b0316602084015261378460408301613434565b63ffffffff16604084015261379b60608301613243565b6001600160a01b031660608401526137b560808301613293565b6001600160401b031660808401526137cf60a08301613243565b6001600160a01b031660a08401526137e960c08301613293565b6001600160401b031660c084015261380360e08301613243565b6001600160a01b031660e084015261381e6101008301613243565b6001600160a01b031661010084015261012082810135908401526138466101408301836136da565b61016061014086015261254f6101608601828461371b565b60a081525f61387060a0830185613743565b905063ffffffff835116602083015263ffffffff602084015116604083015263ffffffff60408401511660608301526060830151151560808301529392505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f6020828403121561395a575f5ffd5b815161144281612f48565b63ffffffff81811683821601908111156116fb576116fb61361a565b604081525f6139936040830185613743565b90508260208301529392505050565b60408152600d60408201526c5441494b4f5f4d45535341474560981b6060820152608060208201525f6114426080830184613021565b80356001600160e01b03198116906004841015613a09576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52600160045260245ffd5b6001600160401b038616815260018060a01b0385166020820152836040820152608060608201525f613a5a60808301848661371b565b979650505050505050565b5f82613a7f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215613a94575f5ffd5b81516114428161322f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251613afb818460208701612fd4565b9190910192915050565b602081525f6114426020830184612ff656fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ddd9a7dcdda18c4813de6d05e33a55bbe6928ed6aacff31c48f286768954e7f764736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000001": { + "contractName": "Bridge", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x033b258556117b43a1e00000" + }, + "0x0167001000000000000000000000000000000002": { + "contractName": "ERC20VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x6080604052600436106101ba575f3560e01c806367090ccf116100f25780639aa8605c11610092578063e07baba611610062578063e07baba6146104e3578063e30c397814610520578063f09a40161461053d578063f2fde38b1461055c575f5ffd5b80639aa8605c1461045e578063a86f9d9e1461048e578063b84d9ffe146104ad578063d56ad7ac146104cd575f5ffd5b80637f07c947116100cd5780637f07c947146104065780638456cb59146104195780638abf60771461042d5780638da5cb5b14610441575f5ffd5b806367090ccf1461039e578063715018a6146103de57806379ba5097146103f2575f5ffd5b80633659cfe61161015d5780633f4ba83a116101385780633f4ba83a146103435780634f1ef2861461035757806352d1902d1461036a5780635c975abb1461037e575f5ffd5b80633659cfe6146102e65780633ab76e9f146103055780633eb6b8cf14610324575f5ffd5b806306fdde031161019857806306fdde031461024c5780630e7eeb791461026c5780630ecd8be91461029b5780633075db56146102d2575f5ffd5b80630178733a146101be57806301ffc9a7146101d3578063066fe7b414610207575b5f5ffd5b6101d16101cc36600461330a565b61057b565b005b3480156101de575f5ffd5b506101f26101ed366004613350565b610709565b60405190151581526020015b60405180910390f35b348015610212575f5ffd5b5061023e61022136600461338b565b61013060209081525f928352604080842090915290825290205481565b6040519081526020016101fe565b348015610257575f5ffd5b506a195c98cc8c17dd985d5b1d60aa1b61023e565b348015610277575f5ffd5b506101f26102863660046133b9565b61012f6020525f908152604090205460ff1681565b3480156102a6575f5ffd5b506102ba6102b53660046133d4565b610759565b6040516001600160a01b0390911681526020016101fe565b3480156102dd575f5ffd5b506101f2610e67565b3480156102f1575f5ffd5b506101d16103003660046133b9565b610e7f565b348015610310575f5ffd5b506097546102ba906001600160a01b031681565b34801561032f575f5ffd5b506102ba61033e36600461343c565b610f4f565b34801561034e575f5ffd5b506101d1610f65565b6101d1610365366004613584565b610f79565b348015610375575f5ffd5b5061023e61102e565b348015610389575f5ffd5b506101f260c954610100900460ff1660021490565b3480156103a9575f5ffd5b506102ba6103b836600461338b565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b3480156103e9575f5ffd5b506101d16110df565b3480156103fd575f5ffd5b506101d16110f0565b6101d16104143660046135d0565b611167565b348015610424575f5ffd5b506101d16112b7565b348015610438575f5ffd5b506102ba6112ca565b34801561044c575f5ffd5b506033546001600160a01b03166102ba565b348015610469575f5ffd5b5061047d6104783660046133b9565b6112d8565b6040516101fe959493929190613689565b348015610499575f5ffd5b506102ba6104a83660046136e2565b61142d565b6104c06104bb366004613705565b611439565b6040516101fe919061371e565b3480156104d8575f5ffd5b5061023e6276a70081565b3480156104ee575f5ffd5b5060c954610508906201000090046001600160401b031681565b6040516001600160401b0390911681526020016101fe565b34801561052b575f5ffd5b506065546001600160a01b03166102ba565b348015610548575f5ffd5b506101d161055736600461380e565b61187c565b348015610567575f5ffd5b506101d16105763660046133b9565b61198b565b61058f60c954610100900460ff1660021490565b156105ad5760405163bae6e2a960e01b815260040160405180910390fd5b60026105bb60c95460ff1690565b60ff16036105dc5760405163dfc60d8560e01b815260040160405180910390fd5b6105e660026119fc565b6105ee611a12565b505f6105fe61014084018461382a565b61060c916004908290613873565b810190610619919061389a565b90505f5f828060200190518101906106319190613946565b9350505091505f610655838760a001602081019061064f91906133b9565b84611b08565b905061067f61012087013561067060c0890160a08a016133b9565b6001600160a01b031690611bb0565b61068f60c0870160a088016133b9565b6001600160a01b0316857f3dea0f5955b148debf6212261e03bd80eaf8534bee43780452d16637dcc22dd5856020015184866040516106ef939291906001600160a01b039384168152919092166020820152604081019190915260600190565b60405180910390a35050505061070560016119fc565b5050565b5f6001600160e01b0319821662bc399d60e11b148061073857506001600160e01b03198216637f07c94760e01b145b8061075357506001600160e01b031982166301ffc9a760e01b145b92915050565b5f610762611bbb565b600261077060c95460ff1690565b60ff16036107915760405163dfc60d8560e01b815260040160405180910390fd5b61079b60026119fc565b6001600160a01b03821615806107d157506001600160a01b038281165f90815261012d6020526040902054600160401b90041615155b806107e457506001600160a01b0382163b155b156108025760405163dc63f98760e01b815260040160405180910390fd5b5f61081360408501602086016133b9565b6001600160a01b0316148061083c5750466108316020850185613a3a565b6001600160401b0316145b1561085a57604051638257f7f560e01b815260040160405180910390fd5b6001600160a01b0382165f90815261012f602052604090205460ff1615610894576040516375c42fc160e01b815260040160405180910390fd5b5f610130816108a66020870187613a3a565b6001600160401b031681526020019081526020015f205f8560200160208101906108d091906133b9565b6001600160a01b0316815260208101919091526040015f205490506108f86276a70082613a69565b4210156109185760405163231d35fb60e11b815260040160405180910390fd5b61012e5f6109296020870187613a3a565b6001600160401b031681526020019081526020015f205f85602001602081019061095391906133b9565b6001600160a01b03908116825260208201929092526040015f20541691508115610cb9576001600160a01b038281165f90815261012d60209081526040808320815160a08101835281546001600160401b0381168252600160401b810490961693810193909352600160e01b90940460ff1690820152600183018054929391926060840191906109e290613a7c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0e90613a7c565b8015610a595780601f10610a3057610100808354040283529160200191610a59565b820191905f5260205f20905b815481529060010190602001808311610a3c57829003601f168201915b50505050508152602001600282018054610a7290613a7c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9e90613a7c565b8015610ae95780601f10610ac057610100808354040283529160200191610ae9565b820191905f5260205f20905b815481529060010190602001808311610acc57829003601f168201915b505050505081525050905080604051602001610b059190613b13565b6040516020818303038152906040528051906020012085604051602001610b2c9190613b99565b6040516020818303038152906040528051906020012014610b6057604051632f9d1d7b60e11b815260040160405180910390fd5b6001600160a01b0383165f90815261012d6020526040812080546001600160e81b031916815590610b9460018301826132b2565b610ba1600283015f6132b2565b50506001600160a01b0383165f81815261012f60205260409020805460ff19166001179055610bd79063b8f2e0c560e01b611c15565b8015610bf85750610bf86001600160a01b03851663b8f2e0c560e01b611c15565b15610cb75760405163b8f2e0c560e01b81526001600160a01b0385811660048301525f602483015284169063b8f2e0c5906044015f604051808303815f87803b158015610c43575f5ffd5b505af1158015610c55573d5f5f3e3d5ffd5b505060405163b8f2e0c560e01b81526001600160a01b038681166004830152600160248301528716925063b8f2e0c591506044015f604051808303815f87803b158015610ca0575f5ffd5b505af1158015610cb2573d5f5f3e3d5ffd5b505050505b505b6001600160a01b0383165f90815261012d602052604090208490610cdd8282613d3c565b5083905061012e5f610cf26020880188613a3a565b6001600160401b031681526020019081526020015f205f866020016020810190610d1c91906133b9565b6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550426101305f865f016020810190610d759190613a3a565b6001600160401b031681526020019081526020015f205f866020016020810190610d9f91906133b9565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550836020016020810190610dd591906133b9565b6001600160a01b0316610deb6020860186613a3a565b6001600160401b03167f031d68e1805917560c34a5f55a7dd91bef98f911190ed02cdbb53caedae6c39d8486610e2460608a018a61382a565b610e3160808c018c61382a565b610e4160608e0160408f01613dfa565b604051610e549796959493929190613e15565b60405180910390a35061075360016119fc565b5f6002610e7660c95460ff1690565b60ff1614905090565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000002163003610ed05760405162461bcd60e51b8152600401610ec790613e6c565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000000026001600160a01b0316610f02611ca2565b6001600160a01b031614610f285760405162461bcd60e51b8152600401610ec790613eb8565b610f3181611cbd565b604080515f80825260208201909252610f4c91839190611cc5565b50565b5f610f5b848484611e2f565b90505b9392505050565b610f6d611e81565b610f77335f611f11565b565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000002163003610fc15760405162461bcd60e51b8152600401610ec790613e6c565b7f00000000000000000000000001670010000000000000000000000000000000026001600160a01b0316610ff3611ca2565b6001600160a01b0316146110195760405162461bcd60e51b8152600401610ec790613eb8565b61102282611cbd565b61070582826001611cc5565b5f306001600160a01b037f000000000000000000000000016700100000000000000000000000000000000216146110cd5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ec7565b505f5160206149985f395f51905f5290565b6110e7611bbb565b610f775f611f19565b60655433906001600160a01b0316811461115e5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610ec7565b610f4c81611f19565b61117b60c954610100900460ff1660021490565b156111995760405163bae6e2a960e01b815260040160405180910390fd5b60026111a760c95460ff1690565b60ff16036111c85760405163dfc60d8560e01b815260040160405180910390fd5b6111d260026119fc565b5f8080806111e285870187613f0f565b93509350935093505f6111f3611f32565b90506111fe83612051565b5f61120a868585611b08565b905061121f6001600160a01b03851634611bb0565b836001600160a01b0316856001600160a01b0316835f01517f75a051823424fc80e92556c41cb0ad977ae1dcb09c68a9c38acab86b11a69f8985604001518a60200151868960405161129f94939291906001600160401b039490941684526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a450505050505061070560016119fc565b6112bf61208d565b610f77336001611f11565b5f6112d3611ca2565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b84046001600160a01b031693600160e01b900460ff1692909161132090613a7c565b80601f016020809104026020016040519081016040528092919081815260200182805461134c90613a7c565b80156113975780601f1061136e57610100808354040283529160200191611397565b820191905f5260205f20905b81548152906001019060200180831161137a57829003601f168201915b5050505050908060020180546113ac90613a7c565b80601f01602080910402602001604051908101604052809291908181526020018280546113d890613a7c565b80156114235780601f106113fa57610100808354040283529160200191611423565b820191905f5260205f20905b81548152906001019060200180831161140657829003601f168201915b5050505050905085565b5f610f5e468484611e2f565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201929092526101408101919091526114a760c954610100900460ff1660021490565b156114c55760405163bae6e2a960e01b815260040160405180910390fd5b60026114d360c95460ff1690565b60ff16036114f45760405163dfc60d8560e01b815260040160405180910390fd5b6114fe60026119fc565b8160c001355f0361152257604051634299323b60e11b815260040160405180910390fd5b5f61153360a08401608085016133b9565b6001600160a01b03160361155a576040516303f8a7d360e01b815260040160405180910390fd5b61012f5f61156e60a08501608086016133b9565b6001600160a01b0316815260208101919091526040015f205460ff16156115a8576040516375c42fc160e01b815260040160405180910390fd5b6115b86080830160608401613a3a565b6001600160401b03163410156115e157604051630178ce0b60e31b815260040160405180910390fd5b5f5f5f6115ed856120fe565b6040805161016081019091525f8082529396509194509250602081016116196080890160608a01613a3a565b6001600160401b0316815260200161163760c0890160a08a01614014565b63ffffffff1681525f6020808301829052604083019190915233606083015260809091019061166890890189613a3a565b6001600160401b031681526020015f6001600160a01b031688602001602081019061169391906133b9565b6001600160a01b0316036116a757336116b7565b6116b76040890160208a016133b9565b6001600160a01b031681526020908101906116ee906116d8908a018a613a3a565b6a195c98cc8c17dd985d5b1d60aa1b5b5f610f4f565b6001600160a01b0316815260200161170c6080890160608a01613a3a565b61171f906001600160401b03163461402f565b815260200185905290505f61173d6562726964676560d01b8261142d565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b8152600401611769919061371e565b5f6040518083038185885af1158015611784573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526117ac919081019061404d565b965090506117c060608801604089016133b9565b6001600160a01b03168660a001516001600160a01b0316827f256f5c87f6ab8d238ac244067613227eb6e2cd65299121135d4f778e8581e03d875f01518b5f01602081019061180f9190613a3a565b89602001518d608001602081019061182791906133b9565b604080516001600160401b0395861681529390941660208401526001600160a01b03918216838501521660608201526080810189905290519081900360a00190a4505050505061187760016119fc565b919050565b5f54610100900460ff161580801561189a57505f54600160ff909116105b806118b35750303b1580156118b357505f5460ff166001145b6119165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ec7565b5f805460ff191660011790558015611937575f805461ff0019166101001790555b6119418383612598565b8015611986575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b611993611bbb565b606580546001600160a01b0383166001600160a01b031990911681179091556119c46033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b611a4381600161142d565b6001600160a01b0316336001600160a01b031614611a7457604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611ab0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ad4919061416d565b60208101519092506001600160a01b03163314611b0457604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b031603611b3b57506020830151611b366001600160a01b03821684846125d2565b611ba6565b611b4484612635565b6040516340c10f1960e01b81526001600160a01b03858116600483015260248201859052919250908216906340c10f19906044015f604051808303815f87803b158015611b8f575f5ffd5b505af1158015611ba1573d5f5f3e3d5ffd5b505050505b610f5e8183612677565b61070582825a612706565b6033546001600160a01b03163314610f775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ec7565b5f6001600160a01b0383163b611c2c57505f610753565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611c96575060408051601f3d908101601f19168201909252611c93918101906141d5565b60015b15610753579392505050565b5f5160206149985f395f51905f52546001600160a01b031690565b610f4c611bbb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611cf85761198683612749565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d52575060408051601f3d908101601f19168201909252611d4f918101906141f0565b60015b611db55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610ec7565b5f5160206149985f395f51905f528114611e235760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610ec7565b506119868383836127e4565b5f611e3a848461280e565b905081158015611e5157506001600160a01b038116155b15610f5e57604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610ec7565b611e9560c954610100900460ff1660021490565b611eb25760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610705611bbb565b606580546001600160a01b0319169055610f4c816128b8565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b611f6381600161142d565b6001600160a01b0316336001600160a01b031614611f9457604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611fd0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff4919061416d565b91505f61201483604001516116e86a195c98cc8c17dd985d5b1d60aa1b90565b9050806001600160a01b031683602001516001600160a01b03161461204c57604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b038116158061206f57506001600160a01b03811630145b15610f4c57604051635b50f3f960e01b815260040160405180910390fd5b6120a160c954610100900460ff1660021490565b156120bf5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611f07565b6040805160a0810182525f8082526020820181905291810191909152606081810181905260808201819052905f8061012d8161214060a08801608089016133b9565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b90041615612376576040805160a08101825282546001600160401b0381168252600160401b81046001600160a01b03166020830152600160e01b900460ff1691810191909152600182018054839160608401916121c090613a7c565b80601f01602080910402602001604051908101604052809291908181526020018280546121ec90613a7c565b80156122375780601f1061220e57610100808354040283529160200191612237565b820191905f5260205f20905b81548152906001019060200180831161221a57829003601f168201915b5050505050815260200160028201805461225090613a7c565b80601f016020809104026020016040519081016040528092919081815260200182805461227c90613a7c565b80156122c75780601f1061229e576101008083540402835291602001916122c7565b820191905f5260205f20905b8154815290600101906020018083116122aa57829003601f168201915b505050505081525050925061230033308760c001358860800160208101906122ef91906133b9565b6001600160a01b0316929190612909565b61231060a08601608087016133b9565b604051630852cd8d60e31b815260c087013560048201526001600160a01b0391909116906342966c68906024015f604051808303815f87803b158015612354575f5ffd5b505af1158015612366573d5f5f3e3d5ffd5b505050508460c001359150612518565b6040518060a00160405280466001600160401b031681526020018660800160208101906123a391906133b9565b6001600160a01b031681526020016123c96123c460a0890160808a016133b9565b612941565b60ff1681526020016123e96123e460a0890160808a016133b9565b6129f5565b815260200161240661240160a0890160808a016133b9565b612a9f565b905292505f61241b60a08701608088016133b9565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015612462573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248691906141f0565b90506124a16001600160a01b038316333060c08b0135612909565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156124e5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061250991906141f0565b612513919061402f565b935050505b30637f07c947843361253060608a0160408b016133b9565b866040516020016125449493929190614207565b60408051601f19818403018152908290526125619160240161423c565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509350509193909250565b806001600160a01b0381166125c05760405163538ba4f960e01b815260040160405180910390fd5b6125c983612ae5565b61198682612b43565b6040516001600160a01b03831660248201526044810182905261198690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612bb3565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806118775761075382612c86565b5f6126936c38bab7ba30afb6b0b730b3b2b960991b600161142d565b90506001600160a01b03811615611986576040516315c638fb60e31b81526001600160a01b0384811660048301526024820184905282169063ae31c7d8906044015f604051808303815f87803b1580156126eb575f5ffd5b505af11580156126fd573d5f5f3e3d5ffd5b50505050505050565b815f0361271257505050565b61272c83838360405180602001604052805f815250612e88565b61198657604051634c67134d60e11b815260040160405180910390fd5b6001600160a01b0381163b6127b65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ec7565b5f5160206149985f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6127ed83612ec5565b5f825111806127f95750805b15611986576128088383612f04565b50505050565b6097545f906001600160a01b03168061283a57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561288c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128b0919061424e565b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526128089085906323b872dd60e01b906084016125fe565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f91829182916001600160a01b038616916129869190614269565b5f60405180830381855afa9150503d805f81146129be576040519150601f19603f3d011682016040523d82523d5f602084013e6129c3565b606091505b50915091508180156129d6575080516020145b6129e15760126128b0565b808060200190518101906128b09190614284565b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b03861691612a3b9190614269565b5f60405180830381855afa9150503d805f8114612a73576040519150601f19603f3d011682016040523d82523d5f602084013e612a78565b606091505b509150915081612a965760405180602001604052805f8152506128b0565b6128b081612f29565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b03861691612a3b9190614269565b5f54610100900460ff16612b0b5760405162461bcd60e51b8152600401610ec79061429f565b612b13613096565b612b316001600160a01b03821615612b2b5781611f19565b33611f19565b5060c9805461ff001916610100179055565b5f54610100900460ff16612b695760405162461bcd60e51b8152600401610ec79061429f565b6001600160401b03461115612b915760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f612c07826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166130bc9092919063ffffffff16565b905080515f1480612c27575080806020019051810190612c2791906141d5565b6119865760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ec7565b5f5f612c9a6033546001600160a01b031690565b60975460208501518551604080880151606089015160808a01519251612cd097966001600160a01b0316959493906024016142ea565b60408051601f198184030181529190526020810180516001600160e01b031663bb86ef9360e01b1790529050612d166c0627269646765645f657263323609c1b5f61142d565b81604051612d23906132e9565b612d2e929190614355565b604051809103905ff080158015612d47573d5f5f3e3d5ffd5b506001600160a01b038082165f90815261012d602090815260409182902087518154928901519389015160ff16600160e01b0260ff60e01b1994909516600160401b026001600160e01b03199093166001600160401b03909116179190911791909116919091178155606085015191935084916001820190612dc99082614378565b5060808201516002820190612dde9082614378565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b0319168885169081179091559151885160608a015160808b0151848c01519451959850929095169516937fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907993612e7a9391929190614432565b60405180910390a450919050565b5f6001600160a01b038516612eb057604051634c67134d60e11b815260040160405180910390fd5b5f5f835160208501878988f195945050505050565b612ece81612749565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610f5e83836040518060600160405280602781526020016149b8602791396130ca565b60606040825110612f485781806020019051810190610753919061446a565b8151602003613083575f5b60208160ff16108015612f885750828160ff1681518110612f7657612f7661449b565b01602001516001600160f81b03191615155b15612f9f5780612f97816144af565b915050612f53565b5f8160ff166001600160401b03811115612fbb57612fbb61347b565b6040519080825280601f01601f191660200182016040528015612fe5576020820181803683370190505b5090505f91505b60208260ff161080156130215750838260ff168151811061300f5761300f61449b565b01602001516001600160f81b03191615155b15610f5e57838260ff168151811061303b5761303b61449b565b602001015160f81c60f81b818360ff168151811061305b5761305b61449b565b60200101906001600160f81b03191690815f1a9053508161307b816144af565b925050612fec565b505060408051602081019091525f815290565b5f54610100900460ff16610f775760405162461bcd60e51b8152600401610ec79061429f565b6060610f5b84845f8561313e565b60605f5f856001600160a01b0316856040516130e69190614269565b5f60405180830381855af49150503d805f811461311e576040519150601f19603f3d011682016040523d82523d5f602084013e613123565b606091505b509150915061313486838387613215565b9695505050505050565b60608247101561319f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ec7565b5f5f866001600160a01b031685876040516131ba9190614269565b5f6040518083038185875af1925050503d805f81146131f4576040519150601f19603f3d011682016040523d82523d5f602084013e6131f9565b606091505b509150915061320a87838387613215565b979650505050505050565b606083156132835782515f0361327c576001600160a01b0385163b61327c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ec7565b50816128b0565b6128b083838151156132985781518083602001fd5b8060405162461bcd60e51b8152600401610ec7919061423c565b5080546132be90613a7c565b5f825580601f106132cd575050565b601f0160209004905f5260205f2090810190610f4c91906132f6565b6104ca806144ce83390190565b5b80821115611b04575f81556001016132f7565b5f5f6040838503121561331b575f5ffd5b82356001600160401b03811115613330575f5ffd5b83016101608186031215613342575f5ffd5b946020939093013593505050565b5f60208284031215613360575f5ffd5b81356001600160e01b031981168114610f5e575f5ffd5b6001600160a01b0381168114610f4c575f5ffd5b5f5f6040838503121561339c575f5ffd5b8235915060208301356133ae81613377565b809150509250929050565b5f602082840312156133c9575f5ffd5b8135610f5e81613377565b5f5f604083850312156133e5575f5ffd5b82356001600160401b038111156133fa575f5ffd5b830160a0818603121561340b575f5ffd5b915060208301356133ae81613377565b6001600160401b0381168114610f4c575f5ffd5b8015158114610f4c575f5ffd5b5f5f5f6060848603121561344e575f5ffd5b83356134598161341b565b92506020840135915060408401356134708161342f565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156134b1576134b161347b565b60405290565b60405161016081016001600160401b03811182821017156134b1576134b161347b565b604051601f8201601f191681016001600160401b03811182821017156135025761350261347b565b604052919050565b5f6001600160401b038211156135225761352261347b565b50601f01601f191660200190565b5f82601f83011261353f575f5ffd5b8135602083015f6135576135528461350a565b6134da565b905082815285838301111561356a575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215613595575f5ffd5b82356135a081613377565b915060208301356001600160401b038111156135ba575f5ffd5b6135c685828601613530565b9150509250929050565b5f5f602083850312156135e1575f5ffd5b82356001600160401b038111156135f6575f5ffd5b8301601f81018513613606575f5ffd5b80356001600160401b0381111561361b575f5ffd5b85602082840101111561362c575f5ffd5b6020919091019590945092505050565b5f5b8381101561365657818101518382015260200161363e565b50505f910152565b5f815180845261367581602086016020860161363c565b601f01601f19169290920160200192915050565b6001600160401b03861681526001600160a01b038516602082015260ff8416604082015260a0606082018190525f906136c49083018561365e565b82810360808401526136d6818561365e565b98975050505050505050565b5f5f604083850312156136f3575f5ffd5b8235915060208301356133ae8161342f565b5f60e0828403128015613716575f5ffd5b509092915050565b602081526137386020820183516001600160401b03169052565b5f602083015161375360408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e08301516001600160a01b038116610100840152506101008301516001600160a01b03811661012084015250610120830151610140830152610140830151610160808401526128b061018084018261365e565b5f5f6040838503121561381f575f5ffd5b823561340b81613377565b5f5f8335601e1984360301811261383f575f5ffd5b8301803591506001600160401b03821115613858575f5ffd5b60200191503681900382131561386c575f5ffd5b9250929050565b5f5f85851115613881575f5ffd5b8386111561388d575f5ffd5b5050820193919092039150565b5f602082840312156138aa575f5ffd5b81356001600160401b038111156138bf575f5ffd5b6128b084828501613530565b80516118778161341b565b805161187781613377565b60ff81168114610f4c575f5ffd5b8051611877816138e1565b5f82601f830112613909575f5ffd5b8151602083015f61391c6135528461350a565b905082815285838301111561392f575f5ffd5b61393d83602083018461363c565b95945050505050565b5f5f5f5f60808587031215613959575f5ffd5b84516001600160401b0381111561396e575f5ffd5b850160a0818803121561397f575f5ffd5b61398761348f565b81516139928161341b565b815260208201516139a281613377565b60208201526139b3604083016138ef565b604082015260608201516001600160401b038111156139d0575f5ffd5b6139dc898285016138fa565b60608301525060808201516001600160401b038111156139fa575f5ffd5b613a06898285016138fa565b6080830152509450613a1c9050602086016138d6565b9250613a2a604086016138d6565b6060959095015193969295505050565b5f60208284031215613a4a575f5ffd5b8135610f5e8161341b565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561075357610753613a55565b600181811c90821680613a9057607f821691505b602082108103613aae57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160401b03815116825260018060a01b03602082015116602083015260ff60408201511660408301525f606082015160a06060850152613afa60a085018261365e565b90506080830151848203608086015261393d828261365e565b602081525f610f5e6020830184613ab4565b8035611877816138e1565b5f5f8335601e19843603018112613b45575f5ffd5b83016020810192503590506001600160401b03811115613b63575f5ffd5b80360382131561386c575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f8235613ba98161341b565b6001600160401b0381166020840152506020830135613bc781613377565b6001600160a01b0316604083810191909152830135613be5816138e1565b60ff8116606084015250613bfc6060840184613b30565b60a06080850152613c1160c085018284613b71565b915050613c216080850185613b30565b848303601f190160a0860152613134838284613b71565b601f82111561198657805f5260205f20601f840160051c81016020851015613c5d5750805b601f840160051c820191505b81811015613c7c575f8155600101613c69565b5050505050565b6001600160401b03831115613c9a57613c9a61347b565b613cae83613ca88354613a7c565b83613c38565b5f601f841160018114613cdf575f8515613cc85750838201355b5f19600387901b1c1916600186901b178355613c7c565b5f83815260208120601f198716915b82811015613d0e5786850135825560209485019460019092019101613cee565b5086821015613d2a575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8135613d478161341b565b6001600160401b03811690508154816001600160401b031982161783556020840135613d7281613377565b6001600160e01b031991909116909117604091821b68010000000000000000600160e01b03161782555f90830135613da9816138e1565b825460ff60e01b191660e09190911b60ff60e01b1617825550613dcf606083018361382a565b613ddd818360018601613c83565b5050613dec608083018361382a565b612808818360028601613c83565b5f60208284031215613e0a575f5ffd5b8135610f5e816138e1565b6001600160a01b0388811682528716602082015260a0604082018190525f90613e419083018789613b71565b8281036060840152613e54818688613b71565b91505060ff8316608083015298975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b803561187781613377565b5f5f5f5f60808587031215613f22575f5ffd5b84356001600160401b03811115613f37575f5ffd5b850160a08188031215613f48575f5ffd5b613f5061348f565b8135613f5b8161341b565b81526020820135613f6b81613377565b6020820152613f7c60408301613b25565b604082015260608201356001600160401b03811115613f99575f5ffd5b613fa589828501613530565b60608301525060808201356001600160401b03811115613fc3575f5ffd5b613fcf89828501613530565b6080830152509450613fe5905060208601613f04565b9250613ff360408601613f04565b9396929550929360600135925050565b63ffffffff81168114610f4c575f5ffd5b5f60208284031215614024575f5ffd5b8135610f5e81614003565b8181038181111561075357610753613a55565b805161187781614003565b5f5f6040838503121561405e575f5ffd5b825160208401519092506001600160401b0381111561407b575f5ffd5b8301610160818603121561408d575f5ffd5b6140956134b7565b61409e826138cb565b81526140ac602083016138cb565b60208201526140bd60408301614042565b60408201526140ce606083016138d6565b60608201526140df608083016138cb565b60808201526140f060a083016138d6565b60a082015261410160c083016138cb565b60c082015261411260e083016138d6565b60e082015261412461010083016138d6565b61010082015261012082810151908201526101408201516001600160401b0381111561414e575f5ffd5b61415a878285016138fa565b6101408301525080925050509250929050565b5f606082840312801561417e575f5ffd5b50604051606081016001600160401b03811182821017156141a1576141a161347b565b6040528251815260208301516141b681613377565b602082015260408301516141c98161341b565b60408201529392505050565b5f602082840312156141e5575f5ffd5b8151610f5e8161342f565b5f60208284031215614200575f5ffd5b5051919050565b608081525f6142196080830187613ab4565b6001600160a01b0395861660208401529390941660408201526060015292915050565b602081525f610f5e602083018461365e565b5f6020828403121561425e575f5ffd5b8151610f5e81613377565b5f825161427a81846020870161363c565b9190910192915050565b5f60208284031215614294575f5ffd5b8151610f5e816138e1565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0388811682528781166020830152861660408201526001600160401b038516606082015260ff8416608082015260e060a082018190525f906143359083018561365e565b82810360c0840152614347818561365e565b9a9950505050505050505050565b6001600160a01b03831681526040602082018190525f90610f5b9083018461365e565b81516001600160401b038111156143915761439161347b565b6143a58161439f8454613a7c565b84613c38565b6020601f8211600181146143d7575f83156143c05750848201515b5f19600385901b1c1916600184901b178455613c7c565b5f84815260208120601f198516915b8281101561440657878501518255602094850194600190920191016143e6565b508482101561442357868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b606081525f614444606083018661365e565b8281036020840152614456818661365e565b91505060ff83166040830152949350505050565b5f6020828403121561447a575f5ffd5b81516001600160401b0381111561448f575f5ffd5b6128b0848285016138fa565b634e487b7160e01b5f52603260045260245ffd5b5f60ff821660ff81036144c4576144c4613a55565b6001019291505056fe60806040526040516104ca3803806104ca833981016040819052610022916102d2565b61002d82825f610034565b50506103ed565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c383836040518060600160405280602781526020016104a36027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f856001600160a01b03168560405161019991906103a0565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103bb565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f5f604083850312156102e3575f5ffd5b82516001600160a01b03811681146102f9575f5ffd5b60208401519092506001600160401b03811115610314575f5ffd5b8301601f81018513610324575f5ffd5b80516001600160401b0381111561033d5761033d61029c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561036b5761036b61029c565b604052818152828201602001871015610382575f5ffd5b6103938260208301602086016102b0565b8093505050509250929050565b5f82516103b18184602087016102b0565b9190910192915050565b602081525f82518060208401526103d98160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f95f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b8d385d4f2d6cc75f0553b0f75a9defc23ce602bcb05516f25f5e40cac657bef64736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000002": { + "contractName": "ERC20Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000201", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000000003": { + "contractName": "ERC721VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x60806040526004361061017b575f3560e01c806367090ccf116100cd5780638da5cb5b11610087578063e07baba611610062578063e07baba614610449578063e30c397814610486578063f09a4016146104a3578063f2fde38b146104c2575f5ffd5b80638da5cb5b146103de5780639aa8605c146103fb578063a86f9d9e1461042a575f5ffd5b806367090ccf1461033b578063715018a61461037b57806379ba50971461038f5780637f07c947146103a35780638456cb59146103b65780638abf6077146103ca575f5ffd5b80633659cfe6116101385780633f4ba83a116101135780633f4ba83a146102e05780634f1ef286146102f457806352d1902d146103075780635c975abb1461031b575f5ffd5b80633659cfe61461026b5780633ab76e9f1461028a5780633eb6b8cf146102c1575f5ffd5b80630178733a1461017f57806301ffc9a71461019457806306fdde03146101c8578063150b7a02146101f35780631f59a830146102375780633075db5614610257575b5f5ffd5b61019261018d3660046128ea565b6104e1565b005b34801561019f575f5ffd5b506101b36101ae366004612930565b610694565b60405190151581526020015b60405180910390f35b3480156101d3575f5ffd5b506b195c98cdcc8c57dd985d5b1d60a21b5b6040519081526020016101bf565b3480156101fe575f5ffd5b5061021e61020d3660046129ba565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016101bf565b61024a610245366004612a27565b6106e4565b6040516101bf9190612aab565b348015610262575f5ffd5b506101b3610b6a565b348015610276575f5ffd5b50610192610285366004612b9b565b610b82565b348015610295575f5ffd5b506097546102a9906001600160a01b031681565b6040516001600160a01b0390911681526020016101bf565b3480156102cc575f5ffd5b506102a96102db366004612be2565b610c52565b3480156102eb575f5ffd5b50610192610c68565b610192610302366004612d4d565b610c7c565b348015610312575f5ffd5b506101e5610d31565b348015610326575f5ffd5b506101b360c954610100900460ff1660021490565b348015610346575f5ffd5b506102a9610355366004612d99565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b348015610386575f5ffd5b50610192610de2565b34801561039a575f5ffd5b50610192610df3565b6101926103b1366004612dc7565b610e6a565b3480156103c1575f5ffd5b50610192610fd3565b3480156103d5575f5ffd5b506102a9610fe6565b3480156103e9575f5ffd5b506033546001600160a01b03166102a9565b348015610406575f5ffd5b5061041a610415366004612b9b565b610ff4565b6040516101bf9493929190612e05565b348015610435575f5ffd5b506102a9610444366004612e54565b61113f565b348015610454575f5ffd5b5060c95461046e906201000090046001600160401b031681565b6040516001600160401b0390911681526020016101bf565b348015610491575f5ffd5b506065546001600160a01b03166102a9565b3480156104ae575f5ffd5b506101926104bd366004612e77565b61114b565b3480156104cd575f5ffd5b506101926104dc366004612b9b565b61125a565b6104f560c954610100900460ff1660021490565b156105135760405163bae6e2a960e01b815260040160405180910390fd5b600261052160c95460ff1690565b60ff16036105425760405163dfc60d8560e01b815260040160405180910390fd5b61054c60026112cb565b6105546112e1565b505f610564610140840184612ea3565b610572916004908290612ee5565b81019061057f9190612f0c565b90505f5f828060200190518101906105979190613026565b9350505091505f6105bb838760a00160208101906105b59190612b9b565b846113d7565b90506105e56101208701356105d660c0890160a08a01612b9b565b6001600160a01b03169061154e565b6105f560c0870160a08801612b9b565b6001600160a01b0316857fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c8560200151848687516001600160401b0381111561064057610640612c21565b604051908082528060200260200182016040528015610669578160200160208202803683370190505b5060405161067a9493929190613165565b60405180910390a35050505061069060016112cb565b5050565b5f6001600160e01b0319821662bc399d60e11b14806106c357506001600160e01b03198216637f07c94760e01b145b806106de57506001600160e01b031982166301ffc9a760e01b145b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082019290925261014081019190915261075260c954610100900460ff1660021490565b156107705760405163bae6e2a960e01b815260040160405180910390fd5b61077982613219565b8060e00151518160c0015151146107a35760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b03166107ce576040516303f8a7d360e01b815260040160405180910390fd5b60026107dc60c95460ff1690565b60ff16036107fd5760405163dfc60d8560e01b815260040160405180910390fd5b61080760026112cb565b61081760808401606085016132ec565b6001600160401b031634101561084057604051630178ce0b60e31b815260040160405180910390fd5b5f5b61084f60c0850185613307565b90508110156108a35761086560e0850185613307565b828181106108755761087561334c565b905060200201355f1461089b57604051634299323b60e11b815260040160405180910390fd5b600101610842565b506108ce6380ac58cd60e01b6108bf60a0860160808701612b9b565b6001600160a01b031690611559565b6108eb57604051633ee915f560e11b815260040160405180910390fd5b5f5f6108f6856115e6565b6040805161016081019091525f808252929450909250602081016109206080890160608a016132ec565b6001600160401b0316815260200161093e60c0890160a08a01613360565b63ffffffff1681525f6020808301829052604083019190915233606083015260809091019061096f908901896132ec565b6001600160401b031681526020015f6001600160a01b031688602001602081019061099a9190612b9b565b6001600160a01b0316036109ae57336109be565b6109be6040890160208a01612b9b565b6001600160a01b031681526020908101906109f6906109df908a018a6132ec565b6b195c98cdcc8c57dd985d5b1d60a21b5b5f610c52565b6001600160a01b03168152602001610a146080890160608a016132ec565b610a27906001600160401b03163461338f565b815260200184905290505f610a456562726964676560d01b8261113f565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b8152600401610a719190612aab565b5f6040518083038185885af1158015610a8c573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052610ab491908101906133ad565b96509050610ac86060880160408901612b9b565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c6080016020810190610b1e9190612b9b565b610b2b60c08f018f613307565b8f8060e00190610b3b9190613307565b604051610b4e97969594939291906134fd565b60405180910390a450505050610b6460016112cb565b50919050565b5f6002610b7960c95460ff1690565b60ff1614905090565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000003163003610bd35760405162461bcd60e51b8152600401610bca90613559565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000000036001600160a01b0316610c05611ac8565b6001600160a01b031614610c2b5760405162461bcd60e51b8152600401610bca906135a5565b610c3481611ae3565b604080515f80825260208201909252610c4f91839190611aeb565b50565b5f610c5e848484611c55565b90505b9392505050565b610c70611ca7565b610c7a335f611d37565b565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000003163003610cc45760405162461bcd60e51b8152600401610bca90613559565b7f00000000000000000000000001670010000000000000000000000000000000036001600160a01b0316610cf6611ac8565b6001600160a01b031614610d1c5760405162461bcd60e51b8152600401610bca906135a5565b610d2582611ae3565b61069082826001611aeb565b5f306001600160a01b037f00000000000000000000000001670010000000000000000000000000000000031614610dd05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610bca565b505f516020613ff95f395f51905f5290565b610dea611d3b565b610c7a5f611d95565b60655433906001600160a01b03168114610e615760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610bca565b610c4f81611d95565b610e7e60c954610100900460ff1660021490565b15610e9c5760405163bae6e2a960e01b815260040160405180910390fd5b6002610eaa60c95460ff1690565b60ff1603610ecb5760405163dfc60d8560e01b815260040160405180910390fd5b610ed560026112cb565b5f808080610ee5858701876135f1565b93509350935093505f610ef6611dae565b9050610f0183611ece565b5f610f0d8685856113d7565b9050610f226001600160a01b0385163461154e565b836001600160a01b0316856001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518a6020015186898a516001600160401b03811115610f8057610f80612c21565b604051908082528060200260200182016040528015610fa9578160200160208202803683370190505b50604051610fbb9594939291906136ea565b60405180910390a450505050505061069060016112cb565b610fdb611f0a565b610c7a336001611d37565b5f610fef611ac8565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b031692919061103290613742565b80601f016020809104026020016040519081016040528092919081815260200182805461105e90613742565b80156110a95780601f10611080576101008083540402835291602001916110a9565b820191905f5260205f20905b81548152906001019060200180831161108c57829003601f168201915b5050505050908060020180546110be90613742565b80601f01602080910402602001604051908101604052809291908181526020018280546110ea90613742565b80156111355780601f1061110c57610100808354040283529160200191611135565b820191905f5260205f20905b81548152906001019060200180831161111857829003601f168201915b5050505050905084565b5f610c61468484611c55565b5f54610100900460ff161580801561116957505f54600160ff909116105b806111825750303b15801561118257505f5460ff166001145b6111e55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bca565b5f805460ff191660011790558015611206575f805461ff0019166101001790555b6112108383611f7b565b8015611255575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b611262611d3b565b606580546001600160a01b0383166001600160a01b031990911681179091556112936033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b61131281600161113f565b6001600160a01b0316336001600160a01b03161461134357604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561137f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a39190613774565b60208101519092506001600160a01b031633146113d357604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b03160361149d575060208301515f5b825181101561149757816001600160a01b03166342842e0e308686858151811061141f5761141f61334c565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b158015611476575f5ffd5b505af1158015611488573d5f5f3e3d5ffd5b505050508060010190506113f3565b50610c61565b6114a684611fb5565b90505f5b825181101561154657816001600160a01b03166340c10f19858584815181106114d5576114d561334c565b60200260200101516040518363ffffffff1660e01b815260040161150e9291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b158015611525575f5ffd5b505af1158015611537573d5f5f3e3d5ffd5b505050508060010190506114aa565b509392505050565b61069082825a611ffc565b5f6001600160a01b0383163b61157057505f6106de565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa9250505080156115da575060408051601f3d908101601f191682019092526115d7918101906137dc565b60015b156106de579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d8161161c60a0870160808801612b9b565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b900416156118fd576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b0316602082015260018301805491928492908401919061168d90613742565b80601f01602080910402602001604051908101604052809291908181526020018280546116b990613742565b80156117045780601f106116db57610100808354040283529160200191611704565b820191905f5260205f20905b8154815290600101906020018083116116e757829003601f168201915b5050505050815260200160028201805461171d90613742565b80601f016020809104026020016040519081016040528092919081815260200182805461174990613742565b80156117945780601f1061176b57610100808354040283529160200191611794565b820191905f5260205f20905b81548152906001019060200180831161177757829003601f168201915b50505050508152505091505f5b6117ae60c0860186613307565b90508110156118f7576117c760a0860160808701612b9b565b6001600160a01b03166342842e0e33306117e460c08a018a613307565b868181106117f4576117f461334c565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b158015611848575f5ffd5b505af115801561185a573d5f5f3e3d5ffd5b5061186f9250505060a0860160808701612b9b565b6001600160a01b03166342966c6861188a60c0880188613307565b8481811061189a5761189a61334c565b905060200201356040518263ffffffff1660e01b81526004016118bf91815260200190565b5f604051808303815f87803b1580156118d6575f5ffd5b505af11580156118e8573d5f5f3e3d5ffd5b505050508060010190506117a1565b50611a3d565b6040518060800160405280466001600160401b0316815260200185608001602081019061192a9190612b9b565b6001600160a01b0316815260200161195061194b60a0880160808901612b9b565b61203f565b815260200161196d61196860a0880160808901612b9b565b6120f1565b905291505f5b61198060c0860186613307565b9050811015611a3b5761199960a0860160808701612b9b565b6001600160a01b03166342842e0e33306119b660c08a018a613307565b868181106119c6576119c661334c565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b158015611a1a575f5ffd5b505af1158015611a2c573d5f5f3e3d5ffd5b50505050806001019050611973565b505b5030637f07c9478233611a566060880160408901612b9b565b611a6360c0890189613307565b604051602001611a779594939291906137f7565b60408051601f1981840301815290829052611a9491602401613888565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f516020613ff95f395f51905f52546001600160a01b031690565b610c4f611d3b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b1e5761125583612137565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b78575060408051601f3d908101601f19168201909252611b759181019061389a565b60015b611bdb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610bca565b5f516020613ff95f395f51905f528114611c495760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610bca565b506112558383836121d2565b5f611c6084846121fc565b905081158015611c7757506001600160a01b038116155b15610c6157604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610bca565b611cbb60c954610100900460ff1660021490565b611cd85760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6106905b6033546001600160a01b03163314610c7a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bca565b606580546001600160a01b0319169055610c4f8161229e565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b611ddf81600161113f565b6001600160a01b0316336001600160a01b031614611e1057604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e709190613774565b91505f611e9183604001516109f06b195c98cdcc8c57dd985d5b1d60a21b90565b9050806001600160a01b031683602001516001600160a01b031614611ec957604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b0381161580611eec57506001600160a01b03811630145b15610c4f57604051635b50f3f960e01b815260040160405180910390fd5b611f1e60c954610100900460ff1660021490565b15611f3c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611d2d565b806001600160a01b038116611fa35760405163538ba4f960e01b815260040160405180910390fd5b611fac836122ef565b6112558261234d565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b0390811685529252909120541680611ff7576106de826123bd565b919050565b815f0361200857505050565b61202283838360405180602001604052805f815250612598565b61125557604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169161208591906138b1565b5f60405180830381855afa9150503d805f81146120bd576040519150601f19603f3d011682016040523d82523d5f602084013e6120c2565b606091505b5091509150816120e05760405180602001604052805f8152506120e9565b6120e9816125d5565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169161208591906138b1565b6001600160a01b0381163b6121a45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610bca565b5f516020613ff95f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6121db83612742565b5f825111806121e75750805b15611255576121f68383612781565b50505050565b6097545f906001600160a01b03168061222857604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561227a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e991906138cc565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff166123155760405162461bcd60e51b8152600401610bca906138e7565b61231d6127a6565b61233b6001600160a01b038216156123355781611d95565b33611d95565b5060c9805461ff001916610100179055565b5f54610100900460ff166123735760405162461bcd60e51b8152600401610bca906138e7565b6001600160401b0346111561239b5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f5f6123d16033546001600160a01b031690565b609754602085015185516040808801516060890151915161240296956001600160a01b031694939290602401613932565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b17905290506124496d627269646765645f65726337323160901b5f61113f565b81604051612456906128dd565b612461929190613993565b604051809103905ff08015801561247a573d5f5f3e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b0390941693909317178255850151919350849160018201906124de9082613a01565b50606082015160028201906124f39082613a01565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b9261258a9290613abb565b60405180910390a450919050565b5f6001600160a01b0385166125c057604051634c67134d60e11b815260040160405180910390fd5b5f5f835160208501878988f195945050505050565b606060408251106125f457818060200190518101906106de9190613adf565b815160200361272f575f5b60208160ff161080156126345750828160ff16815181106126225761262261334c565b01602001516001600160f81b03191615155b1561264b578061264381613b10565b9150506125ff565b5f8160ff166001600160401b0381111561266757612667612c21565b6040519080825280601f01601f191660200182016040528015612691576020820181803683370190505b5090505f91505b60208260ff161080156126cd5750838260ff16815181106126bb576126bb61334c565b01602001516001600160f81b03191615155b15610c6157838260ff16815181106126e7576126e761334c565b602001015160f81c60f81b818360ff16815181106127075761270761334c565b60200101906001600160f81b03191690815f1a9053508161272781613b10565b925050612698565b505060408051602081019091525f815290565b61274b81612137565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610c618383604051806060016040528060278152602001614019602791396127cc565b5f54610100900460ff16610c7a5760405162461bcd60e51b8152600401610bca906138e7565b60605f5f856001600160a01b0316856040516127e891906138b1565b5f60405180830381855af49150503d805f8114612820576040519150601f19603f3d011682016040523d82523d5f602084013e612825565b606091505b509150915061283686838387612840565b9695505050505050565b606083156128ae5782515f036128a7576001600160a01b0385163b6128a75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bca565b50816120e9565b6120e983838151156128c35781518083602001fd5b8060405162461bcd60e51b8152600401610bca9190613888565b6104ca80613b2f83390190565b5f5f604083850312156128fb575f5ffd5b82356001600160401b03811115612910575f5ffd5b83016101608186031215612922575f5ffd5b946020939093013593505050565b5f60208284031215612940575f5ffd5b81356001600160e01b031981168114610c61575f5ffd5b6001600160a01b0381168114610c4f575f5ffd5b8035611ff781612957565b5f5f83601f840112612986575f5ffd5b5081356001600160401b0381111561299c575f5ffd5b6020830191508360208285010111156129b3575f5ffd5b9250929050565b5f5f5f5f5f608086880312156129ce575f5ffd5b85356129d981612957565b945060208601356129e981612957565b93506040860135925060608601356001600160401b03811115612a0a575f5ffd5b612a1688828901612976565b969995985093965092949392505050565b5f60208284031215612a37575f5ffd5b81356001600160401b03811115612a4c575f5ffd5b82016101008185031215610c61575f5ffd5b5f5b83811015612a78578181015183820152602001612a60565b50505f910152565b5f8151808452612a97816020860160208601612a5e565b601f01601f19169290920160200192915050565b60208152612ac56020820183516001600160401b03169052565b5f6020830151612ae060408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e08301516001600160a01b038116610100840152506101008301516001600160a01b03811661012084015250610120830151610140830152610140830151610160808401526120e9610180840182612a80565b5f60208284031215612bab575f5ffd5b8135610c6181612957565b6001600160401b0381168114610c4f575f5ffd5b8035611ff781612bb6565b8015158114610c4f575f5ffd5b5f5f5f60608486031215612bf4575f5ffd5b8335612bff81612bb6565b9250602084013591506040840135612c1681612bd5565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715612c5757612c57612c21565b60405290565b60405161010081016001600160401b0381118282101715612c5757612c57612c21565b60405161016081016001600160401b0381118282101715612c5757612c57612c21565b604051601f8201601f191681016001600160401b0381118282101715612ccb57612ccb612c21565b604052919050565b5f6001600160401b03821115612ceb57612ceb612c21565b50601f01601f191660200190565b5f82601f830112612d08575f5ffd5b8135602083015f612d20612d1b84612cd3565b612ca3565b9050828152858383011115612d33575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215612d5e575f5ffd5b8235612d6981612957565b915060208301356001600160401b03811115612d83575f5ffd5b612d8f85828601612cf9565b9150509250929050565b5f5f60408385031215612daa575f5ffd5b823591506020830135612dbc81612957565b809150509250929050565b5f5f60208385031215612dd8575f5ffd5b82356001600160401b03811115612ded575f5ffd5b612df985828601612976565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90612e3790830185612a80565b8281036060840152612e498185612a80565b979650505050505050565b5f5f60408385031215612e65575f5ffd5b823591506020830135612dbc81612bd5565b5f5f60408385031215612e88575f5ffd5b8235612e9381612957565b91506020830135612dbc81612957565b5f5f8335601e19843603018112612eb8575f5ffd5b8301803591506001600160401b03821115612ed1575f5ffd5b6020019150368190038213156129b3575f5ffd5b5f5f85851115612ef3575f5ffd5b83861115612eff575f5ffd5b5050820193919092039150565b5f60208284031215612f1c575f5ffd5b81356001600160401b03811115612f31575f5ffd5b6120e984828501612cf9565b8051611ff781612bb6565b8051611ff781612957565b5f82601f830112612f62575f5ffd5b8151602083015f612f75612d1b84612cd3565b9050828152858383011115612f88575f5ffd5b612f96836020830184612a5e565b95945050505050565b5f6001600160401b03821115612fb757612fb7612c21565b5060051b60200190565b5f82601f830112612fd0575f5ffd5b8151612fde612d1b82612f9f565b8082825260208201915060208360051b860101925085831115612fff575f5ffd5b602085015b8381101561301c578051835260209283019201613004565b5095945050505050565b5f5f5f5f60808587031215613039575f5ffd5b84516001600160401b0381111561304e575f5ffd5b85016080818803121561305f575f5ffd5b613067612c35565b815161307281612bb6565b8152602082015161308281612957565b602082015260408201516001600160401b0381111561309f575f5ffd5b6130ab89828501612f53565b60408301525060608201516001600160401b038111156130c9575f5ffd5b6130d589828501612f53565b60608301525094506130eb905060208601612f48565b92506130f960408601612f48565b915060608501516001600160401b03811115613113575f5ffd5b61311f87828801612fc1565b91505092959194509250565b5f8151808452602084019350602083015f5b8281101561315b57815186526020958601959091019060010161313d565b5093949350505050565b6001600160a01b038581168252841660208201526080604082018190525f906131909083018561312b565b8281036060840152612e49818561312b565b63ffffffff81168114610c4f575f5ffd5b8035611ff7816131a2565b5f82601f8301126131cd575f5ffd5b81356131db612d1b82612f9f565b8082825260208201915060208360051b8601019250858311156131fc575f5ffd5b602085015b8381101561301c578035835260209283019201613201565b5f610100823603121561322a575f5ffd5b613232612c5d565b61323b83612bca565b81526132496020840161296b565b602082015261325a6040840161296b565b604082015261326b60608401612bca565b606082015261327c6080840161296b565b608082015261328d60a084016131b3565b60a082015260c08301356001600160401b038111156132aa575f5ffd5b6132b6368286016131be565b60c08301525060e08301356001600160401b038111156132d4575f5ffd5b6132e0368286016131be565b60e08301525092915050565b5f602082840312156132fc575f5ffd5b8135610c6181612bb6565b5f5f8335601e1984360301811261331c575f5ffd5b8301803591506001600160401b03821115613335575f5ffd5b6020019150600581901b36038213156129b3575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613370575f5ffd5b8135610c61816131a2565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106de576106de61337b565b8051611ff7816131a2565b5f5f604083850312156133be575f5ffd5b825160208401519092506001600160401b038111156133db575f5ffd5b830161016081860312156133ed575f5ffd5b6133f5612c80565b6133fe82612f3d565b815261340c60208301612f3d565b602082015261341d604083016133a2565b604082015261342e60608301612f48565b606082015261343f60808301612f3d565b608082015261345060a08301612f48565b60a082015261346160c08301612f3d565b60c082015261347260e08301612f48565b60e08201526134846101008301612f48565b61010082015261012082810151908201526101408201516001600160401b038111156134ae575f5ffd5b6134ba87828501612f53565b6101408301525080925050509250929050565b8183525f6001600160fb1b038311156134e4575f5ffd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f9061353890830186886134cd565b828103608084015261354b8185876134cd565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f5f60808587031215613604575f5ffd5b84356001600160401b03811115613619575f5ffd5b85016080818803121561362a575f5ffd5b613632612c35565b813561363d81612bb6565b8152602082013561364d81612957565b602082015260408201356001600160401b0381111561366a575f5ffd5b61367689828501612cf9565b60408301525060608201356001600160401b03811115613694575f5ffd5b6136a089828501612cf9565b60608301525094506136b690506020860161296b565b92506136c46040860161296b565b915060608501356001600160401b038111156136de575f5ffd5b61311f878288016131be565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f906137249083018561312b565b8281036080840152613736818561312b565b98975050505050505050565b600181811c9082168061375657607f821691505b602082108103610b6457634e487b7160e01b5f52602260045260245ffd5b5f6060828403128015613785575f5ffd5b50604051606081016001600160401b03811182821017156137a8576137a8612c21565b6040528251815260208301516137bd81612957565b602082015260408301516137d081612bb6565b60408201529392505050565b5f602082840312156137ec575f5ffd5b8151610c6181612bd5565b608081526001600160401b03865116608082015260018060a01b0360208701511660a08201525f6040870151608060c0840152613838610100840182612a80565b90506060880151607f198483030160e08501526138558282612a80565b6001600160a01b0389811660208701528816604086015291506138759050565b82810360608401526137368185876134cd565b602081525f610c616020830184612a80565b5f602082840312156138aa575f5ffd5b5051919050565b5f82516138c2818460208701612a5e565b9190910192915050565b5f602082840312156138dc575f5ffd5b8151610c6181612957565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f9061397490830185612a80565b82810360a08401526139868185612a80565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f90610c5e90830184612a80565b601f82111561125557805f5260205f20601f840160051c810160208510156139db5750805b601f840160051c820191505b818110156139fa575f81556001016139e7565b5050505050565b81516001600160401b03811115613a1a57613a1a612c21565b613a2e81613a288454613742565b846139b6565b6020601f821160018114613a60575f8315613a495750848201515b5f19600385901b1c1916600184901b1784556139fa565b5f84815260208120601f198516915b82811015613a8f5787850151825560209485019460019092019101613a6f565b5084821015613aac57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b604081525f613acd6040830185612a80565b8281036020840152612f968185612a80565b5f60208284031215613aef575f5ffd5b81516001600160401b03811115613b04575f5ffd5b6120e984828501612f53565b5f60ff821660ff8103613b2557613b2561337b565b6001019291505056fe60806040526040516104ca3803806104ca833981016040819052610022916102d2565b61002d82825f610034565b50506103ed565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c383836040518060600160405280602781526020016104a36027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f856001600160a01b03168560405161019991906103a0565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103bb565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f5f604083850312156102e3575f5ffd5b82516001600160a01b03811681146102f9575f5ffd5b60208401519092506001600160401b03811115610314575f5ffd5b8301601f81018513610324575f5ffd5b80516001600160401b0381111561033d5761033d61029c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561036b5761036b61029c565b604052818152828201602001871015610382575f5ffd5b6103938260208301602086016102b0565b8093505050509250929050565b5f82516103b18184602087016102b0565b9190910192915050565b602081525f82518060208401526103d98160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f95f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122055e523a48576516437df6fcf2810806cc0aeefb1755d2891dc02a161b66f632464736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000003": { + "contractName": "ERC721Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000003" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000000004": { + "contractName": "ERC1155VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x608060405260043610610195575f3560e01c8063715018a6116100e7578063a86f9d9e11610087578063e30c397811610062578063e30c3978146104a4578063f09a4016146104c1578063f23a6e61146104e0578063f2fde38b1461050c575f5ffd5b8063a86f9d9e14610401578063bc197c8114610420578063e07baba614610467575f5ffd5b80638456cb59116100c25780638456cb591461038d5780638abf6077146103a15780638da5cb5b146103b55780639aa8605c146103d2575f5ffd5b8063715018a61461035257806379ba5097146103665780637f07c9471461037a575f5ffd5b80633ab76e9f116101525780634f1ef2861161012d5780634f1ef286146102cb57806352d1902d146102de5780635c975abb146102f257806367090ccf14610312575f5ffd5b80633ab76e9f146102615780633eb6b8cf146102985780633f4ba83a146102b7575f5ffd5b80630178733a1461019957806301ffc9a7146101ae57806306fdde03146101e25780631f59a8301461020e5780633075db561461022e5780633659cfe614610242575b5f5ffd5b6101ac6101a7366004612861565b61052b565b005b3480156101b9575f5ffd5b506101cd6101c83660046128a7565b6106a1565b60405190151581526020015b60405180910390f35b3480156101ed575f5ffd5b506c195c98cc4c4d4d57dd985d5b1d609a1b5b6040519081526020016101d9565b61022161021c3660046128ce565b6106c0565b6040516101d99190612952565b348015610239575f5ffd5b506101cd610b47565b34801561024d575f5ffd5b506101ac61025c366004612a61565b610b5f565b34801561026c575f5ffd5b50609754610280906001600160a01b031681565b6040516001600160a01b0390911681526020016101d9565b3480156102a3575f5ffd5b506102806102b2366004612aa8565b610c2f565b3480156102c2575f5ffd5b506101ac610c45565b6101ac6102d9366004612c13565b610c59565b3480156102e9575f5ffd5b50610200610d0e565b3480156102fd575f5ffd5b506101cd60c954610100900460ff1660021490565b34801561031d575f5ffd5b5061028061032c366004612c5f565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801561035d575f5ffd5b506101ac610dbf565b348015610371575f5ffd5b506101ac610dd0565b6101ac610388366004612cd1565b610e47565b348015610398575f5ffd5b506101ac610f73565b3480156103ac575f5ffd5b50610280610f86565b3480156103c0575f5ffd5b506033546001600160a01b0316610280565b3480156103dd575f5ffd5b506103f16103ec366004612a61565b610f94565b6040516101d99493929190612d0f565b34801561040c575f5ffd5b5061028061041b366004612d5e565b6110df565b34801561042b575f5ffd5b5061044e61043a366004612dc1565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b031990911681526020016101d9565b348015610472575f5ffd5b5060c95461048c906201000090046001600160401b031681565b6040516001600160401b0390911681526020016101d9565b3480156104af575f5ffd5b506065546001600160a01b0316610280565b3480156104cc575f5ffd5b506101ac6104db366004612e81565b6110eb565b3480156104eb575f5ffd5b5061044e6104fa366004612ead565b63f23a6e6160e01b9695505050505050565b348015610517575f5ffd5b506101ac610526366004612a61565b611202565b61053f60c954610100900460ff1660021490565b1561055d5760405163bae6e2a960e01b815260040160405180910390fd5b600261056b60c95460ff1690565b60ff160361058c5760405163dfc60d8560e01b815260040160405180910390fd5b6105966002611273565b61059e611289565b505f6105ae610140840184612f23565b6105bc916004908290612f65565b8101906105c99190612f8c565b90505f5f5f838060200190518101906105e291906130a6565b94509450505092505f610609848860a00160208101906106029190612a61565b858561137f565b905061063361012088013561062460c08a0160a08b01612a61565b6001600160a01b03169061146f565b61064360c0880160a08901612a61565b6001600160a01b0316867fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c8660200151848787604051610686949392919061320e565b60405180910390a3505050505061069d6001611273565b5050565b5f6106ab8261147a565b806106ba57506106ba826114c9565b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082019290925261014081019190915261072e60c954610100900460ff1660021490565b1561074c5760405163bae6e2a960e01b815260040160405180910390fd5b610755826132c2565b8060e00151518160c00151511461077f5760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b03166107aa576040516303f8a7d360e01b815260040160405180910390fd5b60026107b860c95460ff1690565b60ff16036107d95760405163dfc60d8560e01b815260040160405180910390fd5b6107e36002611273565b6107f36080840160608501613395565b6001600160401b031634101561081c57604051630178ce0b60e31b815260040160405180910390fd5b5f5b61082b60e08501856133b0565b905081101561087f5761084160e08501856133b0565b82818110610851576108516133f5565b905060200201355f0361087757604051634299323b60e11b815260040160405180910390fd5b60010161081e565b506108aa636cdb3d1360e11b61089b60a0860160808701612a61565b6001600160a01b0316906114fd565b6108c757604051633ee915f560e11b815260040160405180910390fd5b5f5f6108d28561158a565b6040805161016081019091525f808252929450909250602081016108fc6080890160608a01613395565b6001600160401b0316815260200161091a60c0890160a08a01613409565b63ffffffff1681525f6020808301829052604083019190915233606083015260809091019061094b90890189613395565b6001600160401b031681526020015f6001600160a01b03168860200160208101906109769190612a61565b6001600160a01b03160361098a573361099a565b61099a6040890160208a01612a61565b6001600160a01b031681526020908101906109d3906109bb908a018a613395565b6c195c98cc4c4d4d57dd985d5b1d609a1b5b5f610c2f565b6001600160a01b031681526020016109f16080890160608a01613395565b610a04906001600160401b031634613438565b815260200184905290505f610a226562726964676560d01b826110df565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b8152600401610a4e9190612952565b5f6040518083038185885af1158015610a69573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052610a919190810190613456565b96509050610aa56060880160408901612a61565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c6080016020810190610afb9190612a61565b610b0860c08f018f6133b0565b8f8060e00190610b1891906133b0565b604051610b2b97969594939291906135a6565b60405180910390a450505050610b416001611273565b50919050565b5f6002610b5660c95460ff1690565b60ff1614905090565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000004163003610bb05760405162461bcd60e51b8152600401610ba790613602565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000000046001600160a01b0316610be2611a4a565b6001600160a01b031614610c085760405162461bcd60e51b8152600401610ba79061364e565b610c1181611a65565b604080515f80825260208201909252610c2c91839190611a6d565b50565b5f610c3b848484611bd7565b90505b9392505050565b610c4d611c29565b610c57335f611cb9565b565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000000004163003610ca15760405162461bcd60e51b8152600401610ba790613602565b7f00000000000000000000000001670010000000000000000000000000000000046001600160a01b0316610cd3611a4a565b6001600160a01b031614610cf95760405162461bcd60e51b8152600401610ba79061364e565b610d0282611a65565b61069d82826001611a6d565b5f306001600160a01b037f00000000000000000000000001670010000000000000000000000000000000041614610dad5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ba7565b505f5160206141d45f395f51905f5290565b610dc7611cbd565b610c575f611d17565b60655433906001600160a01b03168114610e3e5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610ba7565b610c2c81611d17565b610e5b60c954610100900460ff1660021490565b15610e795760405163bae6e2a960e01b815260040160405180910390fd5b6002610e8760c95460ff1690565b60ff1603610ea85760405163dfc60d8560e01b815260040160405180910390fd5b610eb26002611273565b5f80808080610ec38688018861369a565b945094509450945094505f610ed6611d30565b9050610ee184611e51565b5f610eee8786868661137f565b9050610f036001600160a01b0386163461146f565b846001600160a01b0316866001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518b60200151868a8a604051610f5a9594939291906137bb565b60405180910390a45050505050505061069d6001611273565b610f7b611e8d565b610c57336001611cb9565b5f610f8f611a4a565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190610fd290613813565b80601f0160208091040260200160405190810160405280929190818152602001828054610ffe90613813565b80156110495780601f1061102057610100808354040283529160200191611049565b820191905f5260205f20905b81548152906001019060200180831161102c57829003601f168201915b50505050509080600201805461105e90613813565b80601f016020809104026020016040519081016040528092919081815260200182805461108a90613813565b80156110d55780601f106110ac576101008083540402835291602001916110d5565b820191905f5260205f20905b8154815290600101906020018083116110b857829003601f168201915b5050505050905084565b5f610c3e468484611bd7565b5f54610100900460ff161580801561110957505f54600160ff909116105b806111225750303b15801561112257505f5460ff166001145b6111855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ba7565b5f805460ff1916600117905580156111a6575f805461ff0019166101001790555b6111b08383611efe565b6111b8611f38565b80156111fd575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61120a611cbd565b606580546001600160a01b0383166001600160a01b0319909116811790915561123b6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b60c9805460ff191660ff92909216919091179055565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b6112ba8160016110df565b6001600160a01b0316336001600160a01b0316146112eb57604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611327573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134b9190613845565b60208101519092506001600160a01b0316331461137b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46855f01516001600160401b0316036113fd57506020840151604051631759616b60e11b81526001600160a01b03821690632eb2c2d6906113cb9030908890889088906004016138ad565b5f604051808303815f87803b1580156113e2575f5ffd5b505af11580156113f4573d5f5f3e3d5ffd5b50505050611467565b61140685611f5e565b60405163d81d0a1560e01b81529091506001600160a01b0382169063d81d0a159061143990879087908790600401613906565b5f604051808303815f87803b158015611450575f5ffd5b505af1158015611462573d5f5f3e3d5ffd5b505050505b949350505050565b61069d82825a611fa5565b5f6001600160e01b0319821662bc399d60e11b14806114a957506001600160e01b03198216637f07c94760e01b145b806106ba57506001600160e01b031982166301ffc9a760e01b1492915050565b5f6001600160e01b03198216630271189760e51b14806106ba57506301ffc9a760e01b6001600160e01b03198316146106ba565b5f6001600160a01b0383163b61151457505f6106ba565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801561157e575060408051601f3d908101601f1916820190925261157b9181019061393b565b60015b156106ba579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d816115c060a0870160808801612a61565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b900416156118b3576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b0316602082015260018301805491928492908401919061163190613813565b80601f016020809104026020016040519081016040528092919081815260200182805461165d90613813565b80156116a85780601f1061167f576101008083540402835291602001916116a8565b820191905f5260205f20905b81548152906001019060200180831161168b57829003601f168201915b505050505081526020016002820180546116c190613813565b80601f01602080910402602001604051908101604052809291908181526020018280546116ed90613813565b80156117385780601f1061170f57610100808354040283529160200191611738565b820191905f5260205f20905b81548152906001019060200180831161171b57829003601f168201915b50505050508152505091508360800160208101906117569190612a61565b6001600160a01b0316632eb2c2d6333061177360c08901896133b0565b61178060e08b018b6133b0565b6040518763ffffffff1660e01b81526004016117a196959493929190613956565b5f604051808303815f87803b1580156117b8575f5ffd5b505af11580156117ca573d5f5f3e3d5ffd5b505050505f5b6117dd60c08601866133b0565b90508110156118ad576117f660a0860160808701612a61565b6001600160a01b031663b390c0ab61181160c08801886133b0565b84818110611821576118216133f5565b90506020020135878060e0019061183891906133b0565b85818110611848576118486133f5565b905060200201356040518363ffffffff1660e01b8152600401611875929190918252602082015260400190565b5f604051808303815f87803b15801561188c575f5ffd5b505af115801561189e573d5f5f3e3d5ffd5b505050508060010190506117d0565b506119b0565b6040518060800160405280466001600160401b031681526020018560800160208101906118e09190612a61565b6001600160a01b0316815260200161190661190160a0880160808901612a61565b611fe8565b815260200161192361191e60a0880160808901612a61565b612092565b9052915061193760a0850160808601612a61565b6001600160a01b0316632eb2c2d6333061195460c08901896133b0565b61196160e08b018b6133b0565b6040518763ffffffff1660e01b815260040161198296959493929190613956565b5f604051808303815f87803b158015611999575f5ffd5b505af11580156119ab573d5f5f3e3d5ffd5b505050505b5030637f07c94782336119c96060880160408901612a61565b6119d660c08901896133b0565b6119e360e08b018b6133b0565b6040516020016119f997969594939291906139b3565b60408051601f1981840301815290829052611a1691602401613a63565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f5160206141d45f395f51905f52546001600160a01b031690565b610c2c611cbd565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611aa0576111fd836120d8565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611afa575060408051601f3d908101601f19168201909252611af791810190613a75565b60015b611b5d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610ba7565b5f5160206141d45f395f51905f528114611bcb5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610ba7565b506111fd838383612173565b5f611be2848461219d565b905081158015611bf957506001600160a01b038116155b15610c3e57604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610ba7565b611c3d60c954610100900460ff1660021490565b611c5a5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b61069d5b6033546001600160a01b03163314610c575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ba7565b606580546001600160a01b0319169055610c2c8161223f565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b611d618160016110df565b6001600160a01b0316336001600160a01b031614611d9257604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611dce573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df29190613845565b91505f611e1483604001516109cd6c195c98cc4c4d4d57dd985d5b1d609a1b90565b9050806001600160a01b031683602001516001600160a01b031614611e4c57604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b0381161580611e6f57506001600160a01b03811630145b15610c2c57604051635b50f3f960e01b815260040160405180910390fd5b611ea160c954610100900460ff1660021490565b15611ebf5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611caf565b806001600160a01b038116611f265760405163538ba4f960e01b815260040160405180910390fd5b611f2f83612290565b6111fd826122ee565b5f54610100900460ff16610c575760405162461bcd60e51b8152600401610ba790613a8c565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b0390811685529252909120541680611fa0576106ba8261235e565b919050565b815f03611fb157505050565b611fcb83838360405180602001604052805f81525061253a565b6111fd57604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169161202e9190613ad7565b5f60405180830381855afa9150503d805f8114612066576040519150601f19603f3d011682016040523d82523d5f602084013e61206b565b606091505b5091509150816120895760405180602001604052805f815250611467565b61146781612577565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169161202e9190613ad7565b6001600160a01b0381163b6121455760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ba7565b5f5160206141d45f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61217c836126e4565b5f825111806121885750805b156111fd576121978383612723565b50505050565b6097545f906001600160a01b0316806121c957604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561221b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114679190613af2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff166122b65760405162461bcd60e51b8152600401610ba790613a8c565b6122be611f38565b6122dc6001600160a01b038216156122d65781611d17565b33611d17565b5060c9805461ff001916610100179055565b5f54610100900460ff166123145760405162461bcd60e51b8152600401610ba790613a8c565b6001600160401b0346111561233c5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f5f6123726033546001600160a01b031690565b60975460208501518551604080880151606089015191516123a396956001600160a01b031694939290602401613b0d565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b17905290506123eb6e627269646765645f6572633131353560881b5f6110df565b816040516123f890612854565b612403929190613b6e565b604051809103905ff08015801561241c573d5f5f3e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b0390941693909317178255850151919350849160018201906124809082613bdc565b50606082015160028201906124959082613bdc565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b9261252c9290613c96565b60405180910390a450919050565b5f6001600160a01b03851661256257604051634c67134d60e11b815260040160405180910390fd5b5f5f835160208501878988f195945050505050565b6060604082511061259657818060200190518101906106ba9190613cba565b81516020036126d1575f5b60208160ff161080156125d65750828160ff16815181106125c4576125c46133f5565b01602001516001600160f81b03191615155b156125ed57806125e581613ceb565b9150506125a1565b5f8160ff166001600160401b0381111561260957612609612ae7565b6040519080825280601f01601f191660200182016040528015612633576020820181803683370190505b5090505f91505b60208260ff1610801561266f5750838260ff168151811061265d5761265d6133f5565b01602001516001600160f81b03191615155b15610c3e57838260ff1681518110612689576126896133f5565b602001015160f81c60f81b818360ff16815181106126a9576126a96133f5565b60200101906001600160f81b03191690815f1a905350816126c981613ceb565b92505061263a565b505060408051602081019091525f815290565b6126ed816120d8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610c3e83836040518060600160405280602781526020016141f46027913960605f5f856001600160a01b03168560405161275f9190613ad7565b5f60405180830381855af49150503d805f8114612797576040519150601f19603f3d011682016040523d82523d5f602084013e61279c565b606091505b50915091506127ad868383876127b7565b9695505050505050565b606083156128255782515f0361281e576001600160a01b0385163b61281e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ba7565b5081611467565b611467838381511561283a5781518083602001fd5b8060405162461bcd60e51b8152600401610ba79190613a63565b6104ca80613d0a83390190565b5f5f60408385031215612872575f5ffd5b82356001600160401b03811115612887575f5ffd5b83016101608186031215612899575f5ffd5b946020939093013593505050565b5f602082840312156128b7575f5ffd5b81356001600160e01b031981168114610c3e575f5ffd5b5f602082840312156128de575f5ffd5b81356001600160401b038111156128f3575f5ffd5b82016101008185031215610c3e575f5ffd5b5f5b8381101561291f578181015183820152602001612907565b50505f910152565b5f815180845261293e816020860160208601612905565b601f01601f19169290920160200192915050565b6020815261296c6020820183516001600160401b03169052565b5f602083015161298760408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e08301516001600160a01b038116610100840152506101008301516001600160a01b0381166101208401525061012083015161014083015261014083015161016080840152611467610180840182612927565b6001600160a01b0381168114610c2c575f5ffd5b8035611fa081612a42565b5f60208284031215612a71575f5ffd5b8135610c3e81612a42565b6001600160401b0381168114610c2c575f5ffd5b8035611fa081612a7c565b8015158114610c2c575f5ffd5b5f5f5f60608486031215612aba575f5ffd5b8335612ac581612a7c565b9250602084013591506040840135612adc81612a9b565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b0381118282101715612b1d57612b1d612ae7565b60405290565b60405161010081016001600160401b0381118282101715612b1d57612b1d612ae7565b60405161016081016001600160401b0381118282101715612b1d57612b1d612ae7565b604051601f8201601f191681016001600160401b0381118282101715612b9157612b91612ae7565b604052919050565b5f6001600160401b03821115612bb157612bb1612ae7565b50601f01601f191660200190565b5f82601f830112612bce575f5ffd5b8135602083015f612be6612be184612b99565b612b69565b9050828152858383011115612bf9575f5ffd5b828260208301375f92810160200192909252509392505050565b5f5f60408385031215612c24575f5ffd5b8235612c2f81612a42565b915060208301356001600160401b03811115612c49575f5ffd5b612c5585828601612bbf565b9150509250929050565b5f5f60408385031215612c70575f5ffd5b823591506020830135612c8281612a42565b809150509250929050565b5f5f83601f840112612c9d575f5ffd5b5081356001600160401b03811115612cb3575f5ffd5b602083019150836020828501011115612cca575f5ffd5b9250929050565b5f5f60208385031215612ce2575f5ffd5b82356001600160401b03811115612cf7575f5ffd5b612d0385828601612c8d565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90612d4190830185612927565b8281036060840152612d538185612927565b979650505050505050565b5f5f60408385031215612d6f575f5ffd5b823591506020830135612c8281612a9b565b5f5f83601f840112612d91575f5ffd5b5081356001600160401b03811115612da7575f5ffd5b6020830191508360208260051b8501011115612cca575f5ffd5b5f5f5f5f5f5f5f5f60a0898b031215612dd8575f5ffd5b8835612de381612a42565b97506020890135612df381612a42565b965060408901356001600160401b03811115612e0d575f5ffd5b612e198b828c01612d81565b90975095505060608901356001600160401b03811115612e37575f5ffd5b612e438b828c01612d81565b90955093505060808901356001600160401b03811115612e61575f5ffd5b612e6d8b828c01612c8d565b999c989b5096995094979396929594505050565b5f5f60408385031215612e92575f5ffd5b8235612e9d81612a42565b91506020830135612c8281612a42565b5f5f5f5f5f5f60a08789031215612ec2575f5ffd5b8635612ecd81612a42565b95506020870135612edd81612a42565b9450604087013593506060870135925060808701356001600160401b03811115612f05575f5ffd5b612f1189828a01612c8d565b979a9699509497509295939492505050565b5f5f8335601e19843603018112612f38575f5ffd5b8301803591506001600160401b03821115612f51575f5ffd5b602001915036819003821315612cca575f5ffd5b5f5f85851115612f73575f5ffd5b83861115612f7f575f5ffd5b5050820193919092039150565b5f60208284031215612f9c575f5ffd5b81356001600160401b03811115612fb1575f5ffd5b61146784828501612bbf565b8051611fa081612a7c565b8051611fa081612a42565b5f82601f830112612fe2575f5ffd5b8151602083015f612ff5612be184612b99565b9050828152858383011115613008575f5ffd5b613016836020830184612905565b95945050505050565b5f6001600160401b0382111561303757613037612ae7565b5060051b60200190565b5f82601f830112613050575f5ffd5b815161305e612be18261301f565b8082825260208201915060208360051b86010192508583111561307f575f5ffd5b602085015b8381101561309c578051835260209283019201613084565b5095945050505050565b5f5f5f5f5f60a086880312156130ba575f5ffd5b85516001600160401b038111156130cf575f5ffd5b8601608081890312156130e0575f5ffd5b6130e8612afb565b81516130f381612a7c565b8152602082015161310381612a42565b602082015260408201516001600160401b03811115613120575f5ffd5b61312c8a828501612fd3565b60408301525060608201516001600160401b0381111561314a575f5ffd5b6131568a828501612fd3565b606083015250955061316c905060208701612fc8565b935061317a60408701612fc8565b925060608601516001600160401b03811115613194575f5ffd5b6131a088828901613041565b92505060808601516001600160401b038111156131bb575f5ffd5b6131c788828901613041565b9150509295509295909350565b5f8151808452602084019350602083015f5b828110156132045781518652602095860195909101906001016131e6565b5093949350505050565b6001600160a01b038581168252841660208201526080604082018190525f90613239908301856131d4565b8281036060840152612d5381856131d4565b63ffffffff81168114610c2c575f5ffd5b8035611fa08161324b565b5f82601f830112613276575f5ffd5b8135613284612be18261301f565b8082825260208201915060208360051b8601019250858311156132a5575f5ffd5b602085015b8381101561309c5780358352602092830192016132aa565b5f61010082360312156132d3575f5ffd5b6132db612b23565b6132e483612a90565b81526132f260208401612a56565b602082015261330360408401612a56565b604082015261331460608401612a90565b606082015261332560808401612a56565b608082015261333660a0840161325c565b60a082015260c08301356001600160401b03811115613353575f5ffd5b61335f36828601613267565b60c08301525060e08301356001600160401b0381111561337d575f5ffd5b61338936828601613267565b60e08301525092915050565b5f602082840312156133a5575f5ffd5b8135610c3e81612a7c565b5f5f8335601e198436030181126133c5575f5ffd5b8301803591506001600160401b038211156133de575f5ffd5b6020019150600581901b3603821315612cca575f5ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215613419575f5ffd5b8135610c3e8161324b565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106ba576106ba613424565b8051611fa08161324b565b5f5f60408385031215613467575f5ffd5b825160208401519092506001600160401b03811115613484575f5ffd5b83016101608186031215613496575f5ffd5b61349e612b46565b6134a782612fbd565b81526134b560208301612fbd565b60208201526134c66040830161344b565b60408201526134d760608301612fc8565b60608201526134e860808301612fbd565b60808201526134f960a08301612fc8565b60a082015261350a60c08301612fbd565b60c082015261351b60e08301612fc8565b60e082015261352d6101008301612fc8565b61010082015261012082810151908201526101408201516001600160401b03811115613557575f5ffd5b61356387828501612fd3565b6101408301525080925050509250929050565b8183525f6001600160fb1b0383111561358d575f5ffd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f906135e19083018688613576565b82810360808401526135f4818587613576565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f5f5f60a086880312156136ae575f5ffd5b85356001600160401b038111156136c3575f5ffd5b8601608081890312156136d4575f5ffd5b6136dc612afb565b81356136e781612a7c565b815260208201356136f781612a42565b602082015260408201356001600160401b03811115613714575f5ffd5b6137208a828501612bbf565b60408301525060608201356001600160401b0381111561373e575f5ffd5b61374a8a828501612bbf565b6060830152509550613760905060208701612a56565b935061376e60408701612a56565b925060608601356001600160401b03811115613788575f5ffd5b61379488828901613267565b92505060808601356001600160401b038111156137af575f5ffd5b6131c788828901613267565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f906137f5908301856131d4565b828103608084015261380781856131d4565b98975050505050505050565b600181811c9082168061382757607f821691505b602082108103610b4157634e487b7160e01b5f52602260045260245ffd5b5f6060828403128015613856575f5ffd5b50604051606081016001600160401b038111828210171561387957613879612ae7565b60405282518152602083015161388e81612a42565b602082015260408301516138a181612a7c565b60408201529392505050565b6001600160a01b0385811682528416602082015260a0604082018190525f906138d8908301856131d4565b82810360608401526138ea81856131d4565b83810360809094019390935250505f8152602001949350505050565b6001600160a01b03841681526060602082018190525f90613929908301856131d4565b82810360408401526127ad81856131d4565b5f6020828403121561394b575f5ffd5b8151610c3e81612a9b565b6001600160a01b0387811682528616602082015260a0604082018190525f906139829083018688613576565b8281036060840152613995818587613576565b83810360809094019390935250505f81526020019695505050505050565b60a080825288516001600160401b03169082015260208801516001600160a01b031660c08201526040880151608060e08301525f906139f6610120840182612927565b905060608a0151609f1984830301610100850152613a148282612927565b915050613a2c602084018a6001600160a01b03169052565b6001600160a01b03881660408401528281036060840152613a4e818789613576565b905082810360808401526135f4818587613576565b602081525f610c3e6020830184612927565b5f60208284031215613a85575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251613ae8818460208701612905565b9190910192915050565b5f60208284031215613b02575f5ffd5b8151610c3e81612a42565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f90613b4f90830185612927565b82810360a0840152613b618185612927565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f90610c3b90830184612927565b601f8211156111fd57805f5260205f20601f840160051c81016020851015613bb65750805b601f840160051c820191505b81811015613bd5575f8155600101613bc2565b5050505050565b81516001600160401b03811115613bf557613bf5612ae7565b613c0981613c038454613813565b84613b91565b6020601f821160018114613c3b575f8315613c245750848201515b5f19600385901b1c1916600184901b178455613bd5565b5f84815260208120601f198516915b82811015613c6a5787850151825560209485019460019092019101613c4a565b5084821015613c8757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b604081525f613ca86040830185612927565b82810360208401526130168185612927565b5f60208284031215613cca575f5ffd5b81516001600160401b03811115613cdf575f5ffd5b61146784828501612fd3565b5f60ff821660ff8103613d0057613d00613424565b6001019291505056fe60806040526040516104ca3803806104ca833981016040819052610022916102d2565b61002d82825f610034565b50506103ed565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c383836040518060600160405280602781526020016104a36027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f856001600160a01b03168560405161019991906103a0565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103bb565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f5f604083850312156102e3575f5ffd5b82516001600160a01b03811681146102f9575f5ffd5b60208401519092506001600160401b03811115610314575f5ffd5b8301601f81018513610324575f5ffd5b80516001600160401b0381111561033d5761033d61029c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561036b5761036b61029c565b604052818152828201602001871015610382575f5ffd5b6103938260208301602086016102b0565b8093505050509250929050565b5f82516103b18184602087016102b0565b9190910192915050565b602081525f82518060208401526103d98160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f95f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e67f8ea00e362cad72cd2e8e61f89b237848f76dd2a93bc34c0064a232f8158c64736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000004": { + "contractName": "ERC1155Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000004" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010096": { + "contractName": "BridgedERC20", + "storage": {}, + "code": "0x608060405260043610610233575f3560e01c806370a0823111610129578063a77f1516116100a8578063dd62ed3e1161006d578063dd62ed3e14610684578063e07baba6146106a3578063e30c3978146106e0578063f12506c1146106fd578063f2fde38b14610711575f5ffd5b8063a77f1516146105e7578063a86f9d9e14610608578063a9059cbb14610627578063b8f2e0c514610646578063bb86ef9314610665575f5ffd5b80638456cb59116100ee5780638456cb591461056f5780638abf6077146105835780638da5cb5b1461059757806395d89b41146105b4578063a457c2d7146105c8575f5ffd5b806370a08231146104d3578063715018a61461050757806379ba50971461051b5780637cf8ed0d1461052f5780637e4746341461054f575f5ffd5b806339509351116101b557806342966c681161017a57806342966c681461045757806349d12605146104765780634f1ef2861461048c57806352d1902d1461049f5780635c975abb146104b3575f5ffd5b806339509351146103af5780633ab76e9f146103ce5780633eb6b8cf146104055780633f4ba83a1461042457806340c10f1914610438575f5ffd5b806323b872dd116101fb57806323b872dd146102ea57806326afaadd146103095780633075db561461034d578063313ce567146103615780633659cfe61461038e575f5ffd5b806301ffc9a71461023757806306fdde031461026b578063095ea7b31461028c5780630ae74548146102ab57806318160ddd146102cc575b5f5ffd5b348015610242575f5ffd5b5061025661025136600461218c565b610730565b60405190151581526020015b60405180910390f35b348015610276575f5ffd5b5061027f6107d2565b60405161026291906121d5565b348015610297575f5ffd5b506102566102a636600461221b565b610862565b3480156102b6575f5ffd5b5061012f5461025690600160a01b900460ff1681565b3480156102d7575f5ffd5b5060fd545b604051908152602001610262565b3480156102f5575f5ffd5b50610256610304366004612245565b610879565b348015610314575f5ffd5b5061032e61012d5461012e546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610262565b348015610358575f5ffd5b5061025661089e565b34801561036c575f5ffd5b5061012d54600160a01b900460ff165b60405160ff9091168152602001610262565b348015610399575f5ffd5b506103ad6103a8366004612283565b6108b6565b005b3480156103ba575f5ffd5b506102566103c936600461221b565b610986565b3480156103d9575f5ffd5b506097546103ed906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b348015610410575f5ffd5b506103ed61041f3660046122b2565b6109a7565b34801561042f575f5ffd5b506103ad6109bb565b348015610443575f5ffd5b506103ad61045236600461221b565b6109cf565b348015610462575f5ffd5b506103ad6104713660046122f8565b610ae9565b348015610481575f5ffd5b506102dc61012e5481565b6103ad61049a366004612323565b610c26565b3480156104aa575f5ffd5b506102dc610cdb565b3480156104be575f5ffd5b5061025660c954610100900460ff1660021490565b3480156104de575f5ffd5b506102dc6104ed366004612283565b6001600160a01b03165f90815260fb602052604090205490565b348015610512575f5ffd5b506103ad610d8c565b348015610526575f5ffd5b506103ad610d9d565b34801561053a575f5ffd5b5061012d546103ed906001600160a01b031681565b34801561055a575f5ffd5b5061012f546103ed906001600160a01b031681565b34801561057a575f5ffd5b506103ad610e14565b34801561058e575f5ffd5b506103ed610e27565b3480156105a2575f5ffd5b506033546001600160a01b03166103ed565b3480156105bf575f5ffd5b5061027f610e35565b3480156105d3575f5ffd5b506102566105e236600461221b565b610e44565b3480156105f2575f5ffd5b5061012d5461037c90600160a01b900460ff1681565b348015610613575f5ffd5b506103ed6106223660046123e6565b610ec9565b348015610632575f5ffd5b5061025661064136600461221b565b610ed5565b348015610651575f5ffd5b506103ad610660366004612410565b610ee2565b348015610670575f5ffd5b506103ad61067f36600461247e565b61105f565b34801561068f575f5ffd5b506102dc61069e366004612544565b61121f565b3480156106ae575f5ffd5b5060c9546106c8906201000090046001600160401b031681565b6040516001600160401b039091168152602001610262565b3480156106eb575f5ffd5b506065546001600160a01b03166103ed565b348015610708575f5ffd5b50610256611249565b34801561071c575f5ffd5b506103ad61072b366004612283565b611274565b5f6001600160e01b0319821663093e326b60e21b148061076057506001600160e01b0319821663bb86ef9360e01b145b8061077b57506001600160e01b0319821663b8f2e0c560e01b145b8061079657506001600160e01b031982166336372b0760e01b145b806107b157506001600160e01b0319821663a219a02560e01b145b806107cc57506001600160e01b031982166301ffc9a760e01b145b92915050565b606060fe80546107e19061257b565b80601f016020809104026020016040519081016040528092919081815260200182805461080d9061257b565b80156108585780601f1061082f57610100808354040283529160200191610858565b820191905f5260205f20905b81548152906001019060200180831161083b57829003601f168201915b5050505050905090565b5f3361086f8185856112e5565b5060019392505050565b5f33610886858285611408565b610891858585611480565b60019150505b9392505050565b5f60026108ad60c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100961630036109075760405162461bcd60e51b81526004016108fe906125b3565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000100966001600160a01b0316610939611634565b6001600160a01b03161461095f5760405162461bcd60e51b81526004016108fe906125ff565b6109688161164f565b604080515f8082526020820190925261098391839190611657565b50565b5f3361086f818585610998838361121f565b6109a2919061264b565b6112e5565b5f6109b38484846117c1565b949350505050565b6109c3611813565b6109cd335f6118a3565b565b6109e360c954610100900460ff1660021490565b15610a015760405163bae6e2a960e01b815260040160405180910390fd5b6002610a0f60c95460ff1690565b60ff1603610a305760405163dfc60d8560e01b815260040160405180910390fd5b610a3a60026118ab565b610a42611249565b15610a605760405163270bf77560e01b815260040160405180910390fd5b61012f546001600160a01b031633819003610ac757826001600160a01b0316816001600160a01b03167fe502aa3e015149f4b76a0b2b5394e3100903c4af27c3ddc98385395d3f55252684604051610aba91815260200190565b60405180910390a3610ad0565b610ad0336118c1565b610ada838361193d565b50610ae560016118ab565b5050565b610afd60c954610100900460ff1660021490565b15610b1b5760405163bae6e2a960e01b815260040160405180910390fd5b6002610b2960c95460ff1690565b60ff1603610b4a5760405163dfc60d8560e01b815260040160405180910390fd5b610b5460026118ab565b610b5c611249565b15610c095761012f546040518281526001600160a01b0390911690339082907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a36040516340c10f1960e01b8152336004820152602481018390526001600160a01b038216906340c10f19906044015f604051808303815f87803b158015610bed575f5ffd5b505af1158015610bff573d5f5f3e3d5ffd5b5050505050610c12565b610c12336118c1565b610c1c3382611a07565b61098360016118ab565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000010096163003610c6e5760405162461bcd60e51b81526004016108fe906125b3565b7f00000000000000000000000001670010000000000000000000000000000100966001600160a01b0316610ca0611634565b6001600160a01b031614610cc65760405162461bcd60e51b81526004016108fe906125ff565b610ccf8261164f565b610ae582826001611657565b5f306001600160a01b037f00000000000000000000000001670010000000000000000000000000000100961614610d7a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108fe565b505f5160206128085f395f51905f5290565b610d94611b44565b6109cd5f611b9e565b60655433906001600160a01b03168114610e0b5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016108fe565b61098381611b9e565b610e1c611bb7565b6109cd3360016118a3565b5f610e30611634565b905090565b606060ff80546107e19061257b565b5f3381610e51828661121f565b905083811015610eb15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108fe565b610ebe82868684036112e5565b506001949350505050565b5f6108974684846117c1565b5f3361086f818585611480565b610ef660c954610100900460ff1660021490565b15610f145760405163bae6e2a960e01b815260040160405180910390fd5b6a195c98cc8c17dd985d5b1d60aa1b610f2e816001610ec9565b6001600160a01b0316336001600160a01b031614610f5f57604051630d85cccf60e11b815260040160405180910390fd5b6002610f6d60c95460ff1690565b60ff1603610f8e5760405163dfc60d8560e01b815260040160405180910390fd5b610f9860026118ab565b61012f546001600160a01b038481169116148015610fc9575061012f60149054906101000a900460ff161515821515145b15610fe75760405163c118d2f360e01b815260040160405180910390fd5b61012f80546001600160a01b0385166001600160a81b03199091168117600160a01b851515908102919091179092556040805191825260208201929092527fa6b6f959792843a48d9d03d13595f2de7c86ae0ce12ef0fa759dd911b205e565910160405180910390a161105a60016118ab565b505050565b5f54610100900460ff161580801561107d57505f54600160ff909116105b806110965750303b15801561109657505f5460ff166001145b6110f95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108fe565b5f805460ff19166001179055801561111a575f805461ff0019166101001790555b6111248888611c28565b61112e8a8a611c64565b61119f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611c9e92505050565b61012d805461012e89905560ff8816600160a01b026001600160a81b03199091166001600160a01b038b16171790558015611213575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b039182165f90815260fc6020908152604080832093909416825291909152205490565b61012f545f906001600160a01b031615801590610e3057505061012f54600160a01b900460ff161590565b61127c611b44565b606580546001600160a01b0383166001600160a01b031990911681179091556112ad6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b0383166113475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108fe565b6001600160a01b0382166113a85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108fe565b6001600160a01b038381165f81815260fc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f611413848461121f565b90505f19811461147a578181101561146d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fe565b61147a84848484036112e5565b50505050565b6001600160a01b0383166114e45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108fe565b6001600160a01b0382166115465760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108fe565b611551838383611cce565b6001600160a01b0383165f90815260fb6020526040902054818110156115c85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108fe565b6001600160a01b038085165f81815260fb602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116279086815260200190565b60405180910390a361147a565b5f5160206128085f395f51905f52546001600160a01b031690565b610983611b44565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561168a5761105a83611d09565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156116e4575060408051601f3d908101601f191682019092526116e19181019061266a565b60015b6117475760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108fe565b5f5160206128085f395f51905f5281146117b55760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108fe565b5061105a838383611da4565b5f6117cc8484611dc8565b9050811580156117e357506001600160a01b038116155b1561089757604051632b0d65db60e01b81526001600160401b0385166004820152602481018490526044016108fe565b61182760c954610100900460ff1660021490565b6118445760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610ae5611b44565b60c9805460ff191660ff92909216919091179055565b6a195c98cc8c17dd985d5b1d60aa1b6118e26033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161415801561191f5750611909816001610ec9565b6001600160a01b0316336001600160a01b031614155b15610ae557604051630d85cccf60e11b815260040160405180910390fd5b6001600160a01b0382166119935760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fe565b61199e5f8383611cce565b8060fd5f8282546119af919061264b565b90915550506001600160a01b0382165f81815260fb60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216611a675760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108fe565b611a72825f83611cce565b6001600160a01b0382165f90815260fb602052604090205481811015611ae55760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108fe565b6001600160a01b0383165f81815260fb60209081526040808320868603905560fd80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6033546001600160a01b031633146109cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b606580546001600160a01b031916905561098381611e6a565b611bcb60c954610100900460ff1660021490565b15611be95760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611899565b6001600160a01b0382161580611c3c575080155b80611c4657504681145b15610ae55760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611c8c5760405163538ba4f960e01b815260040160405180910390fd5b611c9583611ebb565b61105a82611f19565b5f54610100900460ff16611cc45760405162461bcd60e51b81526004016108fe90612681565b610ae58282611f89565b611ce260c954610100900460ff1660021490565b15611d005760405163bae6e2a960e01b815260040160405180910390fd5b61105a82611fc8565b6001600160a01b0381163b611d765760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108fe565b5f5160206128085f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b611dad83611ff1565b5f82511180611db95750805b1561105a5761147a8383612030565b6097545f906001600160a01b031680611df457604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611e46573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b391906126cc565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16611ee15760405162461bcd60e51b81526004016108fe90612681565b611ee9612055565b611f076001600160a01b03821615611f015781611b9e565b33611b9e565b5060c9805461ff001916610100179055565b5f54610100900460ff16611f3f5760405162461bcd60e51b81526004016108fe90612681565b6001600160401b03461115611f675760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff16611faf5760405162461bcd60e51b81526004016108fe90612681565b60fe611fbb8382612732565b5060ff61105a8282612732565b306001600160a01b0382160361098357604051630c292c9d60e21b815260040160405180910390fd5b611ffa81611d09565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061089783836040518060600160405280602781526020016128286027913961207b565b5f54610100900460ff166109cd5760405162461bcd60e51b81526004016108fe90612681565b60605f5f856001600160a01b03168560405161209791906127ec565b5f60405180830381855af49150503d805f81146120cf576040519150601f19603f3d011682016040523d82523d5f602084013e6120d4565b606091505b50915091506120e5868383876120ef565b9695505050505050565b6060831561215d5782515f03612156576001600160a01b0385163b6121565760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fe565b50816109b3565b6109b383838151156121725781518083602001fd5b8060405162461bcd60e51b81526004016108fe91906121d5565b5f6020828403121561219c575f5ffd5b81356001600160e01b031981168114610897575f5ffd5b5f5b838110156121cd5781810151838201526020016121b5565b50505f910152565b602081525f82518060208401526121f38160408501602087016121b3565b601f01601f19169190910160400192915050565b6001600160a01b0381168114610983575f5ffd5b5f5f6040838503121561222c575f5ffd5b823561223781612207565b946020939093013593505050565b5f5f5f60608486031215612257575f5ffd5b833561226281612207565b9250602084013561227281612207565b929592945050506040919091013590565b5f60208284031215612293575f5ffd5b813561089781612207565b803580151581146122ad575f5ffd5b919050565b5f5f5f606084860312156122c4575f5ffd5b83356001600160401b03811681146122da575f5ffd5b9250602084013591506122ef6040850161229e565b90509250925092565b5f60208284031215612308575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215612334575f5ffd5b823561233f81612207565b915060208301356001600160401b03811115612359575f5ffd5b8301601f81018513612369575f5ffd5b80356001600160401b038111156123825761238261230f565b604051601f8201601f19908116603f011681016001600160401b03811182821017156123b0576123b061230f565b6040528181528282016020018710156123c7575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f604083850312156123f7575f5ffd5b823591506124076020840161229e565b90509250929050565b5f5f60408385031215612421575f5ffd5b823561242c81612207565b91506124076020840161229e565b5f5f83601f84011261244a575f5ffd5b5081356001600160401b03811115612460575f5ffd5b602083019150836020828501011115612477575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f60e08a8c031215612496575f5ffd5b89356124a181612207565b985060208a01356124b181612207565b975060408a01356124c181612207565b965060608a0135955060808a013560ff811681146124dd575f5ffd5b945060a08a01356001600160401b038111156124f7575f5ffd5b6125038c828d0161243a565b90955093505060c08a01356001600160401b03811115612521575f5ffd5b61252d8c828d0161243a565b915080935050809150509295985092959850929598565b5f5f60408385031215612555575f5ffd5b823561256081612207565b9150602083013561257081612207565b809150509250929050565b600181811c9082168061258f57607f821691505b6020821081036125ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b808201808211156107cc57634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561267a575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156126dc575f5ffd5b815161089781612207565b601f82111561105a57805f5260205f20601f840160051c8101602085101561270c5750805b601f840160051c820191505b8181101561272b575f8155600101612718565b5050505050565b81516001600160401b0381111561274b5761274b61230f565b61275f81612759845461257b565b846126e7565b6020601f821160018114612791575f831561277a5750848201515b5f19600385901b1c1916600184901b17845561272b565b5f84815260208120601f198516915b828110156127c057878501518255602094850194600190920191016127a0565b50848210156127dd57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f82516127fd8184602087016121b3565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206de11e098828560ed8b32ec4c49b5259fec7bac640db1effdfd9fcc5e0efa77b64736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010097": { + "contractName": "BridgedERC721", + "storage": {}, + "code": "0x608060405260043610610207575f3560e01c80636352211e11610113578063a22cb4651161009d578063e07baba61161006d578063e07baba6146105c3578063e30c397814610600578063e985e9c51461061d578063ef8c4ae614610665578063f2fde38b14610684575f5ffd5b8063a22cb46514610547578063a86f9d9e14610566578063b88d4fde14610585578063c87b56dd146105a4575f5ffd5b80637cf8ed0d116100e35780637cf8ed0d146104ce5780638456cb59146104ee5780638abf6077146105025780638da5cb5b1461051657806395d89b4114610533575f5ffd5b80636352211e1461046857806370a0823114610487578063715018a6146104a657806379ba5097146104ba575f5ffd5b80633eb6b8cf1161019457806342966c681161016457806342966c68146103de57806349d12605146103fd5780634f1ef2861461042157806352d1902d146104345780635c975abb14610448575f5ffd5b80633eb6b8cf1461036d5780633f4ba83a1461038c57806340c10f19146103a057806342842e0e146103bf575f5ffd5b806323b872dd116101da57806323b872dd146102b857806326afaadd146102d75780633075db561461031b5780633659cfe61461032f5780633ab76e9f1461034e575f5ffd5b806301ffc9a71461020b57806306fdde031461023f578063081812fc14610260578063095ea7b314610297575b5f5ffd5b348015610216575f5ffd5b5061022a61022536600461253b565b6106a3565b60405190151581526020015b60405180910390f35b34801561024a575f5ffd5b506102536106e8565b60405161023691906125a3565b34801561026b575f5ffd5b5061027f61027a3660046125b5565b610779565b6040516001600160a01b039091168152602001610236565b3480156102a2575f5ffd5b506102b66102b13660046125e0565b61079f565b005b3480156102c3575f5ffd5b506102b66102d236600461260a565b6108b8565b3480156102e2575f5ffd5b506102fc61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610236565b348015610326575f5ffd5b5061022a6108e9565b34801561033a575f5ffd5b506102b6610349366004612648565b610901565b348015610359575f5ffd5b5060975461027f906001600160a01b031681565b348015610378575f5ffd5b5061027f610387366004612677565b6109c8565b348015610397575f5ffd5b506102b66109de565b3480156103ab575f5ffd5b506102b66103ba3660046125e0565b6109f2565b3480156103ca575f5ffd5b506102b66103d936600461260a565b610abd565b3480156103e9575f5ffd5b506102b66103f83660046125b5565b610ad7565b348015610408575f5ffd5b506104136101605481565b604051908152602001610236565b6102b661042f36600461275a565b610bd6565b34801561043f575f5ffd5b50610413610c8b565b348015610453575f5ffd5b5061022a60c954610100900460ff1660021490565b348015610473575f5ffd5b5061027f6104823660046125b5565b610d3c565b348015610492575f5ffd5b506104136104a1366004612648565b610d9c565b3480156104b1575f5ffd5b506102b6610e21565b3480156104c5575f5ffd5b506102b6610e32565b3480156104d9575f5ffd5b5061015f5461027f906001600160a01b031681565b3480156104f9575f5ffd5b506102b6610ea9565b34801561050d575f5ffd5b5061027f610ebc565b348015610521575f5ffd5b506033546001600160a01b031661027f565b34801561053e575f5ffd5b50610253610eca565b348015610552575f5ffd5b506102b66105613660046127a6565b610eda565b348015610571575f5ffd5b5061027f6105803660046127d9565b610ee5565b348015610590575f5ffd5b506102b661059f3660046127fa565b610ef1565b3480156105af575f5ffd5b506102536105be3660046125b5565b610f29565b3480156105ce575f5ffd5b5060c9546105e8906201000090046001600160401b031681565b6040516001600160401b039091168152602001610236565b34801561060b575f5ffd5b506065546001600160a01b031661027f565b348015610628575f5ffd5b5061022a610637366004612861565b6001600160a01b039182165f9081526101326020908152604080832093909416825291909152205460ff1690565b348015610670575f5ffd5b506102b661067f3660046128dc565b610f52565b34801561068f575f5ffd5b506102b661069e366004612648565b611104565b5f6001600160e01b0319821663093e326b60e21b14806106d357506001600160e01b031982166377c6257360e11b145b806106e257506106e282611175565b92915050565b606061012d80546106f890612989565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612989565b801561076f5780601f106107465761010080835404028352916020019161076f565b820191905f5260205f20905b81548152906001019060200180831161075257829003601f168201915b5050505050905090565b5f610783826111c4565b505f90815261013160205260409020546001600160a01b031690565b5f6107a982610d3c565b9050806001600160a01b0316836001600160a01b03160361081b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061083757506108378133610637565b6108a95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610812565b6108b38383611223565b505050565b6108c23382611291565b6108de5760405162461bcd60e51b8152600401610812906129c1565b6108b383838361130f565b5f60026108f860c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100971630036109495760405162461bcd60e51b815260040161081290612a0e565b7f00000000000000000000000001670010000000000000000000000000000100976001600160a01b031661097b611481565b6001600160a01b0316146109a15760405162461bcd60e51b815260040161081290612a5a565b6109aa8161149c565b604080515f808252602082019092526109c5918391906114a4565b50565b5f6109d484848461160e565b90505b9392505050565b6109e6611660565b6109f0335f6116f0565b565b610a0660c954610100900460ff1660021490565b15610a245760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610a3f816001610ee5565b6001600160a01b0316336001600160a01b031614610a7057604051630d85cccf60e11b815260040160405180910390fd5b6002610a7e60c95460ff1690565b60ff1603610a9f5760405163dfc60d8560e01b815260040160405180910390fd5b610aa960026116f8565b610ab3838361170e565b6108b360016116f8565b6108b383838360405180602001604052805f815250610ef1565b610aeb60c954610100900460ff1660021490565b15610b095760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610b24816001610ee5565b6001600160a01b0316336001600160a01b031614610b5557604051630d85cccf60e11b815260040160405180910390fd5b6002610b6360c95460ff1690565b60ff1603610b845760405163dfc60d8560e01b815260040160405180910390fd5b610b8e60026116f8565b33610b9883610d3c565b6001600160a01b031614610bbf5760405163358bf3d960e01b815260040160405180910390fd5b610bc882611727565b610bd260016116f8565b5050565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000010097163003610c1e5760405162461bcd60e51b815260040161081290612a0e565b7f00000000000000000000000001670010000000000000000000000000000100976001600160a01b0316610c50611481565b6001600160a01b031614610c765760405162461bcd60e51b815260040161081290612a5a565b610c7f8261149c565b610bd2828260016114a4565b5f306001600160a01b037f00000000000000000000000001670010000000000000000000000000000100971614610d2a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610812565b505f516020612e175f395f51905f5290565b5f81815261012f60205260408120546001600160a01b0316806106e25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f6001600160a01b038216610e055760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610812565b506001600160a01b03165f908152610130602052604090205490565b610e296117c9565b6109f05f611823565b60655433906001600160a01b03168114610ea05760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610812565b6109c581611823565b610eb161183c565b6109f03360016116f0565b5f610ec5611481565b905090565b606061012e80546106f890612989565b610bd23383836118ad565b5f6109d746848461160e565b610efb3383611291565b610f175760405162461bcd60e51b8152600401610812906129c1565b610f238484848461197b565b50505050565b61015f54610160546060916106e2916001600160a01b0390911690610f4d856119ae565b611a3d565b5f54610100900460ff1615808015610f7057505f54600160ff909116105b80610f895750303b158015610f8957505f5460ff166001145b610fec5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610812565b5f805460ff19166001179055801561100d575f805461ff0019166101001790555b6110178787611a87565b6110218989611ac3565b61109283838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611afd92505050565b61015f80546001600160a01b0319166001600160a01b03891617905561016086905580156110f9575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b61110c6117c9565b606580546001600160a01b0383166001600160a01b0319909116811790915561113d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b031982166380ac58cd60e01b14806111a557506001600160e01b03198216635b5e139f60e01b145b806106e257506301ffc9a760e01b6001600160e01b03198316146106e2565b5f81815261012f60205260409020546001600160a01b03166109c55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f8181526101316020526040902080546001600160a01b0319166001600160a01b038416908117909155819061125882610d3c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f5f61129c83610d3c565b9050806001600160a01b0316846001600160a01b031614806112e357506001600160a01b038082165f908152610132602090815260408083209388168352929052205460ff165b806113075750836001600160a01b03166112fc84610779565b6001600160a01b0316145b949350505050565b826001600160a01b031661132282610d3c565b6001600160a01b0316146113485760405162461bcd60e51b815260040161081290612aa6565b6001600160a01b0382166113aa5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610812565b6113b78383836001611b2d565b826001600160a01b03166113ca82610d3c565b6001600160a01b0316146113f05760405162461bcd60e51b815260040161081290612aa6565b5f8181526101316020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652610130855283862080545f190190559087168086528386208054600101905586865261012f90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f516020612e175f395f51905f52546001600160a01b031690565b6109c56117c9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114d7576108b383611b6d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611531575060408051601f3d908101601f1916820190925261152e91810190612aeb565b60015b6115945760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610812565b5f516020612e175f395f51905f5281146116025760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610812565b506108b3838383611c08565b5f6116198484611c2c565b90508115801561163057506001600160a01b038116155b156109d757604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610812565b61167460c954610100900460ff1660021490565b6116915760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610bd26117c9565b60c9805460ff191660ff92909216919091179055565b610bd2828260405180602001604052805f815250611cce565b5f61173182610d3c565b9050611740815f846001611b2d565b61174982610d3c565b5f8381526101316020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552610130845282852080545f1901905587855261012f909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6033546001600160a01b031633146109f05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610812565b606580546001600160a01b03191690556109c581611d00565b61185060c954610100900460ff1660021490565b1561186e5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016116e6565b816001600160a01b0316836001600160a01b03160361190e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610812565b6001600160a01b038381165f8181526101326020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61198684848461130f565b61199284848484611d51565b610f235760405162461bcd60e51b815260040161081290612b02565b60605f6119ba83611e4e565b60010190505f816001600160401b038111156119d8576119d86126bd565b6040519080825280601f01601f191660200182016040528015611a02576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a0c57509392505050565b6060611a53846001600160a01b03166014611f25565b611a5c846119ae565b83604051602001611a6f93929190612b54565b60405160208183030381529060405290509392505050565b6001600160a01b0382161580611a9b575080155b80611aa557504681145b15610bd25760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611aeb5760405163538ba4f960e01b815260040160405180910390fd5b611af4836120ba565b6108b382612118565b5f54610100900460ff16611b235760405162461bcd60e51b815260040161081290612bdc565b610bd28282612188565b611b4160c954610100900460ff1660021490565b15611b5f5760405163bae6e2a960e01b815260040160405180910390fd5b611b68836121c9565b610f23565b6001600160a01b0381163b611bda5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610812565b5f516020612e175f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b611c11836121f2565b5f82511180611c1d5750805b156108b357610f238383612231565b6097545f906001600160a01b031680611c5857604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611caa573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113079190612c27565b611cd88383612256565b611ce45f848484611d51565b6108b35760405162461bcd60e51b815260040161081290612b02565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6001600160a01b0384163b15611e4357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611d94903390899088908890600401612c42565b6020604051808303815f875af1925050508015611dce575060408051601f3d908101601f19168201909252611dcb91810190612c74565b60015b611e29573d808015611dfb576040519150601f19603f3d011682016040523d82523d5f602084013e611e00565b606091505b5080515f03611e215760405162461bcd60e51b815260040161081290612b02565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611307565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611e8c5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611eb8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ed657662386f26fc10000830492506010015b6305f5e1008310611eee576305f5e100830492506008015b6127108310611f0257612710830492506004015b60648310611f14576064830492506002015b600a83106106e25760010192915050565b60605f611f33836002612ca3565b611f3e906002612cba565b6001600160401b03811115611f5557611f556126bd565b6040519080825280601f01601f191660200182016040528015611f7f576020820181803683370190505b509050600360fc1b815f81518110611f9957611f99612ccd565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611fc757611fc7612ccd565b60200101906001600160f81b03191690815f1a9053505f611fe9846002612ca3565b611ff4906001612cba565b90505b600181111561206b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061202857612028612ccd565b1a60f81b82828151811061203e5761203e612ccd565b60200101906001600160f81b03191690815f1a90535060049490941c9361206481612ce1565b9050611ff7565b5083156109d75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610812565b5f54610100900460ff166120e05760405162461bcd60e51b815260040161081290612bdc565b6120e86123ef565b6121066001600160a01b038216156121005781611823565b33611823565b5060c9805461ff001916610100179055565b5f54610100900460ff1661213e5760405162461bcd60e51b815260040161081290612bdc565b6001600160401b034611156121665760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff166121ae5760405162461bcd60e51b815260040161081290612bdc565b61012d6121bb8382612d41565b5061012e6108b38282612d41565b306001600160a01b038216036109c557604051630c292c9d60e21b815260040160405180910390fd5b6121fb81611b6d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606109d78383604051806060016040528060278152602001612e3760279139612415565b6001600160a01b0382166122ac5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610812565b5f81815261012f60205260409020546001600160a01b0316156123115760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b61231e5f83836001611b2d565b5f81815261012f60205260409020546001600160a01b0316156123835760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b6001600160a01b0382165f818152610130602090815260408083208054600101905584835261012f90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f54610100900460ff166109f05760405162461bcd60e51b815260040161081290612bdc565b60605f5f856001600160a01b0316856040516124319190612dfb565b5f60405180830381855af49150503d805f8114612469576040519150601f19603f3d011682016040523d82523d5f602084013e61246e565b606091505b509150915061247f86838387612489565b9695505050505050565b606083156124f75782515f036124f0576001600160a01b0385163b6124f05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610812565b5081611307565b611307838381511561250c5781518083602001fd5b8060405162461bcd60e51b815260040161081291906125a3565b6001600160e01b0319811681146109c5575f5ffd5b5f6020828403121561254b575f5ffd5b81356109d781612526565b5f5b83811015612570578181015183820152602001612558565b50505f910152565b5f815180845261258f816020860160208601612556565b601f01601f19169290920160200192915050565b602081525f6109d76020830184612578565b5f602082840312156125c5575f5ffd5b5035919050565b6001600160a01b03811681146109c5575f5ffd5b5f5f604083850312156125f1575f5ffd5b82356125fc816125cc565b946020939093013593505050565b5f5f5f6060848603121561261c575f5ffd5b8335612627816125cc565b92506020840135612637816125cc565b929592945050506040919091013590565b5f60208284031215612658575f5ffd5b81356109d7816125cc565b80358015158114612672575f5ffd5b919050565b5f5f5f60608486031215612689575f5ffd5b83356001600160401b038116811461269f575f5ffd5b9250602084013591506126b460408501612663565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126126e0575f5ffd5b81356001600160401b038111156126f9576126f96126bd565b604051601f8201601f19908116603f011681016001600160401b0381118282101715612727576127276126bd565b60405281815283820160200185101561273e575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561276b575f5ffd5b8235612776816125cc565b915060208301356001600160401b03811115612790575f5ffd5b61279c858286016126d1565b9150509250929050565b5f5f604083850312156127b7575f5ffd5b82356127c2816125cc565b91506127d060208401612663565b90509250929050565b5f5f604083850312156127ea575f5ffd5b823591506127d060208401612663565b5f5f5f5f6080858703121561280d575f5ffd5b8435612818816125cc565b93506020850135612828816125cc565b92506040850135915060608501356001600160401b03811115612849575f5ffd5b612855878288016126d1565b91505092959194509250565b5f5f60408385031215612872575f5ffd5b823561287d816125cc565b9150602083013561288d816125cc565b809150509250929050565b5f5f83601f8401126128a8575f5ffd5b5081356001600160401b038111156128be575f5ffd5b6020830191508360208285010111156128d5575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f60c0898b0312156128f3575f5ffd5b88356128fe816125cc565b9750602089013561290e816125cc565b9650604089013561291e816125cc565b95506060890135945060808901356001600160401b0381111561293f575f5ffd5b61294b8b828c01612898565b90955093505060a08901356001600160401b03811115612969575f5ffd5b6129758b828c01612898565b999c989b5096995094979396929594505050565b600181811c9082168061299d57607f821691505b6020821081036129bb57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b5f60208284031215612afb575f5ffd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6832ba3432b932bab69d60b91b81525f8451612b77816009850160208901612556565b600160fe1b6009918401918201528451612b9881600a840160208901612556565b600981830101915050712f746f6b656e5552493f75696e743235363d60701b60018201528351612bcf816013840160208801612556565b0160130195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f60208284031215612c37575f5ffd5b81516109d7816125cc565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061247f90830184612578565b5f60208284031215612c84575f5ffd5b81516109d781612526565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106e2576106e2612c8f565b808201808211156106e2576106e2612c8f565b634e487b7160e01b5f52603260045260245ffd5b5f81612cef57612cef612c8f565b505f190190565b601f8211156108b357805f5260205f20601f840160051c81016020851015612d1b5750805b601f840160051c820191505b81811015612d3a575f8155600101612d27565b5050505050565b81516001600160401b03811115612d5a57612d5a6126bd565b612d6e81612d688454612989565b84612cf6565b6020601f821160018114612da0575f8315612d895750848201515b5f19600385901b1c1916600184901b178455612d3a565b5f84815260208120601f198516915b82811015612dcf5787850151825560209485019460019092019101612daf565b5084821015612dec57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f8251612e0c818460208701612556565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205ca793a2312f9b2fc8fc6bda4c8492cc141ddbe707fcc60e6d2cb7bff225a87a64736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010098": { + "contractName": "BridgedERC1155", + "storage": {}, + "code": "0x6080604052600436106101e5575f3560e01c8063715018a611610108578063a86f9d9e1161009d578063e30c39781161006d578063e30c39781461056f578063e985e9c51461058c578063ef8c4ae6146105d4578063f242432a146105f3578063f2fde38b14610612575f5ffd5b8063a86f9d9e146104d5578063b390c0ab146104f4578063d81d0a1514610513578063e07baba614610532575f5ffd5b80638abf6077116100d85780638abf6077146104715780638da5cb5b1461048557806395d89b41146104a2578063a22cb465146104b6575f5ffd5b8063715018a61461041557806379ba5097146104295780637cf8ed0d1461043d5780638456cb591461045d575f5ffd5b80633ab76e9f1161017e5780634e1273f41161014e5780634e1273f4146103a25780634f1ef286146103ce57806352d1902d146103e15780635c975abb146103f5575f5ffd5b80633ab76e9f146103225780633eb6b8cf146103595780633f4ba83a1461037857806349d126051461038c575f5ffd5b806326afaadd116101b957806326afaadd1461028a5780632eb2c2d6146102ce5780633075db56146102ef5780633659cfe614610303575f5ffd5b8062fdd58e146101e957806301ffc9a71461021b57806306fdde031461024a5780630e89341c1461026b575b5f5ffd5b3480156101f4575f5ffd5b506102086102033660046126ae565b610631565b6040519081526020015b60405180910390f35b348015610226575f5ffd5b5061023a6102353660046126ed565b6106cb565b6040519015158152602001610212565b348015610255575f5ffd5b5061025e61070a565b6040516102129190612755565b348015610276575f5ffd5b5061025e610285366004612767565b610797565b348015610295575f5ffd5b506102af61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610212565b3480156102d9575f5ffd5b506102ed6102e83660046128c0565b61082a565b005b3480156102fa575f5ffd5b5061023a610876565b34801561030e575f5ffd5b506102ed61031d366004612970565b61088e565b34801561032d575f5ffd5b50609754610341906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b348015610364575f5ffd5b5061034161037336600461299f565b610955565b348015610383575f5ffd5b506102ed61096b565b348015610397575f5ffd5b506102086101605481565b3480156103ad575f5ffd5b506103c16103bc3660046129e5565b61097f565b6040516102129190612aee565b6102ed6103dc366004612b00565b610a9e565b3480156103ec575f5ffd5b50610208610b57565b348015610400575f5ffd5b5061023a60c954610100900460ff1660021490565b348015610420575f5ffd5b506102ed610c09565b348015610434575f5ffd5b506102ed610c1a565b348015610448575f5ffd5b5061015f54610341906001600160a01b031681565b348015610468575f5ffd5b506102ed610c91565b34801561047c575f5ffd5b50610341610ca4565b348015610490575f5ffd5b506033546001600160a01b0316610341565b3480156104ad575f5ffd5b5061025e610cb2565b3480156104c1575f5ffd5b506102ed6104d0366004612b42565b610cc0565b3480156104e0575f5ffd5b506103416104ef366004612b75565b610ccb565b3480156104ff575f5ffd5b506102ed61050e366004612b96565b610cd7565b34801561051e575f5ffd5b506102ed61052d366004612bfd565b610da9565b34801561053d575f5ffd5b5060c954610557906201000090046001600160401b031681565b6040516001600160401b039091168152602001610212565b34801561057a575f5ffd5b506065546001600160a01b0316610341565b348015610597575f5ffd5b5061023a6105a6366004612c7d565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205460ff1690565b3480156105df575f5ffd5b506102ed6105ee366004612cf1565b610eed565b3480156105fe575f5ffd5b506102ed61060d366004612d9e565b61106d565b34801561061d575f5ffd5b506102ed61062c366004612970565b6110b2565b5f6001600160a01b0383166106a05760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b505f81815261012d602090815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216634d22606360e01b14806106fb57506001600160e01b031982166377c6257360e11b145b806106c557506106c582611123565b610162805461071890612df5565b80601f016020809104026020016040519081016040528092919081815260200182805461074490612df5565b801561078f5780601f106107665761010080835404028352916020019161078f565b820191905f5260205f20905b81548152906001019060200180831161077257829003601f168201915b505050505081565b606061012f80546107a790612df5565b80601f01602080910402602001604051908101604052809291908181526020018280546107d390612df5565b801561081e5780601f106107f55761010080835404028352916020019161081e565b820191905f5260205f20905b81548152906001019060200180831161080157829003601f168201915b50505050509050919050565b6001600160a01b038516331480610846575061084685336105a6565b6108625760405162461bcd60e51b815260040161069790612e2d565b61086f8585858585611172565b5050505050565b5f600261088560c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100981630036108d65760405162461bcd60e51b815260040161069790612e7b565b7f00000000000000000000000001670010000000000000000000000000000100986001600160a01b031661090861130d565b6001600160a01b03161461092e5760405162461bcd60e51b815260040161069790612ec7565b61093781611328565b604080515f8082526020820190925261095291839190611330565b50565b5f61096184848461149a565b90505b9392505050565b6109736114ec565b61097d335f61157c565b565b606081518351146109e45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610697565b5f83516001600160401b038111156109fe576109fe61277e565b604051908082528060200260200182016040528015610a27578160200160208202803683370190505b5090505f5b8451811015610a9657610a71858281518110610a4a57610a4a612f13565b6020026020010151858381518110610a6457610a64612f13565b6020026020010151610631565b828281518110610a8357610a83612f13565b6020908102919091010152600101610a2c565b509392505050565b6001600160a01b037f0000000000000000000000000167001000000000000000000000000000010098163003610ae65760405162461bcd60e51b815260040161069790612e7b565b7f00000000000000000000000001670010000000000000000000000000000100986001600160a01b0316610b1861130d565b6001600160a01b031614610b3e5760405162461bcd60e51b815260040161069790612ec7565b610b4782611328565b610b5382826001611330565b5050565b5f306001600160a01b037f00000000000000000000000001670010000000000000000000000000000100981614610bf65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610697565b505f5160206134ec5f395f51905f525b90565b610c11611580565b61097d5f6115da565b60655433906001600160a01b03168114610c885760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610697565b610952816115da565b610c996115f3565b61097d33600161157c565b5f610cad61130d565b905090565b610161805461071890612df5565b610b53338383611664565b5f61096446848461149a565b610ceb60c954610100900460ff1660021490565b15610d095760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610d25816001610ccb565b6001600160a01b0316336001600160a01b031614610d5657604051630d85cccf60e11b815260040160405180910390fd5b6002610d6460c95460ff1690565b60ff1603610d855760405163dfc60d8560e01b815260040160405180910390fd5b610d8f6002611744565b610d9a33848461175a565b610da46001611744565b505050565b610dbd60c954610100900460ff1660021490565b15610ddb5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610df7816001610ccb565b6001600160a01b0316336001600160a01b031614610e2857604051630d85cccf60e11b815260040160405180910390fd5b6002610e3660c95460ff1690565b60ff1603610e575760405163dfc60d8560e01b815260040160405180910390fd5b610e616002611744565b610edb868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020808a028281018201909352898252909350899250889182918501908490808284375f920182905250604080516020810190915290815292506118ee915050565b610ee56001611744565b505050505050565b5f54610100900460ff1615808015610f0b57505f54600160ff909116105b80610f245750303b158015610f2457505f5460ff166001145b610f875760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610697565b5f805460ff191660011790558015610fa8575f805461ff0019166101001790555b610fb28787611a70565b610fbc8989611aac565b610fdd610fd8888860405180602001604052805f815250611ae6565b611b30565b61015f80546001600160a01b0319166001600160a01b03891617905561016086905561016161100d858783612f6b565b5061016261101c838583612f6b565b508015611062575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6001600160a01b038516331480611089575061108985336105a6565b6110a55760405162461bcd60e51b815260040161069790612e2d565b61086f8585858585611b5f565b6110ba611580565b606580546001600160a01b0383166001600160a01b031990911681179091556110eb6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b03198216636cdb3d1360e11b148061115357506001600160e01b031982166303a24d0760e21b145b806106c557506301ffc9a760e01b6001600160e01b03198316146106c5565b81518351146111935760405162461bcd60e51b815260040161069790613024565b6001600160a01b0384166111b95760405162461bcd60e51b81526004016106979061306c565b336111c8818787878787611c8e565b5f5b84518110156112a7575f8582815181106111e6576111e6612f13565b602002602001015190505f85838151811061120357611203612f13565b6020908102919091018101515f84815261012d835260408082206001600160a01b038e1683529093529190912054909150818110156112545760405162461bcd60e51b8152600401610697906130b1565b5f83815261012d602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061129390849061310f565b9091555050600190930192506111ca915050565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516112f7929190613122565b60405180910390a4610ee5818787878787611cce565b5f5160206134ec5f395f51905f52546001600160a01b031690565b610952611580565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561136357610da483611e28565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156113bd575060408051601f3d908101601f191682019092526113ba9181019061314f565b60015b6114205760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610697565b5f5160206134ec5f395f51905f52811461148e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610697565b50610da4838383611ec3565b5f6114a58484611eed565b9050811580156114bc57506001600160a01b038116155b1561096457604051632b0d65db60e01b81526001600160401b038516600482015260248101849052604401610697565b61150060c954610100900460ff1660021490565b61151d5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610b535b6033546001600160a01b0316331461097d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b606580546001600160a01b031916905561095281611f97565b61160760c954610100900460ff1660021490565b156116255760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611572565b816001600160a01b0316836001600160a01b0316036116d75760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610697565b6001600160a01b038381165f81815261012e6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60c9805460ff191660ff92909216919091179055565b6001600160a01b0383166117bc5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610697565b335f6117c784611fe8565b90505f6117d384611fe8565b90506117f183875f858560405180602001604052805f815250611c8e565b5f85815261012d602090815260408083206001600160a01b038a168452909152902054848110156118705760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610697565b5f86815261012d602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091525f90525b50505050505050565b6001600160a01b03841661194e5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610697565b815183511461196f5760405162461bcd60e51b815260040161069790613024565b3361197e815f87878787611c8e565b5f5b8451811015611a0a5783818151811061199b5761199b612f13565b602002602001015161012d5f8784815181106119b9576119b9612f13565b602002602001015181526020019081526020015f205f886001600160a01b03166001600160a01b031681526020019081526020015f205f8282546119fd919061310f565b9091555050600101611980565b50846001600160a01b03165f6001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611a5a929190613122565b60405180910390a461086f815f87878787611cce565b6001600160a01b0382161580611a84575080155b80611a8e57504681145b15610b535760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611ad45760405163538ba4f960e01b815260040160405180910390fd5b611add83612031565b610da48261208f565b6060611afc846001600160a01b031660146120ff565b611b0584612294565b83604051602001611b1893929190613166565b60405160208183030381529060405290509392505050565b5f54610100900460ff16611b565760405162461bcd60e51b8152600401610697906131ee565b61095281612323565b6001600160a01b038416611b855760405162461bcd60e51b81526004016106979061306c565b335f611b9085611fe8565b90505f611b9c85611fe8565b9050611bac838989858589611c8e565b5f86815261012d602090815260408083206001600160a01b038c16845290915290205485811015611bef5760405162461bcd60e51b8152600401610697906130b1565b5f87815261012d602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611c2e90849061310f565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611062848a8a8a8a8a612352565b611ca260c954610100900460ff1660021490565b15611cc05760405163bae6e2a960e01b815260040160405180910390fd5b611cc98461240c565b610ee5565b6001600160a01b0384163b15610ee55760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611d129089908990889088908890600401613239565b6020604051808303815f875af1925050508015611d4c575060408051601f3d908101601f19168201909252611d4991810190613296565b60015b611df857611d586132b1565b806308c379a003611d915750611d6c6132c9565b80611d775750611d93565b8060405162461bcd60e51b81526004016106979190612755565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610697565b6001600160e01b0319811663bc197c8160e01b146118e55760405162461bcd60e51b815260040161069790613343565b6001600160a01b0381163b611e955760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610697565b5f5160206134ec5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b611ecc83612435565b5f82511180611ed85750805b15610da457611ee78383612474565b50505050565b6097545f906001600160a01b031680611f1957604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611f6b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8f919061338b565b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f8151811061202057612020612f13565b602090810291909101015292915050565b5f54610100900460ff166120575760405162461bcd60e51b8152600401610697906131ee565b61205f612499565b61207d6001600160a01b0382161561207757816115da565b336115da565b5060c9805461ff001916610100179055565b5f54610100900460ff166120b55760405162461bcd60e51b8152600401610697906131ee565b6001600160401b034611156120dd5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60605f61210d8360026133a6565b61211890600261310f565b6001600160401b0381111561212f5761212f61277e565b6040519080825280601f01601f191660200182016040528015612159576020820181803683370190505b509050600360fc1b815f8151811061217357612173612f13565b60200101906001600160f81b03191690815f1a905350600f60fb1b816001815181106121a1576121a1612f13565b60200101906001600160f81b03191690815f1a9053505f6121c38460026133a6565b6121ce90600161310f565b90505b6001811115612245576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061220257612202612f13565b1a60f81b82828151811061221857612218612f13565b60200101906001600160f81b03191690815f1a90535060049490941c9361223e816133bd565b90506121d1565b5083156109645760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610697565b60605f6122a0836124bf565b60010190505f816001600160401b038111156122be576122be61277e565b6040519080825280601f01601f1916602001820160405280156122e8576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846122f257509392505050565b5f54610100900460ff166123495760405162461bcd60e51b8152600401610697906131ee565b61095281612596565b6001600160a01b0384163b15610ee55760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061239690899089908890889088906004016133d2565b6020604051808303815f875af19250505080156123d0575060408051601f3d908101601f191682019092526123cd91810190613296565b60015b6123dc57611d586132b1565b6001600160e01b0319811663f23a6e6160e01b146118e55760405162461bcd60e51b815260040161069790613343565b306001600160a01b0382160361095257604051630c292c9d60e21b815260040160405180910390fd5b61243e81611e28565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610964838360405180606001604052806027815260200161350c602791396125a3565b5f54610100900460ff1661097d5760405162461bcd60e51b8152600401610697906131ee565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106124fd5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612529576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061254757662386f26fc10000830492506010015b6305f5e100831061255f576305f5e100830492506008015b612710831061257357612710830492506004015b60648310612585576064830492506002015b600a83106106c55760010192915050565b61012f610b538282613416565b60605f5f856001600160a01b0316856040516125bf91906134d0565b5f60405180830381855af49150503d805f81146125f7576040519150601f19603f3d011682016040523d82523d5f602084013e6125fc565b606091505b509150915061260d86838387612617565b9695505050505050565b606083156126855782515f0361267e576001600160a01b0385163b61267e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610697565b5081611f8f565b611f8f8383815115611d775781518083602001fd5b6001600160a01b0381168114610952575f5ffd5b5f5f604083850312156126bf575f5ffd5b82356126ca8161269a565b946020939093013593505050565b6001600160e01b031981168114610952575f5ffd5b5f602082840312156126fd575f5ffd5b8135610964816126d8565b5f5b8381101561272257818101518382015260200161270a565b50505f910152565b5f8151808452612741816020860160208601612708565b601f01601f19169290920160200192915050565b602081525f610964602083018461272a565b5f60208284031215612777575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b03811182821017156127b7576127b761277e565b6040525050565b5f6001600160401b038211156127d6576127d661277e565b5060051b60200190565b5f82601f8301126127ef575f5ffd5b81356127fa816127be565b6040516128078282612792565b80915082815260208101915060208360051b86010192508583111561282a575f5ffd5b602085015b8381101561284757803583526020928301920161282f565b5095945050505050565b5f82601f830112612860575f5ffd5b81356001600160401b038111156128795761287961277e565b604051612890601f8301601f191660200182612792565b8181528460208386010111156128a4575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a086880312156128d4575f5ffd5b85356128df8161269a565b945060208601356128ef8161269a565b935060408601356001600160401b03811115612909575f5ffd5b612915888289016127e0565b93505060608601356001600160401b03811115612930575f5ffd5b61293c888289016127e0565b92505060808601356001600160401b03811115612957575f5ffd5b61296388828901612851565b9150509295509295909350565b5f60208284031215612980575f5ffd5b81356109648161269a565b8035801515811461299a575f5ffd5b919050565b5f5f5f606084860312156129b1575f5ffd5b83356001600160401b03811681146129c7575f5ffd5b9250602084013591506129dc6040850161298b565b90509250925092565b5f5f604083850312156129f6575f5ffd5b82356001600160401b03811115612a0b575f5ffd5b8301601f81018513612a1b575f5ffd5b8035612a26816127be565b604051612a338282612792565b80915082815260208101915060208360051b850101925087831115612a56575f5ffd5b6020840193505b82841015612a81578335612a708161269a565b825260209384019390910190612a5d565b945050505060208301356001600160401b03811115612a9e575f5ffd5b612aaa858286016127e0565b9150509250929050565b5f8151808452602084019350602083015f5b82811015612ae4578151865260209586019590910190600101612ac6565b5093949350505050565b602081525f6109646020830184612ab4565b5f5f60408385031215612b11575f5ffd5b8235612b1c8161269a565b915060208301356001600160401b03811115612b36575f5ffd5b612aaa85828601612851565b5f5f60408385031215612b53575f5ffd5b8235612b5e8161269a565b9150612b6c6020840161298b565b90509250929050565b5f5f60408385031215612b86575f5ffd5b82359150612b6c6020840161298b565b5f5f60408385031215612ba7575f5ffd5b50508035926020909101359150565b5f5f83601f840112612bc6575f5ffd5b5081356001600160401b03811115612bdc575f5ffd5b6020830191508360208260051b8501011115612bf6575f5ffd5b9250929050565b5f5f5f5f5f60608688031215612c11575f5ffd5b8535612c1c8161269a565b945060208601356001600160401b03811115612c36575f5ffd5b612c4288828901612bb6565b90955093505060408601356001600160401b03811115612c60575f5ffd5b612c6c88828901612bb6565b969995985093965092949392505050565b5f5f60408385031215612c8e575f5ffd5b8235612c998161269a565b91506020830135612ca98161269a565b809150509250929050565b5f5f83601f840112612cc4575f5ffd5b5081356001600160401b03811115612cda575f5ffd5b602083019150836020828501011115612bf6575f5ffd5b5f5f5f5f5f5f5f5f60c0898b031215612d08575f5ffd5b8835612d138161269a565b97506020890135612d238161269a565b96506040890135612d338161269a565b95506060890135945060808901356001600160401b03811115612d54575f5ffd5b612d608b828c01612cb4565b90955093505060a08901356001600160401b03811115612d7e575f5ffd5b612d8a8b828c01612cb4565b999c989b5096995094979396929594505050565b5f5f5f5f5f60a08688031215612db2575f5ffd5b8535612dbd8161269a565b94506020860135612dcd8161269a565b9350604086013592506060860135915060808601356001600160401b03811115612957575f5ffd5b600181811c90821680612e0957607f821691505b602082108103612e2757634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b601f821115610da457805f5260205f20601f840160051c81016020851015612f4c5750805b601f840160051c820191505b8181101561086f575f8155600101612f58565b6001600160401b03831115612f8257612f8261277e565b612f9683612f908354612df5565b83612f27565b5f601f841160018114612fc7575f8515612fb05750838201355b5f19600387901b1c1916600186901b17835561086f565b5f83815260208120601f198716915b82811015612ff65786850135825560209485019460019092019101612fd6565b5086821015613012575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c5576106c56130fb565b604081525f6131346040830185612ab4565b82810360208401526131468185612ab4565b95945050505050565b5f6020828403121561315f575f5ffd5b5051919050565b6832ba3432b932bab69d60b91b81525f8451613189816009850160208901612708565b600160fe1b60099184019182015284516131aa81600a840160208901612708565b600981830101915050712f746f6b656e5552493f75696e743235363d60701b600182015283516131e1816013840160208801612708565b0160130195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190525f9061326490830186612ab4565b82810360608401526132768186612ab4565b9050828103608084015261328a818561272a565b98975050505050505050565b5f602082840312156132a6575f5ffd5b8151610964816126d8565b5f60033d1115610c065760045f5f3e505f5160e01c90565b5f60443d10156132d65790565b6040513d600319016004823e80513d60248201116001600160401b03821117156132ff57505090565b80820180516001600160401b0381111561331a575050505090565b3d8401600319018282016020011115613334575050505090565b610a9660208285010185612792565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b5f6020828403121561339b575f5ffd5b81516109648161269a565b80820281158282048414176106c5576106c56130fb565b5f816133cb576133cb6130fb565b505f190190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061340b9083018461272a565b979650505050505050565b81516001600160401b0381111561342f5761342f61277e565b6134438161343d8454612df5565b84612f27565b6020601f821160018114613475575f831561345e5750848201515b5f19600385901b1c1916600184901b17845561086f565b5f84815260208120601f198516915b828110156134a45787850151825560209485019460019092019101613484565b50848210156134c157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f82516134e1818460208701612708565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220056c58b99db557dce285f996f441ca995a4a77b2754e41fc6af5e46a7185c22664736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000000005": { + "contractName": "SignalServiceImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x6080604052600436106101c5575f3560e01c806379ba5097116100f2578063a86f9d9e11610092578063e30c397811610062578063e30c39781461052f578063f09a40161461054c578063f2fde38b1461056b578063fe9fbb801461058a575f5ffd5b8063a86f9d9e1461048e578063ce9d0820146104ad578063dfc8ff1d146104cc578063e07baba61461050a575f5ffd5b80638da5cb5b116100cd5780638da5cb5b14610414578063910af6ed1461043157806391f3f74b146104505780639b527cfa1461046f575f5ffd5b806379ba5097146103d85780638456cb59146103ec5780638abf607714610400575f5ffd5b80633eb6b8cf1161016857806352d1902d1161013857806352d1902d146103715780635c975abb1461038557806366ca2bc0146103a5578063715018a6146103c4575f5ffd5b80633eb6b8cf146102fe5780633f4ba83a1461031d5780634f1ef286146103315780634f90a67414610344575f5ffd5b8063355bcc3d116101a3578063355bcc3d146102325780633659cfe6146102895780633ab76e9f146102a85780633ced0e08146102df575f5ffd5b80632d1fb389146101c95780633075db56146101ea57806332676bc614610213575b5f5ffd5b3480156101d4575f5ffd5b506101e86101e336600461351b565b6105b8565b005b3480156101f5575f5ffd5b506101fe61065e565b60405190151581526020015b60405180910390f35b34801561021e575f5ffd5b506101fe61022d36600461354e565b610676565b34801561023d575f5ffd5b5061027161024c36600461358e565b60fb60209081525f92835260408084209091529082529020546001600160401b031681565b6040516001600160401b03909116815260200161020a565b348015610294575f5ffd5b506101e86102a33660046135a8565b61068c565b3480156102b3575f5ffd5b506097546102c7906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b3480156102ea575f5ffd5b506101fe6102f93660046135c3565b61075c565b348015610309575f5ffd5b506102c7610318366004613604565b6107a3565b348015610328575f5ffd5b506101e86107b9565b6101e861033f366004613714565b6107cd565b34801561034f575f5ffd5b5061036361035e3660046135c3565b610886565b60405190815260200161020a565b34801561037c575f5ffd5b506103636108cc565b348015610390575f5ffd5b506101fe60c954610100900460ff1660021490565b3480156103b0575f5ffd5b506103636103bf366004613760565b61097d565b3480156103cf575f5ffd5b506101e8610989565b3480156103e3575f5ffd5b506101e861099a565b3480156103f7575f5ffd5b506101e8610a11565b34801561040b575f5ffd5b506102c7610a24565b34801561041f575f5ffd5b506033546001600160a01b03166102c7565b34801561043c575f5ffd5b5061036361044b366004613777565b610a32565b34801561045b575f5ffd5b5061036361046a36600461380c565b610b0d565b34801561047a575f5ffd5b50610363610489366004613848565b610b78565b348015610499575f5ffd5b506102c76104a8366004613878565b610ba4565b3480156104b8575f5ffd5b506101e86104c7366004613777565b610bb0565b3480156104d7575f5ffd5b506104eb6104e6366004613848565b610bc6565b604080516001600160401b03909316835260208301919091520161020a565b348015610515575f5ffd5b5060c954610271906201000090046001600160401b031681565b34801561053a575f5ffd5b506065546001600160a01b03166102c7565b348015610557575f5ffd5b506101e8610566366004613899565b610c5a565b348015610576575f5ffd5b506101e86105853660046135a8565b610d69565b348015610595575f5ffd5b506101fe6105a43660046135a8565b60fc6020525f908152604090205460ff1681565b6105c0610dda565b6001600160a01b0382165f90815260fc602052604090205481151560ff909116151503610600576040516398f26f4560e01b815260040160405180910390fd5b6001600160a01b0382165f81815260fc6020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b5f600261066d60c95460ff1690565b60ff1614905090565b5f6106818383610e34565b151590505b92915050565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000051630036106dd5760405162461bcd60e51b81526004016106d4906138d0565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000000056001600160a01b031661070f610e96565b6001600160a01b0316146107355760405162461bcd60e51b81526004016106d49061391c565b61073e81610eb1565b604080515f8082526020820190925261075991839190610eb9565b50565b5f8180820361077e5760405163ec73295960e01b815260040160405180910390fd5b5f61078a878787610b78565b9050836107973083610e34565b14979650505050505050565b5f6107af848484611023565b90505b9392505050565b6107c1611075565b6107cb335f611105565b565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000000051630036108155760405162461bcd60e51b81526004016106d4906138d0565b7f00000000000000000000000001670010000000000000000000000000000000056001600160a01b0316610847610e96565b6001600160a01b03161461086d5760405162461bcd60e51b81526004016106d49061391c565b61087682610eb1565b61088282826001610eb9565b5050565b335f90815260fc602052604081205460ff166108b557604051631f67751f60e01b815260040160405180910390fd5b6108c18585858561111e565b90505b949350505050565b5f306001600160a01b037f0000000000000000000000000167001000000000000000000000000000000005161461096b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d4565b505f516020613eb05f395f51905f5290565b5f610686338384611200565b610991610dda565b6107cb5f6112d9565b60655433906001600160a01b03168114610a085760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016106d4565b610759816112d9565b610a196112f2565b6107cb336001611105565b5f610a2d610e96565b905090565b5f610a4760c954610100900460ff1660021490565b15610a655760405163bae6e2a960e01b815260040160405180910390fd5b6002610a7360c95460ff1690565b60ff1603610a945760405163dfc60d8560e01b815260040160405180910390fd5b60c9805460ff191660021790555f610ab187878787876001611363565b90505f5b8151811015610af457610ae0828281518110610ad357610ad3613968565b602002602001015161181f565b610aea9084613990565b9250600101610ab5565b505060c9805460ff191660011790555b95945050505050565b6040516514d251d3905360d21b60208201526001600160c01b031960c085901b1660268201526bffffffffffffffffffffffff19606084901b16602e820152604281018290525f906062015b6040516020818303038152906040528051906020012090509392505050565b604080516001600160401b03808616602083015291810184905290821660608201525f90608001610b59565b5f6107b2468484611023565b610bbe85858585855f611363565b505050505050565b5f5f826001600160401b03165f03610c02576001600160401b038086165f90815260fb6020908152604080832088845290915290205416610c04565b825b91506001600160401b03821615610c52575f610c21868685610b78565b9050610c2d3082610e34565b91505f829003610c505760405163738afa0560e01b815260040160405180910390fd5b505b935093915050565b5f54610100900460ff1615808015610c7857505f54600160ff909116105b80610c915750303b158015610c9157505f5460ff166001145b610cf45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106d4565b5f805460ff191660011790558015610d15575f805461ff0019166101001790555b610d1f8383611963565b8015610d64575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610d71610dda565b606580546001600160a01b0383166001600160a01b03199091168117909155610da26033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146107cb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d4565b5f826001600160a01b038116610e5d5760405163538ba4f960e01b815260040160405180910390fd5b825f819003610e7f5760405163ec73295960e01b815260040160405180910390fd5b5f610e8b468787610b0d565b549695505050505050565b5f516020613eb05f395f51905f52546001600160a01b031690565b610759610dda565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610eec57610d648361199d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f46575060408051601f3d908101601f19168201909252610f43918101906139a3565b60015b610fa95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106d4565b5f516020613eb05f395f51905f5281146110175760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106d4565b50610d64838383611a38565b5f61102e8484611a62565b90508115801561104557506001600160a01b038116155b156107b257604051632b0d65db60e01b81526001600160401b0385166004820152602481018490526044016106d4565b61108960c954610100900460ff1660021490565b6110a65760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b5f61112a858585610b78565b9050611137308284611200565b506001600160401b038581165f90815260fb60209081526040808320888452909152902054818516911610156111a1576001600160401b038581165f90815260fb602090815260408083208884529091529020805467ffffffffffffffff19169185169190911790555b83836001600160401b0316866001600160401b03167fde247c825b1fb2d7ff9e0e771cba6f9e757ad04479fcdc135d88ae91fd50b37d85856040516111f0929190918252602082015260400190565b60405180910390a4949350505050565b5f836001600160a01b0381166112295760405163538ba4f960e01b815260040160405180910390fd5b835f81900361124b5760405163ec73295960e01b815260040160405180910390fd5b835f81900361126d5760405163ec73295960e01b815260040160405180910390fd5b611278468888610b0d565b858155604080516001600160a01b038a16815260208101899052908101829052606081018790529094507f0ad2d108660a211f47bf7fb43a0443cae181624995d3d42b88ee6879d200e9739060800160405180910390a15050509392505050565b606580546001600160a01b031916905561075981611b04565b61130660c954610100900460ff1660021490565b156113245760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016110fb565b6060856001600160a01b03811661138d5760405163538ba4f960e01b815260040160405180910390fd5b855f8190036113af5760405163ec73295960e01b815260040160405180910390fd5b5f6113bc86880188613a77565b905080515f036113df57604051630b92daef60e21b815260040160405180910390fd5b5f600182516113ee9190613bbd565b6001600160401b038111156114055761140561363d565b60405190808252806020026020018201604052801561142e578160200160208202803683370190505b50905085156114c15781516001600160401b038111156114505761145061363d565b6040519080825280602002602001820160405280156114bd57816020015b6114aa6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a081018290529060c082015290565b81526020019060019003908161146e5790505b5094505b8a8a8a805f6114e2856d7369676e616c5f7365727669636560901b836107a3565b9050306001600160a01b0382160361150d57604051637556223560e11b815260040160405180910390fd5b6115456040805160c0810182525f80825260208201819052918101829052906060820190815260200160608152602001606081525090565b5f5f5f5f5b8b518110156117d3578b818151811061156557611565613968565b602002602001015194505f5b818110156115cf57855f01516001600160401b03168c828151811061159857611598613968565b60200260200101516001600160401b0316036115c7576040516348362c2760e11b815260040160405180910390fd5b600101611571565b506115de8a8a8a8a898b611b55565b93508a5181149150811561161e5784516001600160401b03164614611616576040516338bf822760e21b815260040160405180910390fd5b3095506116c9565b845f01518b828151811061163457611634613968565b6001600160401b0392831660209182029290920101528551161580611662575084516001600160401b031646145b1561168057604051637556223560e11b815260040160405180910390fd5b845161169e906d7369676e616c5f7365727669636560901b5f6107a3565b9550306001600160a01b038716036116c957604051637556223560e11b815260040160405180910390fd5b608085015151151592508f1561175d576040518060e00160405280866040015181526020018581526020018b6001600160401b0316815260200186602001516001600160401b03168152602001841515815260200183151581526020018660600151600381111561173c5761173c613bd0565b8152508f828151811061175157611751613968565b60200260200101819052505b6117b88a8461178c577fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf56117ae565b7f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1695b8760200151610b78565b604086015186519b509699509750949550879460010161154a565b508515806117ea57506117e63088610e34565b8614155b156118085760405163738afa0560e01b815260040160405180910390fd5b505050505050505050505050509695505050505050565b5f8060038360c00151600381111561183957611839613bd0565b148061185a575060028360c00151600381111561185857611858613bd0565b145b905080801561186a575082608001515b801561187857508260a00151155b156118ba57600191506118b883604001517f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1698560600151865f015161111e565b505b5f60038460c0015160038111156118d3576118d3613bd0565b14806118f4575060018460c0015160038111156118f2576118f2613bd0565b145b9050808015611910575083608001518061191057508360a00151155b1561195c57611920600184613990565b925061195a84604001517fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf58660600151876020015161111e565b505b5050919050565b806001600160a01b03811661198b5760405163538ba4f960e01b815260040160405180910390fd5b61199483611bf4565b610d6482611c52565b6001600160a01b0381163b611a0a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106d4565b5f516020613eb05f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b611a4183611cc2565b5f82511180611a4d5750805b15610d6457611a5c8383611d01565b50505050565b6097545f906001600160a01b031680611a8e57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611ae0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c49190613be4565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f856001600160a01b038116611b7e5760405163538ba4f960e01b815260040160405180910390fd5b855f819003611ba05760405163ec73295960e01b815260040160405180910390fd5b855f819003611bc25760405163ec73295960e01b815260040160405180910390fd5b611be6866040015186611bd68d8d8d610b0d565b8a8a608001518b60a00151611d26565b9a9950505050505050505050565b5f54610100900460ff16611c1a5760405162461bcd60e51b81526004016106d490613bff565b611c22611e33565b611c406001600160a01b03821615611c3a57816112d9565b336112d9565b5060c9805461ff001916610100179055565b5f54610100900460ff16611c785760405162461bcd60e51b81526004016106d490613bff565b6001600160401b03461115611ca05760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b611ccb8161199d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606107b28383604051806060016040528060278152602001613ed060279139611e59565b5f82515f14611dce576040516bffffffffffffffffffffffff19606088901b1660208201525f90611d6a90603401604051602081830303815290604052858a611ecd565b905080515f03611d8d57604051630414cd5b60e31b815260040160405180910390fd5b5f611d9782611ee6565b9050611dbc81600281518110611daf57611daf613968565b6020026020010151611ef9565b611dc590613c4a565b92505050611dd1565b50855b5f611e0886604051602001611de891815260200190565b60408051601f19818403018152919052611e0187611f78565b8585611f8b565b905080611e2857604051638d9a4db360e01b815260040160405180910390fd5b509695505050505050565b5f54610100900460ff166107cb5760405162461bcd60e51b81526004016106d490613bff565b60605f5f856001600160a01b031685604051611e759190613c92565b5f60405180830381855af49150503d805f8114611ead576040519150601f19603f3d011682016040523d82523d5f602084013e611eb2565b606091505b5091509150611ec386838387611fa4565b9695505050505050565b60605f611ed98561201c565b9050610b0481858561204e565b6060610686611ef4836128bc565b61290e565b60605f5f5f611f0785612a8c565b919450925090505f816001811115611f2157611f21613bd0565b14611f3f576040516307fe6cb960e21b815260040160405180910390fd5b611f498284613990565b855114611f6957604051630b8aa6f760e31b815260040160405180910390fd5b610b0485602001518484612d6f565b6060610686611f8683612dff565b612f13565b5f5f611f968661201c565b9050611ec381868686612f6b565b606083156120125782515f0361200b576001600160a01b0385163b61200b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d4565b50816108c4565b6108c48383612f91565b6060818051906020012060405160200161203891815260200190565b6040516020818303038152906040529050919050565b60605f8451116120985760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b60448201526064016106d4565b5f6120a284612fbb565b90505f6120ae8661309e565b90505f846040516020016120c491815260200190565b60408051601f1981840301815291905290505f805b8451811015612865575f8582815181106120f5576120f5613968565b6020026020010151905084518311156121675760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b60648201526084016106d4565b825f0361220557805180516020918201206040516121b49261218e92910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6122005760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f74206861736800000060448201526064016106d4565b6122fb565b80515160201161228b578051805160209182012060405161222f9261218e92910190815260200190565b6122005760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b60648201526084016106d4565b8051845160208087019190912082519190920120146122fb5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b60648201526084016106d4565b61230760106001613990565b8160200151510361249f5784518303612439576123348160200151601081518110611daf57611daf613968565b96505f8751116123ac5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e636829000000000060648201526084016106d4565b600186516123ba9190613bbd565b821461242e5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e63682900000000000060648201526084016106d4565b5050505050506107b2565b5f85848151811061244c5761244c613968565b602001015160f81c60f81b60f81c90505f82602001518260ff168151811061247657612476613968565b60200260200101519050612489816130ff565b9550612496600186613990565b9450505061285c565b600281602001515103612803575f6124b682613123565b90505f815f815181106124cb576124cb613968565b016020015160f81c90505f6124e1600283613cc1565b6124ec906002613ce2565b90505f6124fc848360ff16613146565b90505f6125098a89613146565b90505f612516838361317b565b90508083511461258e5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b657900000000000060648201526084016106d4565b60ff8516600214806125a3575060ff85166003145b15612743578082511461261e5760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e64657200000060648201526084016106d4565b6126388760200151600181518110611daf57611daf613968565b9c505f8d51116126b05760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c656166290000000000000060648201526084016106d4565b60018c516126be9190613bbd565b88146127325760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c65616629000000000000000060648201526084016106d4565b5050505050505050505050506107b2565b60ff85161580612756575060ff85166001145b1561279557612782876020015160018151811061277557612775613968565b60200260200101516130ff565b995061278e818a613990565b98506127f8565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b60648201526084016106d4565b50505050505061285c565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b60648201526084016106d4565b506001016120d9565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b60648201526084016106d4565b604080518082019091525f808252602082015281515f036128f057604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60605f5f5f61291c85612a8c565b91945092509050600181600181111561293757612937613bd0565b14612955576040516325ce355f60e11b815260040160405180910390fd5b84516129618385613990565b1461297f57604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b604080518082019091525f80825260208201528152602001906001900390816129965790505093505f835b8651811015612a80575f5f612a056040518060400160405280858c5f01516129e99190613bbd565b8152602001858c602001516129fe9190613990565b9052612a8c565b509150915060405180604001604052808383612a219190613990565b8152602001848b60200151612a369190613990565b815250888581518110612a4b57612a4b613968565b6020908102919091010152612a61600185613990565b9350612a6d8183613990565b612a779084613990565b925050506129c1565b50845250919392505050565b5f5f5f835f01515f03612ab257604051635ab458fb60e01b815260040160405180910390fd5b602084015180515f1a607f8111612ad4575f60015f9450945094505050612d68565b60b78111612b69575f612ae8608083613bbd565b905080875f015111612b0d576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015612b395750600160ff1b6001600160f81b03198216105b15612b575760405163babb01dd60e01b815260040160405180910390fd5b506001955093505f9250612d68915050565b60bf8111612c47575f612b7d60b783613bbd565b905080875f015111612ba2576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003612bd25760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111612c015760405163babb01dd60e01b815260040160405180910390fd5b612c0b8184613990565b895111612c2b576040516366c9448560e01b815260040160405180910390fd5b612c36836001613990565b975095505f9450612d689350505050565b60f78111612c91575f612c5b60c083613bbd565b905080875f015111612c80576040516366c9448560e01b815260040160405180910390fd5b600195509350849250612d68915050565b5f612c9d60f783613bbd565b905080875f015111612cc2576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319165f819003612cf25760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111612d215760405163babb01dd60e01b815260040160405180910390fd5b612d2b8184613990565b895111612d4b576040516366c9448560e01b815260040160405180910390fd5b612d56836001613990565b9750955060019450612d689350505050565b9193909250565b6060816001600160401b03811115612d8957612d8961363d565b6040519080825280601f01601f191660200182016040528015612db3576020820181803683370190505b50905081156107b2575f612dc78486613990565b9050602082015f5b84811015612de7578281015182820152602001612dcf565b84811115612df5575f858301525b5050509392505050565b60605f82604051602001612e1591815260200190565b60408051601f1981840301815291905290505f5b6020811015612e6157818181518110612e4457612e44613968565b01602001516001600160f81b0319165f03612e6157600101612e29565b612e6c816020613bbd565b6001600160401b03811115612e8357612e8361363d565b6040519080825280601f01601f191660200182016040528015612ead576020820181803683370190505b5092505f5b835181101561195a578282612ec681613cfb565b935081518110612ed857612ed8613968565b602001015160f81c60f81b848281518110612ef557612ef5613968565b60200101906001600160f81b03191690815f1a905350600101612eb2565b606081516001148015612f3f57506080825f81518110612f3557612f35613968565b016020015160f81c105b15612f48575090565b612f54825160806131fe565b82604051602001612038929190613d13565b919050565b5f6108c184612f7b87868661204e565b8051602091820120825192909101919091201490565b815115612fa15781518083602001fd5b8060405162461bcd60e51b81526004016106d49190613d41565b8051606090806001600160401b03811115612fd857612fd861363d565b60405190808252806020026020018201604052801561301d57816020015b6040805180820190915260608082526020820152815260200190600190039081612ff65790505b5091505f5b8181101561195c57604051806040016040528085838151811061304757613047613968565b6020026020010151815260200161307686848151811061306957613069613968565b6020026020010151611ee6565b81525083828151811061308b5761308b613968565b6020908102919091010152600101613022565b606080604051905082518060011b603f8101601f191683016040528083525060208401602083015f5b838110156130f4578060011b8201818401515f1a8060041c8253600f8116600183015350506001016130c7565b509295945050505050565b60606020825f01511061311a5761311582611ef9565b610686565b610686826133a3565b606061068661314183602001515f81518110611daf57611daf613968565b61309e565b606082518210613164575060408051602081019091525f8152610686565b6107b283838486516131769190613bbd565b6133b7565b5f5f825184511061318d578251613190565b83515b90505b80821080156131e757508282815181106131af576131af613968565b602001015160f81c60f81b6001600160f81b0319168483815181106131d6576131d6613968565b01602001516001600160f81b031916145b156131f757816001019150613193565b5092915050565b6060603883101561326257604080516001808252818301909252906020820181803683370190505090506132328284613d73565b60f81b815f8151811061324757613247613968565b60200101906001600160f81b03191690815f1a905350610686565b5f60015b6132708186613d8c565b15613296578161327f81613cfb565b925061328f905061010082613d9f565b9050613266565b6132a1826001613990565b6001600160401b038111156132b8576132b861363d565b6040519080825280601f01601f1916602001820160405280156132e2576020820181803683370190505b5092506132ef8483613d73565b6132fa906037613d73565b60f81b835f8151811061330f5761330f613968565b60200101906001600160f81b03191690815f1a905350600190505b81811161339b5761010061333e8284613bbd565b61334a90610100613e91565b6133549087613d8c565b61335e9190613e9c565b60f81b83828151811061337357613373613968565b60200101906001600160f81b03191690815f1a9053508061339381613cfb565b91505061332a565b505092915050565b606061068682602001515f845f0151612d6f565b60608182601f0110156133fd5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d4565b8282840110156134405760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d4565b818301845110156134875760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016106d4565b6060821580156134a55760405191505f8252602082016040526134ef565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156134de5780518352602092830192016134c6565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b0381168114610759575f5ffd5b80358015158114612f66575f5ffd5b5f5f6040838503121561352c575f5ffd5b8235613537816134f8565b91506135456020840161350c565b90509250929050565b5f5f6040838503121561355f575f5ffd5b823561356a816134f8565b946020939093013593505050565b80356001600160401b0381168114612f66575f5ffd5b5f5f6040838503121561359f575f5ffd5b61356a83613578565b5f602082840312156135b8575f5ffd5b81356107b2816134f8565b5f5f5f5f608085870312156135d6575f5ffd5b6135df85613578565b9350602085013592506135f460408601613578565b9396929550929360600135925050565b5f5f5f60608486031215613616575f5ffd5b61361f84613578565b9250602084013591506136346040850161350c565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156136735761367361363d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156136a1576136a161363d565b604052919050565b5f82601f8301126136b8575f5ffd5b81356001600160401b038111156136d1576136d161363d565b6136e4601f8201601f1916602001613679565b8181528460208386010111156136f8575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215613725575f5ffd5b8235613730816134f8565b915060208301356001600160401b0381111561374a575f5ffd5b613756858286016136a9565b9150509250929050565b5f60208284031215613770575f5ffd5b5035919050565b5f5f5f5f5f6080868803121561378b575f5ffd5b61379486613578565b945060208601356137a4816134f8565b93506040860135925060608601356001600160401b038111156137c5575f5ffd5b8601601f810188136137d5575f5ffd5b80356001600160401b038111156137ea575f5ffd5b8860208284010111156137fb575f5ffd5b959894975092955050506020019190565b5f5f5f6060848603121561381e575f5ffd5b61382784613578565b92506020840135613837816134f8565b929592945050506040919091013590565b5f5f5f6060848603121561385a575f5ffd5b61386384613578565b92506020840135915061363460408501613578565b5f5f60408385031215613889575f5ffd5b823591506135456020840161350c565b5f5f604083850312156138aa575f5ffd5b82356138b5816134f8565b915060208301356138c5816134f8565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106865761068661397c565b5f602082840312156139b3575f5ffd5b5051919050565b5f6001600160401b038211156139d2576139d261363d565b5060051b60200190565b803560048110612f66575f5ffd5b5f82601f8301126139f9575f5ffd5b8135613a0c613a07826139ba565b613679565b8082825260208201915060208360051b860101925085831115613a2d575f5ffd5b602085015b83811015613a6d5780356001600160401b03811115613a4f575f5ffd5b613a5e886020838a01016136a9565b84525060209283019201613a32565b5095945050505050565b5f60208284031215613a87575f5ffd5b81356001600160401b03811115613a9c575f5ffd5b8201601f81018413613aac575f5ffd5b8035613aba613a07826139ba565b8082825260208201915060208360051b850101925086831115613adb575f5ffd5b602084015b83811015611e285780356001600160401b03811115613afd575f5ffd5b850160c0818a03601f19011215613b12575f5ffd5b613b1a613651565b613b2660208301613578565b8152613b3460408301613578565b602082015260608201356040820152613b4f608083016139dc565b606082015260a08201356001600160401b03811115613b6c575f5ffd5b613b7b8b6020838601016139ea565b60808301525060c08201356001600160401b03811115613b99575f5ffd5b613ba88b6020838601016139ea565b60a08301525084525060209283019201613ae0565b818103818111156106865761068661397c565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215613bf4575f5ffd5b81516107b2816134f8565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b80516020808301519190811015613c6a575f198160200360031b1b821691505b50919050565b5f5b83811015613c8a578181015183820152602001613c72565b50505f910152565b5f8251613ca3818460208701613c70565b9190910192915050565b634e487b7160e01b5f52601260045260245ffd5b5f60ff831680613cd357613cd3613cad565b8060ff84160691505092915050565b60ff82811682821603908111156106865761068661397c565b5f60018201613d0c57613d0c61397c565b5060010190565b5f8351613d24818460208801613c70565b835190830190613d38818360208801613c70565b01949350505050565b602081525f8251806020840152613d5f816040850160208701613c70565b601f01601f19169190910160400192915050565b60ff81811683821601908111156106865761068661397c565b5f82613d9a57613d9a613cad565b500490565b80820281158282048414176106865761068661397c565b6001815b6001841115610c5257808504811115613dd557613dd561397c565b6001841615613de357908102905b60019390931c928002613dba565b5f82613dff57506001610686565b81613e0b57505f610686565b8160018114613e215760028114613e2b57613e47565b6001915050610686565b60ff841115613e3c57613e3c61397c565b50506001821b610686565b5060208310610133831016604e8410600b8410161715613e6a575081810a610686565b613e765f198484613db6565b805f1904821115613e8957613e8961397c565b029392505050565b5f6107b28383613df1565b5f82613eaa57613eaa613cad565b50069056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122088e374295b28e7ad8361a3b961be9595b9248bb8792c867a5bea9cc2824409f764736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000000005": { + "contractName": "SignalService", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000000006", + "0xe3ad9bc7a782493ccba4f8a469cc3f9e8fb5647c2076401c8a7c4945a999c777": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000000005" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010001": { + "contractName": "TaikoL2Impl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x6080604052600436106101fc575f3560e01c80638456cb5911610113578063da69d3db1161009d578063e902461a1161006d578063e902461a146105cb578063ee82ac5e146105ea578063f2fde38b14610609578063f940e38514610628578063fd85eb2d14610647575f5ffd5b8063da69d3db14610555578063dac5df7814610574578063e07baba614610589578063e30c3978146105ae575f5ffd5b8063a7137c0f116100e3578063a7137c0f1461047d578063a7e022d1146104a3578063a86f9d9e146104df578063b8c7b30c146104fe578063c3f909d41461051d575f5ffd5b80638456cb59146104135780638abf6077146104275780638da5cb5b1461043b5780639ee512f214610458575f5ffd5b80633eb6b8cf11610194578063539b8ade11610164578063539b8ade146103865780635950f9f1146103ac5780635c975abb146103cb578063715018a6146103eb57806379ba5097146103ff575f5ffd5b80633eb6b8cf1461031e5780633f4ba83a1461033d5780634f1ef2861461035157806352d1902d14610364575f5ffd5b806333d5ac9b116101cf57806333d5ac9b1461028d578063356aec04146102b35780633659cfe6146102c65780633ab76e9f146102e7575f5ffd5b806312622e5b14610200578063136dc4a81461023c5780632f9804731461025b5780633075db5614610279575b5f5ffd5b34801561020b575f5ffd5b5060fe5461021f906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b348015610247575f5ffd5b5061021f610256366004612829565b610666565b348015610266575f5ffd5b505f5b6040519015158152602001610233565b348015610284575f5ffd5b5061026961067c565b348015610298575f5ffd5b5060fd5461021f90600160401b90046001600160401b031681565b3480156102be575f5ffd5b50600261021f565b3480156102d1575f5ffd5b506102e56102e036600461287d565b610694565b005b3480156102f2575f5ffd5b50609754610306906001600160a01b031681565b6040516001600160a01b039091168152602001610233565b348015610329575f5ffd5b506103066103383660046128a5565b610764565b348015610348575f5ffd5b506102e5610770565b6102e561035f3660046128f6565b610784565b34801561036f575f5ffd5b5061037861083d565b604051908152602001610233565b348015610391575f5ffd5b5060fd5461021f90600160801b90046001600160401b031681565b3480156103b7575f5ffd5b506102e56103c63660046129b9565b6108ee565b3480156103d6575f5ffd5b5061026960c954610100900460ff1660021490565b3480156103f6575f5ffd5b506102e5610af7565b34801561040a575f5ffd5b506102e5610b08565b34801561041e575f5ffd5b506102e5610b7f565b348015610432575f5ffd5b50610306610b92565b348015610446575f5ffd5b506033546001600160a01b0316610306565b348015610463575f5ffd5b5061030671777735367b36bc9b61c50022d9d0700db4ec81565b348015610488575f5ffd5b5060fd5461021f90600160c01b90046001600160401b031681565b3480156104ae575f5ffd5b506104c26104bd366004612a21565b610ba0565b604080519283526001600160401b03909116602083015201610233565b3480156104ea575f5ffd5b506103066104f9366004612a52565b610c16565b348015610509575f5ffd5b5060fd5461021f906001600160401b031681565b348015610528575f5ffd5b50610531610c2b565b60408051825163ffffffff16815260209283015160ff169281019290925201610233565b348015610560575f5ffd5b506102e561056f366004612a80565b610c5c565b34801561057f575f5ffd5b5061037860fc5481565b348015610594575f5ffd5b5060c95461021f906201000090046001600160401b031681565b3480156105b9575f5ffd5b506065546001600160a01b0316610306565b3480156105d6575f5ffd5b506104c26105e5366004612ac8565b610f77565b3480156105f5575f5ffd5b50610378610604366004612b10565b611059565b348015610614575f5ffd5b506102e561062336600461287d565b611091565b348015610633575f5ffd5b506102e5610642366004612b27565b611102565b348015610652575f5ffd5b506102e5610661366004612b53565b6112c1565b5f610672848484611748565b90505b9392505050565b5f600261068b60c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100011630036106e55760405162461bcd60e51b81526004016106dc90612b94565b60405180910390fd5b7f00000000000000000000000001670010000000000000000000000000000100016001600160a01b0316610717611803565b6001600160a01b03161461073d5760405162461bcd60e51b81526004016106dc90612be0565b6107468161181e565b604080515f8082526020820190925261076191839190611826565b50565b5f610672848484611990565b6107786119e2565b610782335f611a72565b565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100011630036107cc5760405162461bcd60e51b81526004016106dc90612b94565b7f00000000000000000000000001670010000000000000000000000000000100016001600160a01b03166107fe611803565b6001600160a01b0316146108245760405162461bcd60e51b81526004016106dc90612be0565b61082d8261181e565b61083982826001611826565b5050565b5f306001600160a01b037f000000000000000000000000016700100000000000000000000000000001000116146108dc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106dc565b505f516020612e6d5f395f51905f5290565b5f54610100900460ff161580801561090c57505f54600160ff909116105b806109255750303b15801561092557505f5460ff166001145b6109885760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106dc565b5f805460ff1916600117905580156109a9575f805461ff0019166101001790555b6109b38585611a7a565b6001600160401b03831615806109d1575046836001600160401b0316145b156109ef576040516308279a2560e31b815260040160405180910390fd5b600146111580610a0557506001600160401b0346115b15610a2357604051638f972ecb60e01b815260040160405180910390fd5b4315610a6d5743600103610a54575f610a3d600143612c40565b5f81815260fb602052604090209040905550610a6d565b604051635a0f9e4160e11b815260040160405180910390fd5b60fe80546001600160401b0380861667ffffffffffffffff199283161790925560fd805492851692909116919091179055610aa743611ab4565b5060fc558015610af0575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610aff611b44565b6107825f611b9e565b60655433906001600160a01b03168114610b765760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016106dc565b61076181611b9e565b610b87611bb7565b610782336001611a72565b5f610b9b611803565b905090565b5f5f5f610bab610c2b565b9050610c0a816020015160ff16825f015163ffffffff16610bcc9190612c53565b60fd5483516001600160401b038083169263ffffffff90921691610bf991600160401b909104168a612c6a565b610c039190612c89565b875f611c28565b90969095509350505050565b5f610c22468484611990565b90505b92915050565b604080518082019091525f8082526020820152610b9b60408051808201909152630393870081526008602082015290565b825f819003610c7e5760405163ec73295960e01b815260040160405180910390fd5b826001600160401b0316805f03610ca85760405163ec73295960e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec14610cda57604051636494e9f760e01b815260040160405180910390fd5b6002610ce860c95460ff1690565b60ff1603610d095760405163dfc60d8560e01b815260040160405180910390fd5b610d136002611cb1565b60024310610d3457604051631799c89b60e01b815260040160405180910390fd5b5f610d40600143612c40565b90505f5f610d4d83611ab4565b915091508160fc5414610d735760405163d719258d60e01b815260040160405180910390fd5b5f5f610d7f8989610ba0565b91509150610d8a5f90565b158015610d975750814814155b15610db5576040516336d54d4f60e11b815260040160405180910390fd5b60fd546001600160401b03600160401b9091048116908a161115610ec057610dee6d7369676e616c5f7365727669636560901b5f610c16565b60fe546040516313e4299d60e21b81526001600160401b0391821660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1696024820152908b166044820152606481018c90526001600160a01b039190911690634f90a674906084016020604051808303815f875af1158015610e75573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e999190612cb2565b5060fd805467ffffffffffffffff60401b1916600160401b6001600160401b038c16021790555b5f85815260fb60205260409081902086409081905560fc85905560fd8054426001600160401b03908116600160801b0277ffffffffffffffff0000000000000000ffffffffffffffff199092169086161717905590517f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe490610f5790839085909182526001600160401b0316602082015260400190565b60405180910390a1505050505050610f6f6001611cb1565b505050505050565b5f8080610f8a6060880160408901612cc9565b610f9a9063ffffffff1687612c89565b9050610fac60a0880160808901612cc9565b63ffffffff1615801590610fdd5750610fcb60a0880160808901612cc9565b63ffffffff16816001600160401b0316115b15610ffb57610ff260a0880160808901612cc9565b63ffffffff1690505b5f6110096020890189612ce2565b60ff1661101c60608a0160408b01612cc9565b63ffffffff1661102c9190612c53565b905061104a8187848861104560808e0160608f01612d02565b611c28565b93509350505094509492505050565b5f43821061106857505f919050565b4361107583610100612d1b565b1061107f57504090565b505f90815260fb602052604090205490565b611099611b44565b606580546001600160a01b0383166001600160a01b031990911681179091556110ca6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61111660c954610100900460ff1660021490565b156111345760405163bae6e2a960e01b815260040160405180910390fd5b693bb4ba34323930bbb2b960b11b6111546033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015611191575061117b816001610c16565b6001600160a01b0316336001600160a01b031614155b156111af57604051630d85cccf60e11b815260040160405180910390fd5b60026111bd60c95460ff1690565b60ff16036111de5760405163dfc60d8560e01b815260040160405180910390fd5b6111e86002611cb1565b6001600160a01b03821661120f5760405163053fd54760e01b815260040160405180910390fd5b6001600160a01b038316611235576112306001600160a01b03831647611cc7565b6112b2565b6040516370a0823160e01b81523060048201526112b29083906001600160a01b038616906370a0823190602401602060405180830381865afa15801561127d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a19190612cb2565b6001600160a01b0386169190611cd2565b6112bc6001611cb1565b505050565b825f8190036112e35760405163ec73295960e01b815260040160405180910390fd5b846001600160401b0316805f0361130d5760405163ec73295960e01b815260040160405180910390fd5b61131d6060840160408501612cc9565b63ffffffff16805f036113435760405163ec73295960e01b815260040160405180910390fd5b6113506020850185612ce2565b60ff16805f036113735760405163ec73295960e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec146113a557604051636494e9f760e01b815260040160405180910390fd5b60026113b360c95460ff1690565b60ff16036113d45760405163dfc60d8560e01b815260040160405180910390fd5b6113de6002611cb1565b600243101561140057604051631799c89b60e01b815260040160405180910390fd5b5f61140c600143612c40565b90505f5f61141983611ab4565b915091508160fc541461143f5760405163d719258d60e01b815260040160405180910390fd5b60fc55505f6114516020880188612ce2565b60ff166114646060890160408a01612cc9565b63ffffffff166114749190612c89565b60fd549091506001600160401b03808316600160c01b909204161461150f5760fd54600160c01b90046001600160401b0316156114ee5760fd546114cc906001600160401b0380821691600160c01b90041683610666565b60fd805467ffffffffffffffff19166001600160401b03929092169190911790555b60fd80546001600160c01b0316600160c01b6001600160401b038416021790555b5060fd545f90819061154990899061153790600160801b90046001600160401b031642612c40565b60fd546001600160401b03168c610f77565b915091506115545f90565b1580156115615750814814155b1561157f576040516336d54d4f60e11b815260040160405180910390fd5b60fd805467ffffffffffffffff19166001600160401b039283161790819055600160401b90048116908b161115905061169f576115cd6d7369676e616c5f7365727669636560901b5f610c16565b60fe546040516313e4299d60e21b81526001600160401b0391821660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1696024820152908b166044820152606481018a90526001600160a01b039190911690634f90a674906084016020604051808303815f875af1158015611654573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116789190612cb2565b5060fd805467ffffffffffffffff60401b1916600160401b6001600160401b038c16021790555b5f81815260fb60205260409081902082409081905560fd80546001600160401b03428116600160801b0267ffffffffffffffff60801b1983168117909355935192937f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe49361172a938693908316921691909117909182526001600160401b0316602082015260400190565b60405180910390a1505061173e6001611cb1565b5050505050505050565b5f826001600160401b03165f03611760575080610675565b670de0b6b3a76400005f6001600160401b038086169061178290861684612c53565b61178c9190612d42565b90506001600160ff1b038111156117b657604051636296f1b960e11b815260040160405180910390fd5b5f6117c082611d24565b90505f828802828702015f8112600181146117df5785820492506117e3565b5f92505b506117f79050816001600160401b03611f41565b98975050505050505050565b5f516020612e6d5f395f51905f52546001600160a01b031690565b610761611b44565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611859576112bc83611f55565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118b3575060408051601f3d908101601f191682019092526118b091810190612cb2565b60015b6119165760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106dc565b5f516020612e6d5f395f51905f5281146119845760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106dc565b506112bc838383611ff0565b5f61199b848461201a565b9050811580156119b257506001600160a01b038116155b1561067557604051632b0d65db60e01b81526001600160401b0385166004820152602481018490526044016106dc565b6119f660c954610100900460ff1660021490565b611a135760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610839611b44565b806001600160a01b038116611aa25760405163538ba4f960e01b815260040160405180910390fd5b611aab836120c4565b6112bc82612122565b5f5f611abe6127ee565b5f5b60ff81108015611ad35750806001018510155b15611b04575f198186030180408360ff83066101008110611af657611af6612d55565b602002015250600101611ac0565b5046611fe082015261200081209250834081611b2160ff87612d69565b6101008110611b3257611b32612d55565b60200201526120009020919391925050565b6033546001600160a01b031633146107825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106dc565b606580546001600160a01b031916905561076181612192565b611bcb60c954610100900460ff1660021490565b15611be95760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611a68565b5f8080611c4463ffffffff86166001600160401b038916612d1b565b9050856001600160401b03168111611c5d576001611c70565b611c706001600160401b03871682612c40565b9050611c8f6001600160401b03611c89838783166121e3565b90611f41565b9150611ca4826001600160401b0316896121f8565b9250509550959350505050565b60c9805460ff191660ff92909216919091179055565b61083982825a612227565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112bc90849061226a565b6fffffffffffffffffffffffffffffffff811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b175f8213611d8057631615e6385f526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b5f818311611f4f5782610c22565b50919050565b6001600160a01b0381163b611fc25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106dc565b5f516020612e6d5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b611ff98361233d565b5f825111806120055750805b156112bc57612014838361237c565b50505050565b6097545f906001600160a01b03168061204657604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0385166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015612098573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120bc9190612d7c565b949350505050565b5f54610100900460ff166120ea5760405162461bcd60e51b81526004016106dc90612d97565b6120f26123a1565b6121106001600160a01b0382161561210a5781611b9e565b33611b9e565b5060c9805461ff001916610100179055565b5f54610100900460ff166121485760405162461bcd60e51b81526004016106dc90612d97565b6001600160401b034611156121705760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f8183116121f15781610c22565b5090919050565b5f5f8261220585856123c7565b61220f9190612d42565b9050801561221d57806120bc565b5060019392505050565b815f0361223357505050565b61224d83838360405180602001604052805f815250612441565b6112bc57604051634c67134d60e11b815260040160405180910390fd5b5f6122be826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661247e9092919063ffffffff16565b905080515f14806122de5750808060200190518101906122de9190612de2565b6112bc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106dc565b61234681611f55565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610c228383604051806060016040528060278152602001612e8d6027913961248c565b5f54610100900460ff166107825760405162461bcd60e51b81526004016106dc90612d97565b5f815f036123e857604051636296f1b960e11b815260040160405180910390fd5b5f826123fc85670de0b6b3a7640000612c53565b6124069190612d42565b9050680755bf798b4a1bf1e48111156124255750680755bf798b4a1bf1e45b670de0b6b3a764000061243782612500565b6120bc9190612d42565b5f6001600160a01b03851661246957604051634c67134d60e11b815260040160405180910390fd5b5f5f835160208501878988f195945050505050565b606061067284845f8561267a565b60605f5f856001600160a01b0316856040516124a89190612e1f565b5f60405180830381855af49150503d805f81146124e0576040519150601f19603f3d011682016040523d82523d5f602084013e6124e5565b606091505b50915091506124f686838387612751565b9695505050505050565b5f68023f2fa8f6da5b9d2819821361251757919050565b680755bf798b4a1bf1e582126125345763a37bfec95f526004601cfd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6060824710156126db5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106dc565b5f5f866001600160a01b031685876040516126f69190612e1f565b5f6040518083038185875af1925050503d805f8114612730576040519150601f19603f3d011682016040523d82523d5f602084013e612735565b606091505b509150915061274687838387612751565b979650505050505050565b606083156127bf5782515f036127b8576001600160a01b0385163b6127b85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106dc565b50816120bc565b6120bc83838151156127d45781518083602001fd5b8060405162461bcd60e51b81526004016106dc9190612e3a565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b0381168114612824575f5ffd5b919050565b5f5f5f6060848603121561283b575f5ffd5b6128448461280e565b92506128526020850161280e565b91506128606040850161280e565b90509250925092565b6001600160a01b0381168114610761575f5ffd5b5f6020828403121561288d575f5ffd5b813561067581612869565b8015158114610761575f5ffd5b5f5f5f606084860312156128b7575f5ffd5b6128c08461280e565b92506020840135915060408401356128d781612898565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215612907575f5ffd5b823561291281612869565b915060208301356001600160401b0381111561292c575f5ffd5b8301601f8101851361293c575f5ffd5b80356001600160401b03811115612955576129556128e2565b604051601f8201601f19908116603f011681016001600160401b0381118282101715612983576129836128e2565b60405281815282820160200187101561299a575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f608085870312156129cc575f5ffd5b84356129d781612869565b935060208501356129e781612869565b92506129f56040860161280e565b9150612a036060860161280e565b905092959194509250565b803563ffffffff81168114612824575f5ffd5b5f5f60408385031215612a32575f5ffd5b612a3b8361280e565b9150612a4960208401612a0e565b90509250929050565b5f5f60408385031215612a63575f5ffd5b823591506020830135612a7581612898565b809150509250929050565b5f5f5f5f60808587031215612a93575f5ffd5b8435935060208501359250612aaa6040860161280e565b9150612a0360608601612a0e565b5f60a08284031215611f4f575f5ffd5b5f5f5f5f6101008587031215612adc575f5ffd5b612ae68686612ab8565b9350612af460a0860161280e565b9250612b0260c0860161280e565b9150612a0360e08601612a0e565b5f60208284031215612b20575f5ffd5b5035919050565b5f5f60408385031215612b38575f5ffd5b8235612b4381612869565b91506020830135612a7581612869565b5f5f5f5f6101008587031215612b67575f5ffd5b612b708561280e565b935060208501359250612b8560408601612a0e565b9150612a038660608701612ab8565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610c2557610c25612c2c565b8082028115828204841417610c2557610c25612c2c565b6001600160401b038281168282160390811115610c2557610c25612c2c565b6001600160401b038181168382160290811690818114612cab57612cab612c2c565b5092915050565b5f60208284031215612cc2575f5ffd5b5051919050565b5f60208284031215612cd9575f5ffd5b610c2282612a0e565b5f60208284031215612cf2575f5ffd5b813560ff81168114610675575f5ffd5b5f60208284031215612d12575f5ffd5b610c228261280e565b80820180821115610c2557610c25612c2c565b634e487b7160e01b5f52601260045260245ffd5b5f82612d5057612d50612d2e565b500490565b634e487b7160e01b5f52603260045260245ffd5b5f82612d7757612d77612d2e565b500690565b5f60208284031215612d8c575f5ffd5b815161067581612869565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f60208284031215612df2575f5ffd5b815161067581612898565b5f5b83811015612e17578181015183820152602001612dff565b50505f910152565b5f8251612e30818460208701612dfd565b9190910192915050565b602081525f8251806020840152612e58816040850160208701612dfd565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c6cf2ce9680f1de1d134cc4979f221ac26a7f2ee8ad4fa31390e126c9a0684b964736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000010001": { + "contractName": "TaikoL2", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670010000000000000000000000000000010002", + "0x00000000000000000000000000000000000000000000000000000000000000fe": "0x0000000000000000000000000000000000000000000000000000000000007e7e", + "0x00000000000000000000000000000000000000000000000000000000000000fd": "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000000000000000000000000000000000000000000fc": "0xf167b245aa70c0a5e2f44cd65a94f2b1c5c9e8c8ab059940e4bf1c47d7a39557", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000010001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010002": { + "contractName": "RollupAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b14610301578063a86f9d9e1461031e578063d8f4648f1461033d578063e07baba61461035c578063e30c39781461039b578063f2fde38b146103b8575f5ffd5b80635c975abb14610291578063715018a6146102b157806379ba5097146102c55780638456cb59146102d95780638abf6077146102ed575f5ffd5b80633ab76e9f116100ee5780633ab76e9f1461020a5780633eb6b8cf146102295780633f4ba83a146102485780634f1ef2861461025c57806352d1902d1461026f575f5ffd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db56146101c75780633659cfe6146101eb575b5f5ffd5b348015610135575f5ffd5b5061013e6103d7565b005b34801561014b575f5ffd5b5061013e61015a36600461110e565b610487565b34801561016a575f5ffd5b506101aa610179366004611145565b67ffffffffffffffff919091165f90815260fb6020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101d2575f5ffd5b506101db61055f565b60405190151581526020016101be565b3480156101f6575f5ffd5b5061013e61020536600461110e565b610577565b348015610215575f5ffd5b506097546101aa906001600160a01b031681565b348015610234575f5ffd5b506101aa61024336600461117c565b61063e565b348015610253575f5ffd5b5061013e610654565b61013e61026a3660046111c9565b610668565b34801561027a575f5ffd5b5061028361071d565b6040519081526020016101be565b34801561029c575f5ffd5b506101db60c954610100900460ff1660021490565b3480156102bc575f5ffd5b5061013e6107ce565b3480156102d0575f5ffd5b5061013e6107df565b3480156102e4575f5ffd5b5061013e610856565b3480156102f8575f5ffd5b506101aa610869565b34801561030c575f5ffd5b506033546001600160a01b03166101aa565b348015610329575f5ffd5b506101aa61033836600461128f565b610877565b348015610348575f5ffd5b5061013e6103573660046112b9565b610883565b348015610367575f5ffd5b5060c9546103829062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101be565b3480156103a6575f5ffd5b506065546001600160a01b03166101aa565b3480156103c3575f5ffd5b5061013e6103d236600461110e565b610961565b6103df6109d2565b5f54600290610100900460ff161580156103ff57505f5460ff8083169116105b6104245760405162461bcd60e51b815260040161041b906112f6565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff16158080156104a557505f54600160ff909116105b806104be5750303b1580156104be57505f5460ff166001145b6104da5760405162461bcd60e51b815260040161041b906112f6565b5f805460ff1916600117905580156104fb575f805461ff0019166101001790555b61050482610a2c565b609780546001600160a01b03191630179055801561055b575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b5f600261056e60c95460ff1690565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100021630036105bf5760405162461bcd60e51b815260040161041b90611344565b7f00000000000000000000000001670010000000000000000000000000000100026001600160a01b03166105f1610a8a565b6001600160a01b0316146106175760405162461bcd60e51b815260040161041b90611390565b61062081610aa5565b604080515f8082526020820190925261063b91839190610aad565b50565b5f61064a848484610c1c565b90505b9392505050565b61065c610c6f565b610666335f610d00565b565b6001600160a01b037f00000000000000000000000001670010000000000000000000000000000100021630036106b05760405162461bcd60e51b815260040161041b90611344565b7f00000000000000000000000001670010000000000000000000000000000100026001600160a01b03166106e2610a8a565b6001600160a01b0316146107085760405162461bcd60e51b815260040161041b90611390565b61071182610aa5565b61055b82826001610aad565b5f306001600160a01b037f000000000000000000000000016700100000000000000000000000000001000216146107bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161041b565b505f5160206114c95f395f51905f5290565b6107d66109d2565b6106665f610d19565b60655433906001600160a01b0316811461084d5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161041b565b61063b81610d19565b61085e610d32565b610666336001610d00565b5f610872610a8a565b905090565b5f61064d468484610c1c565b61088b6109d2565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108dd5760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109696109d2565b606580546001600160a01b0383166001600160a01b0319909116811790915561099a6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041b565b5f54610100900460ff16610a525760405162461bcd60e51b815260040161041b906113dc565b610a5a610da3565b610a786001600160a01b03821615610a725781610d19565b33610d19565b5060c9805461ff001916610100179055565b5f5160206114c95f395f51905f52546001600160a01b031690565b61063b6109d2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ae557610ae083610dc9565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b3f575060408051601f3d908101601f19168201909252610b3c91810190611427565b60015b610ba25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161041b565b5f5160206114c95f395f51905f528114610c105760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161041b565b50610ae0838383610e64565b5f610c278484610e8e565b905081158015610c3e57506001600160a01b038116155b1561064d57604051632b0d65db60e01b815267ffffffffffffffff851660048201526024810184905260440161041b565b610c8360c954610100900460ff1660021490565b610ca05760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063b81610f39565b610d4660c954610100900460ff1660021490565b15610d645760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610cf6565b5f54610100900460ff166106665760405162461bcd60e51b815260040161041b906113dc565b6001600160a01b0381163b610e365760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161041b565b5f5160206114c95f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b610e6d83610f8a565b5f82511180610e795750805b15610ae057610e888383610fc9565b50505050565b6097545f906001600160a01b031680610eba57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff85166004820152602481018490526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610f0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f31919061143e565b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610f9381610dc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061064d83836040518060600160405280602781526020016114e96027913960605f5f856001600160a01b031685604051611005919061147b565b5f60405180830381855af49150503d805f811461103d576040519150601f19603f3d011682016040523d82523d5f602084013e611042565b606091505b50915091506110538683838761105d565b9695505050505050565b606083156110cb5782515f036110c4576001600160a01b0385163b6110c45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041b565b5081610f31565b610f3183838151156110e05781518083602001fd5b8060405162461bcd60e51b815260040161041b9190611496565b6001600160a01b038116811461063b575f5ffd5b5f6020828403121561111e575f5ffd5b813561064d816110fa565b803567ffffffffffffffff81168114611140575f5ffd5b919050565b5f5f60408385031215611156575f5ffd5b61115f83611129565b946020939093013593505050565b80358015158114611140575f5ffd5b5f5f5f6060848603121561118e575f5ffd5b61119784611129565b9250602084013591506111ac6040850161116d565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f5f604083850312156111da575f5ffd5b82356111e5816110fa565b9150602083013567ffffffffffffffff811115611200575f5ffd5b8301601f81018513611210575f5ffd5b803567ffffffffffffffff81111561122a5761122a6111b5565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611259576112596111b5565b604052818152828201602001871015611270575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f604083850312156112a0575f5ffd5b823591506112b06020840161116d565b90509250929050565b5f5f5f606084860312156112cb575f5ffd5b6112d484611129565b92506020840135915060408401356112eb816110fa565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f60208284031215611437575f5ffd5b5051919050565b5f6020828403121561144e575f5ffd5b815161064d816110fa565b5f5b8381101561147357818101518382015260200161145b565b50505f910152565b5f825161148c818460208701611459565b9190910192915050565b602081525f82518060208401526114b4816040850160208701611459565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220086d22e71c4d170ad7ce74f948ce47f2f39076babb18c7b950d99c756006877464736f6c634300081b0033", + "balance": "0x0" + }, + "0x1670010000000000000000000000000000010002": { + "contractName": "RollupAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000ab707cb80e7de7c75d815b1a653433f3eec44c74", + "0xd8268ac552cc4e7bd87f3f4b36d055f134549289cc2d68715bd581a06ffb2631": "0x0000000000000000000000001670010000000000000000000000000000010001", + "0xc64d73fae391b0ac595df47d373c227e7f86156e3d98ea2db53384d097ed1368": "0x0000000000000000000000001670010000000000000000000000000000000001", + "0x30e0422248fc90822e500074357003173b9f5edac82e6cc3679f5f9b5ae0843a": "0x0000000000000000000000001670010000000000000000000000000000000005", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167001000000000000000000000000000010002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e8080156070573d5ff35b3d5ffdfea26469706673582212207b080a80081bb3b6bfe354da7a048c8c76f2c38196dbdab17569c4eb15b5f26764736f6c634300081b0033", + "balance": "0x0" + }, + "0x5dADBb58A8ACfCaec475a08bBB4054F8874A3A8b": { + "contractName": "LibNetwork", + "storage": {}, + "code": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212204213774d0b1a3b266888223284a425ae694a8c5e97b18403ec7f442200eae55a64736f6c634300081b0033", + "balance": "0x0" + }, + "0x0167001000000000000000000000000000010099": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000002710000", + "0x723077b8a1b173adc35e5f0e7e3662fd1208212cb629f9c128551ea7168da722": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x14e04a66bf74771820a7400ff6cf065175b3d7eb25805a5bd1633b161af5d101": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x215be5d23550ceb1beff54fb579a765903ba2ccc85b6f79bcf9bda4e8cb86034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d1035fce6503985ab075a4ff3f7ce2e57cd5a9c5e6a0589dccacfea7bcb0af4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2a95ee547cef07a2fff0a68144824a0d9ded35ed87da118a53e1cda4aca8b944": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x7fcecd2a720442e9bc0cf1a8a6976f9fbddf6b996dc0d78af7e94dadf360d579": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x18bbf5fcf8fe870ecff419c4677497c08b2e6a5431bb94541d06c9da3f308e55": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6e3431b4e42570cb9e3d926eb26f9e54de2df536ae0741ae16350d17a6c16ddc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xdb302bf24b1ad5f23949da8e6b05747dc699499a995361a7bf40ec7204696d6f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xa1d47ef1a6916dfbe65888f77739da164feb3a9a6afc95ee57e8b3e85ea5e955": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x454340b1295f9ff1c0fb9192166d0215d33f84dc5f2dc3f3e5732a4b557186bf": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6a3bb1dada7c82a99b4a02d16da3fda07cb31d8887b9b99ec829ab67fd7a817e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2fe2844d12634f5dce1e2be5be96b2ea1c573f8f25171997e2f4bd943dd32f92": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x3836a017087644fbf6925ae1aca14201ce898a35434d9dea9ebd03cea44e049a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1c7a29f5a750951acb14fdf82a876085914eb17f15a162b054a3d2f8c92e2451": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x271927a243b678b7a071f19b4051ef93b16e397066e3fdef5bba26527e34a1a1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4663d660b5d810c9ab2f6dc64af7ff84ebae28a72342391622649a7fe87c93d4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x352c3281a58937f04ef7cc7b88f3456b6ffd47f52a321c253dc083fb53a3a114": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d5faa5f4e671e6fe47b0eab51c62f8cebf354e21e8fdccf8cdfc0293dd341a3": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x673de83553dc3a2c0f59aa7193de392a4530feb73b9d6cd4fcef68802b8195c1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x8b6a7148182c39c1ca0b052292befa83d09344947c23e47b300314fa8c2b8f7d": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xed4a23b4a030ee0d64ef69b276dee81d493e5efca01c0fa514e0c38f882af152": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x45124dfaa1716b8d229f646ff926377e17b887c2b2eab6a87ab0348ee1689eac": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x40f9c2870c16301e8614e56453fc5b838c4a153eb0b18c4c050efbf4f786518a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xbd55c9294669a294e0c8fd07e2c07738e95be0123b62b752d782fe317f25ca97": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x52c0eeeba21034a69ad7cfa70f75c6fd127acd4084a4da80f30cc7540bdf990b": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x843a9befd317bdcee99c42a3adf6d00b789224beda1485c7f6e7bf327755328e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xea09b20615ffad342fb450741e59ea6ba180fa93b8701b31fa639ef9ff50d2b0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x39cd5e5ec54ce41a5f5b2c13ce7133998dfef654caacfb44d5c517700c217d36": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xd46a4409ebc9fc47afedecdadc89dbc0d6f46be6bdb49fd822d5143daedc83f0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x5735d6fad3ea4f2328a1557ff1be7570df3d4c2630b448c1b7fe2781d018beb0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x509c640066f1872118ec768fcb985c7bf4476690788ac7e112ab072ca82ab219": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xf9982658df503b792c55f860aefa42588712c9069523324d4b9ce4d9a10e2e9c": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x87d11160035f8424b7163a397fc780b278af3de5a6caa2cb71bb2b46825ce159": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1dde801acf032acf4b3151b5edb82e0e4d872a54d9efbf3809d75efcbfa2bf8f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x01aad34cdf9f8f5fca811e2fab1411b08778be71f547894fa0d9fafa5c1f60b2": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x65cee0cf3d643c3f3402a40ddebed72cec3dd6bac66974bff967dc0ef9e2faed": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xaf6cadccd3f046eeb282ec0b08e44adbe45784a23f41d76b096ccb8e7f238e2b": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2589e1958c4e4f4a5f777b0b92a3170cc21771a8d3580331a71232f8624f7628": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1f27de92fedf410197c8a09d0f2f03372d92b75c9889a6a61cf491395877fbcf": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461011f57806370a082311461013257806395d89b411461015a578063a457c2d714610162578063a9059cbb14610175578063dd62ed3e14610188575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b261019b565b6040516100bf919061068a565b60405180910390f35b6100db6100d63660046106f0565b61022b565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b366004610718565b610244565b604051601281526020016100bf565b6100db61012d3660046106f0565b610267565b6100ef610140366004610752565b6001600160a01b03165f9081526020819052604090205490565b6100b2610288565b6100db6101703660046106f0565b610297565b6100db6101833660046106f0565b610316565b6100ef610196366004610772565b610323565b6060600380546101aa906107a3565b80601f01602080910402602001604051908101604052809291908181526020018280546101d6906107a3565b80156102215780601f106101f857610100808354040283529160200191610221565b820191905f5260205f20905b81548152906001019060200180831161020457829003601f168201915b5050505050905090565b5f3361023881858561034d565b60019150505b92915050565b5f33610251858285610470565b61025c8585856104e8565b506001949350505050565b5f336102388185856102798383610323565b61028391906107db565b61034d565b6060600480546101aa906107a3565b5f33816102a48286610323565b9050838110156103095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61025c828686840361034d565b5f336102388185856104e8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103af5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610300565b6001600160a01b0382166104105760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610300565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61047b8484610323565b90505f1981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610300565b6104e2848484840361034d565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610300565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610300565b6001600160a01b0383165f90815260208190526040902054818110156106255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610300565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b602081525f82518060208401525f5b818110156106b65760208186018101516040868401015201610699565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146106eb575f5ffd5b919050565b5f5f60408385031215610701575f5ffd5b61070a836106d5565b946020939093013593505050565b5f5f5f6060848603121561072a575f5ffd5b610733846106d5565b9250610741602085016106d5565b929592945050506040919091013590565b5f60208284031215610762575f5ffd5b61076b826106d5565b9392505050565b5f5f60408385031215610783575f5ffd5b61078c836106d5565b915061079a602084016106d5565b90509250929050565b600181811c908216806107b757607f821691505b6020821081036107d557634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561023e57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220a1403924b9774521e0b2e4d325575d166c7612abf0d4b532ee23317cd4225a6b64736f6c634300081b0033", + "balance": "0x0" + } +} \ No newline at end of file
diff --git ethereum/go-ethereum/core/taiko_genesis/internal_l2b.json taikoxyz/taiko-geth/core/taiko_genesis/internal_l2b.json new file mode 100644 index 0000000000000000000000000000000000000000..ef88668af6d45f6f4e3523d129b069bd23f5cb5c --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/internal_l2b.json @@ -0,0 +1,369 @@ +{ + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": { + "balance": "0x3782dace9d90000000" + }, + "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": { + "balance": "0x3782dace9d90000000" + }, + "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": { + "balance": "0x3782dace9d90000000" + }, + "0x90F79bf6EB2c4f870365E785982E1f101E93b906": { + "balance": "0x3782dace9d90000000" + }, + "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": { + "balance": "0x3782dace9d90000000" + }, + "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": { + "balance": "0x3782dace9d90000000" + }, + "0x976EA74026E726554dB657fA54763abd0C3a0aa9": { + "balance": "0x3782dace9d90000000" + }, + "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": { + "balance": "0x3782dace9d90000000" + }, + "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": { + "balance": "0x3782dace9d90000000" + }, + "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": { + "balance": "0x3782dace9d90000000" + }, + "0xBcd4042DE499D14e55001CcbB24a551F3b954096": { + "balance": "0x3782dace9d90000000" + }, + "0x71bE63f3384f5fb98995898A86B02Fb2426c5788": { + "balance": "0x3782dace9d90000000" + }, + "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a": { + "balance": "0x3782dace9d90000000" + }, + "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec": { + "balance": "0x3782dace9d90000000" + }, + "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097": { + "balance": "0x3782dace9d90000000" + }, + "0xcd3B766CCDd6AE721141F452C550Ca635964ce71": { + "balance": "0x3782dace9d90000000" + }, + "0x2546BcD3c84621e976D8185a91A922aE77ECEc30": { + "balance": "0x3782dace9d90000000" + }, + "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E": { + "balance": "0x3782dace9d90000000" + }, + "0xdD2FD4581271e230360230F9337D5c0430Bf44C0": { + "balance": "0x3782dace9d90000000" + }, + "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199": { + "balance": "0x3782dace9d90000000" + }, + "0x7D86687F980A56b832e9378952B738b614A99dc6": { + "balance": "0x3782dace9d90000000" + }, + "0x11e8F3eA3C6FcF12EcfF2722d75CEFC539c51a1C": { + "balance": "0x3782dace9d90000000" + }, + "0x9eAF5590f2c84912A08de97FA28d0529361Deb9E": { + "balance": "0x3782dace9d90000000" + }, + "0x1003ff39d25F2Ab16dBCc18EcE05a9B6154f65F4": { + "balance": "0x3782dace9d90000000" + }, + "0x4779d18931B35540F84b0cd0e9633855B84df7b8": { + "balance": "0x3782dace9d90000000" + }, + "0x1c87Bb9234aeC6aDc580EaE6C8B59558A4502220": { + "balance": "0x3782dace9d90000000" + }, + "0x0d803cdeEe5990f22C2a8DF10A695D2312dA26CC": { + "balance": "0x3782dace9d90000000" + }, + "0xAb707cb80e7de7C75d815B1A653433F3EEc44c74": { + "balance": "0x3782dace9d90000000" + }, + "0xe8B1ff302A740fD2C6e76B620d45508dAEc2DDFf": { + "balance": "0x3782dace9d90000000" + }, + "0xa0EC9eE47802CeB56eb58ce80F3E41630B771b04": { + "balance": "0x3782dace9d90000000" + }, + "0x042a63149117602129B6922ecFe3111168C2C323": { + "balance": "0x3782dace9d90000000" + }, + "0xA1196426b41627ae75Ea7f7409E074BE97367da2": { + "balance": "0x3782dace9d90000000" + }, + "0xE74cEf90b6CF1a77FEfAd731713e6f53e575C183": { + "balance": "0x3782dace9d90000000" + }, + "0x7Df8Efa6d6F1CB5C4f36315e0AcB82b02Ae8BA40": { + "balance": "0x3782dace9d90000000" + }, + "0x9E126C57330FA71556628e0aabd6B6B6783d99fA": { + "balance": "0x3782dace9d90000000" + }, + "0xcBDc0F9a4C38f1e010bD3B6e43598A55D1868c23": { + "balance": "0x3782dace9d90000000" + }, + "0xBc5BdceE96b1BC47822C74e6f64186fbA7d686be": { + "balance": "0x3782dace9d90000000" + }, + "0x0536896a5e38BbD59F3F369FF3682677965aBD19": { + "balance": "0x3782dace9d90000000" + }, + "0xFE0f143FcAD5B561b1eD2AC960278A2F23559Ef9": { + "balance": "0x3782dace9d90000000" + }, + "0x98D08079928FcCB30598c6C6382ABfd7dbFaA1cD": { + "balance": "0x3782dace9d90000000" + }, + "0x0167002000000000000000000000000000000006": { + "contractName": "SharedAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b146102d5578063a86f9d9e146102f2578063d8f4648f14610311578063e07baba614610330578063e30c39781461036f578063f2fde38b1461038c575f80fd5b80635c975abb14610265578063715018a61461028557806379ba5097146102995780638456cb59146102ad5780638abf6077146102c1575f80fd5b80633ab76e9f116100ee5780633ab76e9f146101de5780633eb6b8cf146101fd5780633f4ba83a1461021c5780634f1ef2861461023057806352d1902d14610243575f80fd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db561461019b5780633659cfe6146101bf575b5f80fd5b348015610135575f80fd5b5061013e6103ab565b005b34801561014b575f80fd5b5061013e61015a36600461118f565b61045b565b34801561016a575f80fd5b5061017e6101793660046111c6565b610533565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a6575f80fd5b506101af610567565b6040519015158152602001610192565b3480156101ca575f80fd5b5061013e6101d936600461118f565b61057b565b3480156101e9575f80fd5b5060975461017e906001600160a01b031681565b348015610208575f80fd5b5061017e6102173660046111fd565b610642565b348015610227575f80fd5b5061013e610656565b61013e61023e36600461124a565b61066a565b34801561024e575f80fd5b5061025761071f565b604051908152602001610192565b348015610270575f80fd5b506101af60c954610100900460ff1660021490565b348015610290575f80fd5b5061013e6107d0565b3480156102a4575f80fd5b5061013e6107e1565b3480156102b8575f80fd5b5061013e610858565b3480156102cc575f80fd5b5061017e61086b565b3480156102e0575f80fd5b506033546001600160a01b031661017e565b3480156102fd575f80fd5b5061017e61030c366004611308565b610879565b34801561031c575f80fd5b5061013e61032b366004611332565b61088c565b34801561033b575f80fd5b5060c9546103569062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610192565b34801561037a575f80fd5b506065546001600160a01b031661017e565b348015610397575f80fd5b5061013e6103a636600461118f565b61096a565b6103b36109db565b5f54600290610100900460ff161580156103d357505f5460ff8083169116105b6103f85760405162461bcd60e51b81526004016103ef9061136f565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff161580801561047957505f54600160ff909116105b806104925750303b15801561049257505f5460ff166001145b6104ae5760405162461bcd60e51b81526004016103ef9061136f565b5f805460ff1916600117905580156104cf575f805461ff0019166101001790555b6104d882610a35565b609780546001600160a01b03191630179055801561052f575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b67ffffffffffffffff82165f90815260fb602090815260408083208484529091529020546001600160a01b03165b92915050565b5f6002610572610a93565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000061630036105c35760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670020000000000000000000000000000000066001600160a01b03166105f5610ad2565b6001600160a01b03161461061b5760405162461bcd60e51b81526004016103ef90611409565b61062481610aed565b604080515f8082526020820190925261063f91839190610af5565b50565b5f61064e848484610c64565b949350505050565b61065e610d57565b610668335f610de8565b565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000061630036106b25760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670020000000000000000000000000000000066001600160a01b03166106e4610ad2565b6001600160a01b03161461070a5760405162461bcd60e51b81526004016103ef90611409565b61071382610aed565b61052f82826001610af5565b5f306001600160a01b037f000000000000000000000000016700200000000000000000000000000000000616146107be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ef565b505f8051602061154283398151915290565b6107d86109db565b6106685f610e01565b60655433906001600160a01b0316811461084f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ef565b61063f81610e01565b610860610e1a565b610668336001610de8565b5f610874610ad2565b905090565b5f610885468484610c64565b9392505050565b6108946109db565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108e65760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109726109db565b606580546001600160a01b0383166001600160a01b031990911681179091556109a36033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ef565b5f54610100900460ff16610a5b5760405162461bcd60e51b81526004016103ef90611455565b610a63610e8b565b610a816001600160a01b03821615610a7b5781610e01565b33610e01565b5060c9805461ff001916610100179055565b5f610a9d46610eb1565b15610ac857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020611542833981519152546001600160a01b031690565b61063f6109db565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b2d57610b2883610ede565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b87575060408051601f3d908101601f19168201909252610b84918101906114a0565b60015b610bea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ef565b5f805160206115428339815191528114610c585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ef565b50610b28838383610f79565b6097545f906001600160a01b031680610c9057604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0791906114b7565b915082158015610d1e57506001600160a01b038216155b15610d4f57604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016103ef565b509392505050565b610d6b60c954610100900460ff1660021490565b610d885760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063f81610fa3565b610e2e60c954610100900460ff1660021490565b15610e4c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610dde565b5f54610100900460ff166106685760405162461bcd60e51b81526004016103ef90611455565b5f6001821480610ec2575061426882145b80610ecf575062aa36a782145b80610561575061056182610ff4565b6001600160a01b0381163b610f4b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ef565b5f8051602061154283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f828361100b565b5f82511180610f8e5750805b15610b2857610f9d838361104a565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c8210158015610561575050617e90101590565b61101481610ede565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061088583836040518060600160405280602781526020016115626027913960605f80856001600160a01b03168560405161108691906114f4565b5f60405180830381855af49150503d805f81146110be576040519150601f19603f3d011682016040523d82523d5f602084013e6110c3565b606091505b50915091506110d4868383876110de565b9695505050505050565b6060831561114c5782515f03611145576001600160a01b0385163b6111455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ef565b508161064e565b61064e83838151156111615781518083602001fd5b8060405162461bcd60e51b81526004016103ef919061150f565b6001600160a01b038116811461063f575f80fd5b5f6020828403121561119f575f80fd5b81356108858161117b565b803567ffffffffffffffff811681146111c1575f80fd5b919050565b5f80604083850312156111d7575f80fd5b6111e0836111aa565b946020939093013593505050565b803580151581146111c1575f80fd5b5f805f6060848603121561120f575f80fd5b611218846111aa565b92506020840135915061122d604085016111ee565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561125b575f80fd5b82356112668161117b565b9150602083013567ffffffffffffffff80821115611282575f80fd5b818501915085601f830112611295575f80fd5b8135818111156112a7576112a7611236565b604051601f8201601f19908116603f011681019083821181831017156112cf576112cf611236565b816040528281528860208487010111156112e7575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215611319575f80fd5b82359150611329602084016111ee565b90509250929050565b5f805f60608486031215611344575f80fd5b61134d846111aa565b92506020840135915060408401356113648161117b565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156114b0575f80fd5b5051919050565b5f602082840312156114c7575f80fd5b81516108858161117b565b5f5b838110156114ec5781810151838201526020016114d4565b50505f910152565b5f82516115058184602087016114d2565b9190910192915050565b602081525f825180602084015261152d8160408501602087016114d2565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220546acba5cf9d5840aa28144a5c5b7154e1fbe167d06f40edc368d12eba1367a264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000006": { + "contractName": "SharedAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x1f6e8365b88965465679d131196095b3fe883fdeef8915a26d29cc80b5f57057": "0x0000000000000000000000001670020000000000000000000000000000000001", + "0x0a87a91d9f9742da2223c4d7ea323675defd4b6d878704dfb528468917dd7a9f": "0x0000000000000000000000001670020000000000000000000000000000000002", + "0x5c77c4c9bda7d7357953d00d5467a266bbf8a8e5374fe1eff42e9d30c6943054": "0x0000000000000000000000001670020000000000000000000000000000000003", + "0x63e5ffdf4c63931cdc18ccbe3f3ebca577ee9db6108b67086c0d098399f355c2": "0x0000000000000000000000001670020000000000000000000000000000000004", + "0x3bd77107e0102c8f1a54b812ae852bf834e4d7d2e163cd6ad85e7fb146b8946b": "0x0000000000000000000000001670020000000000000000000000000000000005", + "0xeb65558d30a30fdaf6ae0b122d4f7aa1aed26bbd4b5edca1d270c0296c859470": "0x0000000000000000000000000167002000000000000000000000000000010096", + "0xcd245fd144e9bd59b0e5c99ce9e407ab75ef654d032e6d2b4224a9dd9bfba6be": "0x0000000000000000000000000167002000000000000000000000000000010097", + "0xe4837dd39c893816c7a5c63deb4bba91722c5f6088e3c198b8e24fb37a9591a3": "0x0000000000000000000000000167002000000000000000000000000000010098", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000006" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000000001": { + "contractName": "BridgeImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x608060405260043610610215575f3560e01c806382b5e8891161011e578063b8acae0e116100a8578063e07baba61161006d578063e07baba61461065e578063e30c39781461069b578063eefbf17e146106b8578063f09a4016146106de578063f2fde38b146106fd575f80fd5b8063b8acae0e146105a2578063be880c81146105c1578063c012fa77146105d7578063d0496d6a146105f6578063d1aaa5df1461063e575f80fd5b80638e3881a9116100ee5780638e3881a9146104f1578063913b16cb1461052f5780639efc7a2e1461054e578063a730cdfb1461056d578063a86f9d9e14610583575f80fd5b806382b5e8891461048d5780638456cb59146104ac5780638abf6077146104c05780638da5cb5b146104d4575f80fd5b80633f4ba83a1161019f5780635c975abb1161016f5780635c975abb146103e857806360620c6b14610408578063715018a61461042757806379ba50971461043b5780637cbadfaa1461044f575f80fd5b80633f4ba83a146103805780634f1ef2861461039457806352d1902d146103a75780635862f6e1146103c9575f80fd5b80633075db56116101e55780633075db56146102ac5780633659cfe6146102d05780633ab76e9f146102ef5780633c6cf473146103265780633eb6b8cf14610361575f80fd5b80630432873c14610220578063069489a2146102415780631bdb0037146102555780632035065e1461027f575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023f61023a3660046130a8565b61071c565b005b34801561024c575f80fd5b5061023f6109b3565b6102686102633660046130f6565b610a6a565b604051610276929190613277565b60405180910390f35b34801561028a575f80fd5b5061029e61029936600461328f565b610e1d565b604051610276929190613345565b3480156102b7575f80fd5b506102c06112f7565b6040519015158152602001610276565b3480156102db575f80fd5b5061023f6102ea366004613394565b61130b565b3480156102fa575f80fd5b5060975461030e906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b348015610331575f80fd5b506103546103403660046133af565b60fc6020525f908152604090205460ff1681565b60405161027691906133c6565b34801561036c575f80fd5b5061030e61037b3660046133ea565b6113d2565b34801561038b575f80fd5b5061023f6113e8565b61023f6103a23660046134ec565b6113fc565b3480156103b2575f80fd5b506103bb6114b5565b604051908152602001610276565b3480156103d4575f80fd5b506102c06103e336600461328f565b611567565b3480156103f3575f80fd5b506102c060c954610100900460ff1660021490565b348015610413575f80fd5b506102c06104223660046130f6565b6115d2565b348015610432575f80fd5b5061023f6116a0565b348015610446575f80fd5b5061023f6116b1565b34801561045a575f80fd5b506104786104693660046133af565b6101000160041c620c35000190565b60405163ffffffff9091168152602001610276565b348015610498575f80fd5b5061023f6104a7366004613394565b611728565b3480156104b7575f80fd5b5061023f6117a8565b3480156104cb575f80fd5b5061030e6117bb565b3480156104df575f80fd5b506033546001600160a01b031661030e565b3480156104fc575f80fd5b5061051061050b366004613538565b6117c9565b6040805192151583526001600160a01b03909116602083015201610276565b34801561053a575f80fd5b5061023f6105493660046130f6565b6117f5565b348015610559575f80fd5b5061023f61056836600461328f565b6119e0565b348015610578575f80fd5b506104786201d4c081565b34801561058e575f80fd5b5061030e61059d366004613551565b611cd9565b3480156105ad575f80fd5b506102c06105bc36600461328f565b611ce5565b3480156105cc575f80fd5b50610478620c350081565b3480156105e2575f80fd5b506103bb6105f1366004613673565b611d46565b348015610601575f80fd5b5061060a611d75565b60408051825181526020808401516001600160a01b031690820152918101516001600160401b031690820152606001610276565b348015610649575f80fd5b506103bb6106583660046133af565b60031890565b348015610669575f80fd5b5060c954610683906201000090046001600160401b031681565b6040516001600160401b039091168152602001610276565b3480156106a6575f80fd5b506065546001600160a01b031661030e565b3480156106c3575f80fd5b5060fb5461068390600160401b90046001600160401b031681565b3480156106e9575f80fd5b5061023f6106f83660046136a4565b611dc9565b348015610708575f80fd5b5061023f610717366004613394565b611e90565b61072c60e0830160c08401613538565b46816001600160401b03161461075557604051631c6c777560e31b815260040160405180910390fd5b61076560a0840160808501613538565b6001600160401b0381161580610783575046816001600160401b0316145b156107a157604051631c6c777560e31b815260040160405180910390fd5b6107b560c954610100900460ff1660021490565b156107d35760405163bae6e2a960e01b815260040160405180910390fd5b60026107dd611f01565b60ff16036107fe5760405163dfc60d8560e01b815260040160405180910390fd5b6108086002611f40565b5f6108156105f1866136d0565b9050610822816001611f88565b610830856101200135611fda565b61084d576040516335856fbd60e21b815260040160405180910390fd5b5f61085f610100870160e08801613394565b6001600160a01b0316336001600160a01b0316146108c65761088760608701604088016136db565b63ffffffff1615806108965750845b156108b4576040516372b6e1c360e11b815260040160405180910390fd5b6108bf86600161207b565b90506108ca565b5a90505b6108d586838361210d565b156108ea576108e58260026121e0565b6109a1565b8415610988576108fb8260036121e0565b6109166d7369676e616c5f7365727669636560901b5f611cd9565b60405163019b28af60e61b81526003841860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af115801561095e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098291906136f4565b506109a1565b60405163161e3ead60e01b815260040160405180910390fd5b50506109ad6001611f40565b50505050565b6109bb61229d565b5f54600290610100900460ff161580156109db57505f5460ff8083169116105b610a005760405162461bcd60e51b81526004016109f79061370b565b60405180910390fd5b5f805460fb805467ffffffffffffffff1916905560ff82815561010083815561ff001991851661ffff19909316831717169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152610ad060c0840160a08501613394565b6001600160a01b038116610af75760405163538ba4f960e01b815260040160405180910390fd5b610b08610100850160e08601613394565b6001600160a01b038116610b2f5760405163538ba4f960e01b815260040160405180910390fd5b610b3f60e0860160c08701613538565b6001600160401b0381161580610b5d575046816001600160401b0316145b15610b7b57604051631c6c777560e31b815260040160405180910390fd5b610b8f60c954610100900460ff1660021490565b15610bad5760405163bae6e2a960e01b815260040160405180910390fd5b6002610bb7611f01565b60ff1603610bd85760405163dfc60d8560e01b815260040160405180910390fd5b610be26002611f40565b610bf260608701604088016136db565b63ffffffff165f03610c3a57610c0e6040870160208801613538565b6001600160401b031615610c355760405163c9f5178760e01b815260040160405180910390fd5b610c63565b610c44865f61207b565b5f03610c63576040516308c2ad5360e01b815260040160405180910390fd5b5f610c7761050b60e0890160c08a01613538565b50905080610c9857604051631c6c777560e31b815260040160405180910390fd5b34610ca96040890160208a01613538565b610cc1906001600160401b03166101208a013561376d565b14610cdf57604051634ac2abdf60e11b815260040160405180910390fd5b610ce8876136d0565b60fb8054919650600160401b9091046001600160401b0316906008610d0c83613780565b82546101009290920a6001600160401b03818102199093169183160217909155908116865233606087015246166080860152610d4785611d46565b9550857fe33fd33b4f45b95b1c196242240c5b5233129d724b578f95b66ce8d8aae9351786604051610d7991906137a5565b60405180910390a2610d9c6d7369676e616c5f7365727669636560901b5f611cd9565b6001600160a01b03166366ca2bc0876040518263ffffffff1660e01b8152600401610dc991815260200190565b6020604051808303815f875af1158015610de5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0991906136f4565b5050610e156001611f40565b505050915091565b5f80610e3360c954610100900460ff1660021490565b15610e515760405163bae6e2a960e01b815260040160405180910390fd5b6002610e5b611f01565b60ff1603610e7c5760405163dfc60d8560e01b815260040160405180910390fd5b610e866002611f40565b5f5a905046610e9b60e0880160c08901613538565b6001600160401b031614610ec257604051631c6c777560e31b815260040160405180910390fd5b610ed260a0870160808801613538565b6001600160401b03161580610efe575046610ef360a0880160808901613538565b6001600160401b0316145b15610f1c57604051631c6c777560e31b815260040160405180910390fd5b610f2c60608701604088016136db565b63ffffffff16158015610f615750610f4b610100870160e08801613394565b6001600160a01b0316336001600160a01b031614155b15610f7f576040516372b6e1c360e11b815260040160405180910390fd5b5f610f8c6105f1886136d0565b9050610f98815f611f88565b5f610fb46d7369676e616c5f7365727669636560901b5f611cd9565b604080516060810182525f8082529181019190915263ffffffff88166020820152909150610ff48284610fed60a08d0160808e01613538565b8b8b6122f7565b63ffffffff1660408083019190915261103390611016908b0160208c01613538565b61102e906001600160401b03166101208c013561376d565b611fda565b611086576110486101008a0160e08b01613394565b6001600160a01b0316336001600160a01b031614611079576040516335856fbd60e21b815260040160405180910390fd5b600195506003945061129d565b5f6110918a846123a2565b156110aa5750600295506001945061012089013561110f565b5f6110bc6101008c0160e08d01613394565b6001600160a01b0316336001600160a01b0316146110e4576110df8b600161207b565b6110e6565b5a5b90506110f38b868361210d565b1561110457600297505f965061110d565b60019750600296505b505b61111f60408b0160208c01613538565b6001600160401b0316156112735761113d60408b0160208c01613538565b611150906001600160401b03168261376d565b90506111636101008b0160e08c01613394565b6001600160a01b0316336001600160a01b031614158015611198575061118f60608b0160408c016136db565b63ffffffff1615155b1561127357604082015163ffffffff16614e20025a86036201d4c00163ffffffff9081168085525f9183916111d09183919061249916565b0390505f6111e460608e0160408f016136db565b63ffffffff168d60200160208101906111fd9190613538565b6001600160401b0316830281611215576112156137b7565b0490505f48830290505f6112598f60200160208101906112359190613538565b6001600160401b0316848410156112515784840160011c611253565b845b906124ae565b9586900395905061126d33826188b86124c2565b50505050505b61129b816188b861128b6101008e0160e08f01613394565b6001600160a01b031691906124c2565b505b6112a783876121e0565b827fdaa934be05606f60ac49cd6e2ca4fbb3a5c15680dd3304880ea6abb590486e3d8a836040516112d992919061395e565b60405180910390a2505050506112ef6001611f40565b935093915050565b5f6002611302611f01565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000011630036113535760405162461bcd60e51b81526004016109f7906139a0565b7f00000000000000000000000001670020000000000000000000000000000000016001600160a01b0316611385612505565b6001600160a01b0316146113ab5760405162461bcd60e51b81526004016109f7906139ec565b6113b481612520565b604080515f808252602082019092526113cf91839190612528565b50565b5f6113de848484612692565b90505b9392505050565b6113f0612783565b6113fa335f612813565b565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000011630036114445760405162461bcd60e51b81526004016109f7906139a0565b7f00000000000000000000000001670020000000000000000000000000000000016001600160a01b0316611476612505565b6001600160a01b03161461149c5760405162461bcd60e51b81526004016109f7906139ec565b6114a582612520565b6114b182826001612528565b5050565b5f306001600160a01b037f000000000000000000000000016700200000000000000000000000000000000116146115545760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016109f7565b505f80516020613c118339815191525b90565b5f4661157960a0860160808701613538565b6001600160401b03161461158e57505f6113e1565b6113de6115ac6d7369676e616c5f7365727669636560901b5f611cd9565b6115bb6106586105f1886136d0565b6115cb60e0880160c08901613538565b86866128c0565b5f466115e460a0840160808501613538565b6001600160401b0316146115f957505f919050565b6116146d7369676e616c5f7365727669636560901b5f611cd9565b6001600160a01b03166332676bc63061162f6105f1866136d0565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015611676573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061169a9190613a38565b92915050565b6116a861229d565b6113fa5f612942565b60655433906001600160a01b0316811461171f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016109f7565b6113cf81612942565b806001600160a01b0381166117505760405163538ba4f960e01b815260040160405180910390fd5b6040516317066a5760e21b81523060048201526001600160a01b03831690635c19a95c906024015f604051808303815f87803b15801561178e575f80fd5b505af11580156117a0573d5f803e3d5ffd5b505050505050565b6117b061295b565b6113fa336001612813565b5f6117c4612505565b905090565b5f806117e0836562726964676560d01b60016113d2565b6001600160a01b038116151594909350915050565b61180560e0820160c08301613538565b46816001600160401b03161461182e57604051631c6c777560e31b815260040160405180910390fd5b61183e60a0830160808401613538565b6001600160401b038116158061185c575046816001600160401b0316145b1561187a57604051631c6c777560e31b815260040160405180910390fd5b61188e60c954610100900460ff1660021490565b156118ac5760405163bae6e2a960e01b815260040160405180910390fd5b60026118b6611f01565b60ff16036118d75760405163dfc60d8560e01b815260040160405180910390fd5b6118e16002611f40565b6118f2610100840160e08501613394565b6001600160a01b0316336001600160a01b031614611923576040516372b6e1c360e11b815260040160405180910390fd5b5f6119306105f1856136d0565b905061193d816001611f88565b6119488160036121e0565b6119636d7369676e616c5f7365727669636560901b5f611cd9565b60405163019b28af60e61b81526003831860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af11580156119ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119cf91906136f4565b50506119db6001611f40565b505050565b6119f060a0840160808501613538565b46816001600160401b031614611a1957604051631c6c777560e31b815260040160405180910390fd5b611a2960e0850160c08601613538565b6001600160401b0381161580611a47575046816001600160401b0316145b15611a6557604051631c6c777560e31b815260040160405180910390fd5b611a7960c954610100900460ff1660021490565b15611a975760405163bae6e2a960e01b815260040160405180910390fd5b6002611aa1611f01565b60ff1603611ac25760405163dfc60d8560e01b815260040160405180910390fd5b611acc6002611f40565b5f611ad96105f1876136d0565b9050611ae5815f611f88565b5f611b016d7369676e616c5f7365727669636560901b5f611cd9565b604051631933b5e360e11b8152306004820152602481018490529091506001600160a01b038216906332676bc690604401602060405180830381865afa158015611b4d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b719190613a38565b611b8e5760405163ab035ad560e01b815260040160405180910390fd5b611bad8160038418611ba660e08b0160c08c01613538565b89896122f7565b50611bb98260046121e0565b611bc7876101200135611fda565b611be4576040516335856fbd60e21b815260040160405180910390fd5b611c0d62bc399d60e11b611bfe60808a0160608b01613394565b6001600160a01b0316906129cc565b15611caa57611c2c8230611c2760a08b0160808c01613538565b612a59565b611c3c6080880160608901613394565b6001600160a01b0316630178733a88610120013589856040518463ffffffff1660e01b8152600401611c6f929190613a53565b5f604051808303818588803b158015611c86575f80fd5b505af1158015611c98573d5f803e3d5ffd5b5050505050611ca5612b2a565b611cc6565b611cc66101208801356188b861128b60c08b0160a08c01613394565b5050611cd26001611f40565b5050505050565b5f6113e1468484612692565b5f46611cf760e0860160c08701613538565b6001600160401b031614611d0c57505f6113e1565b6113de611d2a6d7369676e616c5f7365727669636560901b5f611cd9565b611d366105f1876136d0565b6115cb60a0880160808901613538565b5f81604051602001611d589190613a74565b604051602081830303815290604052805190602001209050919050565b604080516060810182525f8082526020820181905291810191909152611d99612b4f565b80519091501580611dab575080515f19145b1561156457604051635ceed17360e01b815260040160405180910390fd5b5f54610100900460ff1615808015611de757505f54600160ff909116105b80611e005750303b158015611e0057505f5460ff166001145b611e1c5760405162461bcd60e51b81526004016109f79061370b565b5f805460ff191660011790558015611e3d575f805461ff0019166101001790555b611e478383612c49565b80156119db575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e9861229d565b606580546001600160a01b0383166001600160a01b03199091168117909155611ec96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611f0b46612c83565b15611f3657507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b611f4946612c83565b15611f7457807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b806004811115611f9a57611f9a61331d565b5f83815260fc602052604090205460ff166004811115611fbc57611fbc61331d565b146114b1576040516319d893ad60e21b815260040160405180910390fd5b5f80611ff76c38bab7ba30afb6b0b730b3b2b960991b6001611cd9565b90506001600160a01b0381166120105750600192915050565b6040516315c638fb60e31b81525f6004820152602481018490526001600160a01b0382169063ae31c7d8906044015f604051808303815f87803b158015612055575f80fd5b505af1925050508015612066575060015b61207257505f92915050565b50600192915050565b5f8061209f61208e610140860186613aaa565b6101000160041c620c350001919050565b63ffffffff169050806120d06120bb60608701604088016136db565b63ffffffff168361249990919063ffffffff16565b039150508180156120ef57508060065a6120eb90603f613aec565b901c105b1561169a57604051635fbdff7360e01b815260040160405180910390fd5b5f3061211f6080860160608701613394565b6001600160a01b03160361213557612135613b03565b815f0361214357505f6113e1565b612167836121576080870160608801613394565b611c2760a0880160808901613538565b6121d66101208501358361217f610140880188613aaa565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506121c59250505061012089016101008a01613394565b6001600160a01b0316929190612cb0565b90506113e1612b2a565b8060048111156121f2576121f261331d565b5f83815260fc602052604090205460ff1660048111156122145761221461331d565b03612232576040516319d893ad60e21b815260040160405180910390fd5b5f82815260fc60205260409020805482919060ff1916600183600481111561225c5761225c61331d565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b25756348260405161229191906133c6565b60405180910390a25050565b6033546001600160a01b031633146113fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f7565b5f856001600160a01b031663910af6ed8561231c876562726964676560d01b5f6113d2565b8887876040518663ffffffff1660e01b815260040161233f959493929190613b17565b6020604051808303815f875af1925050508015612379575060408051601f3d908101601f19168201909252612376918101906136f4565b60015b612396576040516314504c7360e31b815260040160405180910390fd5b90505b95945050505050565b5f806123b661012085016101008601613394565b6001600160a01b0316036123cc5750600161169a565b306123df61012085016101008601613394565b6001600160a01b0316036123f55750600161169a565b6001600160a01b03821661241161012085016101008601613394565b6001600160a01b0316036124275750600161169a565b6004612437610140850185613aaa565b90501015801561246e5750637f07c94760e01b612458610140850185613aaa565b61246191613b4d565b6001600160e01b03191614155b80156113e157506113e161248a61012085016101008601613394565b6001600160a01b03163b151590565b5f8183116124a757816113e1565b5090919050565b5f8183116124bc57826113e1565b50919050565b815f036124ce57505050565b6124e883838360405180602001604052805f815250612cb0565b6119db57604051634c67134d60e11b815260040160405180910390fd5b5f80516020613c11833981519152546001600160a01b031690565b6113cf61229d565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561255b576119db83612ced565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156125b5575060408051601f3d908101601f191682019092526125b2918101906136f4565b60015b6126185760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016109f7565b5f80516020613c1183398151915281146126865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016109f7565b506119db838383612d88565b6097545f906001600160a01b0316806126be57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015612710573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127349190613b7d565b91508215801561274b57506001600160a01b038216155b1561277b57604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016109f7565b509392505050565b61279760c954610100900460ff1660021490565b6127b45760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6033546001600160a01b038381169116148061285b57506128466d636861696e5f7761746368646f6760901b6001611cd9565b6001600160a01b0316826001600160a01b0316145b15612864575050565b80801561289e57506128896e6272696467655f7761746368646f6760881b6001611cd9565b6001600160a01b0316826001600160a01b0316145b156128a7575050565b604051630d85cccf60e11b815260040160405180910390fd5b5f856001600160a01b031663ce9d0820856128e5876562726964676560d01b5f6113d2565b8887876040518663ffffffff1660e01b8152600401612908959493929190613b17565b5f6040518083038186803b15801561291e575f80fd5b505afa92505050801561292f575060015b61293a57505f612399565b506001612399565b606580546001600160a01b03191690556113cf81612dac565b61296f60c954610100900460ff1660021490565b1561298d5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001612809565b5f6001600160a01b0383163b6129e357505f61169a565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015612a4d575060408051601f3d908101601f19168201909252612a4a91810190613a38565b60015b1561169a579392505050565b612a6246612c83565b15612ad557827fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2b95d817fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2ba5d807fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2bb5d505050565b604080516060810182528481526001600160a01b0393909316602084018190526001600160401b0392909216920182905260fd9290925560fe80546001600160e01b031916909217600160a01b909102179055565b612b3346612c83565b15612b43576113fa5f8080612a59565b6113fa5f198080612a59565b604080516060810182525f8082526020820181905291810191909152612b7446612c83565b15612c0d5750604080516060810182527fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2b95c81526001600160a01b037fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2ba5c1660208201526001600160401b037fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2bb5c169181019190915290565b506040805160608101825260fd54815260fe546001600160a01b0381166020830152600160a01b90046001600160401b03169181019190915290565b806001600160a01b038116612c715760405163538ba4f960e01b815260040160405180910390fd5b612c7a83612dfd565b6119db82612e5b565b5f6001821480612c94575061426882145b80612ca1575062aa36a782145b8061169a575061169a82612ecb565b5f6001600160a01b038516612cd857604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6001600160a01b0381163b612d5a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016109f7565b5f80516020613c1183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d9183612ee2565b5f82511180612d9d5750805b156119db576109ad8383612f21565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16612e235760405162461bcd60e51b81526004016109f790613b98565b612e2b612f46565b612e496001600160a01b03821615612e435781612942565b33612942565b5060c9805461ff001916610100179055565b5f54610100900460ff16612e815760405162461bcd60e51b81526004016109f790613b98565b6001600160401b03461115612ea95760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801561169a575050617e90101590565b612eeb81612ced565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606113e18383604051806060016040528060278152602001613c3160279139612f6c565b5f54610100900460ff166113fa5760405162461bcd60e51b81526004016109f790613b98565b60605f80856001600160a01b031685604051612f889190613be3565b5f60405180830381855af49150503d805f8114612fc0576040519150601f19603f3d011682016040523d82523d5f602084013e612fc5565b606091505b5091509150612fd686838387612fe0565b9695505050505050565b6060831561304e5782515f03613047576001600160a01b0385163b6130475760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109f7565b5081613058565b6130588383613060565b949350505050565b8151156130705781518083602001fd5b8060405162461bcd60e51b81526004016109f79190613bfe565b5f61016082840312156124bc575f80fd5b80151581146113cf575f80fd5b5f80604083850312156130b9575f80fd5b82356001600160401b038111156130ce575f80fd5b6130da8582860161308a565b92505060208301356130eb8161309b565b809150509250929050565b5f60208284031215613106575f80fd5b81356001600160401b0381111561311b575f80fd5b6130588482850161308a565b5f5b83811015613141578181015183820152602001613129565b50505f910152565b5f8151808452613160816020860160208601613127565b601f01601f19169290920160200192915050565b80516001600160401b031682525f610160602083015161319f60208601826001600160401b03169052565b5060408301516131b7604086018263ffffffff169052565b5060608301516131d260608601826001600160a01b03169052565b5060808301516131ed60808601826001600160401b03169052565b5060a083015161320860a08601826001600160a01b03169052565b5060c083015161322360c08601826001600160401b03169052565b5060e083015161323e60e08601826001600160a01b03169052565b50610100838101516001600160a01b031690850152610120808401519085015261014080840151818601839052612fd683870182613149565b828152604060208201525f6113de6040830184613174565b5f805f604084860312156132a1575f80fd5b83356001600160401b03808211156132b7575f80fd5b6132c38783880161308a565b945060208601359150808211156132d8575f80fd5b818601915086601f8301126132eb575f80fd5b8135818111156132f9575f80fd5b87602082850101111561330a575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52602160045260245ffd5b600581106133415761334161331d565b9052565b604081016133538285613331565b600483106133635761336361331d565b8260208301529392505050565b6001600160a01b03811681146113cf575f80fd5b803561338f81613370565b919050565b5f602082840312156133a4575f80fd5b81356113e181613370565b5f602082840312156133bf575f80fd5b5035919050565b6020810161169a8284613331565b80356001600160401b038116811461338f575f80fd5b5f805f606084860312156133fc575f80fd5b613405846133d4565b925060208401359150604084013561341c8161309b565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161016081016001600160401b038111828210171561345e5761345e613427565b60405290565b5f82601f830112613473575f80fd5b81356001600160401b038082111561348d5761348d613427565b604051601f8301601f19908116603f011681019082821181831017156134b5576134b5613427565b816040528381528660208588010111156134cd575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f80604083850312156134fd575f80fd5b823561350881613370565b915060208301356001600160401b03811115613522575f80fd5b61352e85828601613464565b9150509250929050565b5f60208284031215613548575f80fd5b6113e1826133d4565b5f8060408385031215613562575f80fd5b8235915060208301356130eb8161309b565b803563ffffffff8116811461338f575f80fd5b5f6101608284031215613598575f80fd5b6135a061343b565b90506135ab826133d4565b81526135b9602083016133d4565b60208201526135ca60408301613574565b60408201526135db60608301613384565b60608201526135ec608083016133d4565b60808201526135fd60a08301613384565b60a082015261360e60c083016133d4565b60c082015261361f60e08301613384565b60e0820152610100613632818401613384565b908201526101208281013590820152610140808301356001600160401b0381111561365b575f80fd5b61366785828601613464565b82840152505092915050565b5f60208284031215613683575f80fd5b81356001600160401b03811115613698575f80fd5b61305884828501613587565b5f80604083850312156136b5575f80fd5b82356136c081613370565b915060208301356130eb81613370565b5f61169a3683613587565b5f602082840312156136eb575f80fd5b6113e182613574565b5f60208284031215613704575f80fd5b5051919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561169a5761169a613759565b5f6001600160401b0380831681810361379b5761379b613759565b6001019392505050565b602081525f6113e16020830184613174565b634e487b7160e01b5f52601260045260245ffd5b5f808335601e198436030181126137e0575f80fd5b83016020810192503590506001600160401b038111156137fe575f80fd5b80360382131561380c575f80fd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f6101606138598461384c856133d4565b6001600160401b03169052565b613865602084016133d4565b6001600160401b0316602085015261387f60408401613574565b63ffffffff16604085015261389660608401613384565b6001600160a01b031660608501526138b0608084016133d4565b6001600160401b031660808501526138ca60a08401613384565b6001600160a01b031660a08501526138e460c084016133d4565b6001600160401b031660c08501526138fe60e08401613384565b6001600160a01b031660e085015261010061391a848201613384565b6001600160a01b0316908501526101208381013590850152610140613941818501856137cb565b83838801526139538488018284613813565b979650505050505050565b608081525f613970608083018561383b565b905063ffffffff808451166020840152806020850151166040840152806040850151166060840152509392505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215613a48575f80fd5b81516113e18161309b565b604081525f613a65604083018561383b565b90508260208301529392505050565b60408152600d60408201526c5441494b4f5f4d45535341474560981b6060820152608060208201525f6113e16080830184613174565b5f808335601e19843603018112613abf575f80fd5b8301803591506001600160401b03821115613ad8575f80fd5b60200191503681900382131561380c575f80fd5b808202811582820484141761169a5761169a613759565b634e487b7160e01b5f52600160045260245ffd5b6001600160401b038616815260018060a01b0385166020820152836040820152608060608201525f613953608083018486613813565b6001600160e01b03198135818116916004851015613b755780818660040360031b1b83161692505b505092915050565b5f60208284031215613b8d575f80fd5b81516113e181613370565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251613bf4818460208701613127565b9190910192915050565b602081525f6113e1602083018461314956fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207cc9e2508719d94667269f3155fedd535bcad411958303bab5a16f1f90b69fdb64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000001": { + "contractName": "Bridge", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x033b258556117b43a1e00000" + }, + "0x0167002000000000000000000000000000000002": { + "contractName": "ERC20VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x608060405260043610620001df575f3560e01c8063715018a61162000106578063a86f9d9e116200009e578063e07baba6116200006a578063e07baba61462000567578063e30c397814620005a7578063f09a401614620005c6578063f2fde38b14620005ea575f80fd5b8063a86f9d9e14620004d2578063b84d9ffe14620004f6578063caec3e4e146200051c578063d56ad7ac146200054f575f80fd5b80638456cb5911620000de5780638456cb59146200044e5780638abf607714620004655780638da5cb5b146200047c5780639aa8605c146200049b575f80fd5b8063715018a6146200040957806379ba509714620004205780637f07c9471462000437575f80fd5b80633ab76e9f116200017a5780634f1ef28611620001525780634f1ef286146200037557806352d1902d146200038c5780635c975abb14620003a357806367090ccf14620003c5575f80fd5b80633ab76e9f14620003195780633eb6b8cf146200033a5780633f4ba83a146200035e575f80fd5b806306fdde0311620001ba57806306fdde03146200027f5780630ecd8be914620002a15780633075db5614620002de5780633659cfe614620002f5575f80fd5b80630178733a14620001e357806301ffc9a714620001fc578063066fe7b41462000235575b5f80fd5b620001fa620001f436600462003578565b6200060e565b005b34801562000208575f80fd5b50620002206200021a366004620035c1565b620007b6565b60405190151581526020015b60405180910390f35b34801562000241575f80fd5b506200027062000253366004620035ff565b61013060209081525f928352604080842090915290825290205481565b6040519081526020016200022c565b3480156200028b575f80fd5b506a195c98cc8c17dd985d5b1d60aa1b62000270565b348015620002ad575f80fd5b50620002c5620002bf36600462003630565b62000808565b6040516001600160a01b0390911681526020016200022c565b348015620002ea575f80fd5b506200022062000ef8565b34801562000301575f80fd5b50620001fa620003133660046200367c565b62000f0e565b34801562000325575f80fd5b50609754620002c5906001600160a01b031681565b34801562000346575f80fd5b50620002c562000358366004620036bd565b62000fea565b3480156200036a575f80fd5b50620001fa62001002565b620001fa620003863660046200381a565b6200101a565b34801562000398575f80fd5b5062000270620010db565b348015620003af575f80fd5b506200022060c954610100900460ff1660021490565b348015620003d1575f80fd5b50620002c5620003e3366004620035ff565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801562000415575f80fd5b50620001fa6200118f565b3480156200042c575f80fd5b50620001fa620011a4565b620001fa620004483660046200386c565b6200121f565b3480156200045a575f80fd5b50620001fa6200137f565b34801562000471575f80fd5b50620002c562001396565b34801562000488575f80fd5b506033546001600160a01b0316620002c5565b348015620004a7575f80fd5b50620004bf620004b93660046200367c565b620013a6565b6040516200022c9594939291906200392d565b348015620004de575f80fd5b50620002c5620004f03660046200398a565b6200150b565b6200050d62000507366004620039b0565b62001519565b6040516200022c9190620039c7565b34801562000528575f80fd5b50620002206200053a3660046200367c565b61012f6020525f908152604090205460ff1681565b3480156200055b575f80fd5b50620002706276a70081565b34801562000573575f80fd5b5060c9546200058e906201000090046001600160401b031681565b6040516001600160401b0390911681526020016200022c565b348015620005b3575f80fd5b506065546001600160a01b0316620002c5565b348015620005d2575f80fd5b50620001fa620005e436600462003ac8565b62001939565b348015620005f6575f80fd5b50620001fa620006083660046200367c565b62001a51565b6200062360c954610100900460ff1660021490565b15620006425760405163bae6e2a960e01b815260040160405180910390fd5b60026200064e62001ac5565b60ff1603620006705760405163dfc60d8560e01b815260040160405180910390fd5b6200067c600262001b07565b6200068662001b52565b505f6200069861014084018462003ae7565b620006a891600490829062003b33565b810190620006b7919062003b5c565b90505f8082806020019051810190620006d1919062003c10565b9350505091505f620006f9838760a0016020810190620006f291906200367c565b8462001c4f565b9050620007276101208701356200071760c0890160a08a016200367c565b6001600160a01b03169062001d01565b6200073960c0870160a088016200367c565b6001600160a01b0316857f3dea0f5955b148debf6212261e03bd80eaf8534bee43780452d16637dcc22dd5856020015184866040516200079a939291906001600160a01b039384168152919092166020820152604081019190915260600190565b60405180910390a350505050620007b2600162001b07565b5050565b5f6001600160e01b0319821662bc399d60e11b1480620007e657506001600160e01b03198216637f07c94760e01b145b806200080257506001600160e01b031982166301ffc9a760e01b145b92915050565b5f6200081362001d0e565b60026200081f62001ac5565b60ff1603620008415760405163dfc60d8560e01b815260040160405180910390fd5b6200084d600262001b07565b6001600160a01b03821615806200088457506001600160a01b038281165f90815261012d6020526040902054600160401b90041615155b15620008a35760405163dc63f98760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261012f602052604090205460ff1615620008de576040516375c42fc160e01b815260040160405180910390fd5b5f61013081620008f2602087018762003d0f565b6001600160401b031681526020019081526020015f205f8560200160208101906200091e91906200367c565b6001600160a01b0316815260208101919091526040015f20549050620009486276a7008262003d41565b421015620009695760405163231d35fb60e11b815260040160405180910390fd5b61012e5f6200097c602087018762003d0f565b6001600160401b031681526020019081526020015f205f856020016020810190620009a891906200367c565b6001600160a01b03908116825260208201929092526040015f2054169150811562000d32576001600160a01b038281165f90815261012d60209081526040808320815160a08101835281546001600160401b0381168252600160401b810490961693810193909352600160e01b90940460ff16908201526001830180549293919260608401919062000a3a9062003d57565b80601f016020809104026020016040519081016040528092919081815260200182805462000a689062003d57565b801562000ab75780601f1062000a8d5761010080835404028352916020019162000ab7565b820191905f5260205f20905b81548152906001019060200180831162000a9957829003601f168201915b5050505050815260200160028201805462000ad29062003d57565b80601f016020809104026020016040519081016040528092919081815260200182805462000b009062003d57565b801562000b4f5780601f1062000b255761010080835404028352916020019162000b4f565b820191905f5260205f20905b81548152906001019060200180831162000b3157829003601f168201915b50505050508152505090508060405160200162000b6d919062003df7565b604051602081830303815290604052805190602001208560405160200162000b96919062003e84565b604051602081830303815290604052805190602001201462000bcb57604051632f9d1d7b60e11b815260040160405180910390fd5b6001600160a01b0383165f90815261012d6020526040812080546001600160e81b03191681559062000c01600183018262003518565b62000c10600283015f62003518565b50506001600160a01b0383165f81815261012f60205260409020805460ff1916600117905562000c489063b8f2e0c560e01b62001d6a565b801562000c6c575062000c6c6001600160a01b03851663b8f2e0c560e01b62001d6a565b1562000d305760405163b8f2e0c560e01b81526001600160a01b0385811660048301525f602483015284169063b8f2e0c5906044015f604051808303815f87803b15801562000cb9575f80fd5b505af115801562000ccc573d5f803e3d5ffd5b505060405163b8f2e0c560e01b81526001600160a01b038681166004830152600160248301528716925063b8f2e0c591506044015f604051808303815f87803b15801562000d18575f80fd5b505af115801562000d2b573d5f803e3d5ffd5b505050505b505b6001600160a01b0383165f90815261012d60205260409020849062000d58828262004046565b5083905061012e5f62000d6f602088018862003d0f565b6001600160401b031681526020019081526020015f205f86602001602081019062000d9b91906200367c565b6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550426101305f865f01602081019062000df6919062003d0f565b6001600160401b031681526020019081526020015f205f86602001602081019062000e2291906200367c565b6001600160a01b03166001600160a01b031681526020019081526020015f208190555083602001602081019062000e5a91906200367c565b6001600160a01b031662000e72602086018662003d0f565b6001600160401b03167f031d68e1805917560c34a5f55a7dd91bef98f911190ed02cdbb53caedae6c39d848662000ead60608a018a62003ae7565b62000ebc60808c018c62003ae7565b62000ece60608e0160408f016200411b565b60405162000ee3979695949392919062004139565b60405180910390a35062000802600162001b07565b5f600262000f0562001ac5565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000000000216300362000f625760405162461bcd60e51b815260040162000f599062004194565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000000026001600160a01b031662000f9662001dfd565b6001600160a01b03161462000fbf5760405162461bcd60e51b815260040162000f5990620041e0565b62000fca8162001e19565b604080515f8082526020820190925262000fe79183919062001e23565b50565b5f62000ff884848462001f9a565b90505b9392505050565b6200100c62002092565b62001018335f62002124565b565b6001600160a01b037f0000000000000000000000000167002000000000000000000000000000000002163003620010655760405162461bcd60e51b815260040162000f599062004194565b7f00000000000000000000000001670020000000000000000000000000000000026001600160a01b03166200109962001dfd565b6001600160a01b031614620010c25760405162461bcd60e51b815260040162000f5990620041e0565b620010cd8262001e19565b620007b28282600162001e23565b5f306001600160a01b037f000000000000000000000000016700200000000000000000000000000000000216146200117c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000f59565b505f8051602062004d1883398151915290565b6200119962001d0e565b620010185f6200212e565b60655433906001600160a01b03168114620012145760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000f59565b62000fe7816200212e565b6200123460c954610100900460ff1660021490565b15620012535760405163bae6e2a960e01b815260040160405180910390fd5b60026200125f62001ac5565b60ff1603620012815760405163dfc60d8560e01b815260040160405180910390fd5b6200128d600262001b07565b5f8080806200129f8587018762004239565b93509350935093505f620012b262002149565b9050620012bf8362002271565b5f620012cd86858562001c4f565b9050620012e46001600160a01b0385163462001d01565b836001600160a01b0316856001600160a01b0316835f01517f75a051823424fc80e92556c41cb0ad977ae1dcb09c68a9c38acab86b11a69f8985604001518a6020015186896040516200136594939291906001600160401b039490941684526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a4505050505050620007b2600162001b07565b62001389620022af565b6200101833600162002124565b5f620013a162001dfd565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b84046001600160a01b031693600160e01b900460ff16929091620013f09062003d57565b80601f01602080910402602001604051908101604052809291908181526020018280546200141e9062003d57565b80156200146d5780601f1062001443576101008083540402835291602001916200146d565b820191905f5260205f20905b8154815290600101906020018083116200144f57829003601f168201915b505050505090806002018054620014849062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620014b29062003d57565b8015620015015780601f10620014d75761010080835404028352916020019162001501565b820191905f5260205f20905b815481529060010190602001808311620014e357829003601f168201915b5050505050905085565b5f62000ffb46848462001f9a565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201929092526101408101919091526200158860c954610100900460ff1660021490565b15620015a75760405163bae6e2a960e01b815260040160405180910390fd5b6002620015b362001ac5565b60ff1603620015d55760405163dfc60d8560e01b815260040160405180910390fd5b620015e1600262001b07565b8160c001355f036200160657604051634299323b60e11b815260040160405180910390fd5b5f6200161960a08401608085016200367c565b6001600160a01b03160362001641576040516303f8a7d360e01b815260040160405180910390fd5b61012f5f6200165760a08501608086016200367c565b6001600160a01b0316815260208101919091526040015f205460ff161562001692576040516375c42fc160e01b815260040160405180910390fd5b5f805f620016a08562002323565b6040805161016081019091525f808252939650919450925060208101620016ce6080890160608a0162003d0f565b6001600160401b03168152602001620016ee60c0890160a08a016200434a565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620017219089018962003d0f565b6001600160401b031681526020015f6001600160a01b03168860200160208101906200174e91906200367c565b6001600160a01b03160362001764573362001776565b620017766040890160208a016200367c565b6001600160a01b03168152602090810190620017b1906200179a908a018a62003d0f565b6a195c98cc8c17dd985d5b1d60aa1b5b5f62000fea565b6001600160a01b03168152602001620017d16080890160608a0162003d0f565b620017e6906001600160401b03163462004368565b815260200185905290505f620018066562726964676560d01b826200150b565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b8152600401620018349190620039c7565b5f6040518083038185885af115801562001850573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526200187a91908101906200438b565b965090506200189060608801604089016200367c565b60a08701516001600160a01b039182169116827feb8a69f21b7a981e25f90d9f1e2ab7fa5bdbfddbc0ac160344145fc5caa6ddd2620018d360208c018c62003d0f565b6020890151620018ea60a08e0160808f016200367c565b604080516001600160401b0390941684526001600160a01b0392831660208501529116908201526060810188905260800160405180910390a4505050505062001934600162001b07565b919050565b5f54610100900460ff16158080156200195857505f54600160ff909116105b80620019735750303b1580156200197357505f5460ff166001145b620019d85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000f59565b5f805460ff191660011790558015620019fa575f805461ff0019166101001790555b62001a068383620027f9565b801562001a4c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b62001a5b62001d0e565b606580546001600160a01b0383166001600160a01b0319909116811790915562001a8d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f62001ad14662002838565b1562001afd57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b62001b124662002838565b1562001b3e57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62001b858160016200150b565b6001600160a01b0316336001600160a01b03161462001bb757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001bf4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001c1a9190620044c0565b60208101519092506001600160a01b0316331462001c4b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b03160362001c865750602083015162001c806001600160a01b03821684846200286a565b62001cf5565b62001c9184620028cf565b6040516340c10f1960e01b81526001600160a01b03858116600483015260248201859052919250908216906340c10f19906044015f604051808303815f87803b15801562001cdd575f80fd5b505af115801562001cf0573d5f803e3d5ffd5b505050505b62000ffb818362002914565b620007b282825a620029a8565b6033546001600160a01b03163314620010185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000f59565b5f6001600160a01b0383163b62001d8357505f62000802565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001df0575060408051601f3d908101601f1916820190925262001ded918101906200452e565b60015b1562000802579392505050565b5f8051602062004d18833981519152546001600160a01b031690565b62000fe762001d0e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001e595762001a4c83620029ef565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001eb6575060408051601f3d908101601f1916820190925262001eb3918101906200454c565b60015b62001f1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000f59565b5f8051602062004d18833981519152811462001f8c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000f59565b5062001a4c83838362002a8d565b6097545f906001600160a01b03168062001fc757604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156200201a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002040919062004564565b9150821580156200205857506001600160a01b038216155b156200208a57604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000f59565b509392505050565b620020a760c954610100900460ff1660021490565b620020c55760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007b262001d0e565b606580546001600160a01b031916905562000fe78162002abd565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b6200217c8160016200150b565b6001600160a01b0316336001600160a01b031614620021ae57604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620021eb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620022119190620044c0565b91505f620022338360400151620017aa6a195c98cc8c17dd985d5b1d60aa1b90565b9050806001600160a01b031683602001516001600160a01b0316146200226c57604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200229057506001600160a01b03811630145b1562000fe757604051635b50f3f960e01b815260040160405180910390fd5b620022c460c954610100900460ff1660021490565b15620022e35760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016200211a565b6040805160a0810182525f8082526020820181905291810191909152606081810181905260808201819052905f8061012d816200236760a08801608089016200367c565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b90041615620025b7576040805160a08101825282546001600160401b0381168252600160401b81046001600160a01b03166020830152600160e01b900460ff169181019190915260018201805483916060840191620023ea9062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620024189062003d57565b8015620024675780601f106200243d5761010080835404028352916020019162002467565b820191905f5260205f20905b8154815290600101906020018083116200244957829003601f168201915b50505050508152602001600282018054620024829062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620024b09062003d57565b8015620024ff5780601f10620024d557610100808354040283529160200191620024ff565b820191905f5260205f20905b815481529060010190602001808311620024e157829003601f168201915b50505050508152505092506200253c33308760c001358860800160208101906200252a91906200367c565b6001600160a01b031692919062002b0e565b6200254e60a08601608087016200367c565b604051630852cd8d60e31b815260c087013560048201526001600160a01b0391909116906342966c68906024015f604051808303815f87803b15801562002593575f80fd5b505af1158015620025a6573d5f803e3d5ffd5b505050508460c00135915062002773565b6040518060a00160405280466001600160401b03168152602001866080016020810190620025e691906200367c565b6001600160a01b03168152602001620026106200260a60a0890160808a016200367c565b62002b48565b60ff168152602001620026346200262e60a0890160808a016200367c565b62002c0d565b8152602001620026556200264f60a0890160808a016200367c565b62002cbf565b905292505f6200266c60a08701608088016200367c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015620026b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620026da91906200454c565b9050620026f76001600160a01b038316333060c08b013562002b0e565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156200273c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200276291906200454c565b6200276e919062004368565b935050505b30637f07c94784336200278d60608a0160408b016200367c565b86604051602001620027a3949392919062004582565b60408051601f1981840301815290829052620027c291602401620045b9565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509350509193909250565b806001600160a01b038116620028225760405163538ba4f960e01b815260040160405180910390fd5b6200282d8362002d07565b62001a4c8262002d6e565b5f60018214806200284a575061426882145b8062002858575062aa36a782145b80620008025750620008028262002de2565b6040516001600160a01b03831660248201526044810182905262001a4c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002dfa565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806200193457620008028262002ed4565b5f620029326c38bab7ba30afb6b0b730b3b2b960991b60016200150b565b90506001600160a01b0381161562001a4c576040516315c638fb60e31b81526001600160a01b0384811660048301526024820184905282169063ae31c7d8906044015f604051808303815f87803b1580156200298c575f80fd5b505af11580156200299f573d5f803e3d5ffd5b50505050505050565b815f03620029b557505050565b620029d183838360405180602001604052805f815250620030e6565b62001a4c57604051634c67134d60e11b815260040160405180910390fd5b6001600160a01b0381163b62002a5e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000f59565b5f8051602062004d1883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62002a988362003124565b5f8251118062002aa55750805b1562001a4c5762002ab7838362003165565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516001600160a01b038085166024830152831660448201526064810182905262002ab79085906323b872dd60e01b9060840162002897565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f91829182916001600160a01b0386169162002b8f9190620045cd565b5f60405180830381855afa9150503d805f811462002bc9576040519150601f19603f3d011682016040523d82523d5f602084013e62002bce565b606091505b509150915081801562002be2575080516020145b62002bef57601262002c05565b8080602001905181019062002c059190620045ea565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002c559190620045cd565b5f60405180830381855afa9150503d805f811462002c8f576040519150601f19603f3d011682016040523d82523d5f602084013e62002c94565b606091505b50915091508162002cb45760405180602001604052805f81525062002c05565b62002c05816200318d565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002c559190620045cd565b5f54610100900460ff1662002d305760405162461bcd60e51b815260040162000f599062004608565b62002d3a620032e0565b62002d5c6001600160a01b0382161562002d5557816200212e565b336200212e565b5060c9805461ff001916610100179055565b5f54610100900460ff1662002d975760405162461bcd60e51b815260040162000f599062004608565b6001600160401b0346111562002dc05760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000802575050617e90101590565b5f62002e50826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620033099092919063ffffffff16565b905080515f148062002e7357508080602001905181019062002e7391906200452e565b62001a4c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000f59565b5f8062002ee96033546001600160a01b031690565b60975460208501518551604080880151606089015160808a0151925162002f2197966001600160a01b03169594939060240162004653565b60408051601f198184030181529190526020810180516001600160e01b031663bb86ef9360e01b179052905062002f696c0627269646765645f657263323609c1b5f6200150b565b8160405162002f789062003554565b62002f85929190620046c2565b604051809103905ff08015801562002f9f573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d602090815260409182902087518154928901519389015160ff16600160e01b0260ff60e01b1994909516600160401b026001600160e01b03199093166001600160401b03909116179190911791909116919091178155606085015191935084916001820190620030239082620046e7565b50608082015160028201906200303a9082620046e7565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b0319168885169081179091559151885160608a015160808b0151848c01519451959850929095169516937fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907993620030d89391929190620047b3565b60405180910390a450919050565b5f6001600160a01b0385166200310f57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6200312f81620029ef565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000ffb838360405180606001604052806027815260200162004d386027913962003319565b60606040825110620031af5781806020019051810190620008029190620047ef565b8151602003620032cd575f5b602081108015620031ee5750828181518110620031dc57620031dc62004824565b01602001516001600160f81b03191615155b156200320757620031ff8162004838565b9050620031bb565b805f036200322457505060408051602081019091525f8152919050565b5f816001600160401b0381111562003240576200324062003701565b6040519080825280601f01601f1916602001820160405280156200326b576020820181803683370190505b5090505f5b828110156200208a578481815181106200328e576200328e62004824565b602001015160f81c60f81b828281518110620032ae57620032ae62004824565b60200101906001600160f81b03191690815f1a90535060010162003270565b505060408051602081019091525f815290565b5f54610100900460ff16620010185760405162461bcd60e51b815260040162000f599062004608565b606062000ff884845f8562003393565b60605f80856001600160a01b031685604051620033379190620045cd565b5f60405180830381855af49150503d805f811462003371576040519150601f19603f3d011682016040523d82523d5f602084013e62003376565b606091505b5091509150620033898683838762003472565b9695505050505050565b606082471015620033f65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000f59565b5f80866001600160a01b03168587604051620034139190620045cd565b5f6040518083038185875af1925050503d805f81146200344f576040519150601f19603f3d011682016040523d82523d5f602084013e62003454565b606091505b5091509150620034678783838762003472565b979650505050505050565b60608315620034e55782515f03620034dd576001600160a01b0385163b620034dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000f59565b508162002c05565b62002c058383815115620034fc5781518083602001fd5b8060405162461bcd60e51b815260040162000f599190620045b9565b508054620035269062003d57565b5f825580601f1062003536575050565b601f0160209004905f5260205f209081019062000fe7919062003562565b6104c4806200485483390190565b5b8082111562001c4b575f815560010162003563565b5f80604083850312156200358a575f80fd5b82356001600160401b03811115620035a0575f80fd5b83016101608186031215620035b3575f80fd5b946020939093013593505050565b5f60208284031215620035d2575f80fd5b81356001600160e01b03198116811462000ffb575f80fd5b6001600160a01b038116811462000fe7575f80fd5b5f806040838503121562003611575f80fd5b8235915060208301356200362581620035ea565b809150509250929050565b5f806040838503121562003642575f80fd5b82356001600160401b0381111562003658575f80fd5b830160a081860312156200366a575f80fd5b915060208301356200362581620035ea565b5f602082840312156200368d575f80fd5b813562000ffb81620035ea565b6001600160401b038116811462000fe7575f80fd5b801515811462000fe7575f80fd5b5f805f60608486031215620036d0575f80fd5b8335620036dd816200369a565b9250602084013591506040840135620036f681620036af565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156200373a576200373a62003701565b60405290565b60405161016081016001600160401b03811182821017156200373a576200373a62003701565b604051601f8201601f191681016001600160401b038111828210171562003791576200379162003701565b604052919050565b5f6001600160401b03821115620037b457620037b462003701565b50601f01601f191660200190565b5f82601f830112620037d2575f80fd5b8135620037e9620037e38262003799565b62003766565b818152846020838601011115620037fe575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156200382c575f80fd5b82356200383981620035ea565b915060208301356001600160401b0381111562003854575f80fd5b6200386285828601620037c2565b9150509250929050565b5f80602083850312156200387e575f80fd5b82356001600160401b038082111562003895575f80fd5b818501915085601f830112620038a9575f80fd5b813581811115620038b8575f80fd5b866020828501011115620038ca575f80fd5b60209290920196919550909350505050565b5f5b83811015620038f8578181015183820152602001620038de565b50505f910152565b5f815180845262003919816020860160208601620038dc565b601f01601f19169290920160200192915050565b6001600160401b03861681526001600160a01b038516602082015260ff8416604082015260a0606082018190525f906200396a9083018562003900565b82810360808401526200397e818562003900565b98975050505050505050565b5f80604083850312156200399c575f80fd5b8235915060208301356200362581620036af565b5f60e08284031215620039c1575f80fd5b50919050565b60208152620039e26020820183516001600160401b03169052565b5f6020830151620039fe60408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062003a82818501836001600160a01b03169052565b840151905061012062003a9f848201836001600160a01b03169052565b8401516101408481019190915284015161016080850152905062002c0561018084018262003900565b5f806040838503121562003ada575f80fd5b82356200366a81620035ea565b5f808335601e1984360301811262003afd575f80fd5b8301803591506001600160401b0382111562003b17575f80fd5b60200191503681900382131562003b2c575f80fd5b9250929050565b5f808585111562003b42575f80fd5b8386111562003b4f575f80fd5b5050820193919092039150565b5f6020828403121562003b6d575f80fd5b81356001600160401b0381111562003b83575f80fd5b62002c0584828501620037c2565b805162001934816200369a565b80516200193481620035ea565b60ff8116811462000fe7575f80fd5b8051620019348162003bab565b5f82601f83011262003bd7575f80fd5b815162003be8620037e38262003799565b81815284602083860101111562003bfd575f80fd5b62002c05826020830160208701620038dc565b5f805f806080858703121562003c24575f80fd5b84516001600160401b038082111562003c3b575f80fd5b9086019060a0828903121562003c4f575f80fd5b62003c5962003715565b825162003c66816200369a565b8152602083015162003c7881620035ea565b602082015262003c8b6040840162003bba565b604082015260608301518281111562003ca2575f80fd5b62003cb08a82860162003bc7565b60608301525060808301518281111562003cc8575f80fd5b62003cd68a82860162003bc7565b608083015250955062003cef9150506020860162003b9e565b925062003cff6040860162003b9e565b6060959095015193969295505050565b5f6020828403121562003d20575f80fd5b813562000ffb816200369a565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562000802576200080262003d2d565b600181811c9082168062003d6c57607f821691505b602082108103620039c157634e487b7160e01b5f52602260045260245ffd5b6001600160401b03815116825260018060a01b03602082015116602083015260ff60408201511660408301525f606082015160a0606085015262003dd360a085018262003900565b90506080830151848203608086015262003dee828262003900565b95945050505050565b602081525f62000ffb602083018462003d8b565b8035620019348162003bab565b5f808335601e1984360301811262003e2e575f80fd5b83016020810192503590506001600160401b0381111562003e4d575f80fd5b80360382131562003b2c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f823562003e96816200369a565b6001600160401b038116602084015250602083013562003eb681620035ea565b6001600160a01b031660408381019190915283013562003ed68162003bab565b60ff811660608401525062003eef606084018462003e18565b60a0608085015262003f0660c08501828462003e5c565b91505062003f18608085018562003e18565b848303601f190160a08601526200338983828462003e5c565b601f82111562001a4c57805f5260205f20601f840160051c8101602085101562003f585750805b601f840160051c820191505b8181101562003f79575f815560010162003f64565b5050505050565b6001600160401b0383111562003f9a5762003f9a62003701565b62003fb28362003fab835462003d57565b8362003f31565b5f601f84116001811462003fe6575f851562003fce5750838201355b5f19600387901b1c1916600186901b17835562003f79565b5f83815260208120601f198716915b8281101562004017578685013582556020948501946001909201910162003ff5565b508682101562004034575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813562004053816200369a565b6001600160401b03811690508154816001600160401b0319821617835560208401356200408081620035ea565b68010000000000000000600160e01b03604091821b166001600160e01b0319831684178117855590850135620040b68162003bab565b60ff60e01b8160e01b1660ff60e01b19851662ffffff60e81b851617831717855550505050620040ea606083018362003ae7565b620040fa81836001860162003f80565b50506200410b608083018362003ae7565b62002ab781836002860162003f80565b5f602082840312156200412c575f80fd5b813562000ffb8162003bab565b6001600160a01b0388811682528716602082015260a0604082018190525f9062004167908301878962003e5c565b82810360608401526200417c81868862003e5c565b91505060ff8316608083015298975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b80356200193481620035ea565b5f805f80608085870312156200424d575f80fd5b84356001600160401b038082111562004264575f80fd5b9086019060a0828903121562004278575f80fd5b6200428262003715565b82356200428f816200369a565b81526020830135620042a181620035ea565b6020820152620042b46040840162003e0b565b6040820152606083013582811115620042cb575f80fd5b620042d98a828601620037c2565b606083015250608083013582811115620042f1575f80fd5b620042ff8a828601620037c2565b608083015250955062004318915050602086016200422c565b925062004328604086016200422c565b9396929550929360600135925050565b63ffffffff8116811462000fe7575f80fd5b5f602082840312156200435b575f80fd5b813562000ffb8162004338565b8181038181111562000802576200080262003d2d565b8051620019348162004338565b5f80604083850312156200439d575f80fd5b8251915060208301516001600160401b0380821115620043bb575f80fd5b908401906101608287031215620043d0575f80fd5b620043da62003740565b620043e58362003b91565b8152620043f56020840162003b91565b602082015262004408604084016200437e565b60408201526200441b6060840162003b9e565b60608201526200442e6080840162003b91565b60808201526200444160a0840162003b9e565b60a08201526200445460c0840162003b91565b60c08201526200446760e0840162003b9e565b60e08201526101006200447c81850162003b9e565b90820152610120838101519082015261014080840151838111156200449f575f80fd5b620044ad8982870162003bc7565b8284015250508093505050509250929050565b5f60608284031215620044d1575f80fd5b604051606081018181106001600160401b0382111715620044f657620044f662003701565b6040528251815260208301516200450d81620035ea565b6020820152604083015162004522816200369a565b60408201529392505050565b5f602082840312156200453f575f80fd5b815162000ffb81620036af565b5f602082840312156200455d575f80fd5b5051919050565b5f6020828403121562004575575f80fd5b815162000ffb81620035ea565b608081525f62004596608083018762003d8b565b6001600160a01b0395861660208401529390941660408201526060015292915050565b602081525f62000ffb602083018462003900565b5f8251620045e0818460208701620038dc565b9190910192915050565b5f60208284031215620045fb575f80fd5b815162000ffb8162003bab565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0388811682528781166020830152861660408201526001600160401b038516606082015260ff8416608082015260e060a082018190525f90620046a09083018562003900565b82810360c0840152620046b4818562003900565b9a9950505050505050505050565b6001600160a01b03831681526040602082018190525f9062000ff89083018462003900565b81516001600160401b0381111562004703576200470362003701565b6200471b8162004714845462003d57565b8462003f31565b602080601f83116001811462004751575f8415620047395750858301515b5f19600386901b1c1916600185901b178555620047ab565b5f85815260208120601f198616915b82811015620047815788860151825594840194600190910190840162004760565b50858210156200479f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b606081525f620047c7606083018662003900565b8281036020840152620047db818662003900565b91505060ff83166040830152949350505050565b5f6020828403121562004800575f80fd5b81516001600160401b0381111562004816575f80fd5b62002c058482850162003bc7565b634e487b7160e01b5f52603260045260245ffd5b5f600182016200484c576200484c62003d2d565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ea36dcba768a52059ed0ed48fee13b0a8043b482e8915ed094ab8c2cf570450964736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000002": { + "contractName": "ERC20Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000201", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000000003": { + "contractName": "ERC721VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x6080604052600436106200019b575f3560e01c806367090ccf11620000de5780638da5cb5b1162000092578063e07baba6116200006a578063e07baba614620004bd578063e30c397814620004fd578063f09a4016146200051c578063f2fde38b1462000540575f80fd5b80638da5cb5b14620004445780639aa8605c1462000463578063a86f9d9e1462000499575f80fd5b806367090ccf146200038d578063715018a614620003d157806379ba509714620003e85780637f07c94714620003ff5780638456cb5914620004165780638abf6077146200042d575f80fd5b80633659cfe611620001525780633f4ba83a116200012a5780633f4ba83a14620003265780634f1ef286146200033d57806352d1902d14620003545780635c975abb146200036b575f80fd5b80633659cfe614620002a45780633ab76e9f14620002c85780633eb6b8cf1462000302575f80fd5b80630178733a146200019f57806301ffc9a714620001b857806306fdde0314620001f1578063150b7a02146200021e5780631f59a83014620002675780633075db56146200028d575b5f80fd5b620001b6620001b036600462002b7d565b62000564565b005b348015620001c4575f80fd5b50620001dc620001d636600462002bc6565b62000736565b60405190151581526020015b60405180910390f35b348015620001fd575f80fd5b506b195c98cdcc8c57dd985d5b1d60a21b5b604051908152602001620001e8565b3480156200022a575f80fd5b506200024d6200023c36600462002c58565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001620001e8565b6200027e6200027836600462002ccd565b62000788565b604051620001e8919062002d58565b34801562000299575f80fd5b50620001dc62000c14565b348015620002b0575f80fd5b50620001b6620002c236600462002e59565b62000c2a565b348015620002d4575f80fd5b50609754620002e9906001600160a01b031681565b6040516001600160a01b039091168152602001620001e8565b3480156200030e575f80fd5b50620002e96200032036600462002ea7565b62000d06565b34801562000332575f80fd5b50620001b662000d1e565b620001b66200034e3660046200302a565b62000d36565b34801562000360575f80fd5b506200020f62000df7565b34801562000377575f80fd5b50620001dc60c954610100900460ff1660021490565b34801562000399575f80fd5b50620002e9620003ab3660046200307c565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b348015620003dd575f80fd5b50620001b662000eab565b348015620003f4575f80fd5b50620001b662000ec0565b620001b662000410366004620030ad565b62000f3b565b34801562000422575f80fd5b50620001b6620010b9565b34801562000439575f80fd5b50620002e9620010d0565b34801562000450575f80fd5b506033546001600160a01b0316620002e9565b3480156200046f575f80fd5b50620004876200048136600462002e59565b620010e0565b604051620001e89493929190620030ef565b348015620004a5575f80fd5b50620002e9620004b736600462003142565b6200123b565b348015620004c9575f80fd5b5060c954620004e4906201000090046001600160401b031681565b6040516001600160401b039091168152602001620001e8565b34801562000509575f80fd5b506065546001600160a01b0316620002e9565b34801562000528575f80fd5b50620001b66200053a36600462003168565b62001249565b3480156200054c575f80fd5b50620001b66200055e36600462002e59565b62001361565b6200057960c954610100900460ff1660021490565b15620005985760405163bae6e2a960e01b815260040160405180910390fd5b6002620005a4620013d5565b60ff1603620005c65760405163dfc60d8560e01b815260040160405180910390fd5b620005d2600262001417565b620005dc62001462565b505f620005ee61014084018462003199565b620005fe916004908290620031de565b8101906200060d919062003207565b90505f808280602001905181019062000627919062003332565b9350505091505f6200064f838760a001602081019062000648919062002e59565b846200155f565b90506200067d6101208701356200066d60c0890160a08a0162002e59565b6001600160a01b031690620016e9565b6200068f60c0870160a0880162002e59565b6001600160a01b0316857fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c8560200151848687516001600160401b03811115620006dd57620006dd62002eeb565b60405190808252806020026020018201604052801562000707578160200160208202803683370190505b506040516200071a949392919062003478565b60405180910390a35050505062000732600162001417565b5050565b5f6001600160e01b0319821662bc399d60e11b14806200076657506001600160e01b03198216637f07c94760e01b145b806200078257506001600160e01b031982166301ffc9a760e01b145b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810191909152620007f760c954610100900460ff1660021490565b15620008165760405163bae6e2a960e01b815260040160405180910390fd5b62000821826200353b565b8060e00151518160c0015151146200084c5760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b031662000878576040516303f8a7d360e01b815260040160405180910390fd5b600262000884620013d5565b60ff1603620008a65760405163dfc60d8560e01b815260040160405180910390fd5b620008b2600262001417565b5f5b620008c360c08501856200361f565b90508110156200091f57620008dc60e08501856200361f565b82818110620008ef57620008ef62003667565b905060200201355f146200091657604051634299323b60e11b815260040160405180910390fd5b600101620008b4565b506200094e6380ac58cd60e01b6200093e60a086016080870162002e59565b6001600160a01b031690620016f6565b6200096c57604051633ee915f560e11b815260040160405180910390fd5b5f80620009798562001789565b6040805161016081019091525f80825292945090925060208101620009a56080890160608a016200367b565b6001600160401b03168152602001620009c560c0890160a08a0162003699565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620009f8908901896200367b565b6001600160401b031681526020015f6001600160a01b031688602001602081019062000a25919062002e59565b6001600160a01b03160362000a3b573362000a4d565b62000a4d6040890160208a0162002e59565b6001600160a01b0316815260209081019062000a899062000a71908a018a6200367b565b6b195c98cdcc8c57dd985d5b1d60a21b5b5f62000d06565b6001600160a01b0316815260200162000aa96080890160608a016200367b565b62000abe906001600160401b031634620036cb565b815260200184905290505f62000ade6562726964676560d01b826200123b565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b815260040162000b0c919062002d58565b5f6040518083038185885af115801562000b28573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405262000b529190810190620036ee565b9650905062000b68606088016040890162002e59565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c608001602081019062000bc0919062002e59565b62000bcf60c08f018f6200361f565b8f8060e0019062000be191906200361f565b60405162000bf6979695949392919062003854565b60405180910390a45050505062000c0e600162001417565b50919050565b5f600262000c21620013d5565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000000000316300362000c7e5760405162461bcd60e51b815260040162000c7590620038b4565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000000036001600160a01b031662000cb262001cb5565b6001600160a01b03161462000cdb5760405162461bcd60e51b815260040162000c759062003900565b62000ce68162001cd1565b604080515f8082526020820190925262000d039183919062001cdb565b50565b5f62000d1484848462001e52565b90505b9392505050565b62000d2862001f42565b62000d34335f62001fd4565b565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000000000316300362000d815760405162461bcd60e51b815260040162000c7590620038b4565b7f00000000000000000000000001670020000000000000000000000000000000036001600160a01b031662000db562001cb5565b6001600160a01b03161462000dde5760405162461bcd60e51b815260040162000c759062003900565b62000de98262001cd1565b620007328282600162001cdb565b5f306001600160a01b037f0000000000000000000000000167002000000000000000000000000000000003161462000e985760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c75565b505f805160206200439383398151915290565b62000eb562001fd9565b62000d345f62002035565b60655433906001600160a01b0316811462000f305760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000c75565b62000d038162002035565b62000f5060c954610100900460ff1660021490565b1562000f6f5760405163bae6e2a960e01b815260040160405180910390fd5b600262000f7b620013d5565b60ff160362000f9d5760405163dfc60d8560e01b815260040160405180910390fd5b62000fa9600262001417565b5f80808062000fbb858701876200394c565b93509350935093505f62000fce62002050565b905062000fdb8362002179565b5f62000fe98685856200155f565b9050620010006001600160a01b03851634620016e9565b836001600160a01b0316856001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518a6020015186898a516001600160401b0381111562001061576200106162002eeb565b6040519080825280602002602001820160405280156200108b578160200160208202803683370190505b506040516200109f95949392919062003a4a565b60405180910390a450505050505062000732600162001417565b620010c3620021b7565b62000d3433600162001fd4565b5f620010db62001cb5565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190620011209062003aa6565b80601f01602080910402602001604051908101604052809291908181526020018280546200114e9062003aa6565b80156200119d5780601f1062001173576101008083540402835291602001916200119d565b820191905f5260205f20905b8154815290600101906020018083116200117f57829003601f168201915b505050505090806002018054620011b49062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620011e29062003aa6565b8015620012315780601f10620012075761010080835404028352916020019162001231565b820191905f5260205f20905b8154815290600101906020018083116200121357829003601f168201915b5050505050905084565b5f62000d1746848462001e52565b5f54610100900460ff16158080156200126857505f54600160ff909116105b80620012835750303b1580156200128357505f5460ff166001145b620012e85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c75565b5f805460ff1916600117905580156200130a575f805461ff0019166101001790555b6200131683836200222b565b80156200135c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6200136b62001fd9565b606580546001600160a01b0383166001600160a01b031990911681179091556200139d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f620013e1466200226a565b156200140d57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b62001422466200226a565b156200144e57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b620014958160016200123b565b6001600160a01b0316336001600160a01b031614620014c757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200152a919062003ada565b60208101519092506001600160a01b031633146200155b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b0316036200162e575060208301515f5b82518110156200162757816001600160a01b03166342842e0e3086868581518110620015ac57620015ac62003667565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b15801562001604575f80fd5b505af115801562001617573d5f803e3d5ffd5b505050508060010190506200157c565b5062000d17565b62001639846200229c565b90505f5b8251811015620016e157816001600160a01b03166340c10f19858584815181106200166c576200166c62003667565b60200260200101516040518363ffffffff1660e01b8152600401620016a69291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b158015620016be575f80fd5b505af1158015620016d1573d5f803e3d5ffd5b505050508060010190506200163d565b509392505050565b6200073282825a620022e6565b5f6001600160a01b0383163b6200170f57505f62000782565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa9250505080156200177c575060408051601f3d908101601f19168201909252620017799181019062003b48565b60015b1562000782579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d81620017c160a087016080880162002e59565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b9004161562001acb576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b03166020820152600183018054919284929084019190620018359062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620018639062003aa6565b8015620018b25780601f106200188857610100808354040283529160200191620018b2565b820191905f5260205f20905b8154815290600101906020018083116200189457829003601f168201915b50505050508152602001600282018054620018cd9062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620018fb9062003aa6565b80156200194a5780601f1062001920576101008083540402835291602001916200194a565b820191905f5260205f20905b8154815290600101906020018083116200192c57829003601f168201915b50505050508152505091505f5b6200196660c08601866200361f565b905081101562001ac4576200198260a086016080870162002e59565b6001600160a01b03166342842e0e3330620019a160c08a018a6200361f565b86818110620019b457620019b462003667565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b15801562001a09575f80fd5b505af115801562001a1c573d5f803e3d5ffd5b5062001a339250505060a086016080870162002e59565b6001600160a01b03166342966c6862001a5060c08801886200361f565b8481811062001a635762001a6362003667565b905060200201356040518263ffffffff1660e01b815260040162001a8991815260200190565b5f604051808303815f87803b15801562001aa1575f80fd5b505af115801562001ab4573d5f803e3d5ffd5b5050505080600101905062001957565b5062001c22565b6040518060800160405280466001600160401b0316815260200185608001602081019062001afa919062002e59565b6001600160a01b0316815260200162001b2462001b1e60a088016080890162002e59565b6200232d565b815260200162001b4562001b3f60a088016080890162002e59565b620023e7565b905291505f5b62001b5a60c08601866200361f565b905081101562001c205762001b7660a086016080870162002e59565b6001600160a01b03166342842e0e333062001b9560c08a018a6200361f565b8681811062001ba85762001ba862003667565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b15801562001bfd575f80fd5b505af115801562001c10573d5f803e3d5ffd5b5050505080600101905062001b4b565b505b5030637f07c947823362001c3d606088016040890162002e59565b62001c4c60c08901896200361f565b60405160200162001c6295949392919062003b66565b60408051601f198184030181529082905262001c819160240162003bf6565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f8051602062004393833981519152546001600160a01b031690565b62000d0362001fd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001d11576200135c836200242f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001d6e575060408051601f3d908101601f1916820190925262001d6b9181019062003c0a565b60015b62001dd35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c75565b5f8051602062004393833981519152811462001e445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c75565b506200135c838383620024cd565b6097545f906001600160a01b03168062001e7f57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801562001ed2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001ef8919062003c22565b91508215801562001f1057506001600160a01b038216155b15620016e157604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000c75565b62001f5760c954610100900460ff1660021490565b62001f755760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007325b6033546001600160a01b0316331462000d345760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c75565b606580546001600160a01b031916905562000d0381620024fd565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b620020838160016200123b565b6001600160a01b0316336001600160a01b031614620020b557604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620020f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002118919062003ada565b91505f6200213b836040015162000a826b195c98cdcc8c57dd985d5b1d60a21b90565b9050806001600160a01b031683602001516001600160a01b0316146200217457604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200219857506001600160a01b03811630145b1562000d0357604051635b50f3f960e01b815260040160405180910390fd5b620021cc60c954610100900460ff1660021490565b15620021eb5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162001fca565b806001600160a01b038116620022545760405163538ba4f960e01b815260040160405180910390fd5b6200225f836200254e565b6200135c82620025b5565b5f60018214806200227c575061426882145b806200228a575062aa36a782145b80620007825750620007828262002629565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b0390811685529252909120541680620022e157620007828262002641565b919050565b815f03620022f357505050565b6200230f83838360405180602001604052805f8152506200282c565b6200135c57604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002375919062003c40565b5f60405180830381855afa9150503d805f8114620023af576040519150601f19603f3d011682016040523d82523d5f602084013e620023b4565b606091505b509150915081620023d45760405180602001604052805f815250620023df565b620023df816200286a565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002375919062003c40565b6001600160a01b0381163b6200249e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c75565b5f805160206200439383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620024d883620029bd565b5f82511180620024e55750805b156200135c57620024f78383620029fe565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16620025775760405162461bcd60e51b815260040162000c759062003c5d565b6200258162002a26565b620025a36001600160a01b038216156200259c578162002035565b3362002035565b5060c9805461ff001916610100179055565b5f54610100900460ff16620025de5760405162461bcd60e51b815260040162000c759062003c5d565b6001600160401b03461115620026075760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000782575050617e90101590565b5f80620026566033546001600160a01b031690565b60975460208501518551604080880151606089015191516200268996956001600160a01b03169493929060240162003ca8565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620026d26d627269646765645f65726337323160901b5f6200123b565b81604051620026e19062002b6f565b620026ee92919062003d0d565b604051809103905ff08015801562002708573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b0390941693909317178255850151919350849160018201906200276e908262003d81565b506060820151600282019062002785908262003d81565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b926200281e929062003e4d565b60405180910390a450919050565b5f6001600160a01b0385166200285557604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b606060408251106200288c578180602001905181019062000782919062003e7e565b8151602003620029aa575f5b602081108015620028cb5750828181518110620028b957620028b962003667565b01602001516001600160f81b03191615155b15620028e457620028dc8162003eb3565b905062002898565b805f036200290157505060408051602081019091525f8152919050565b5f816001600160401b038111156200291d576200291d62002eeb565b6040519080825280601f01601f19166020018201604052801562002948576020820181803683370190505b5090505f5b82811015620016e1578481815181106200296b576200296b62003667565b602001015160f81c60f81b8282815181106200298b576200298b62003667565b60200101906001600160f81b03191690815f1a9053506001016200294d565b505060408051602081019091525f815290565b620029c8816200242f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000d178383604051806060016040528060278152602001620043b36027913962002a4f565b5f54610100900460ff1662000d345760405162461bcd60e51b815260040162000c759062003c5d565b60605f80856001600160a01b03168560405162002a6d919062003c40565b5f60405180830381855af49150503d805f811462002aa7576040519150601f19603f3d011682016040523d82523d5f602084013e62002aac565b606091505b509150915062002abf8683838762002ac9565b9695505050505050565b6060831562002b3c5782515f0362002b34576001600160a01b0385163b62002b345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c75565b5081620023df565b620023df838381511562002b535781518083602001fd5b8060405162461bcd60e51b815260040162000c75919062003bf6565b6104c48062003ecf83390190565b5f806040838503121562002b8f575f80fd5b82356001600160401b0381111562002ba5575f80fd5b8301610160818603121562002bb8575f80fd5b946020939093013593505050565b5f6020828403121562002bd7575f80fd5b81356001600160e01b03198116811462000d17575f80fd5b6001600160a01b038116811462000d03575f80fd5b8035620022e18162002bef565b5f8083601f84011262002c22575f80fd5b5081356001600160401b0381111562002c39575f80fd5b60208301915083602082850101111562002c51575f80fd5b9250929050565b5f805f805f6080868803121562002c6d575f80fd5b853562002c7a8162002bef565b9450602086013562002c8c8162002bef565b93506040860135925060608601356001600160401b0381111562002cae575f80fd5b62002cbc8882890162002c11565b969995985093965092949392505050565b5f6020828403121562002cde575f80fd5b81356001600160401b0381111562002cf4575f80fd5b8201610100818503121562000d17575f80fd5b5f5b8381101562002d2357818101518382015260200162002d09565b50505f910152565b5f815180845262002d4481602086016020860162002d07565b601f01601f19169290920160200192915050565b6020815262002d736020820183516001600160401b03169052565b5f602083015162002d8f60408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062002e13818501836001600160a01b03169052565b840151905061012062002e30848201836001600160a01b03169052565b84015161014084810191909152840151610160808501529050620023df61018084018262002d2b565b5f6020828403121562002e6a575f80fd5b813562000d178162002bef565b6001600160401b038116811462000d03575f80fd5b8035620022e18162002e77565b801515811462000d03575f80fd5b5f805f6060848603121562002eba575f80fd5b833562002ec78162002e77565b925060208401359150604084013562002ee08162002e99565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171562002f245762002f2462002eeb565b60405290565b60405161010081016001600160401b038111828210171562002f245762002f2462002eeb565b60405161016081016001600160401b038111828210171562002f245762002f2462002eeb565b604051601f8201601f191681016001600160401b038111828210171562002fa15762002fa162002eeb565b604052919050565b5f6001600160401b0382111562002fc45762002fc462002eeb565b50601f01601f191660200190565b5f82601f83011262002fe2575f80fd5b813562002ff962002ff38262002fa9565b62002f76565b8181528460208386010111156200300e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156200303c575f80fd5b8235620030498162002bef565b915060208301356001600160401b0381111562003064575f80fd5b620030728582860162002fd2565b9150509250929050565b5f80604083850312156200308e575f80fd5b823591506020830135620030a28162002bef565b809150509250929050565b5f8060208385031215620030bf575f80fd5b82356001600160401b03811115620030d5575f80fd5b620030e38582860162002c11565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90620031239083018562002d2b565b828103606084015262003137818562002d2b565b979650505050505050565b5f806040838503121562003154575f80fd5b823591506020830135620030a28162002e99565b5f80604083850312156200317a575f80fd5b8235620031878162002bef565b91506020830135620030a28162002bef565b5f808335601e19843603018112620031af575f80fd5b8301803591506001600160401b03821115620031c9575f80fd5b60200191503681900382131562002c51575f80fd5b5f8085851115620031ed575f80fd5b83861115620031fa575f80fd5b5050820193919092039150565b5f6020828403121562003218575f80fd5b81356001600160401b038111156200322e575f80fd5b620023df8482850162002fd2565b8051620022e18162002e77565b8051620022e18162002bef565b5f82601f83011262003266575f80fd5b81516200327762002ff38262002fa9565b8181528460208386010111156200328c575f80fd5b620023df82602083016020870162002d07565b5f6001600160401b03821115620032ba57620032ba62002eeb565b5060051b60200190565b5f82601f830112620032d4575f80fd5b81516020620032e762002ff3836200329f565b8083825260208201915060208460051b87010193508684111562003309575f80fd5b602086015b848110156200332757805183529183019183016200330e565b509695505050505050565b5f805f806080858703121562003346575f80fd5b84516001600160401b03808211156200335d575f80fd5b908601906080828903121562003371575f80fd5b6200337b62002eff565b8251620033888162002e77565b815260208301516200339a8162002bef565b6020820152604083015182811115620033b1575f80fd5b620033bf8a82860162003256565b604083015250606083015182811115620033d7575f80fd5b620033e58a82860162003256565b6060830152509550620033fb6020880162003249565b94506200340b6040880162003249565b9350606087015191508082111562003421575f80fd5b506200343087828801620032c4565b91505092959194509250565b5f815180845260208085019450602084015f5b838110156200346d578151875295820195908201906001016200344f565b509495945050505050565b6001600160a01b038581168252841660208201526080604082018190525f90620034a5908301856200343c565b82810360608401526200313781856200343c565b63ffffffff8116811462000d03575f80fd5b8035620022e181620034b9565b5f82601f830112620034e8575f80fd5b81356020620034fb62002ff3836200329f565b8083825260208201915060208460051b8701019350868411156200351d575f80fd5b602086015b8481101562003327578035835291830191830162003522565b5f61010082360312156200354d575f80fd5b6200355762002f2a565b620035628362002e8c565b8152620035726020840162002c04565b6020820152620035856040840162002c04565b6040820152620035986060840162002e8c565b6060820152620035ab6080840162002c04565b6080820152620035be60a08401620034cb565b60a082015260c08301356001600160401b0380821115620035dd575f80fd5b620035eb36838701620034d8565b60c084015260e085013591508082111562003604575f80fd5b506200361336828601620034d8565b60e08301525092915050565b5f808335601e1984360301811262003635575f80fd5b8301803591506001600160401b038211156200364f575f80fd5b6020019150600581901b360382131562002c51575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156200368c575f80fd5b813562000d178162002e77565b5f60208284031215620036aa575f80fd5b813562000d1781620034b9565b634e487b7160e01b5f52601160045260245ffd5b81810381811115620007825762000782620036b7565b8051620022e181620034b9565b5f806040838503121562003700575f80fd5b8251915060208301516001600160401b03808211156200371e575f80fd5b90840190610160828703121562003733575f80fd5b6200373d62002f50565b62003748836200323c565b815262003758602084016200323c565b60208201526200376b60408401620036e1565b60408201526200377e6060840162003249565b606082015262003791608084016200323c565b6080820152620037a460a0840162003249565b60a0820152620037b760c084016200323c565b60c0820152620037ca60e0840162003249565b60e0820152610100620037df81850162003249565b908201526101208381015190820152610140808401518381111562003802575f80fd5b620038108982870162003256565b8284015250508093505050509250929050565b8183525f6001600160fb1b038311156200383b575f80fd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f9062003891908301868862003823565b8281036080840152620038a681858762003823565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f805f806080858703121562003960575f80fd5b84356001600160401b038082111562003977575f80fd5b90860190608082890312156200398b575f80fd5b6200399562002eff565b8235620039a28162002e77565b81526020830135620039b48162002bef565b6020820152604083013582811115620039cb575f80fd5b620039d98a82860162002fd2565b604083015250606083013582811115620039f1575f80fd5b620039ff8a82860162002fd2565b606083015250955062003a156020880162002c04565b945062003a256040880162002c04565b9350606087013591508082111562003a3b575f80fd5b506200343087828801620034d8565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f9062003a86908301856200343c565b828103608084015262003a9a81856200343c565b98975050505050505050565b600181811c9082168062003abb57607f821691505b60208210810362000c0e57634e487b7160e01b5f52602260045260245ffd5b5f6060828403121562003aeb575f80fd5b604051606081018181106001600160401b038211171562003b105762003b1062002eeb565b60405282518152602083015162003b278162002bef565b6020820152604083015162003b3c8162002e77565b60408201529392505050565b5f6020828403121562003b59575f80fd5b815162000d178162002e99565b608080825286516001600160401b03168282015260208701516001600160a01b0390811660a0840152604088015160c08401929092525f919062003baf61010085018362002d2b565b91506060890151607f198584030160e086015262003bce838262002d2b565b89831660208701529188166040860152508381036060850152905062003a9a81858762003823565b602081525f62000d17602083018462002d2b565b5f6020828403121562003c1b575f80fd5b5051919050565b5f6020828403121562003c33575f80fd5b815162000d178162002bef565b5f825162003c5381846020870162002d07565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f9062003cec9083018562002d2b565b82810360a084015262003d00818562002d2b565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000d149083018462002d2b565b601f8211156200135c57805f5260205f20601f840160051c8101602085101562003d595750805b601f840160051c820191505b8181101562003d7a575f815560010162003d65565b5050505050565b81516001600160401b0381111562003d9d5762003d9d62002eeb565b62003db58162003dae845462003aa6565b8462003d32565b602080601f83116001811462003deb575f841562003dd35750858301515b5f19600386901b1c1916600185901b17855562003e45565b5f85815260208120601f198616915b8281101562003e1b5788860151825594840194600190910190840162003dfa565b508582101562003e3957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f62003e61604083018562002d2b565b828103602084015262003e75818562002d2b565b95945050505050565b5f6020828403121562003e8f575f80fd5b81516001600160401b0381111562003ea5575f80fd5b620023df8482850162003256565b5f6001820162003ec75762003ec7620036b7565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b74901e552064099b775b843720858dd3b59cf2dcea297bf896118a92af85cd064736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000003": { + "contractName": "ERC721Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000003" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000000004": { + "contractName": "ERC1155VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x608060405260043610620001b7575f3560e01c8063715018a611620000fa578063a86f9d9e1162000092578063e30c3978116200006a578063e30c3978146200051d578063f09a4016146200053c578063f23a6e611462000560578063f2fde38b1462000590575f80fd5b8063a86f9d9e146200046d578063bc197c811462000491578063e07baba614620004dd575f80fd5b80638456cb5911620000d25780638456cb5914620003ea5780638abf607714620004015780638da5cb5b14620004185780639aa8605c1462000437575f80fd5b8063715018a614620003a557806379ba509714620003bc5780637f07c94714620003d3575f80fd5b80633ab76e9f116200016e5780634f1ef28611620001465780634f1ef286146200031157806352d1902d14620003285780635c975abb146200033f57806367090ccf1462000361575f80fd5b80633ab76e9f146200029c5780633eb6b8cf14620002d65780633f4ba83a14620002fa575f80fd5b80630178733a14620001bb57806301ffc9a714620001d457806306fdde03146200020d5780631f59a830146200023b5780633075db5614620002615780633659cfe61462000278575b5f80fd5b620001d2620001cc36600462002b04565b620005b4565b005b348015620001e0575f80fd5b50620001f8620001f236600462002b4d565b62000745565b60405190151581526020015b60405180910390f35b34801562000219575f80fd5b506c195c98cc4c4d4d57dd985d5b1d609a1b5b60405190815260200162000204565b620002526200024c36600462002b76565b62000769565b60405162000204919062002c01565b3480156200026d575f80fd5b50620001f862000bf6565b34801562000284575f80fd5b50620001d26200029636600462002d24565b62000c0c565b348015620002a8575f80fd5b50609754620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000204565b348015620002e2575f80fd5b50620002bd620002f436600462002d72565b62000ce8565b34801562000306575f80fd5b50620001d262000cfe565b620001d26200032236600462002ef5565b62000d16565b34801562000334575f80fd5b506200022c62000dd7565b3480156200034b575f80fd5b50620001f860c954610100900460ff1660021490565b3480156200036d575f80fd5b50620002bd6200037f36600462002f47565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b348015620003b1575f80fd5b50620001d262000e8b565b348015620003c8575f80fd5b50620001d262000ea0565b620001d2620003e436600462002fbf565b62000f1b565b348015620003f6575f80fd5b50620001d262001058565b3480156200040d575f80fd5b50620002bd6200106f565b34801562000424575f80fd5b506033546001600160a01b0316620002bd565b34801562000443575f80fd5b506200045b6200045536600462002d24565b6200107f565b60405162000204949392919062003001565b34801562000479575f80fd5b50620002bd6200048b36600462003054565b620011da565b3480156200049d575f80fd5b50620004c3620004af366004620030bd565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b0319909116815260200162000204565b348015620004e9575f80fd5b5060c95462000504906201000090046001600160401b031681565b6040516001600160401b03909116815260200162000204565b34801562000529575f80fd5b506065546001600160a01b0316620002bd565b34801562000548575f80fd5b50620001d26200055a36600462003181565b620011ef565b3480156200056c575f80fd5b50620004c36200057e366004620031b2565b63f23a6e6160e01b9695505050505050565b3480156200059c575f80fd5b50620001d2620005ae36600462002d24565b62001311565b620005c960c954610100900460ff1660021490565b15620005e85760405163bae6e2a960e01b815260040160405180910390fd5b6002620005f462001385565b60ff1603620006165760405163dfc60d8560e01b815260040160405180910390fd5b620006226002620013c7565b6200062c62001412565b505f6200063e61014084018462003230565b6200064e91600490829062003275565b8101906200065d91906200329e565b90505f805f83806020019051810190620006789190620033c9565b94509450505092505f620006a3848860a00160208101906200069b919062002d24565b85856200150f565b9050620006d1610120880135620006c160c08a0160a08b0162002d24565b6001600160a01b0316906200160a565b620006e360c0880160a0890162002d24565b6001600160a01b0316867fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c866020015184878760405162000728949392919062003535565b60405180910390a35050505050620007416001620013c7565b5050565b5f620007518262001617565b80620007635750620007638262001668565b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810191909152620007d860c954610100900460ff1660021490565b15620007f75760405163bae6e2a960e01b815260040160405180910390fd5b6200080282620035f8565b8060e00151518160c0015151146200082d5760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b031662000859576040516303f8a7d360e01b815260040160405180910390fd5b60026200086562001385565b60ff1603620008875760405163dfc60d8560e01b815260040160405180910390fd5b620008936002620013c7565b5f5b620008a460e0850185620036dc565b90508110156200090057620008bd60e0850185620036dc565b82818110620008d057620008d062003724565b905060200201355f03620008f757604051634299323b60e11b815260040160405180910390fd5b60010162000895565b506200092f636cdb3d1360e11b6200091f60a086016080870162002d24565b6001600160a01b0316906200169e565b6200094d57604051633ee915f560e11b815260040160405180910390fd5b5f806200095a8562001731565b6040805161016081019091525f80825292945090925060208101620009866080890160608a0162003738565b6001600160401b03168152602001620009a660c0890160a08a0162003756565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620009d99089018962003738565b6001600160401b031681526020015f6001600160a01b031688602001602081019062000a06919062002d24565b6001600160a01b03160362000a1c573362000a2e565b62000a2e6040890160208a0162002d24565b6001600160a01b0316815260209081019062000a6b9062000a52908a018a62003738565b6c195c98cc4c4d4d57dd985d5b1d609a1b5b5f62000ce8565b6001600160a01b0316815260200162000a8b6080890160608a0162003738565b62000aa0906001600160401b03163462003788565b815260200184905290505f62000ac06562726964676560d01b82620011da565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b815260040162000aee919062002c01565b5f6040518083038185885af115801562000b0a573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405262000b349190810190620037ab565b9650905062000b4a606088016040890162002d24565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c608001602081019062000ba2919062002d24565b62000bb160c08f018f620036dc565b8f8060e0019062000bc39190620036dc565b60405162000bd8979695949392919062003911565b60405180910390a45050505062000bf06001620013c7565b50919050565b5f600262000c0362001385565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000000000416300362000c605760405162461bcd60e51b815260040162000c579062003971565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000000046001600160a01b031662000c9462001c40565b6001600160a01b03161462000cbd5760405162461bcd60e51b815260040162000c5790620039bd565b62000cc88162001c5c565b604080515f8082526020820190925262000ce59183919062001c66565b50565b5f62000cf684848462001ddd565b949350505050565b62000d0862001ed5565b62000d14335f62001f67565b565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000000000416300362000d615760405162461bcd60e51b815260040162000c579062003971565b7f00000000000000000000000001670020000000000000000000000000000000046001600160a01b031662000d9562001c40565b6001600160a01b03161462000dbe5760405162461bcd60e51b815260040162000c5790620039bd565b62000dc98262001c5c565b620007418282600162001c66565b5f306001600160a01b037f0000000000000000000000000167002000000000000000000000000000000004161462000e785760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c57565b505f805160206200459583398151915290565b62000e9562001f6c565b62000d145f62001fc8565b60655433906001600160a01b0316811462000f105760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000c57565b62000ce58162001fc8565b62000f3060c954610100900460ff1660021490565b1562000f4f5760405163bae6e2a960e01b815260040160405180910390fd5b600262000f5b62001385565b60ff160362000f7d5760405163dfc60d8560e01b815260040160405180910390fd5b62000f896002620013c7565b5f8080808062000f9c8688018862003a09565b945094509450945094505f62000fb162001fe3565b905062000fbe846200210d565b5f62000fcd878686866200150f565b905062000fe46001600160a01b038616346200160a565b846001600160a01b0316866001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518b60200151868a8a6040516200103d95949392919062003b2c565b60405180910390a450505050505050620007416001620013c7565b620010626200214b565b62000d1433600162001f67565b5f6200107a62001c40565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190620010bf9062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620010ed9062003b88565b80156200113c5780601f1062001112576101008083540402835291602001916200113c565b820191905f5260205f20905b8154815290600101906020018083116200111e57829003601f168201915b505050505090806002018054620011539062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620011819062003b88565b8015620011d05780601f10620011a657610100808354040283529160200191620011d0565b820191905f5260205f20905b815481529060010190602001808311620011b257829003601f168201915b5050505050905084565b5f620011e846848462001ddd565b9392505050565b5f54610100900460ff16158080156200120e57505f54600160ff909116105b80620012295750303b1580156200122957505f5460ff166001145b6200128e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c57565b5f805460ff191660011790558015620012b0575f805461ff0019166101001790555b620012bc8383620021bf565b620012c6620021fe565b80156200130c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6200131b62001f6c565b606580546001600160a01b0383166001600160a01b031990911681179091556200134d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f620013914662002227565b15620013bd57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b620013d24662002227565b15620013fe57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62001445816001620011da565b6001600160a01b0316336001600160a01b0316146200147757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620014b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620014da919062003bbc565b60208101519092506001600160a01b031633146200150b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46855f01516001600160401b0316036200159357506020840151604051631759616b60e11b81526001600160a01b03821690632eb2c2d6906200155e90309088908890889060040162003c2a565b5f604051808303815f87803b15801562001576575f80fd5b505af115801562001589573d5f803e3d5ffd5b5050505062000cf6565b6200159e8562002259565b60405163d81d0a1560e01b81529091506001600160a01b0382169063d81d0a1590620015d39087908790879060040162003c87565b5f604051808303815f87803b158015620015eb575f80fd5b505af1158015620015fe573d5f803e3d5ffd5b50505050949350505050565b6200074182825a620022a3565b5f6001600160e01b0319821662bc399d60e11b14806200164757506001600160e01b03198216637f07c94760e01b145b806200076357506001600160e01b031982166301ffc9a760e01b1492915050565b5f6001600160e01b03198216630271189760e51b14806200076357506301ffc9a760e01b6001600160e01b031983161462000763565b5f6001600160a01b0383163b620016b757505f62000763565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001724575060408051601f3d908101601f19168201909252620017219181019062003cc0565b60015b1562000763579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d816200176960a087016080880162002d24565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b9004161562001a8b576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b03166020820152600183018054919284929084019190620017dd9062003b88565b80601f01602080910402602001604051908101604052809291908181526020018280546200180b9062003b88565b80156200185a5780601f1062001830576101008083540402835291602001916200185a565b820191905f5260205f20905b8154815290600101906020018083116200183c57829003601f168201915b50505050508152602001600282018054620018759062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620018a39062003b88565b8015620018f25780601f10620018c857610100808354040283529160200191620018f2565b820191905f5260205f20905b815481529060010190602001808311620018d457829003601f168201915b505050505081525050915083608001602081019062001912919062002d24565b6001600160a01b0316632eb2c2d633306200193160c0890189620036dc565b6200194060e08b018b620036dc565b6040518763ffffffff1660e01b8152600401620019639695949392919062003cde565b5f604051808303815f87803b1580156200197b575f80fd5b505af11580156200198e573d5f803e3d5ffd5b505050505f5b620019a360c0860186620036dc565b905081101562001a8457620019bf60a086016080870162002d24565b6001600160a01b031663b390c0ab620019dc60c0880188620036dc565b84818110620019ef57620019ef62003724565b90506020020135878060e0019062001a089190620036dc565b8581811062001a1b5762001a1b62003724565b905060200201356040518363ffffffff1660e01b815260040162001a49929190918252602082015260400190565b5f604051808303815f87803b15801562001a61575f80fd5b505af115801562001a74573d5f803e3d5ffd5b5050505080600101905062001994565b5062001b9c565b6040518060800160405280466001600160401b0316815260200185608001602081019062001aba919062002d24565b6001600160a01b0316815260200162001ae462001ade60a088016080890162002d24565b620022ea565b815260200162001b0562001aff60a088016080890162002d24565b6200239c565b9052915062001b1b60a085016080860162002d24565b6001600160a01b0316632eb2c2d6333062001b3a60c0890189620036dc565b62001b4960e08b018b620036dc565b6040518763ffffffff1660e01b815260040162001b6c9695949392919062003cde565b5f604051808303815f87803b15801562001b84575f80fd5b505af115801562001b97573d5f803e3d5ffd5b505050505b5030637f07c947823362001bb7606088016040890162002d24565b62001bc660c0890189620036dc565b62001bd560e08b018b620036dc565b60405160200162001bed979695949392919062003d3f565b60408051601f198184030181529082905262001c0c9160240162003df8565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f8051602062004595833981519152546001600160a01b031690565b62000ce562001f6c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001c9c576200130c83620023e4565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001cf9575060408051601f3d908101601f1916820190925262001cf69181019062003e0c565b60015b62001d5e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c57565b5f8051602062004595833981519152811462001dcf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c57565b506200130c83838362002482565b6097545f906001600160a01b03168062001e0a57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801562001e5d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e83919062003e24565b91508215801562001e9b57506001600160a01b038216155b1562001ecd57604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000c57565b509392505050565b62001eea60c954610100900460ff1660021490565b62001f085760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007415b6033546001600160a01b0316331462000d145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c57565b606580546001600160a01b031916905562000ce581620024b2565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62002016816001620011da565b6001600160a01b0316336001600160a01b0316146200204857604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562002085573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620020ab919062003bbc565b91505f620020cf836040015162000a646c195c98cc4c4d4d57dd985d5b1d609a1b90565b9050806001600160a01b031683602001516001600160a01b0316146200210857604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200212c57506001600160a01b03811630145b1562000ce557604051635b50f3f960e01b815260040160405180910390fd5b6200216060c954610100900460ff1660021490565b156200217f5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162001f5d565b806001600160a01b038116620021e85760405163538ba4f960e01b815260040160405180910390fd5b620021f38362002503565b6200130c826200256a565b5f54610100900460ff1662000d145760405162461bcd60e51b815260040162000c579062003e42565b5f600182148062002239575061426882145b8062002247575062aa36a782145b806200076357506200076382620025de565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806200229e576200076382620025f6565b919050565b815f03620022b057505050565b620022cc83838360405180602001604052805f815250620027e2565b6200130c57604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002332919062003e8d565b5f60405180830381855afa9150503d805f81146200236c576040519150601f19603f3d011682016040523d82523d5f602084013e62002371565b606091505b509150915081620023915760405180602001604052805f81525062000cf6565b62000cf68162002820565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002332919062003e8d565b6001600160a01b0381163b620024535760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c57565b5f805160206200459583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200248d8362002973565b5f825111806200249a5750805b156200130c57620024ac8383620029b4565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff166200252c5760405162461bcd60e51b815260040162000c579062003e42565b62002536620021fe565b620025586001600160a01b0382161562002551578162001fc8565b3362001fc8565b5060c9805461ff001916610100179055565b5f54610100900460ff16620025935760405162461bcd60e51b815260040162000c579062003e42565b6001600160401b03461115620025bc5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000763575050617e90101590565b5f806200260b6033546001600160a01b031690565b60975460208501518551604080880151606089015191516200263e96956001600160a01b03169493929060240162003eaa565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620026886e627269646765645f6572633131353560881b5f620011da565b81604051620026979062002af6565b620026a492919062003f0f565b604051809103905ff080158015620026be573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b03909416939093171782558501519193508491600182019062002724908262003f83565b50606082015160028201906200273b908262003f83565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b92620027d492906200404f565b60405180910390a450919050565b5f6001600160a01b0385166200280b57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6060604082511062002842578180602001905181019062000763919062004080565b815160200362002960575f5b6020811080156200288157508281815181106200286f576200286f62003724565b01602001516001600160f81b03191615155b156200289a576200289281620040b5565b90506200284e565b805f03620028b757505060408051602081019091525f8152919050565b5f816001600160401b03811115620028d357620028d362002db6565b6040519080825280601f01601f191660200182016040528015620028fe576020820181803683370190505b5090505f5b8281101562001ecd5784818151811062002921576200292162003724565b602001015160f81c60f81b82828151811062002941576200294162003724565b60200101906001600160f81b03191690815f1a90535060010162002903565b505060408051602081019091525f815290565b6200297e81620023e4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060620011e88383604051806060016040528060278152602001620045b56027913960605f80856001600160a01b031685604051620029f4919062003e8d565b5f60405180830381855af49150503d805f811462002a2e576040519150601f19603f3d011682016040523d82523d5f602084013e62002a33565b606091505b509150915062002a468683838762002a50565b9695505050505050565b6060831562002ac35782515f0362002abb576001600160a01b0385163b62002abb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c57565b508162000cf6565b62000cf6838381511562002ada5781518083602001fd5b8060405162461bcd60e51b815260040162000c57919062003df8565b6104c480620040d183390190565b5f806040838503121562002b16575f80fd5b82356001600160401b0381111562002b2c575f80fd5b8301610160818603121562002b3f575f80fd5b946020939093013593505050565b5f6020828403121562002b5e575f80fd5b81356001600160e01b031981168114620011e8575f80fd5b5f6020828403121562002b87575f80fd5b81356001600160401b0381111562002b9d575f80fd5b82016101008185031215620011e8575f80fd5b5f5b8381101562002bcc57818101518382015260200162002bb2565b50505f910152565b5f815180845262002bed81602086016020860162002bb0565b601f01601f19169290920160200192915050565b6020815262002c1c6020820183516001600160401b03169052565b5f602083015162002c3860408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062002cbc818501836001600160a01b03169052565b840151905061012062002cd9848201836001600160a01b03169052565b8401516101408481019190915284015161016080850152905062000cf661018084018262002bd4565b6001600160a01b038116811462000ce5575f80fd5b80356200229e8162002d02565b5f6020828403121562002d35575f80fd5b8135620011e88162002d02565b6001600160401b038116811462000ce5575f80fd5b80356200229e8162002d42565b801515811462000ce5575f80fd5b5f805f6060848603121562002d85575f80fd5b833562002d928162002d42565b925060208401359150604084013562002dab8162002d64565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171562002def5762002def62002db6565b60405290565b60405161010081016001600160401b038111828210171562002def5762002def62002db6565b60405161016081016001600160401b038111828210171562002def5762002def62002db6565b604051601f8201601f191681016001600160401b038111828210171562002e6c5762002e6c62002db6565b604052919050565b5f6001600160401b0382111562002e8f5762002e8f62002db6565b50601f01601f191660200190565b5f82601f83011262002ead575f80fd5b813562002ec462002ebe8262002e74565b62002e41565b81815284602083860101111562002ed9575f80fd5b816020850160208301375f918101602001919091529392505050565b5f806040838503121562002f07575f80fd5b823562002f148162002d02565b915060208301356001600160401b0381111562002f2f575f80fd5b62002f3d8582860162002e9d565b9150509250929050565b5f806040838503121562002f59575f80fd5b82359150602083013562002f6d8162002d02565b809150509250929050565b5f8083601f84011262002f89575f80fd5b5081356001600160401b0381111562002fa0575f80fd5b60208301915083602082850101111562002fb8575f80fd5b9250929050565b5f806020838503121562002fd1575f80fd5b82356001600160401b0381111562002fe7575f80fd5b62002ff58582860162002f78565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90620030359083018562002bd4565b828103606084015262003049818562002bd4565b979650505050505050565b5f806040838503121562003066575f80fd5b82359150602083013562002f6d8162002d64565b5f8083601f8401126200308b575f80fd5b5081356001600160401b03811115620030a2575f80fd5b6020830191508360208260051b850101111562002fb8575f80fd5b5f805f805f805f8060a0898b031215620030d5575f80fd5b8835620030e28162002d02565b97506020890135620030f48162002d02565b965060408901356001600160401b038082111562003110575f80fd5b6200311e8c838d016200307a565b909850965060608b013591508082111562003137575f80fd5b620031458c838d016200307a565b909650945060808b01359150808211156200315e575f80fd5b506200316d8b828c0162002f78565b999c989b5096995094979396929594505050565b5f806040838503121562003193575f80fd5b8235620031a08162002d02565b9150602083013562002f6d8162002d02565b5f805f805f8060a08789031215620031c8575f80fd5b8635620031d58162002d02565b95506020870135620031e78162002d02565b9450604087013593506060870135925060808701356001600160401b0381111562003210575f80fd5b6200321e89828a0162002f78565b979a9699509497509295939492505050565b5f808335601e1984360301811262003246575f80fd5b8301803591506001600160401b0382111562003260575f80fd5b60200191503681900382131562002fb8575f80fd5b5f808585111562003284575f80fd5b8386111562003291575f80fd5b5050820193919092039150565b5f60208284031215620032af575f80fd5b81356001600160401b03811115620032c5575f80fd5b62000cf68482850162002e9d565b80516200229e8162002d42565b80516200229e8162002d02565b5f82601f830112620032fd575f80fd5b81516200330e62002ebe8262002e74565b81815284602083860101111562003323575f80fd5b62000cf682602083016020870162002bb0565b5f6001600160401b0382111562003351576200335162002db6565b5060051b60200190565b5f82601f8301126200336b575f80fd5b815160206200337e62002ebe8362003336565b8083825260208201915060208460051b870101935086841115620033a0575f80fd5b602086015b84811015620033be5780518352918301918301620033a5565b509695505050505050565b5f805f805f60a08688031215620033de575f80fd5b85516001600160401b0380821115620033f5575f80fd5b908701906080828a03121562003409575f80fd5b6200341362002dca565b8251620034208162002d42565b81526020830151620034328162002d02565b602082015260408301518281111562003449575f80fd5b620034578b828601620032ed565b6040830152506060830151828111156200346f575f80fd5b6200347d8b828601620032ed565b60608301525096506200349360208901620032e0565b9550620034a360408901620032e0565b94506060880151915080821115620034b9575f80fd5b620034c789838a016200335b565b93506080880151915080821115620034dd575f80fd5b50620034ec888289016200335b565b9150509295509295909350565b5f815180845260208085019450602084015f5b838110156200352a578151875295820195908201906001016200350c565b509495945050505050565b6001600160a01b038581168252841660208201526080604082018190525f906200356290830185620034f9565b8281036060840152620030498185620034f9565b63ffffffff8116811462000ce5575f80fd5b80356200229e8162003576565b5f82601f830112620035a5575f80fd5b81356020620035b862002ebe8362003336565b8083825260208201915060208460051b870101935086841115620035da575f80fd5b602086015b84811015620033be5780358352918301918301620035df565b5f61010082360312156200360a575f80fd5b6200361462002df5565b6200361f8362002d57565b81526200362f6020840162002d17565b6020820152620036426040840162002d17565b6040820152620036556060840162002d57565b6060820152620036686080840162002d17565b60808201526200367b60a0840162003588565b60a082015260c08301356001600160401b03808211156200369a575f80fd5b620036a83683870162003595565b60c084015260e0850135915080821115620036c1575f80fd5b50620036d03682860162003595565b60e08301525092915050565b5f808335601e19843603018112620036f2575f80fd5b8301803591506001600160401b038211156200370c575f80fd5b6020019150600581901b360382131562002fb8575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121562003749575f80fd5b8135620011e88162002d42565b5f6020828403121562003767575f80fd5b8135620011e88162003576565b634e487b7160e01b5f52601160045260245ffd5b8181038181111562000763576200076362003774565b80516200229e8162003576565b5f8060408385031215620037bd575f80fd5b8251915060208301516001600160401b0380821115620037db575f80fd5b908401906101608287031215620037f0575f80fd5b620037fa62002e1b565b6200380583620032d3565b81526200381560208401620032d3565b602082015262003828604084016200379e565b60408201526200383b60608401620032e0565b60608201526200384e60808401620032d3565b60808201526200386160a08401620032e0565b60a08201526200387460c08401620032d3565b60c08201526200388760e08401620032e0565b60e08201526101006200389c818501620032e0565b9082015261012083810151908201526101408084015183811115620038bf575f80fd5b620038cd89828701620032ed565b8284015250508093505050509250929050565b8183525f6001600160fb1b03831115620038f8575f80fd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f906200394e9083018688620038e0565b828103608084015262003963818587620038e0565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f805f805f60a0868803121562003a1e575f80fd5b85356001600160401b038082111562003a35575f80fd5b908701906080828a03121562003a49575f80fd5b62003a5362002dca565b823562003a608162002d42565b8152602083013562003a728162002d02565b602082015260408301358281111562003a89575f80fd5b62003a978b82860162002e9d565b60408301525060608301358281111562003aaf575f80fd5b62003abd8b82860162002e9d565b606083015250965062003ad36020890162002d17565b955062003ae36040890162002d17565b9450606088013591508082111562003af9575f80fd5b62003b0789838a0162003595565b9350608088013591508082111562003b1d575f80fd5b50620034ec8882890162003595565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f9062003b6890830185620034f9565b828103608084015262003b7c8185620034f9565b98975050505050505050565b600181811c9082168062003b9d57607f821691505b60208210810362000bf057634e487b7160e01b5f52602260045260245ffd5b5f6060828403121562003bcd575f80fd5b604051606081018181106001600160401b038211171562003bf25762003bf262002db6565b60405282518152602083015162003c098162002d02565b6020820152604083015162003c1e8162002d42565b60408201529392505050565b6001600160a01b0385811682528416602082015260a0604082018190525f9062003c5790830185620034f9565b828103606084015262003c6b8185620034f9565b83810360809094019390935250505f8152602001949350505050565b6001600160a01b03841681526060602082018190525f9062003cac90830185620034f9565b828103604084015262002a468185620034f9565b5f6020828403121562003cd1575f80fd5b8151620011e88162002d64565b6001600160a01b0387811682528616602082015260a0604082018190525f9062003d0c9083018688620038e0565b828103606084015262003d21818587620038e0565b83810360809094019390935250505f81526020019695505050505050565b60a080825288516001600160401b03169082015260208801516001600160a01b031660c08201526040880151608060e08301525f9062003d8461012084018262002bd4565b905060608a0151609f198483030161010085015262003da4828262002bd4565b91505062003dbd602084018a6001600160a01b03169052565b6001600160a01b0388166040840152828103606084015262003de1818789620038e0565b9050828103608084015262003963818587620038e0565b602081525f620011e8602083018462002bd4565b5f6020828403121562003e1d575f80fd5b5051919050565b5f6020828403121562003e35575f80fd5b8151620011e88162002d02565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f825162003ea081846020870162002bb0565b9190910192915050565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f9062003eee9083018562002bd4565b82810360a084015262003f02818562002bd4565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000cf69083018462002bd4565b601f8211156200130c57805f5260205f20601f840160051c8101602085101562003f5b5750805b601f840160051c820191505b8181101562003f7c575f815560010162003f67565b5050505050565b81516001600160401b0381111562003f9f5762003f9f62002db6565b62003fb78162003fb0845462003b88565b8462003f34565b602080601f83116001811462003fed575f841562003fd55750858301515b5f19600386901b1c1916600185901b17855562004047565b5f85815260208120601f198616915b828110156200401d5788860151825594840194600190910190840162003ffc565b50858210156200403b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f62004063604083018562002bd4565b828103602084015262004077818562002bd4565b95945050505050565b5f6020828403121562004091575f80fd5b81516001600160401b03811115620040a7575f80fd5b62000cf684828501620032ed565b5f60018201620040c957620040c962003774565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d663a4d1b4b1d1fe8a62f7efcbebbc49fdbde0f90ea972b1d22f96ca608dd14a64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000004": { + "contractName": "ERC1155Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000004" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010096": { + "contractName": "BridgedERC20", + "storage": {}, + "code": "0x608060405260043610610233575f3560e01c806370a0823111610129578063a77f1516116100a8578063dd62ed3e1161006d578063dd62ed3e14610684578063e07baba6146106a3578063e30c3978146106e2578063f12506c1146106ff578063f2fde38b14610713575f80fd5b8063a77f1516146105e7578063a86f9d9e14610608578063a9059cbb14610627578063b8f2e0c514610646578063bb86ef9314610665575f80fd5b80638456cb59116100ee5780638456cb591461056f5780638abf6077146105835780638da5cb5b1461059757806395d89b41146105b4578063a457c2d7146105c8575f80fd5b806370a08231146104d3578063715018a61461050757806379ba50971461051b5780637cf8ed0d1461052f5780637e4746341461054f575f80fd5b806339509351116101b557806342966c681161017a57806342966c681461045757806349d12605146104765780634f1ef2861461048c57806352d1902d1461049f5780635c975abb146104b3575f80fd5b806339509351146103af5780633ab76e9f146103ce5780633eb6b8cf146104055780633f4ba83a1461042457806340c10f1914610438575f80fd5b806323b872dd116101fb57806323b872dd146102ea57806326afaadd146103095780633075db561461034d578063313ce567146103615780633659cfe61461038e575f80fd5b806301ffc9a71461023757806306fdde031461026b578063095ea7b31461028c5780630ae74548146102ab57806318160ddd146102cc575b5f80fd5b348015610242575f80fd5b5061025661025136600461222e565b610732565b60405190151581526020015b60405180910390f35b348015610276575f80fd5b5061027f6107d4565b6040516102629190612277565b348015610297575f80fd5b506102566102a63660046122bd565b610864565b3480156102b6575f80fd5b5061012f5461025690600160a01b900460ff1681565b3480156102d7575f80fd5b5060fd545b604051908152602001610262565b3480156102f5575f80fd5b506102566103043660046122e7565b61087b565b348015610314575f80fd5b5061032e61012d5461012e546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610262565b348015610358575f80fd5b5061025661089e565b34801561036c575f80fd5b5061012d54600160a01b900460ff165b60405160ff9091168152602001610262565b348015610399575f80fd5b506103ad6103a8366004612325565b6108b2565b005b3480156103ba575f80fd5b506102566103c93660046122bd565b610982565b3480156103d9575f80fd5b506097546103ed906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b348015610410575f80fd5b506103ed61041f366004612354565b6109a3565b34801561042f575f80fd5b506103ad6109b7565b348015610443575f80fd5b506103ad6104523660046122bd565b6109cb565b348015610462575f80fd5b506103ad61047136600461239b565b610ae1565b348015610481575f80fd5b506102dc61012e5481565b6103ad61049a3660046123c6565b610c1a565b3480156104aa575f80fd5b506102dc610ccf565b3480156104be575f80fd5b5061025660c954610100900460ff1660021490565b3480156104de575f80fd5b506102dc6104ed366004612325565b6001600160a01b03165f90815260fb602052604090205490565b348015610512575f80fd5b506103ad610d80565b348015610526575f80fd5b506103ad610d91565b34801561053a575f80fd5b5061012d546103ed906001600160a01b031681565b34801561055a575f80fd5b5061012f546103ed906001600160a01b031681565b34801561057a575f80fd5b506103ad610e08565b34801561058e575f80fd5b506103ed610e1b565b3480156105a2575f80fd5b506033546001600160a01b03166103ed565b3480156105bf575f80fd5b5061027f610e29565b3480156105d3575f80fd5b506102566105e23660046122bd565b610e38565b3480156105f2575f80fd5b5061012d5461037c90600160a01b900460ff1681565b348015610613575f80fd5b506103ed610622366004612484565b610eb2565b348015610632575f80fd5b506102566106413660046122bd565b610ec5565b348015610651575f80fd5b506103ad6106603660046124ae565b610ed2565b348015610670575f80fd5b506103ad61067f36600461251d565b61104b565b34801561068f575f80fd5b506102dc61069e3660046125e0565b61120b565b3480156106ae575f80fd5b5060c9546106c99062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610262565b3480156106ed575f80fd5b506065546001600160a01b03166103ed565b34801561070a575f80fd5b50610256611235565b34801561071e575f80fd5b506103ad61072d366004612325565b611260565b5f6001600160e01b0319821663093e326b60e21b148061076257506001600160e01b0319821663bb86ef9360e01b145b8061077d57506001600160e01b0319821663b8f2e0c560e01b145b8061079857506001600160e01b031982166336372b0760e01b145b806107b357506001600160e01b0319821663a219a02560e01b145b806107ce57506001600160e01b031982166301ffc9a760e01b145b92915050565b606060fe80546107e390612617565b80601f016020809104026020016040519081016040528092919081815260200182805461080f90612617565b801561085a5780601f106108315761010080835404028352916020019161085a565b820191905f5260205f20905b81548152906001019060200180831161083d57829003601f168201915b5050505050905090565b5f336108718185856112d1565b5060019392505050565b5f336108888582856113f4565b61089385858561146c565b506001949350505050565b5f60026108a9611620565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000100961630036109035760405162461bcd60e51b81526004016108fa9061264f565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000100966001600160a01b031661093561165f565b6001600160a01b03161461095b5760405162461bcd60e51b81526004016108fa9061269b565b6109648161167a565b604080515f8082526020820190925261097f91839190611682565b50565b5f33610871818585610994838361120b565b61099e91906126e7565b6112d1565b5f6109af8484846117ec565b949350505050565b6109bf6118df565b6109c9335f611970565b565b6109df60c954610100900460ff1660021490565b156109fd5760405163bae6e2a960e01b815260040160405180910390fd5b6002610a07611620565b60ff1603610a285760405163dfc60d8560e01b815260040160405180910390fd5b610a326002611978565b610a3a611235565b15610a585760405163270bf77560e01b815260040160405180910390fd5b61012f546001600160a01b031633819003610abf57826001600160a01b0316816001600160a01b03167fe502aa3e015149f4b76a0b2b5394e3100903c4af27c3ddc98385395d3f55252684604051610ab291815260200190565b60405180910390a3610ac8565b610ac8336119c0565b610ad28383611a3c565b50610add6001611978565b5050565b610af560c954610100900460ff1660021490565b15610b135760405163bae6e2a960e01b815260040160405180910390fd5b6002610b1d611620565b60ff1603610b3e5760405163dfc60d8560e01b815260040160405180910390fd5b610b486002611978565b610b50611235565b15610bfd5761012f546040518281526001600160a01b0390911690339082907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a36040516340c10f1960e01b8152336004820152602481018390526001600160a01b038216906340c10f19906044015f604051808303815f87803b158015610be1575f80fd5b505af1158015610bf3573d5f803e3d5ffd5b5050505050610c06565b610c06336119c0565b610c103382611b06565b61097f6001611978565b6001600160a01b037f0000000000000000000000000167002000000000000000000000000000010096163003610c625760405162461bcd60e51b81526004016108fa9061264f565b7f00000000000000000000000001670020000000000000000000000000000100966001600160a01b0316610c9461165f565b6001600160a01b031614610cba5760405162461bcd60e51b81526004016108fa9061269b565b610cc38261167a565b610add82826001611682565b5f306001600160a01b037f00000000000000000000000001670020000000000000000000000000000100961614610d6e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108fa565b505f805160206128aa83398151915290565b610d88611c43565b6109c95f611c9d565b60655433906001600160a01b03168114610dff5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016108fa565b61097f81611c9d565b610e10611cb6565b6109c9336001611970565b5f610e2461165f565b905090565b606060ff80546107e390612617565b5f3381610e45828661120b565b905083811015610ea55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108fa565b61089382868684036112d1565b5f610ebe4684846117ec565b9392505050565b5f3361087181858561146c565b610ee660c954610100900460ff1660021490565b15610f045760405163bae6e2a960e01b815260040160405180910390fd5b6a195c98cc8c17dd985d5b1d60aa1b610f1e816001610eb2565b6001600160a01b0316336001600160a01b031614610f4f57604051630d85cccf60e11b815260040160405180910390fd5b6002610f59611620565b60ff1603610f7a5760405163dfc60d8560e01b815260040160405180910390fd5b610f846002611978565b61012f546001600160a01b038481169116148015610fb5575061012f60149054906101000a900460ff161515821515145b15610fd35760405163c118d2f360e01b815260040160405180910390fd5b61012f80546001600160a01b0385166001600160a81b03199091168117600160a01b851515908102919091179092556040805191825260208201929092527fa6b6f959792843a48d9d03d13595f2de7c86ae0ce12ef0fa759dd911b205e565910160405180910390a16110466001611978565b505050565b5f54610100900460ff161580801561106957505f54600160ff909116105b806110825750303b15801561108257505f5460ff166001145b6110e55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108fa565b5f805460ff191660011790558015611106575f805461ff0019166101001790555b6111108888611d27565b61111a8a8a611d63565b61118b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611d9d92505050565b61012d805461012e89905560ff8816600160a01b026001600160a81b03199091166001600160a01b038b161717905580156111ff575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b039182165f90815260fc6020908152604080832093909416825291909152205490565b61012f545f906001600160a01b031615801590610e2457505061012f54600160a01b900460ff161590565b611268611c43565b606580546001600160a01b0383166001600160a01b031990911681179091556112996033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b0383166113335760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108fa565b6001600160a01b0382166113945760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108fa565b6001600160a01b038381165f81815260fc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6113ff848461120b565b90505f19811461146657818110156114595760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fa565b61146684848484036112d1565b50505050565b6001600160a01b0383166114d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108fa565b6001600160a01b0382166115325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108fa565b61153d838383611dcd565b6001600160a01b0383165f90815260fb6020526040902054818110156115b45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108fa565b6001600160a01b038085165f81815260fb602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116139086815260200190565b60405180910390a3611466565b5f61162a46611e08565b1561165557507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f805160206128aa833981519152546001600160a01b031690565b61097f611c43565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156116b55761104683611e35565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561170f575060408051601f3d908101601f1916820190925261170c91810190612706565b60015b6117725760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108fa565b5f805160206128aa83398151915281146117e05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108fa565b50611046838383611ed0565b6097545f906001600160a01b03168061181857604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561186b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188f919061271d565b9150821580156118a657506001600160a01b038216155b156118d757604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016108fa565b509392505050565b6118f360c954610100900460ff1660021490565b6119105760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610add611c43565b61198146611e08565b156119ac57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6a195c98cc8c17dd985d5b1d60aa1b6119e16033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015611a1e5750611a08816001610eb2565b6001600160a01b0316336001600160a01b031614155b15610add57604051630d85cccf60e11b815260040160405180910390fd5b6001600160a01b038216611a925760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fa565b611a9d5f8383611dcd565b8060fd5f828254611aae91906126e7565b90915550506001600160a01b0382165f81815260fb60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216611b665760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108fa565b611b71825f83611dcd565b6001600160a01b0382165f90815260fb602052604090205481811015611be45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108fa565b6001600160a01b0383165f81815260fb60209081526040808320868603905560fd80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6033546001600160a01b031633146109c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fa565b606580546001600160a01b031916905561097f81611ef4565b611cca60c954610100900460ff1660021490565b15611ce85760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611966565b6001600160a01b0382161580611d3b575080155b80611d4557504681145b15610add5760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611d8b5760405163538ba4f960e01b815260040160405180910390fd5b611d9483611f45565b61104682611fa3565b5f54610100900460ff16611dc35760405162461bcd60e51b81526004016108fa90612738565b610add8282612014565b611de160c954610100900460ff1660021490565b15611dff5760405163bae6e2a960e01b815260040160405180910390fd5b61104682612053565b5f6001821480611e19575061426882145b80611e26575062aa36a782145b806107ce57506107ce8261207c565b6001600160a01b0381163b611ea25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108fa565b5f805160206128aa83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ed983612093565b5f82511180611ee55750805b156110465761146683836120d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16611f6b5760405162461bcd60e51b81526004016108fa90612738565b611f736120f7565b611f916001600160a01b03821615611f8b5781611c9d565b33611c9d565b5060c9805461ff001916610100179055565b5f54610100900460ff16611fc95760405162461bcd60e51b81526004016108fa90612738565b67ffffffffffffffff461115611ff25760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff1661203a5760405162461bcd60e51b81526004016108fa90612738565b60fe61204683826127ce565b5060ff61104682826127ce565b306001600160a01b0382160361097f57604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156107ce575050617e90101590565b61209c81611e35565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610ebe83836040518060600160405280602781526020016128ca6027913961211d565b5f54610100900460ff166109c95760405162461bcd60e51b81526004016108fa90612738565b60605f80856001600160a01b031685604051612139919061288e565b5f60405180830381855af49150503d805f8114612171576040519150601f19603f3d011682016040523d82523d5f602084013e612176565b606091505b509150915061218786838387612191565b9695505050505050565b606083156121ff5782515f036121f8576001600160a01b0385163b6121f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fa565b50816109af565b6109af83838151156122145781518083602001fd5b8060405162461bcd60e51b81526004016108fa9190612277565b5f6020828403121561223e575f80fd5b81356001600160e01b031981168114610ebe575f80fd5b5f5b8381101561226f578181015183820152602001612257565b50505f910152565b602081525f8251806020840152612295816040850160208701612255565b601f01601f19169190910160400192915050565b6001600160a01b038116811461097f575f80fd5b5f80604083850312156122ce575f80fd5b82356122d9816122a9565b946020939093013593505050565b5f805f606084860312156122f9575f80fd5b8335612304816122a9565b92506020840135612314816122a9565b929592945050506040919091013590565b5f60208284031215612335575f80fd5b8135610ebe816122a9565b8035801515811461234f575f80fd5b919050565b5f805f60608486031215612366575f80fd5b833567ffffffffffffffff8116811461237d575f80fd5b92506020840135915061239260408501612340565b90509250925092565b5f602082840312156123ab575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156123d7575f80fd5b82356123e2816122a9565b9150602083013567ffffffffffffffff808211156123fe575f80fd5b818501915085601f830112612411575f80fd5b813581811115612423576124236123b2565b604051601f8201601f19908116603f0116810190838211818310171561244b5761244b6123b2565b81604052828152886020848701011115612463575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215612495575f80fd5b823591506124a560208401612340565b90509250929050565b5f80604083850312156124bf575f80fd5b82356124ca816122a9565b91506124a560208401612340565b5f8083601f8401126124e8575f80fd5b50813567ffffffffffffffff8111156124ff575f80fd5b602083019150836020828501011115612516575f80fd5b9250929050565b5f805f805f805f805f60e08a8c031215612535575f80fd5b8935612540816122a9565b985060208a0135612550816122a9565b975060408a0135612560816122a9565b965060608a0135955060808a013560ff8116811461257c575f80fd5b945060a08a013567ffffffffffffffff80821115612598575f80fd5b6125a48d838e016124d8565b909650945060c08c01359150808211156125bc575f80fd5b506125c98c828d016124d8565b915080935050809150509295985092959850929598565b5f80604083850312156125f1575f80fd5b82356125fc816122a9565b9150602083013561260c816122a9565b809150509250929050565b600181811c9082168061262b57607f821691505b60208210810361264957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b808201808211156107ce57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215612716575f80fd5b5051919050565b5f6020828403121561272d575f80fd5b8151610ebe816122a9565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f82111561104657805f5260205f20601f840160051c810160208510156127a85750805b601f840160051c820191505b818110156127c7575f81556001016127b4565b5050505050565b815167ffffffffffffffff8111156127e8576127e86123b2565b6127fc816127f68454612617565b84612783565b602080601f83116001811461282f575f84156128185750858301515b5f19600386901b1c1916600185901b178555612886565b5f85815260208120601f198616915b8281101561285d5788860151825594840194600190910190840161283e565b508582101561287a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825161289f818460208701612255565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e71efa9d5f866b742d3a26addbacfbfd103eaf91f295f46862cb9770e13bc53764736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010097": { + "contractName": "BridgedERC721", + "storage": {}, + "code": "0x608060405260043610610207575f3560e01c80636352211e11610113578063a22cb4651161009d578063e07baba61161006d578063e07baba6146105c3578063e30c397814610600578063e985e9c51461061d578063ef8c4ae614610665578063f2fde38b14610684575f80fd5b8063a22cb46514610547578063a86f9d9e14610566578063b88d4fde14610585578063c87b56dd146105a4575f80fd5b80637cf8ed0d116100e35780637cf8ed0d146104ce5780638456cb59146104ee5780638abf6077146105025780638da5cb5b1461051657806395d89b4114610533575f80fd5b80636352211e1461046857806370a0823114610487578063715018a6146104a657806379ba5097146104ba575f80fd5b80633eb6b8cf1161019457806342966c681161016457806342966c68146103de57806349d12605146103fd5780634f1ef2861461042157806352d1902d146104345780635c975abb14610448575f80fd5b80633eb6b8cf1461036d5780633f4ba83a1461038c57806340c10f19146103a057806342842e0e146103bf575f80fd5b806323b872dd116101da57806323b872dd146102b857806326afaadd146102d75780633075db561461031b5780633659cfe61461032f5780633ab76e9f1461034e575f80fd5b806301ffc9a71461020b57806306fdde031461023f578063081812fc14610260578063095ea7b314610297575b5f80fd5b348015610216575f80fd5b5061022a6102253660046125e5565b6106a3565b60405190151581526020015b60405180910390f35b34801561024a575f80fd5b506102536106e8565b604051610236919061264d565b34801561026b575f80fd5b5061027f61027a36600461265f565b610779565b6040516001600160a01b039091168152602001610236565b3480156102a2575f80fd5b506102b66102b136600461268a565b61079f565b005b3480156102c3575f80fd5b506102b66102d23660046126b4565b6108b8565b3480156102e2575f80fd5b506102fc61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610236565b348015610326575f80fd5b5061022a6108e9565b34801561033a575f80fd5b506102b66103493660046126f2565b6108fd565b348015610359575f80fd5b5060975461027f906001600160a01b031681565b348015610378575f80fd5b5061027f610387366004612721565b6109c4565b348015610397575f80fd5b506102b66109d8565b3480156103ab575f80fd5b506102b66103ba36600461268a565b6109ec565b3480156103ca575f80fd5b506102b66103d93660046126b4565b610ab3565b3480156103e9575f80fd5b506102b66103f836600461265f565b610acd565b348015610408575f80fd5b506104136101605481565b604051908152602001610236565b6102b661042f366004612803565b610bc8565b34801561043f575f80fd5b50610413610c7d565b348015610453575f80fd5b5061022a60c954610100900460ff1660021490565b348015610473575f80fd5b5061027f61048236600461265f565b610d2e565b348015610492575f80fd5b506104136104a13660046126f2565b610d8e565b3480156104b1575f80fd5b506102b6610e13565b3480156104c5575f80fd5b506102b6610e24565b3480156104d9575f80fd5b5061015f5461027f906001600160a01b031681565b3480156104f9575f80fd5b506102b6610e9b565b34801561050d575f80fd5b5061027f610eae565b348015610521575f80fd5b506033546001600160a01b031661027f565b34801561053e575f80fd5b50610253610ebc565b348015610552575f80fd5b506102b661056136600461284f565b610ecc565b348015610571575f80fd5b5061027f610580366004612882565b610ed7565b348015610590575f80fd5b506102b661059f3660046128a3565b610eea565b3480156105af575f80fd5b506102536105be36600461265f565b610f22565b3480156105ce575f80fd5b5060c9546105e8906201000090046001600160401b031681565b6040516001600160401b039091168152602001610236565b34801561060b575f80fd5b506065546001600160a01b031661027f565b348015610628575f80fd5b5061022a61063736600461290a565b6001600160a01b039182165f9081526101326020908152604080832093909416825291909152205460ff1690565b348015610670575f80fd5b506102b661067f366004612985565b610f4b565b34801561068f575f80fd5b506102b661069e3660046126f2565b6110fd565b5f6001600160e01b0319821663093e326b60e21b14806106d357506001600160e01b031982166377c6257360e11b145b806106e257506106e28261116e565b92915050565b606061012d80546106f890612a2e565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612a2e565b801561076f5780601f106107465761010080835404028352916020019161076f565b820191905f5260205f20905b81548152906001019060200180831161075257829003601f168201915b5050505050905090565b5f610783826111bd565b505f90815261013160205260409020546001600160a01b031690565b5f6107a982610d2e565b9050806001600160a01b0316836001600160a01b03160361081b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061083757506108378133610637565b6108a95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610812565b6108b3838361121c565b505050565b6108c2338261128a565b6108de5760405162461bcd60e51b815260040161081290612a66565b6108b3838383611307565b5f60026108f4611479565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000100971630036109455760405162461bcd60e51b815260040161081290612ab3565b7f00000000000000000000000001670020000000000000000000000000000100976001600160a01b03166109776114b8565b6001600160a01b03161461099d5760405162461bcd60e51b815260040161081290612aff565b6109a6816114d3565b604080515f808252602082019092526109c1918391906114db565b50565b5f6109d0848484611645565b949350505050565b6109e0611736565b6109ea335f6117c6565b565b610a0060c954610100900460ff1660021490565b15610a1e5760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610a39816001610ed7565b6001600160a01b0316336001600160a01b031614610a6a57604051630d85cccf60e11b815260040160405180910390fd5b6002610a74611479565b60ff1603610a955760405163dfc60d8560e01b815260040160405180910390fd5b610a9f60026117ce565b610aa98383611816565b6108b360016117ce565b6108b383838360405180602001604052805f815250610eea565b610ae160c954610100900460ff1660021490565b15610aff5760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610b1a816001610ed7565b6001600160a01b0316336001600160a01b031614610b4b57604051630d85cccf60e11b815260040160405180910390fd5b6002610b55611479565b60ff1603610b765760405163dfc60d8560e01b815260040160405180910390fd5b610b8060026117ce565b33610b8a83610d2e565b6001600160a01b031614610bb15760405163358bf3d960e01b815260040160405180910390fd5b610bba8261182f565b610bc460016117ce565b5050565b6001600160a01b037f0000000000000000000000000167002000000000000000000000000000010097163003610c105760405162461bcd60e51b815260040161081290612ab3565b7f00000000000000000000000001670020000000000000000000000000000100976001600160a01b0316610c426114b8565b6001600160a01b031614610c685760405162461bcd60e51b815260040161081290612aff565b610c71826114d3565b610bc4828260016114db565b5f306001600160a01b037f00000000000000000000000001670020000000000000000000000000000100971614610d1c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610812565b505f80516020612ebd83398151915290565b5f81815261012f60205260408120546001600160a01b0316806106e25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f6001600160a01b038216610df75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610812565b506001600160a01b03165f908152610130602052604090205490565b610e1b6118d1565b6109ea5f61192b565b60655433906001600160a01b03168114610e925760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610812565b6109c18161192b565b610ea3611944565b6109ea3360016117c6565b5f610eb76114b8565b905090565b606061012e80546106f890612a2e565b610bc43383836119b5565b5f610ee3468484611645565b9392505050565b610ef4338361128a565b610f105760405162461bcd60e51b815260040161081290612a66565b610f1c84848484611a83565b50505050565b61015f54610160546060916106e2916001600160a01b0390911690610f4685611ab6565b611b45565b5f54610100900460ff1615808015610f6957505f54600160ff909116105b80610f825750303b158015610f8257505f5460ff166001145b610fe55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610812565b5f805460ff191660011790558015611006575f805461ff0019166101001790555b6110108787611b8f565b61101a8989611bcb565b61108b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611c0592505050565b61015f80546001600160a01b0319166001600160a01b03891617905561016086905580156110f2575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6111056118d1565b606580546001600160a01b0383166001600160a01b031990911681179091556111366033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b031982166380ac58cd60e01b148061119e57506001600160e01b03198216635b5e139f60e01b145b806106e257506301ffc9a760e01b6001600160e01b03198316146106e2565b5f81815261012f60205260409020546001600160a01b03166109c15760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f8181526101316020526040902080546001600160a01b0319166001600160a01b038416908117909155819061125182610d2e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f8061129583610d2e565b9050806001600160a01b0316846001600160a01b031614806112dc57506001600160a01b038082165f908152610132602090815260408083209388168352929052205460ff165b806109d05750836001600160a01b03166112f584610779565b6001600160a01b031614949350505050565b826001600160a01b031661131a82610d2e565b6001600160a01b0316146113405760405162461bcd60e51b815260040161081290612b4b565b6001600160a01b0382166113a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610812565b6113af8383836001611c35565b826001600160a01b03166113c282610d2e565b6001600160a01b0316146113e85760405162461bcd60e51b815260040161081290612b4b565b5f8181526101316020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652610130855283862080545f190190559087168086528386208054600101905586865261012f90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f61148346611c75565b156114ae57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020612ebd833981519152546001600160a01b031690565b6109c16118d1565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561150e576108b383611ca2565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611568575060408051601f3d908101601f1916820190925261156591810190612b90565b60015b6115cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610812565b5f80516020612ebd83398151915281146116395760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610812565b506108b3838383611d3d565b6097545f906001600160a01b03168061167157604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e79190612ba7565b9150821580156116fe57506001600160a01b038216155b1561172e57604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610812565b509392505050565b61174a60c954610100900460ff1660021490565b6117675760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610bc46118d1565b6117d746611c75565b1561180257807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b610bc4828260405180602001604052805f815250611d61565b5f61183982610d2e565b9050611848815f846001611c35565b61185182610d2e565b5f8381526101316020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552610130845282852080545f1901905587855261012f909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6033546001600160a01b031633146109ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610812565b606580546001600160a01b03191690556109c181611d93565b61195860c954610100900460ff1660021490565b156119765760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016117bc565b816001600160a01b0316836001600160a01b031603611a165760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610812565b6001600160a01b038381165f8181526101326020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a8e848484611307565b611a9a84848484611de4565b610f1c5760405162461bcd60e51b815260040161081290612bc2565b60605f611ac283611ee1565b60010190505f816001600160401b03811115611ae057611ae0612767565b6040519080825280601f01601f191660200182016040528015611b0a576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b1457509392505050565b6060611b5b846001600160a01b03166014611fb8565b611b6484611ab6565b83604051602001611b7793929190612c14565b60405160208183030381529060405290509392505050565b6001600160a01b0382161580611ba3575080155b80611bad57504681145b15610bc45760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611bf35760405163538ba4f960e01b815260040160405180910390fd5b611bfc8361214d565b6108b3826121ab565b5f54610100900460ff16611c2b5760405162461bcd60e51b815260040161081290612c98565b610bc4828261221b565b611c4960c954610100900460ff1660021490565b15611c675760405163bae6e2a960e01b815260040160405180910390fd5b611c708361225c565b610f1c565b5f6001821480611c86575061426882145b80611c93575062aa36a782145b806106e257506106e282612285565b6001600160a01b0381163b611d0f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610812565b5f80516020612ebd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611d468361229c565b5f82511180611d525750805b156108b357610f1c83836122db565b611d6b8383612300565b611d775f848484611de4565b6108b35760405162461bcd60e51b815260040161081290612bc2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6001600160a01b0384163b15611ed657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e27903390899088908890600401612ce3565b6020604051808303815f875af1925050508015611e61575060408051601f3d908101601f19168201909252611e5e91810190612d15565b60015b611ebc573d808015611e8e576040519150601f19603f3d011682016040523d82523d5f602084013e611e93565b606091505b5080515f03611eb45760405162461bcd60e51b815260040161081290612bc2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506109d0565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611f1f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611f4b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611f6957662386f26fc10000830492506010015b6305f5e1008310611f81576305f5e100830492506008015b6127108310611f9557612710830492506004015b60648310611fa7576064830492506002015b600a83106106e25760010192915050565b60605f611fc6836002612d44565b611fd1906002612d5b565b6001600160401b03811115611fe857611fe8612767565b6040519080825280601f01601f191660200182016040528015612012576020820181803683370190505b509050600360fc1b815f8151811061202c5761202c612d6e565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061205a5761205a612d6e565b60200101906001600160f81b03191690815f1a9053505f61207c846002612d44565b612087906001612d5b565b90505b60018111156120fe576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120bb576120bb612d6e565b1a60f81b8282815181106120d1576120d1612d6e565b60200101906001600160f81b03191690815f1a90535060049490941c936120f781612d82565b905061208a565b508315610ee35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610812565b5f54610100900460ff166121735760405162461bcd60e51b815260040161081290612c98565b61217b612499565b6121996001600160a01b03821615612193578161192b565b3361192b565b5060c9805461ff001916610100179055565b5f54610100900460ff166121d15760405162461bcd60e51b815260040161081290612c98565b6001600160401b034611156121f95760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff166122415760405162461bcd60e51b815260040161081290612c98565b61012d61224e8382612de2565b5061012e6108b38282612de2565b306001600160a01b038216036109c157604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156106e2575050617e90101590565b6122a581611ca2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610ee38383604051806060016040528060278152602001612edd602791396124bf565b6001600160a01b0382166123565760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610812565b5f81815261012f60205260409020546001600160a01b0316156123bb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b6123c85f83836001611c35565b5f81815261012f60205260409020546001600160a01b03161561242d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b6001600160a01b0382165f818152610130602090815260408083208054600101905584835261012f90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f54610100900460ff166109ea5760405162461bcd60e51b815260040161081290612c98565b60605f80856001600160a01b0316856040516124db9190612ea1565b5f60405180830381855af49150503d805f8114612513576040519150601f19603f3d011682016040523d82523d5f602084013e612518565b606091505b509150915061252986838387612533565b9695505050505050565b606083156125a15782515f0361259a576001600160a01b0385163b61259a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610812565b50816109d0565b6109d083838151156125b65781518083602001fd5b8060405162461bcd60e51b8152600401610812919061264d565b6001600160e01b0319811681146109c1575f80fd5b5f602082840312156125f5575f80fd5b8135610ee3816125d0565b5f5b8381101561261a578181015183820152602001612602565b50505f910152565b5f8151808452612639816020860160208601612600565b601f01601f19169290920160200192915050565b602081525f610ee36020830184612622565b5f6020828403121561266f575f80fd5b5035919050565b6001600160a01b03811681146109c1575f80fd5b5f806040838503121561269b575f80fd5b82356126a681612676565b946020939093013593505050565b5f805f606084860312156126c6575f80fd5b83356126d181612676565b925060208401356126e181612676565b929592945050506040919091013590565b5f60208284031215612702575f80fd5b8135610ee381612676565b8035801515811461271c575f80fd5b919050565b5f805f60608486031215612733575f80fd5b83356001600160401b0381168114612749575f80fd5b92506020840135915061275e6040850161270d565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261278a575f80fd5b81356001600160401b03808211156127a4576127a4612767565b604051601f8301601f19908116603f011681019082821181831017156127cc576127cc612767565b816040528381528660208588010111156127e4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215612814575f80fd5b823561281f81612676565b915060208301356001600160401b03811115612839575f80fd5b6128458582860161277b565b9150509250929050565b5f8060408385031215612860575f80fd5b823561286b81612676565b91506128796020840161270d565b90509250929050565b5f8060408385031215612893575f80fd5b823591506128796020840161270d565b5f805f80608085870312156128b6575f80fd5b84356128c181612676565b935060208501356128d181612676565b92506040850135915060608501356001600160401b038111156128f2575f80fd5b6128fe8782880161277b565b91505092959194509250565b5f806040838503121561291b575f80fd5b823561292681612676565b9150602083013561293681612676565b809150509250929050565b5f8083601f840112612951575f80fd5b5081356001600160401b03811115612967575f80fd5b60208301915083602082850101111561297e575f80fd5b9250929050565b5f805f805f805f8060c0898b03121561299c575f80fd5b88356129a781612676565b975060208901356129b781612676565b965060408901356129c781612676565b95506060890135945060808901356001600160401b03808211156129e9575f80fd5b6129f58c838d01612941565b909650945060a08b0135915080821115612a0d575f80fd5b50612a1a8b828c01612941565b999c989b5096995094979396929594505050565b600181811c90821680612a4257607f821691505b602082108103612a6057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b5f60208284031215612ba0575f80fd5b5051919050565b5f60208284031215612bb7575f80fd5b8151610ee381612676565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6832ba3432b932bab69d60b91b81525f8451612c37816009850160208901612600565b600160fe1b6009918401918201528451612c5881600a840160208901612600565b712f746f6b656e5552493f75696e743235363d60701b600a92909101918201528351612c8b81601c840160208801612600565b01601c0195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061252990830184612622565b5f60208284031215612d25575f80fd5b8151610ee3816125d0565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106e2576106e2612d30565b808201808211156106e2576106e2612d30565b634e487b7160e01b5f52603260045260245ffd5b5f81612d9057612d90612d30565b505f190190565b601f8211156108b357805f5260205f20601f840160051c81016020851015612dbc5750805b601f840160051c820191505b81811015612ddb575f8155600101612dc8565b5050505050565b81516001600160401b03811115612dfb57612dfb612767565b612e0f81612e098454612a2e565b84612d97565b602080601f831160018114612e42575f8415612e2b5750858301515b5f19600386901b1c1916600185901b178555612e99565b5f85815260208120601f198616915b82811015612e7057888601518255948401946001909101908401612e51565b5085821015612e8d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8251612eb2818460208701612600565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f8380e7fb2b66a246c9f54dba067ba35eb6d37cdb1f1a8347242f8a4292bc664736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010098": { + "contractName": "BridgedERC1155", + "storage": {}, + "code": "0x6080604052600436106101e5575f3560e01c8063715018a611610108578063a86f9d9e1161009d578063e30c39781161006d578063e30c39781461056f578063e985e9c51461058c578063ef8c4ae6146105d4578063f242432a146105f3578063f2fde38b14610612575f80fd5b8063a86f9d9e146104d5578063b390c0ab146104f4578063d81d0a1514610513578063e07baba614610532575f80fd5b80638abf6077116100d85780638abf6077146104715780638da5cb5b1461048557806395d89b41146104a2578063a22cb465146104b6575f80fd5b8063715018a61461041557806379ba5097146104295780637cf8ed0d1461043d5780638456cb591461045d575f80fd5b80633ab76e9f1161017e5780634e1273f41161014e5780634e1273f4146103a25780634f1ef286146103ce57806352d1902d146103e15780635c975abb146103f5575f80fd5b80633ab76e9f146103225780633eb6b8cf146103595780633f4ba83a1461037857806349d126051461038c575f80fd5b806326afaadd116101b957806326afaadd1461028a5780632eb2c2d6146102ce5780633075db56146102ef5780633659cfe614610303575f80fd5b8062fdd58e146101e957806301ffc9a71461021b57806306fdde031461024a5780630e89341c1461026b575b5f80fd5b3480156101f4575f80fd5b50610208610203366004612749565b610631565b6040519081526020015b60405180910390f35b348015610226575f80fd5b5061023a610235366004612788565b6106cb565b6040519015158152602001610212565b348015610255575f80fd5b5061025e61070a565b60405161021291906127f0565b348015610276575f80fd5b5061025e610285366004612802565b610797565b348015610295575f80fd5b506102af61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610212565b3480156102d9575f80fd5b506102ed6102e836600461295d565b61082a565b005b3480156102fa575f80fd5b5061023a610876565b34801561030e575f80fd5b506102ed61031d366004612a03565b61088a565b34801561032d575f80fd5b50609754610341906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b348015610364575f80fd5b50610341610373366004612a32565b610951565b348015610383575f80fd5b506102ed610965565b348015610397575f80fd5b506102086101605481565b3480156103ad575f80fd5b506103c16103bc366004612a78565b610979565b6040516102129190612b78565b6102ed6103dc366004612b8a565b610a98565b3480156103ec575f80fd5b50610208610b51565b348015610400575f80fd5b5061023a60c954610100900460ff1660021490565b348015610420575f80fd5b506102ed610c03565b348015610434575f80fd5b506102ed610c14565b348015610448575f80fd5b5061015f54610341906001600160a01b031681565b348015610468575f80fd5b506102ed610c8b565b34801561047c575f80fd5b50610341610c9e565b348015610490575f80fd5b506033546001600160a01b0316610341565b3480156104ad575f80fd5b5061025e610cac565b3480156104c1575f80fd5b506102ed6104d0366004612bcc565b610cba565b3480156104e0575f80fd5b506103416104ef366004612bff565b610cc5565b3480156104ff575f80fd5b506102ed61050e366004612c20565b610cd8565b34801561051e575f80fd5b506102ed61052d366004612c87565b610da6565b34801561053d575f80fd5b5060c954610557906201000090046001600160401b031681565b6040516001600160401b039091168152602001610212565b34801561057a575f80fd5b506065546001600160a01b0316610341565b348015610597575f80fd5b5061023a6105a6366004612d03565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205460ff1690565b3480156105df575f80fd5b506102ed6105ee366004612d77565b610ee6565b3480156105fe575f80fd5b506102ed61060d366004612e20565b611066565b34801561061d575f80fd5b506102ed61062c366004612a03565b6110ab565b5f6001600160a01b0383166106a05760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b505f81815261012d602090815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216634d22606360e01b14806106fb57506001600160e01b031982166377c6257360e11b145b806106c557506106c58261111c565b610162805461071890612e83565b80601f016020809104026020016040519081016040528092919081815260200182805461074490612e83565b801561078f5780601f106107665761010080835404028352916020019161078f565b820191905f5260205f20905b81548152906001019060200180831161077257829003601f168201915b505050505081565b606061012f80546107a790612e83565b80601f01602080910402602001604051908101604052809291908181526020018280546107d390612e83565b801561081e5780601f106107f55761010080835404028352916020019161081e565b820191905f5260205f20905b81548152906001019060200180831161080157829003601f168201915b50505050509050919050565b6001600160a01b038516331480610846575061084685336105a6565b6108625760405162461bcd60e51b815260040161069790612ebb565b61086f858585858561116b565b5050505050565b5f6002610881611306565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000100981630036108d25760405162461bcd60e51b815260040161069790612f09565b7f00000000000000000000000001670020000000000000000000000000000100986001600160a01b0316610904611345565b6001600160a01b03161461092a5760405162461bcd60e51b815260040161069790612f55565b61093381611360565b604080515f8082526020820190925261094e91839190611368565b50565b5f61095d8484846114d2565b949350505050565b61096d6115bb565b610977335f61164b565b565b606081518351146109de5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610697565b5f83516001600160401b038111156109f8576109f8612819565b604051908082528060200260200182016040528015610a21578160200160208202803683370190505b5090505f5b8451811015610a9057610a6b858281518110610a4457610a44612fa1565b6020026020010151858381518110610a5e57610a5e612fa1565b6020026020010151610631565b828281518110610a7d57610a7d612fa1565b6020908102919091010152600101610a26565b509392505050565b6001600160a01b037f0000000000000000000000000167002000000000000000000000000000010098163003610ae05760405162461bcd60e51b815260040161069790612f09565b7f00000000000000000000000001670020000000000000000000000000000100986001600160a01b0316610b12611345565b6001600160a01b031614610b385760405162461bcd60e51b815260040161069790612f55565b610b4182611360565b610b4d82826001611368565b5050565b5f306001600160a01b037f00000000000000000000000001670020000000000000000000000000000100981614610bf05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610697565b505f805160206135858339815191525b90565b610c0b61164f565b6109775f6116a9565b60655433906001600160a01b03168114610c825760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610697565b61094e816116a9565b610c936116c2565b61097733600161164b565b5f610ca7611345565b905090565b610161805461071890612e83565b610b4d338383611733565b5f610cd14684846114d2565b9392505050565b610cec60c954610100900460ff1660021490565b15610d0a5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610d26816001610cc5565b6001600160a01b0316336001600160a01b031614610d5757604051630d85cccf60e11b815260040160405180910390fd5b6002610d61611306565b60ff1603610d825760405163dfc60d8560e01b815260040160405180910390fd5b610d8c6002611813565b610d9733848461185b565b610da16001611813565b505050565b610dba60c954610100900460ff1660021490565b15610dd85760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610df4816001610cc5565b6001600160a01b0316336001600160a01b031614610e2557604051630d85cccf60e11b815260040160405180910390fd5b6002610e2f611306565b60ff1603610e505760405163dfc60d8560e01b815260040160405180910390fd5b610e5a6002611813565b610ed4868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020808a028281018201909352898252909350899250889182918501908490808284375f920182905250604080516020810190915290815292506119ef915050565b610ede6001611813565b505050505050565b5f54610100900460ff1615808015610f0457505f54600160ff909116105b80610f1d5750303b158015610f1d57505f5460ff166001145b610f805760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610697565b5f805460ff191660011790558015610fa1575f805461ff0019166101001790555b610fab8787611b71565b610fb58989611bad565b610fd6610fd1888860405180602001604052805f815250611be7565b611c31565b61015f80546001600160a01b0319166001600160a01b038916179055610160869055610161611006858783612ff9565b50610162611015838583612ff9565b50801561105b575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6001600160a01b038516331480611082575061108285336105a6565b61109e5760405162461bcd60e51b815260040161069790612ebb565b61086f8585858585611c60565b6110b361164f565b606580546001600160a01b0383166001600160a01b031990911681179091556110e46033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b03198216636cdb3d1360e11b148061114c57506001600160e01b031982166303a24d0760e21b145b806106c557506301ffc9a760e01b6001600160e01b03198316146106c5565b815183511461118c5760405162461bcd60e51b8152600401610697906130b2565b6001600160a01b0384166111b25760405162461bcd60e51b8152600401610697906130fa565b336111c1818787878787611d8f565b5f5b84518110156112a0575f8582815181106111df576111df612fa1565b602002602001015190505f8583815181106111fc576111fc612fa1565b6020908102919091018101515f84815261012d835260408082206001600160a01b038e16835290935291909120549091508181101561124d5760405162461bcd60e51b81526004016106979061313f565b5f83815261012d602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061128c90849061319d565b9091555050600190930192506111c3915050565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516112f09291906131b0565b60405180910390a4610ede818787878787611dcf565b5f61131046611f29565b1561133b57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020613585833981519152546001600160a01b031690565b61094e61164f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561139b57610da183611f56565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156113f5575060408051601f3d908101601f191682019092526113f2918101906131dd565b60015b6114585760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610697565b5f8051602061358583398151915281146114c65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610697565b50610da1838383611ff1565b6097545f906001600160a01b0316806114fe57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157491906131f4565b91508215801561158b57506001600160a01b038216155b15610a9057604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610697565b6115cf60c954610100900460ff1660021490565b6115ec5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610b4d5b6033546001600160a01b031633146109775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b606580546001600160a01b031916905561094e8161201b565b6116d660c954610100900460ff1660021490565b156116f45760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611641565b816001600160a01b0316836001600160a01b0316036117a65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610697565b6001600160a01b038381165f81815261012e6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61181c46611f29565b1561184757807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6001600160a01b0383166118bd5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610697565b335f6118c88461206c565b90505f6118d48461206c565b90506118f283875f858560405180602001604052805f815250611d8f565b5f85815261012d602090815260408083206001600160a01b038a168452909152902054848110156119715760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610697565b5f86815261012d602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091525f90525b50505050505050565b6001600160a01b038416611a4f5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610697565b8151835114611a705760405162461bcd60e51b8152600401610697906130b2565b33611a7f815f87878787611d8f565b5f5b8451811015611b0b57838181518110611a9c57611a9c612fa1565b602002602001015161012d5f878481518110611aba57611aba612fa1565b602002602001015181526020019081526020015f205f886001600160a01b03166001600160a01b031681526020019081526020015f205f828254611afe919061319d565b9091555050600101611a81565b50846001600160a01b03165f6001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611b5b9291906131b0565b60405180910390a461086f815f87878787611dcf565b6001600160a01b0382161580611b85575080155b80611b8f57504681145b15610b4d5760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611bd55760405163538ba4f960e01b815260040160405180910390fd5b611bde836120b5565b610da182612113565b6060611bfd846001600160a01b03166014612183565b611c0684612318565b83604051602001611c199392919061320f565b60405160208183030381529060405290509392505050565b5f54610100900460ff16611c575760405162461bcd60e51b815260040161069790613293565b61094e816123a7565b6001600160a01b038416611c865760405162461bcd60e51b8152600401610697906130fa565b335f611c918561206c565b90505f611c9d8561206c565b9050611cad838989858589611d8f565b5f86815261012d602090815260408083206001600160a01b038c16845290915290205485811015611cf05760405162461bcd60e51b81526004016106979061313f565b5f87815261012d602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611d2f90849061319d565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461105b848a8a8a8a8a6123d6565b611da360c954610100900460ff1660021490565b15611dc15760405163bae6e2a960e01b815260040160405180910390fd5b611dca84612490565b610ede565b6001600160a01b0384163b15610ede5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611e1390899089908890889088906004016132de565b6020604051808303815f875af1925050508015611e4d575060408051601f3d908101601f19168201909252611e4a9181019061333b565b60015b611ef957611e59613356565b806308c379a003611e925750611e6d61336e565b80611e785750611e94565b8060405162461bcd60e51b815260040161069791906127f0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610697565b6001600160e01b0319811663bc197c8160e01b146119e65760405162461bcd60e51b8152600401610697906133f6565b5f6001821480611f3a575061426882145b80611f47575062aa36a782145b806106c557506106c5826124b9565b6001600160a01b0381163b611fc35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610697565b5f8051602061358583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ffa836124d0565b5f825111806120065750805b15610da157612015838361250f565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106120a4576120a4612fa1565b602090810291909101015292915050565b5f54610100900460ff166120db5760405162461bcd60e51b815260040161069790613293565b6120e3612534565b6121016001600160a01b038216156120fb57816116a9565b336116a9565b5060c9805461ff001916610100179055565b5f54610100900460ff166121395760405162461bcd60e51b815260040161069790613293565b6001600160401b034611156121615760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60605f61219183600261343e565b61219c90600261319d565b6001600160401b038111156121b3576121b3612819565b6040519080825280601f01601f1916602001820160405280156121dd576020820181803683370190505b509050600360fc1b815f815181106121f7576121f7612fa1565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061222557612225612fa1565b60200101906001600160f81b03191690815f1a9053505f61224784600261343e565b61225290600161319d565b90505b60018111156122c9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061228657612286612fa1565b1a60f81b82828151811061229c5761229c612fa1565b60200101906001600160f81b03191690815f1a90535060049490941c936122c281613455565b9050612255565b508315610cd15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610697565b60605f6123248361255a565b60010190505f816001600160401b0381111561234257612342612819565b6040519080825280601f01601f19166020018201604052801561236c576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461237657509392505050565b5f54610100900460ff166123cd5760405162461bcd60e51b815260040161069790613293565b61094e81612631565b6001600160a01b0384163b15610ede5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061241a908990899088908890889060040161346a565b6020604051808303815f875af1925050508015612454575060408051601f3d908101601f191682019092526124519181019061333b565b60015b61246057611e59613356565b6001600160e01b0319811663f23a6e6160e01b146119e65760405162461bcd60e51b8152600401610697906133f6565b306001600160a01b0382160361094e57604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156106c5575050617e90101590565b6124d981611f56565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610cd183836040518060600160405280602781526020016135a56027913961263e565b5f54610100900460ff166109775760405162461bcd60e51b815260040161069790613293565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106125985772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106125c4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125e257662386f26fc10000830492506010015b6305f5e10083106125fa576305f5e100830492506008015b612710831061260e57612710830492506004015b60648310612620576064830492506002015b600a83106106c55760010192915050565b61012f610b4d82826134ae565b60605f80856001600160a01b03168560405161265a9190613569565b5f60405180830381855af49150503d805f8114612692576040519150601f19603f3d011682016040523d82523d5f602084013e612697565b606091505b50915091506126a8868383876126b2565b9695505050505050565b606083156127205782515f03612719576001600160a01b0385163b6127195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610697565b508161095d565b61095d8383815115611e785781518083602001fd5b6001600160a01b038116811461094e575f80fd5b5f806040838503121561275a575f80fd5b823561276581612735565b946020939093013593505050565b6001600160e01b03198116811461094e575f80fd5b5f60208284031215612798575f80fd5b8135610cd181612773565b5f5b838110156127bd5781810151838201526020016127a5565b50505f910152565b5f81518084526127dc8160208601602086016127a3565b601f01601f19169290920160200192915050565b602081525f610cd160208301846127c5565b5f60208284031215612812575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b038111828210171561285257612852612819565b6040525050565b5f6001600160401b0382111561287157612871612819565b5060051b60200190565b5f82601f83011261288a575f80fd5b8135602061289782612859565b6040516128a4828261282d565b80915083815260208101915060208460051b8701019350868411156128c7575f80fd5b602086015b848110156128e357803583529183019183016128cc565b509695505050505050565b5f82601f8301126128fd575f80fd5b81356001600160401b0381111561291657612916612819565b60405161292d601f8301601f19166020018261282d565b818152846020838601011115612941575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215612971575f80fd5b853561297c81612735565b9450602086013561298c81612735565b935060408601356001600160401b03808211156129a7575f80fd5b6129b389838a0161287b565b945060608801359150808211156129c8575f80fd5b6129d489838a0161287b565b935060808801359150808211156129e9575f80fd5b506129f6888289016128ee565b9150509295509295909350565b5f60208284031215612a13575f80fd5b8135610cd181612735565b80358015158114612a2d575f80fd5b919050565b5f805f60608486031215612a44575f80fd5b83356001600160401b0381168114612a5a575f80fd5b925060208401359150612a6f60408501612a1e565b90509250925092565b5f8060408385031215612a89575f80fd5b82356001600160401b0380821115612a9f575f80fd5b818501915085601f830112612ab2575f80fd5b81356020612abf82612859565b604051612acc828261282d565b83815260059390931b8501820192828101915089841115612aeb575f80fd5b948201945b83861015612b12578535612b0381612735565b82529482019490820190612af0565b96505086013592505080821115612b27575f80fd5b50612b348582860161287b565b9150509250929050565b5f815180845260208085019450602084015f5b83811015612b6d57815187529582019590820190600101612b51565b509495945050505050565b602081525f610cd16020830184612b3e565b5f8060408385031215612b9b575f80fd5b8235612ba681612735565b915060208301356001600160401b03811115612bc0575f80fd5b612b34858286016128ee565b5f8060408385031215612bdd575f80fd5b8235612be881612735565b9150612bf660208401612a1e565b90509250929050565b5f8060408385031215612c10575f80fd5b82359150612bf660208401612a1e565b5f8060408385031215612c31575f80fd5b50508035926020909101359150565b5f8083601f840112612c50575f80fd5b5081356001600160401b03811115612c66575f80fd5b6020830191508360208260051b8501011115612c80575f80fd5b9250929050565b5f805f805f60608688031215612c9b575f80fd5b8535612ca681612735565b945060208601356001600160401b0380821115612cc1575f80fd5b612ccd89838a01612c40565b90965094506040880135915080821115612ce5575f80fd5b50612cf288828901612c40565b969995985093965092949392505050565b5f8060408385031215612d14575f80fd5b8235612d1f81612735565b91506020830135612d2f81612735565b809150509250929050565b5f8083601f840112612d4a575f80fd5b5081356001600160401b03811115612d60575f80fd5b602083019150836020828501011115612c80575f80fd5b5f805f805f805f8060c0898b031215612d8e575f80fd5b8835612d9981612735565b97506020890135612da981612735565b96506040890135612db981612735565b95506060890135945060808901356001600160401b0380821115612ddb575f80fd5b612de78c838d01612d3a565b909650945060a08b0135915080821115612dff575f80fd5b50612e0c8b828c01612d3a565b999c989b5096995094979396929594505050565b5f805f805f60a08688031215612e34575f80fd5b8535612e3f81612735565b94506020860135612e4f81612735565b9350604086013592506060860135915060808601356001600160401b03811115612e77575f80fd5b6129f6888289016128ee565b600181811c90821680612e9757607f821691505b602082108103612eb557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b601f821115610da157805f5260205f20601f840160051c81016020851015612fda5750805b601f840160051c820191505b8181101561086f575f8155600101612fe6565b6001600160401b0383111561301057613010612819565b6130248361301e8354612e83565b83612fb5565b5f601f841160018114613055575f851561303e5750838201355b5f19600387901b1c1916600186901b17835561086f565b5f83815260208120601f198716915b828110156130845786850135825560209485019460019092019101613064565b50868210156130a0575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c5576106c5613189565b604081525f6131c26040830185612b3e565b82810360208401526131d48185612b3e565b95945050505050565b5f602082840312156131ed575f80fd5b5051919050565b5f60208284031215613204575f80fd5b8151610cd181612735565b6832ba3432b932bab69d60b91b81525f84516132328160098501602089016127a3565b600160fe1b600991840191820152845161325381600a8401602089016127a3565b712f746f6b656e5552493f75696e743235363d60701b600a9290910191820152835161328681601c8401602088016127a3565b01601c0195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190525f9061330990830186612b3e565b828103606084015261331b8186612b3e565b9050828103608084015261332f81856127c5565b98975050505050505050565b5f6020828403121561334b575f80fd5b8151610cd181612773565b5f60033d1115610c005760045f803e505f5160e01c90565b5f60443d101561337b5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156133aa57505050505090565b82850191508151818111156133c25750505050505090565b843d87010160208285010111156133dc5750505050505090565b6133eb6020828601018761282d565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b80820281158282048414176106c5576106c5613189565b5f8161346357613463613189565b505f190190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f906134a3908301846127c5565b979650505050505050565b81516001600160401b038111156134c7576134c7612819565b6134db816134d58454612e83565b84612fb5565b602080601f83116001811461350e575f84156134f75750858301515b5f19600386901b1c1916600185901b178555610ede565b5f85815260208120601f198616915b8281101561353c5788860151825594840194600190910190840161351d565b508582101561355957878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f825161357a8184602087016127a3565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122055e37acbf3a5af2b54294b59ba55be8878c05b123be43328bf9a1e511ae6410164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000000005": { + "contractName": "SignalServiceImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x6080604052600436106101c5575f3560e01c806379ba5097116100f2578063a86f9d9e11610092578063e30c397811610062578063e30c39781461052f578063f09a40161461054c578063f2fde38b1461056b578063fe9fbb801461058a575f80fd5b8063a86f9d9e1461048e578063ce9d0820146104ad578063dfc8ff1d146104cc578063e07baba61461050a575f80fd5b80638da5cb5b116100cd5780638da5cb5b14610414578063910af6ed1461043157806391f3f74b146104505780639b527cfa1461046f575f80fd5b806379ba5097146103d85780638456cb59146103ec5780638abf607714610400575f80fd5b80633eb6b8cf1161016857806352d1902d1161013857806352d1902d146103715780635c975abb1461038557806366ca2bc0146103a5578063715018a6146103c4575f80fd5b80633eb6b8cf146102fe5780633f4ba83a1461031d5780634f1ef286146103315780634f90a67414610344575f80fd5b8063355bcc3d116101a3578063355bcc3d146102325780633659cfe6146102895780633ab76e9f146102a85780633ced0e08146102df575f80fd5b80632d1fb389146101c95780633075db56146101ea57806332676bc614610213575b5f80fd5b3480156101d4575f80fd5b506101e86101e3366004613ad5565b6105b8565b005b3480156101f5575f80fd5b506101fe61065e565b60405190151581526020015b60405180910390f35b34801561021e575f80fd5b506101fe61022d366004613b08565b610672565b34801561023d575f80fd5b5061027161024c366004613b48565b60fb60209081525f92835260408084209091529082529020546001600160401b031681565b6040516001600160401b03909116815260200161020a565b348015610294575f80fd5b506101e86102a3366004613b62565b610688565b3480156102b3575f80fd5b506097546102c7906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b3480156102ea575f80fd5b506101fe6102f9366004613b7d565b610758565b348015610309575f80fd5b506102c7610318366004613bbe565b61079f565b348015610328575f80fd5b506101e86107b5565b6101e861033f366004613cce565b6107c9565b34801561034f575f80fd5b5061036361035e366004613b7d565b610882565b60405190815260200161020a565b34801561037c575f80fd5b506103636108c8565b348015610390575f80fd5b506101fe60c954610100900460ff1660021490565b3480156103b0575f80fd5b506103636103bf366004613d1a565b610979565b3480156103cf575f80fd5b506101e8610985565b3480156103e3575f80fd5b506101e8610996565b3480156103f7575f80fd5b506101e8610a0d565b34801561040b575f80fd5b506102c7610a20565b34801561041f575f80fd5b506033546001600160a01b03166102c7565b34801561043c575f80fd5b5061036361044b366004613d31565b610a2e565b34801561045b575f80fd5b5061036361046a366004613dc5565b610afe565b34801561047a575f80fd5b50610363610489366004613e01565b610b69565b348015610499575f80fd5b506102c76104a8366004613e31565b610b95565b3480156104b8575f80fd5b506101e86104c7366004613d31565b610ba1565b3480156104d7575f80fd5b506104eb6104e6366004613e01565b610bb7565b604080516001600160401b03909316835260208301919091520161020a565b348015610515575f80fd5b5060c954610271906201000090046001600160401b031681565b34801561053a575f80fd5b506065546001600160a01b03166102c7565b348015610557575f80fd5b506101e8610566366004613e52565b610c4b565b348015610576575f80fd5b506101e8610585366004613b62565b610d5a565b348015610595575f80fd5b506101fe6105a4366004613b62565b60fc6020525f908152604090205460ff1681565b6105c0610dcb565b6001600160a01b0382165f90815260fc602052604090205481151560ff909116151503610600576040516398f26f4560e01b815260040160405180910390fd5b6001600160a01b0382165f81815260fc6020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b5f6002610669610e25565b60ff1614905090565b5f61067d8383610e64565b151590505b92915050565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000051630036106d95760405162461bcd60e51b81526004016106d090613e89565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000000056001600160a01b031661070b610ec6565b6001600160a01b0316146107315760405162461bcd60e51b81526004016106d090613ed5565b61073a81610ee1565b604080515f8082526020820190925261075591839190610ee9565b50565b5f8180820361077a5760405163ec73295960e01b815260040160405180910390fd5b5f610786878787610b69565b9050836107933083610e64565b14979650505050505050565b5f6107ab848484611053565b90505b9392505050565b6107bd611144565b6107c7335f6111d4565b565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000000051630036108115760405162461bcd60e51b81526004016106d090613e89565b7f00000000000000000000000001670020000000000000000000000000000000056001600160a01b0316610843610ec6565b6001600160a01b0316146108695760405162461bcd60e51b81526004016106d090613ed5565b61087282610ee1565b61087e82826001610ee9565b5050565b335f90815260fc602052604081205460ff166108b157604051631f67751f60e01b815260040160405180910390fd5b6108bd858585856111ed565b90505b949350505050565b5f306001600160a01b037f000000000000000000000000016700200000000000000000000000000000000516146109675760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d0565b505f805160206144e883398151915290565b5f6106823383846112cf565b61098d610dcb565b6107c75f6113a8565b60655433906001600160a01b03168114610a045760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016106d0565b610755816113a8565b610a156113c1565b6107c73360016111d4565b5f610a29610ec6565b905090565b5f610a4360c954610100900460ff1660021490565b15610a615760405163bae6e2a960e01b815260040160405180910390fd5b6002610a6b610e25565b60ff1603610a8c5760405163dfc60d8560e01b815260040160405180910390fd5b610a966002611432565b5f610aa68787878787600161147a565b90505f5b8151811015610ae957610ad5828281518110610ac857610ac8613f21565b6020026020010151611936565b610adf9084613f49565b9250600101610aaa565b5050610af56001611432565b95945050505050565b6040516514d251d3905360d21b60208201526001600160c01b031960c085901b1660268201526bffffffffffffffffffffffff19606084901b16602e820152604281018290525f906062015b6040516020818303038152906040528051906020012090509392505050565b604080516001600160401b03808616602083015291810184905290821660608201525f90608001610b4a565b5f6107ae468484611053565b610baf85858585855f61147a565b505050505050565b5f80826001600160401b03165f03610bf3576001600160401b038086165f90815260fb6020908152604080832088845290915290205416610bf5565b825b91506001600160401b03821615610c43575f610c12868685610b69565b9050610c1e3082610e64565b91505f829003610c415760405163738afa0560e01b815260040160405180910390fd5b505b935093915050565b5f54610100900460ff1615808015610c6957505f54600160ff909116105b80610c825750303b158015610c8257505f5460ff166001145b610ce55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106d0565b5f805460ff191660011790558015610d06575f805461ff0019166101001790555b610d108383611a7a565b8015610d55575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610d62610dcb565b606580546001600160a01b0383166001600160a01b03199091168117909155610d936033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146107c75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d0565b5f610e2f46611ab4565b15610e5a57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f826001600160a01b038116610e8d5760405163538ba4f960e01b815260040160405180910390fd5b825f819003610eaf5760405163ec73295960e01b815260040160405180910390fd5b5f610ebb468787610afe565b549695505050505050565b5f805160206144e8833981519152546001600160a01b031690565b610755610dcb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f1c57610d5583611ae1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f76575060408051601f3d908101601f19168201909252610f7391810190613f5c565b60015b610fd95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106d0565b5f805160206144e883398151915281146110475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106d0565b50610d55838383611b7c565b6097545f906001600160a01b03168061107f57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f59190613f73565b91508215801561110c57506001600160a01b038216155b1561113c57604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016106d0565b509392505050565b61115860c954610100900460ff1660021490565b6111755760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b5f6111f9858585610b69565b90506112063082846112cf565b506001600160401b038581165f90815260fb6020908152604080832088845290915290205481851691161015611270576001600160401b038581165f90815260fb602090815260408083208884529091529020805467ffffffffffffffff19169185169190911790555b83836001600160401b0316866001600160401b03167fde247c825b1fb2d7ff9e0e771cba6f9e757ad04479fcdc135d88ae91fd50b37d85856040516112bf929190918252602082015260400190565b60405180910390a4949350505050565b5f836001600160a01b0381166112f85760405163538ba4f960e01b815260040160405180910390fd5b835f81900361131a5760405163ec73295960e01b815260040160405180910390fd5b835f81900361133c5760405163ec73295960e01b815260040160405180910390fd5b611347468888610afe565b858155604080516001600160a01b038a16815260208101899052908101829052606081018790529094507f0ad2d108660a211f47bf7fb43a0443cae181624995d3d42b88ee6879d200e9739060800160405180910390a15050509392505050565b606580546001600160a01b031916905561075581611ba6565b6113d560c954610100900460ff1660021490565b156113f35760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016111ca565b61143b46611ab4565b1561146657807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6060856001600160a01b0381166114a45760405163538ba4f960e01b815260040160405180910390fd5b855f8190036114c65760405163ec73295960e01b815260040160405180910390fd5b5f6114d38688018861403d565b905080515f036114f657604051630b92daef60e21b815260040160405180910390fd5b5f60018251611505919061417b565b6001600160401b0381111561151c5761151c613bf7565b604051908082528060200260200182016040528015611545578160200160208202803683370190505b50905085156115d85781516001600160401b0381111561156757611567613bf7565b6040519080825280602002602001820160405280156115d457816020015b6115c16040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a081018290529060c082015290565b8152602001906001900390816115855790505b5094505b8a8a8a805f6115f9856d7369676e616c5f7365727669636560901b8361079f565b9050306001600160a01b0382160361162457604051637556223560e11b815260040160405180910390fd5b61165c6040805160c0810182525f80825260208201819052918101829052906060820190815260200160608152602001606081525090565b5f805f805b8b518110156118ea578b818151811061167c5761167c613f21565b602002602001015194505f5b818110156116e657855f01516001600160401b03168c82815181106116af576116af613f21565b60200260200101516001600160401b0316036116de576040516348362c2760e11b815260040160405180910390fd5b600101611688565b506116f58a8a8a8a898b611bf7565b93508a518114915081156117355784516001600160401b0316461461172d576040516338bf822760e21b815260040160405180910390fd5b3095506117e0565b845f01518b828151811061174b5761174b613f21565b6001600160401b0392831660209182029290920101528551161580611779575084516001600160401b031646145b1561179757604051637556223560e11b815260040160405180910390fd5b84516117b5906d7369676e616c5f7365727669636560901b5f61079f565b9550306001600160a01b038716036117e057604051637556223560e11b815260040160405180910390fd5b608085015151151592508f15611874576040518060e00160405280866040015181526020018581526020018b6001600160401b0316815260200186602001516001600160401b0316815260200184151581526020018315158152602001866060015160038111156118535761185361418e565b8152508f828151811061186857611868613f21565b60200260200101819052505b6118cf8a846118a3577fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf56118c5565b7f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1695b8760200151610b69565b604086015186519b5096995097509495508794600101611661565b5085158061190157506118fd3088610e64565b8614155b1561191f5760405163738afa0560e01b815260040160405180910390fd5b505050505050505050505050509695505050505050565b5f8060038360c0015160038111156119505761195061418e565b1480611971575060028360c00151600381111561196f5761196f61418e565b145b9050808015611981575082608001515b801561198f57508260a00151155b156119d157600191506119cf83604001517f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1698560600151865f01516111ed565b505b5f60038460c0015160038111156119ea576119ea61418e565b1480611a0b575060018460c001516003811115611a0957611a0961418e565b145b9050808015611a275750836080015180611a2757508360a00151155b15611a7357611a37600184613f49565b9250611a7184604001517fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf5866060015187602001516111ed565b505b5050919050565b806001600160a01b038116611aa25760405163538ba4f960e01b815260040160405180910390fd5b611aab83611c96565b610d5582611cf4565b5f6001821480611ac5575061426882145b80611ad2575062aa36a782145b80610682575061068282611d64565b6001600160a01b0381163b611b4e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106d0565b5f805160206144e883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b8583611d7b565b5f82511180611b915750805b15610d5557611ba08383611dba565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f856001600160a01b038116611c205760405163538ba4f960e01b815260040160405180910390fd5b855f819003611c425760405163ec73295960e01b815260040160405180910390fd5b855f819003611c645760405163ec73295960e01b815260040160405180910390fd5b611c88866040015186611c788d8d8d610afe565b8a8a608001518b60a00151611ddf565b9a9950505050505050505050565b5f54610100900460ff16611cbc5760405162461bcd60e51b81526004016106d0906141a2565b611cc4611eec565b611ce26001600160a01b03821615611cdc57816113a8565b336113a8565b5060c9805461ff001916610100179055565b5f54610100900460ff16611d1a5760405162461bcd60e51b81526004016106d0906141a2565b6001600160401b03461115611d425760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c8210158015610682575050617e90101590565b611d8481611ae1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606107ae838360405180606001604052806027815260200161450860279139611f12565b5f82515f14611e87576040516bffffffffffffffffffffffff19606088901b1660208201525f90611e2390603401604051602081830303815290604052858a611f86565b905080515f03611e4657604051630414cd5b60e31b815260040160405180910390fd5b5f611e5082611f9f565b9050611e7581600281518110611e6857611e68613f21565b6020026020010151611fb2565b611e7e906141ed565b92505050611e8a565b50855b5f611ec186604051602001611ea191815260200190565b60408051601f19818403018152919052611eba876120d2565b85856120e5565b905080611ee157604051638d9a4db360e01b815260040160405180910390fd5b509695505050505050565b5f54610100900460ff166107c75760405162461bcd60e51b81526004016106d0906141a2565b60605f80856001600160a01b031685604051611f2e9190614235565b5f60405180830381855af49150503d805f8114611f66576040519150601f19603f3d011682016040523d82523d5f602084013e611f6b565b606091505b5091509150611f7c868383876120fe565b9695505050505050565b60605f611f9285612176565b9050610af58185856121a8565b6060610682611fad83612a15565b612a66565b60605f805f611fc085612c83565b919450925090505f816001811115611fda57611fda61418e565b1461204d5760405162461bcd60e51b815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d0000000000000060648201526084016106d0565b6120578284613f49565b8551146120c35760405162461bcd60e51b815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527330b71034b73b30b634b2103932b6b0b4b73232b960611b60648201526084016106d0565b610af58560200151848461332a565b60606106826120e0836133ba565b6134cd565b5f806120f086612176565b9050611f7c81868686613525565b6060831561216c5782515f03612165576001600160a01b0385163b6121655760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d0565b50816108c0565b6108c0838361354b565b6060818051906020012060405160200161219291815260200190565b6040516020818303038152906040529050919050565b60605f8451116121f25760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b60448201526064016106d0565b5f6121fc84613575565b90505f61220886613658565b90505f8460405160200161221e91815260200190565b60405160208183030381529060405290505f805b84518110156129be575f85828151811061224e5761224e613f21565b6020026020010151905084518311156122c05760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b60648201526084016106d0565b825f0361235e578051805160209182012060405161230d926122e792910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6123595760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f74206861736800000060448201526064016106d0565b612454565b8051516020116123e45780518051602091820120604051612388926122e792910190815260200190565b6123595760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b60648201526084016106d0565b8051845160208087019190912082519190920120146124545760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b60648201526084016106d0565b61246060106001613f49565b816020015151036125f857845183036125925761248d8160200151601081518110611e6857611e68613f21565b96505f8751116125055760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e636829000000000060648201526084016106d0565b60018651612513919061417b565b82146125875760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e63682900000000000060648201526084016106d0565b5050505050506107ae565b5f8584815181106125a5576125a5613f21565b602001015160f81c60f81b60f81c90505f82602001518260ff16815181106125cf576125cf613f21565b602002602001015190506125e2816136b9565b95506125ef600186613f49565b945050506129b5565b60028160200151510361295c575f61260f826136dd565b90505f815f8151811061262457612624613f21565b016020015160f81c90505f61263a600283614264565b612645906002614285565b90505f612655848360ff16613700565b90505f6126628a89613700565b90505f61266f8383613735565b9050808351146126e75760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b657900000000000060648201526084016106d0565b60ff8516600214806126fc575060ff85166003145b1561289c57808251146127775760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e64657200000060648201526084016106d0565b6127918760200151600181518110611e6857611e68613f21565b9c505f8d51116128095760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c656166290000000000000060648201526084016106d0565b60018c51612817919061417b565b881461288b5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c65616629000000000000000060648201526084016106d0565b5050505050505050505050506107ae565b60ff851615806128af575060ff85166001145b156128ee576128db87602001516001815181106128ce576128ce613f21565b60200260200101516136b9565b99506128e7818a613f49565b9850612951565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b60648201526084016106d0565b5050505050506129b5565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b60648201526084016106d0565b50600101612232565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b60648201526084016106d0565b604080518082019091525f80825260208201525f825111612a485760405162461bcd60e51b81526004016106d09061429e565b50604080518082019091528151815260209182019181019190915290565b60605f805f612a7485612c83565b919450925090506001816001811115612a8f57612a8f61418e565b14612b025760405162461bcd60e51b815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d000000000000000060648201526084016106d0565b8451612b0e8385613f49565b14612b765760405162461bcd60e51b815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e76616044820152713634b2103230ba30903932b6b0b4b73232b960711b60648201526084016106d0565b604080516020808252610420820190925290816020015b604080518082019091525f8082526020820152815260200190600190039081612b8d5790505093505f835b8651811015612c77575f80612bfc6040518060400160405280858c5f0151612be0919061417b565b8152602001858c60200151612bf59190613f49565b9052612c83565b509150915060405180604001604052808383612c189190613f49565b8152602001848b60200151612c2d9190613f49565b815250888581518110612c4257612c42613f21565b6020908102919091010152612c58600185613f49565b9350612c648183613f49565b612c6e9084613f49565b92505050612bb8565b50845250919392505050565b5f805f80845f015111612ca85760405162461bcd60e51b81526004016106d09061429e565b602084015180515f1a607f8111612cca575f60015f9450945094505050613323565b60b78111612e23575f612cde60808361417b565b905080875f015111612d5c5760405162461bcd60e51b815260206004820152604e60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201526d2873686f727420737472696e672960901b608482015260a4016106d0565b6001838101516001600160f81b0319169082141580612d895750600160ff1b6001600160f81b0319821610155b612e115760405162461bcd60e51b815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201526c73686f727420737472696e672960981b608482015260a4016106d0565b506001955093505f9250613323915050565b60bf811161305c575f612e3760b78361417b565b905080875f015111612eb85760405162461bcd60e51b815260206004820152605160248201525f805160206144c883398151915260448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527067746820286c6f6e6720737472696e672960781b608482015260a4016106d0565b60018301516001600160f81b0319165f819003612f3d5760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152696e6720737472696e672960b01b608482015260a4016106d0565b600184015160088302610100031c60378111612fbf5760405162461bcd60e51b815260206004820152604860248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201526720737472696e672960c01b608482015260a4016106d0565b612fc98184613f49565b8951116130405760405162461bcd60e51b815260206004820152604c60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201526b6c6f6e6720737472696e672960a01b608482015260a4016106d0565b61304b836001613f49565b975095505f94506133239350505050565b60f781116130fb575f61307060c08361417b565b905080875f0151116130ea5760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e206c697374206c656e677468202873606482015269686f7274206c6973742960b01b608482015260a4016106d0565b600195509350849250613323915050565b5f61310760f78361417b565b905080875f0151116131845760405162461bcd60e51b815260206004820152604d60248201525f805160206144c883398151915260448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201526c6820286c6f6e67206c6973742960981b608482015260a4016106d0565b60018301516001600160f81b0319165f8190036132075760405162461bcd60e51b815260206004820152604860248201525f805160206144c883398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152676e67206c6973742960c01b608482015260a4016106d0565b600184015160088302610100031c603781116132875760405162461bcd60e51b815260206004820152604660248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e67606482015265206c6973742960d01b608482015260a4016106d0565b6132918184613f49565b8951116133065760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e67746820286064820152696c6f6e67206c6973742960b01b608482015260a4016106d0565b613311836001613f49565b97509550600194506133239350505050565b9193909250565b6060816001600160401b0381111561334457613344613bf7565b6040519080825280601f01601f19166020018201604052801561336e576020820181803683370190505b50905081156107ae575f6133828486613f49565b9050602082015f5b848110156133a257828101518282015260200161338a565b848111156133b0575f858301525b5050509392505050565b60605f826040516020016133d091815260200190565b60405160208183030381529060405290505f5b602081101561341b578181815181106133fe576133fe613f21565b01602001516001600160f81b0319165f0361341b576001016133e3565b61342681602061417b565b6001600160401b0381111561343d5761343d613bf7565b6040519080825280601f01601f191660200182016040528015613467576020820181803683370190505b5092505f5b8351811015611a715782826134808161430e565b93508151811061349257613492613f21565b602001015160f81c60f81b8482815181106134af576134af613f21565b60200101906001600160f81b03191690815f1a90535060010161346c565b6060815160011480156134f957506080825f815181106134ef576134ef613f21565b016020015160f81c105b15613502575090565b61350e825160806137b8565b82604051602001612192929190614326565b919050565b5f6108bd846135358786866121a8565b8051602091820120825192909101919091201490565b81511561355b5781518083602001fd5b8060405162461bcd60e51b81526004016106d09190614354565b8051606090806001600160401b0381111561359257613592613bf7565b6040519080825280602002602001820160405280156135d757816020015b60408051808201909152606080825260208201528152602001906001900390816135b05790505b5091505f5b81811015611a7357604051806040016040528085838151811061360157613601613f21565b6020026020010151815260200161363086848151811061362357613623613f21565b6020026020010151611f9f565b81525083828151811061364557613645613f21565b60209081029190910101526001016135dc565b606080604051905082518060011b603f8101601f191683016040528083525060208401602083015f5b838110156136ae578060011b8201818401515f1a8060041c8253600f811660018301535050600101613681565b509295945050505050565b60606020825f0151106136d4576136cf82611fb2565b610682565b6106828261395d565b60606106826136fb83602001515f81518110611e6857611e68613f21565b613658565b60608251821061371e575060408051602081019091525f8152610682565b6107ae8383848651613730919061417b565b613971565b5f80825184511061374757825161374a565b83515b90505b80821080156137a1575082828151811061376957613769613f21565b602001015160f81c60f81b6001600160f81b03191684838151811061379057613790613f21565b01602001516001600160f81b031916145b156137b15781600101915061374d565b5092915050565b6060603883101561381c57604080516001808252818301909252906020820181803683370190505090506137ec8284614386565b60f81b815f8151811061380157613801613f21565b60200101906001600160f81b03191690815f1a905350610682565b5f60015b61382a818661439f565b1561385057816138398161430e565b92506138499050610100826143b2565b9050613820565b61385b826001613f49565b6001600160401b0381111561387257613872613bf7565b6040519080825280601f01601f19166020018201604052801561389c576020820181803683370190505b5092506138a98483614386565b6138b4906037614386565b60f81b835f815181106138c9576138c9613f21565b60200101906001600160f81b03191690815f1a905350600190505b818111613955576101006138f8828461417b565b613904906101006144a9565b61390e908761439f565b61391891906144b4565b60f81b83828151811061392d5761392d613f21565b60200101906001600160f81b03191690815f1a9053508061394d8161430e565b9150506138e4565b505092915050565b606061068282602001515f845f015161332a565b60608182601f0110156139b75760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d0565b8282840110156139fa5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d0565b81830184511015613a415760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016106d0565b606082158015613a5f5760405191505f825260208201604052613aa9565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015613a98578051835260209283019201613a80565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b0381168114610755575f80fd5b80358015158114613520575f80fd5b5f8060408385031215613ae6575f80fd5b8235613af181613ab2565b9150613aff60208401613ac6565b90509250929050565b5f8060408385031215613b19575f80fd5b8235613b2481613ab2565b946020939093013593505050565b80356001600160401b0381168114613520575f80fd5b5f8060408385031215613b59575f80fd5b613b2483613b32565b5f60208284031215613b72575f80fd5b81356107ae81613ab2565b5f805f8060808587031215613b90575f80fd5b613b9985613b32565b935060208501359250613bae60408601613b32565b9396929550929360600135925050565b5f805f60608486031215613bd0575f80fd5b613bd984613b32565b925060208401359150613bee60408501613ac6565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b0381118282101715613c2d57613c2d613bf7565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613c5b57613c5b613bf7565b604052919050565b5f82601f830112613c72575f80fd5b81356001600160401b03811115613c8b57613c8b613bf7565b613c9e601f8201601f1916602001613c33565b818152846020838601011115613cb2575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215613cdf575f80fd5b8235613cea81613ab2565b915060208301356001600160401b03811115613d04575f80fd5b613d1085828601613c63565b9150509250929050565b5f60208284031215613d2a575f80fd5b5035919050565b5f805f805f60808688031215613d45575f80fd5b613d4e86613b32565b94506020860135613d5e81613ab2565b93506040860135925060608601356001600160401b0380821115613d80575f80fd5b818801915088601f830112613d93575f80fd5b813581811115613da1575f80fd5b896020828501011115613db2575f80fd5b9699959850939650602001949392505050565b5f805f60608486031215613dd7575f80fd5b613de084613b32565b92506020840135613df081613ab2565b929592945050506040919091013590565b5f805f60608486031215613e13575f80fd5b613e1c84613b32565b925060208401359150613bee60408501613b32565b5f8060408385031215613e42575f80fd5b82359150613aff60208401613ac6565b5f8060408385031215613e63575f80fd5b8235613e6e81613ab2565b91506020830135613e7e81613ab2565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561068257610682613f35565b5f60208284031215613f6c575f80fd5b5051919050565b5f60208284031215613f83575f80fd5b81516107ae81613ab2565b5f6001600160401b03821115613fa657613fa6613bf7565b5060051b60200190565b803560048110613520575f80fd5b5f82601f830112613fcd575f80fd5b81356020613fe2613fdd83613f8e565b613c33565b82815260059290921b84018101918181019086841115614000575f80fd5b8286015b84811015611ee15780356001600160401b03811115614021575f80fd5b61402f8986838b0101613c63565b845250918301918301614004565b5f602080838503121561404e575f80fd5b82356001600160401b0380821115614064575f80fd5b818501915085601f830112614077575f80fd5b8135614085613fdd82613f8e565b81815260059190911b830184019084810190888311156140a3575f80fd5b8585015b8381101561416e578035858111156140bd575f80fd5b860160c0818c03601f190112156140d2575f80fd5b6140da613c0b565b6140e5898301613b32565b815260406140f4818401613b32565b8a8301526060808401358284015260809150614111828501613fb0565b9083015260a08381013589811115614127575f80fd5b6141358f8d83880101613fbe565b838501525060c084013591508882111561414d575f80fd5b61415b8e8c84870101613fbe565b90830152508452509186019186016140a7565b5098975050505050505050565b8181038181111561068257610682613f35565b634e487b7160e01b5f52602160045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8051602080830151919081101561420d575f198160200360031b1b821691505b50919050565b5f5b8381101561422d578181015183820152602001614215565b50505f910152565b5f8251614246818460208701614213565b9190910192915050565b634e487b7160e01b5f52601260045260245ffd5b5f60ff83168061427657614276614250565b8060ff84160691505092915050565b60ff828116828216039081111561068257610682613f35565b6020808252604a908201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60408201527f206d7573742062652067726561746572207468616e207a65726f20746f206265606082015269206465636f6461626c6560b01b608082015260a00190565b5f6001820161431f5761431f613f35565b5060010190565b5f8351614337818460208801614213565b83519083019061434b818360208801614213565b01949350505050565b602081525f8251806020840152614372816040850160208701614213565b601f01601f19169190910160400192915050565b60ff818116838216019081111561068257610682613f35565b5f826143ad576143ad614250565b500490565b808202811582820484141761068257610682613f35565b600181815b8085111561440357815f19048211156143e9576143e9613f35565b808516156143f657918102915b93841c93908002906143ce565b509250929050565b5f8261441957506001610682565b8161442557505f610682565b816001811461443b576002811461444557614461565b6001915050610682565b60ff84111561445657614456613f35565b50506001821b610682565b5060208310610133831016604e8410600b8410161715614484575081810a610682565b61448e83836143c9565b805f19048211156144a1576144a1613f35565b029392505050565b5f6107ae838361440b565b5f826144c2576144c2614250565b50069056fe524c505265616465723a206c656e677468206f6620636f6e74656e74206d7573360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205659405515807d049e6589a2728fe0863d5c3072540f53ef4e8701e75661788864736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000000005": { + "contractName": "SignalService", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000000006", + "0xbc2e0095be465e411e3dd16b362c4b34019fb4f63830e31f0f7f61874e707e22": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000000005" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010001": { + "contractName": "TaikoL2Impl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x6080604052600436106101c5575f3560e01c80638456cb59116100f2578063c3f909d411610092578063e30c397811610062578063e30c397814610524578063f2fde38b14610541578063f535bd5614610560578063f940e3851461057f575f80fd5b8063c3f909d414610493578063da69d3db146104cb578063dac5df78146104ea578063e07baba6146104ff575f80fd5b80638da5cb5b116100cd5780638da5cb5b146103f65780639ee512f214610413578063a7e022d114610438578063a86f9d9e14610474575f80fd5b80638456cb59146103a35780638551f41e146103b75780638abf6077146103e2575f80fd5b80633eb6b8cf116101685780635950f9f1116101385780635950f9f11461033c5780635c975abb1461035b578063715018a61461037b57806379ba50971461038f575f80fd5b80633eb6b8cf146102e25780633f4ba83a146103015780634f1ef2861461031557806352d1902d14610328575f80fd5b80633075db56116101a35780633075db561461025057806333d5ac9b146102645780633659cfe61461028a5780633ab76e9f146102ab575f80fd5b806312622e5b146101c957806323ac7136146102055780632f98047314610232575b5f80fd5b3480156101d4575f80fd5b5060fe546101e8906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b348015610210575f80fd5b5061022461021f366004611f62565b61059e565b6040519081526020016101fc565b34801561023d575f80fd5b505f5b60405190151581526020016101fc565b34801561025b575f80fd5b506102406105fa565b34801561026f575f80fd5b5060fd546101e890600160401b90046001600160401b031681565b348015610295575f80fd5b506102a96102a4366004611f8f565b61060e565b005b3480156102b6575f80fd5b506097546102ca906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b3480156102ed575f80fd5b506102ca6102fc366004611fbe565b6106de565b34801561030c575f80fd5b506102a96106f2565b6102a961032336600461200f565b610706565b348015610333575f80fd5b506102246107bf565b348015610347575f80fd5b506102a96103563660046120cc565b610870565b348015610366575f80fd5b5061024060c954610100900460ff1660021490565b348015610386575f80fd5b506102a9610a79565b34801561039a575f80fd5b506102a9610a8a565b3480156103ae575f80fd5b506102a9610b01565b3480156103c2575f80fd5b506102246103d1366004612121565b60fb6020525f908152604090205481565b3480156103ed575f80fd5b506102ca610b14565b348015610401575f80fd5b506033546001600160a01b03166102ca565b34801561041e575f80fd5b506102ca71777735367b36bc9b61c50022d9d0700db4ec81565b348015610443575f80fd5b5061045761045236600461214b565b610b22565b604080519283526001600160401b039091166020830152016101fc565b34801561047f575f80fd5b506102ca61048e36600461217c565b610b92565b34801561049e575f80fd5b506104a7610ba7565b60408051825163ffffffff16815260209283015160ff1692810192909252016101fc565b3480156104d6575f80fd5b506102a96104e53660046121aa565b610bd8565b3480156104f5575f80fd5b5061022460fc5481565b34801561050a575f80fd5b5060c9546101e8906201000090046001600160401b031681565b34801561052f575f80fd5b506065546001600160a01b03166102ca565b34801561054c575f80fd5b506102a961055b366004611f8f565b610ea2565b34801561056b575f80fd5b5060fd546101e8906001600160401b031681565b34801561058a575f80fd5b506102a96105993660046121e2565b610f13565b5f43826001600160401b0316106105b657505f919050565b436105c383610100612222565b6001600160401b0316106105df57506001600160401b03164090565b506001600160401b03165f90815260fb602052604090205490565b5f60026106056110ce565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000001000116300361065f5760405162461bcd60e51b815260040161065690612249565b60405180910390fd5b7f00000000000000000000000001670020000000000000000000000000000100016001600160a01b031661069161110d565b6001600160a01b0316146106b75760405162461bcd60e51b815260040161065690612295565b6106c081611128565b604080515f808252602082019092526106db91839190611130565b50565b5f6106ea84848461129a565b949350505050565b6106fa61138b565b610704335f61141b565b565b6001600160a01b037f000000000000000000000000016700200000000000000000000000000001000116300361074e5760405162461bcd60e51b815260040161065690612249565b7f00000000000000000000000001670020000000000000000000000000000100016001600160a01b031661078061110d565b6001600160a01b0316146107a65760405162461bcd60e51b815260040161065690612295565b6107af82611128565b6107bb82826001611130565b5050565b5f306001600160a01b037f0000000000000000000000000167002000000000000000000000000000010001161461085e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610656565b505f805160206124bf83398151915290565b5f54610100900460ff161580801561088e57505f54600160ff909116105b806108a75750303b1580156108a757505f5460ff166001145b61090a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610656565b5f805460ff19166001179055801561092b575f805461ff0019166101001790555b6109358585611423565b6001600160401b0383161580610953575046836001600160401b0316145b15610971576040516308279a2560e31b815260040160405180910390fd5b60014611158061098757506001600160401b0346115b156109a557604051638f972ecb60e01b815260040160405180910390fd5b43156109ef57436001036109d6575f6109bf6001436122e1565b5f81815260fb6020526040902090409055506109ef565b604051635a0f9e4160e11b815260040160405180910390fd5b60fe80546001600160401b0380861667ffffffffffffffff199283161790925560fd805492851692909116919091179055610a294361145d565b5060fc558015610a72575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610a816114ed565b6107045f611547565b60655433906001600160a01b03168114610af85760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610656565b6106db81611547565b610b09611560565b61070433600161141b565b5f610b1d61110d565b905090565b5f805f610b2d610ba7565b805160fd549192505f9163ffffffff90911690610b5a90600160401b90046001600160401b0316886122f4565b610b649190612314565b8251602084015160fd54929350610b85926001600160401b031684896115d1565b9097909650945050505050565b5f610b9e46848461129a565b90505b92915050565b604080518082019091525f8082526020820152610b1d60408051808201909152630393870081526008602082015290565b6002610be26110ce565b60ff1603610c035760405163dfc60d8560e01b815260040160405180910390fd5b610c0d600261166c565b831580610c18575082155b80610c2a57506001600160401b038216155b80610c45575043600114158015610c45575063ffffffff8116155b15610c635760405163053fd54760e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec14610c9557604051636494e9f760e01b815260040160405180910390fd5b5f1943015f80610ca48361145d565b915091508160fc5414610cca5760405163d719258d60e01b815260040160405180910390fd5b5f80610cd68787610b22565b91509150610ce15f90565b158015610cee5750814814155b15610d0c576040516336d54d4f60e11b815260040160405180910390fd5b60fd546001600160401b03600160401b90910481169088161115610e1c57610d456d7369676e616c5f7365727669636560901b5f610b92565b60fe546040516313e4299d60e21b81526001600160401b0391821660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da16960248201529089166044820152606481018a90526001600160a01b039190911690634f90a674906084016020604051808303815f875af1158015610dcc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df0919061233f565b5060fd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038a16021790555b5f85815260fb602090815260409182902087409081905560fc86905560fd805467ffffffffffffffff19166001600160401b038616908117909155835182815292830152917f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe4910160405180910390a1505050505050610e9c600161166c565b50505050565b610eaa6114ed565b606580546001600160a01b0383166001600160a01b03199091168117909155610edb6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610f2760c954610100900460ff1660021490565b15610f455760405163bae6e2a960e01b815260040160405180910390fd5b693bb4ba34323930bbb2b960b11b610f656033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015610fa25750610f8c816001610b92565b6001600160a01b0316336001600160a01b031614155b15610fc057604051630d85cccf60e11b815260040160405180910390fd5b6002610fca6110ce565b60ff1603610feb5760405163dfc60d8560e01b815260040160405180910390fd5b610ff5600261166c565b6001600160a01b03821661101c5760405163053fd54760e01b815260040160405180910390fd5b6001600160a01b0383166110425761103d6001600160a01b038316476116b4565b6110bf565b6040516370a0823160e01b81523060048201526110bf9083906001600160a01b038616906370a0823190602401602060405180830381865afa15801561108a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ae919061233f565b6001600160a01b03861691906116bf565b6110c9600161166c565b505050565b5f6110d846611711565b1561110357507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f805160206124bf833981519152546001600160a01b031690565b6106db6114ed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611163576110c98361173e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111bd575060408051601f3d908101601f191682019092526111ba9181019061233f565b60015b6112205760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610656565b5f805160206124bf833981519152811461128e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610656565b506110c98383836117d9565b6097545f906001600160a01b0316806112c657604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133c9190612356565b91508215801561135357506001600160a01b038216155b1561138357604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610656565b509392505050565b61139f60c954610100900460ff1660021490565b6113bc5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6107bb6114ed565b806001600160a01b03811661144b5760405163538ba4f960e01b815260040160405180910390fd5b611454836117fd565b6110c98261185b565b5f80611467611f27565b5f5b60ff8110801561147c5750806001018510155b156114ad575f198186030180408360ff8306610100811061149f5761149f612385565b602002015250600101611469565b5046611fe0820152612000812092508340816114ca60ff87612399565b61010081106114db576114db612385565b60200201526120009020919391925050565b6033546001600160a01b031633146107045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610656565b606580546001600160a01b03191690556106db816118cb565b61157460c954610100900460ff1660021490565b156115925760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611411565b5f80806115ed63ffffffff85166001600160401b0388166123ac565b9050846001600160401b03168111611606576001611619565b6116196001600160401b038616826122e1565b905061162c816001600160401b0361191c565b91506116536001600160401b03831661164e63ffffffff8b1660ff8b166123bf565b611930565b9250825f0361166157600192505b509550959350505050565b61167546611711565b156116a057807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6107bb82825a61196e565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110c99084906119b1565b5f6001821480611722575061426882145b8061172f575062aa36a782145b80610ba15750610ba182611a84565b6001600160a01b0381163b6117ab5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610656565b5f805160206124bf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6117e283611a9b565b5f825111806117ee5750805b156110c957610e9c8383611ada565b5f54610100900460ff166118235760405162461bcd60e51b8152600401610656906123d6565b61182b611aff565b6118496001600160a01b038216156118435781611547565b33611547565b5060c9805461ff001916610100179055565b5f54610100900460ff166118815760405162461bcd60e51b8152600401610656906123d6565b6001600160401b034611156118a95760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f81831161192a5782610b9e565b50919050565b5f815f0361195157604051636296f1b960e11b815260040160405180910390fd5b670de0b6b3a76400006119648484611b25565b610b9e9190612421565b815f0361197a57505050565b61199483838360405180602001604052805f815250611b6c565b6110c957604051634c67134d60e11b815260040160405180910390fd5b5f611a05826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611ba99092919063ffffffff16565b905080515f1480611a25575080806020019051810190611a259190612434565b6110c95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610656565b5f617e2c8210158015610ba1575050617e90101590565b611aa48161173e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610b9e83836040518060600160405280602781526020016124df60279139611bb7565b5f54610100900460ff166107045760405162461bcd60e51b8152600401610656906123d6565b5f8082611b3a670de0b6b3a7640000866123bf565b611b449190612421565b9050680755bf798b4a1bf1e4811115611b635750680755bf798b4a1bf1e45b6106ea81611c2b565b5f6001600160a01b038516611b9457604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60606106ea84845f85611db3565b60605f80856001600160a01b031685604051611bd39190612471565b5f60405180830381855af49150503d805f8114611c0b576040519150601f19603f3d011682016040523d82523d5f602084013e611c10565b606091505b5091509150611c2186838387611e8a565b9695505050505050565b5f680248ce36a70cb26b3e198213611c4457505f919050565b680755bf798b4a1bf1e58212611c6d57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b606082471015611e145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610656565b5f80866001600160a01b03168587604051611e2f9190612471565b5f6040518083038185875af1925050503d805f8114611e69576040519150601f19603f3d011682016040523d82523d5f602084013e611e6e565b606091505b5091509150611e7f87838387611e8a565b979650505050505050565b60608315611ef85782515f03611ef1576001600160a01b0385163b611ef15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610656565b50816106ea565b6106ea8383815115611f0d5781518083602001fd5b8060405162461bcd60e51b8152600401610656919061248c565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b0381168114611f5d575f80fd5b919050565b5f60208284031215611f72575f80fd5b610b9e82611f47565b6001600160a01b03811681146106db575f80fd5b5f60208284031215611f9f575f80fd5b8135611faa81611f7b565b9392505050565b80151581146106db575f80fd5b5f805f60608486031215611fd0575f80fd5b611fd984611f47565b9250602084013591506040840135611ff081611fb1565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612020575f80fd5b823561202b81611f7b565b915060208301356001600160401b0380821115612046575f80fd5b818501915085601f830112612059575f80fd5b81358181111561206b5761206b611ffb565b604051601f8201601f19908116603f0116810190838211818310171561209357612093611ffb565b816040528281528860208487010111156120ab575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f80608085870312156120df575f80fd5b84356120ea81611f7b565b935060208501356120fa81611f7b565b925061210860408601611f47565b915061211660608601611f47565b905092959194509250565b5f60208284031215612131575f80fd5b5035919050565b803563ffffffff81168114611f5d575f80fd5b5f806040838503121561215c575f80fd5b61216583611f47565b915061217360208401612138565b90509250929050565b5f806040838503121561218d575f80fd5b82359150602083013561219f81611fb1565b809150509250929050565b5f805f80608085870312156121bd575f80fd5b84359350602085013592506121d460408601611f47565b915061211660608601612138565b5f80604083850312156121f3575f80fd5b82356121fe81611f7b565b9150602083013561219f81611f7b565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190808211156122425761224261220e565b5092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610ba157610ba161220e565b6001600160401b038281168282160390808211156122425761224261220e565b6001600160401b038181168382160280821691908281146123375761233761220e565b505092915050565b5f6020828403121561234f575f80fd5b5051919050565b5f60208284031215612366575f80fd5b8151611faa81611f7b565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f826123a7576123a7612371565b500690565b80820180821115610ba157610ba161220e565b8082028115828204841417610ba157610ba161220e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8261242f5761242f612371565b500490565b5f60208284031215612444575f80fd5b8151611faa81611fb1565b5f5b83811015612469578181015183820152602001612451565b50505f910152565b5f825161248281846020870161244f565b9190910192915050565b602081525f82518060208401526124aa81604085016020870161244f565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220dd805646fbd402e3dd00f2e2ed2bf34ee8b6c44c1aee4f0ee9aaf88caab4582f64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000010001": { + "contractName": "TaikoL2", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670020000000000000000000000000000010002", + "0x00000000000000000000000000000000000000000000000000000000000000fe": "0x0000000000000000000000000000000000000000000000000000000000007e7e", + "0x00000000000000000000000000000000000000000000000000000000000000fd": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000fc": "0xb1cdc1a3b51cd0ae1113eb88f95dfd26aab10c50b39e31811e63cffc250b0da2", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000010001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010002": { + "contractName": "RollupAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b146102d5578063a86f9d9e146102f2578063d8f4648f14610311578063e07baba614610330578063e30c39781461036f578063f2fde38b1461038c575f80fd5b80635c975abb14610265578063715018a61461028557806379ba5097146102995780638456cb59146102ad5780638abf6077146102c1575f80fd5b80633ab76e9f116100ee5780633ab76e9f146101de5780633eb6b8cf146101fd5780633f4ba83a1461021c5780634f1ef2861461023057806352d1902d14610243575f80fd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db561461019b5780633659cfe6146101bf575b5f80fd5b348015610135575f80fd5b5061013e6103ab565b005b34801561014b575f80fd5b5061013e61015a36600461118f565b61045b565b34801561016a575f80fd5b5061017e6101793660046111c6565b610533565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a6575f80fd5b506101af610567565b6040519015158152602001610192565b3480156101ca575f80fd5b5061013e6101d936600461118f565b61057b565b3480156101e9575f80fd5b5060975461017e906001600160a01b031681565b348015610208575f80fd5b5061017e6102173660046111fd565b610642565b348015610227575f80fd5b5061013e610656565b61013e61023e36600461124a565b61066a565b34801561024e575f80fd5b5061025761071f565b604051908152602001610192565b348015610270575f80fd5b506101af60c954610100900460ff1660021490565b348015610290575f80fd5b5061013e6107d0565b3480156102a4575f80fd5b5061013e6107e1565b3480156102b8575f80fd5b5061013e610858565b3480156102cc575f80fd5b5061017e61086b565b3480156102e0575f80fd5b506033546001600160a01b031661017e565b3480156102fd575f80fd5b5061017e61030c366004611308565b610879565b34801561031c575f80fd5b5061013e61032b366004611332565b61088c565b34801561033b575f80fd5b5060c9546103569062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610192565b34801561037a575f80fd5b506065546001600160a01b031661017e565b348015610397575f80fd5b5061013e6103a636600461118f565b61096a565b6103b36109db565b5f54600290610100900460ff161580156103d357505f5460ff8083169116105b6103f85760405162461bcd60e51b81526004016103ef9061136f565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff161580801561047957505f54600160ff909116105b806104925750303b15801561049257505f5460ff166001145b6104ae5760405162461bcd60e51b81526004016103ef9061136f565b5f805460ff1916600117905580156104cf575f805461ff0019166101001790555b6104d882610a35565b609780546001600160a01b03191630179055801561052f575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b67ffffffffffffffff82165f90815260fb602090815260408083208484529091529020546001600160a01b03165b92915050565b5f6002610572610a93565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000100021630036105c35760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670020000000000000000000000000000100026001600160a01b03166105f5610ad2565b6001600160a01b03161461061b5760405162461bcd60e51b81526004016103ef90611409565b61062481610aed565b604080515f8082526020820190925261063f91839190610af5565b50565b5f61064e848484610c64565b949350505050565b61065e610d57565b610668335f610de8565b565b6001600160a01b037f00000000000000000000000001670020000000000000000000000000000100021630036106b25760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670020000000000000000000000000000100026001600160a01b03166106e4610ad2565b6001600160a01b03161461070a5760405162461bcd60e51b81526004016103ef90611409565b61071382610aed565b61052f82826001610af5565b5f306001600160a01b037f000000000000000000000000016700200000000000000000000000000001000216146107be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ef565b505f8051602061154283398151915290565b6107d86109db565b6106685f610e01565b60655433906001600160a01b0316811461084f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ef565b61063f81610e01565b610860610e1a565b610668336001610de8565b5f610874610ad2565b905090565b5f610885468484610c64565b9392505050565b6108946109db565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108e65760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109726109db565b606580546001600160a01b0383166001600160a01b031990911681179091556109a36033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ef565b5f54610100900460ff16610a5b5760405162461bcd60e51b81526004016103ef90611455565b610a63610e8b565b610a816001600160a01b03821615610a7b5781610e01565b33610e01565b5060c9805461ff001916610100179055565b5f610a9d46610eb1565b15610ac857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020611542833981519152546001600160a01b031690565b61063f6109db565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b2d57610b2883610ede565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b87575060408051601f3d908101601f19168201909252610b84918101906114a0565b60015b610bea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ef565b5f805160206115428339815191528114610c585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ef565b50610b28838383610f79565b6097545f906001600160a01b031680610c9057604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0791906114b7565b915082158015610d1e57506001600160a01b038216155b15610d4f57604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016103ef565b509392505050565b610d6b60c954610100900460ff1660021490565b610d885760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063f81610fa3565b610e2e60c954610100900460ff1660021490565b15610e4c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610dde565b5f54610100900460ff166106685760405162461bcd60e51b81526004016103ef90611455565b5f6001821480610ec2575061426882145b80610ecf575062aa36a782145b80610561575061056182610ff4565b6001600160a01b0381163b610f4b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ef565b5f8051602061154283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f828361100b565b5f82511180610f8e5750805b15610b2857610f9d838361104a565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c8210158015610561575050617e90101590565b61101481610ede565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061088583836040518060600160405280602781526020016115626027913960605f80856001600160a01b03168560405161108691906114f4565b5f60405180830381855af49150503d805f81146110be576040519150601f19603f3d011682016040523d82523d5f602084013e6110c3565b606091505b50915091506110d4868383876110de565b9695505050505050565b6060831561114c5782515f03611145576001600160a01b0385163b6111455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ef565b508161064e565b61064e83838151156111615781518083602001fd5b8060405162461bcd60e51b81526004016103ef919061150f565b6001600160a01b038116811461063f575f80fd5b5f6020828403121561119f575f80fd5b81356108858161117b565b803567ffffffffffffffff811681146111c1575f80fd5b919050565b5f80604083850312156111d7575f80fd5b6111e0836111aa565b946020939093013593505050565b803580151581146111c1575f80fd5b5f805f6060848603121561120f575f80fd5b611218846111aa565b92506020840135915061122d604085016111ee565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561125b575f80fd5b82356112668161117b565b9150602083013567ffffffffffffffff80821115611282575f80fd5b818501915085601f830112611295575f80fd5b8135818111156112a7576112a7611236565b604051601f8201601f19908116603f011681019083821181831017156112cf576112cf611236565b816040528281528860208487010111156112e7575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215611319575f80fd5b82359150611329602084016111ee565b90509250929050565b5f805f60608486031215611344575f80fd5b61134d846111aa565b92506020840135915060408401356113648161117b565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156114b0575f80fd5b5051919050565b5f602082840312156114c7575f80fd5b81516108858161117b565b5f5b838110156114ec5781810151838201526020016114d4565b50505f910152565b5f82516115058184602087016114d2565b9190910192915050565b602081525f825180602084015261152d8160408501602087016114d2565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220546acba5cf9d5840aa28144a5c5b7154e1fbe167d06f40edc368d12eba1367a264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670020000000000000000000000000000010002": { + "contractName": "RollupAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000e8b1ff302a740fd2c6e76b620d45508daec2ddff", + "0xfc9694a8343538ce007a3941bba4a8952c0d46b3a80d6bc5432a3731a9b3afbd": "0x0000000000000000000000001670020000000000000000000000000000010001", + "0x1f6e8365b88965465679d131196095b3fe883fdeef8915a26d29cc80b5f57057": "0x0000000000000000000000001670020000000000000000000000000000000001", + "0x3bd77107e0102c8f1a54b812ae852bf834e4d7d2e163cd6ad85e7fb146b8946b": "0x0000000000000000000000001670020000000000000000000000000000000005", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167002000000000000000000000000000010002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x4Fa1166329670a599a664f2D08fEa90C367b805D": { + "contractName": "LibNetwork", + "storage": {}, + "code": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ad97905b6ee404cdf1656836b4d2e0331e305effa06af1cec4854f3c71d96ae764736f6c63430008180033", + "balance": "0x0" + }, + "0x0167002000000000000000000000000000010099": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x0000000000000000000000000000000000000000000000000000000002710000", + "0x723077b8a1b173adc35e5f0e7e3662fd1208212cb629f9c128551ea7168da722": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x14e04a66bf74771820a7400ff6cf065175b3d7eb25805a5bd1633b161af5d101": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x215be5d23550ceb1beff54fb579a765903ba2ccc85b6f79bcf9bda4e8cb86034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d1035fce6503985ab075a4ff3f7ce2e57cd5a9c5e6a0589dccacfea7bcb0af4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2a95ee547cef07a2fff0a68144824a0d9ded35ed87da118a53e1cda4aca8b944": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x7fcecd2a720442e9bc0cf1a8a6976f9fbddf6b996dc0d78af7e94dadf360d579": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x18bbf5fcf8fe870ecff419c4677497c08b2e6a5431bb94541d06c9da3f308e55": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6e3431b4e42570cb9e3d926eb26f9e54de2df536ae0741ae16350d17a6c16ddc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xdb302bf24b1ad5f23949da8e6b05747dc699499a995361a7bf40ec7204696d6f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xa1d47ef1a6916dfbe65888f77739da164feb3a9a6afc95ee57e8b3e85ea5e955": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x454340b1295f9ff1c0fb9192166d0215d33f84dc5f2dc3f3e5732a4b557186bf": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6a3bb1dada7c82a99b4a02d16da3fda07cb31d8887b9b99ec829ab67fd7a817e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2fe2844d12634f5dce1e2be5be96b2ea1c573f8f25171997e2f4bd943dd32f92": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x3836a017087644fbf6925ae1aca14201ce898a35434d9dea9ebd03cea44e049a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1c7a29f5a750951acb14fdf82a876085914eb17f15a162b054a3d2f8c92e2451": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x271927a243b678b7a071f19b4051ef93b16e397066e3fdef5bba26527e34a1a1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4663d660b5d810c9ab2f6dc64af7ff84ebae28a72342391622649a7fe87c93d4": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x352c3281a58937f04ef7cc7b88f3456b6ffd47f52a321c253dc083fb53a3a114": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x6d5faa5f4e671e6fe47b0eab51c62f8cebf354e21e8fdccf8cdfc0293dd341a3": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x673de83553dc3a2c0f59aa7193de392a4530feb73b9d6cd4fcef68802b8195c1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x8b6a7148182c39c1ca0b052292befa83d09344947c23e47b300314fa8c2b8f7d": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xed4a23b4a030ee0d64ef69b276dee81d493e5efca01c0fa514e0c38f882af152": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x45124dfaa1716b8d229f646ff926377e17b887c2b2eab6a87ab0348ee1689eac": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x40f9c2870c16301e8614e56453fc5b838c4a153eb0b18c4c050efbf4f786518a": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xbd55c9294669a294e0c8fd07e2c07738e95be0123b62b752d782fe317f25ca97": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x52c0eeeba21034a69ad7cfa70f75c6fd127acd4084a4da80f30cc7540bdf990b": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x843a9befd317bdcee99c42a3adf6d00b789224beda1485c7f6e7bf327755328e": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xea09b20615ffad342fb450741e59ea6ba180fa93b8701b31fa639ef9ff50d2b0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x39cd5e5ec54ce41a5f5b2c13ce7133998dfef654caacfb44d5c517700c217d36": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xd46a4409ebc9fc47afedecdadc89dbc0d6f46be6bdb49fd822d5143daedc83f0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x5735d6fad3ea4f2328a1557ff1be7570df3d4c2630b448c1b7fe2781d018beb0": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x509c640066f1872118ec768fcb985c7bf4476690788ac7e112ab072ca82ab219": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xf9982658df503b792c55f860aefa42588712c9069523324d4b9ce4d9a10e2e9c": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x87d11160035f8424b7163a397fc780b278af3de5a6caa2cb71bb2b46825ce159": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1dde801acf032acf4b3151b5edb82e0e4d872a54d9efbf3809d75efcbfa2bf8f": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x01aad34cdf9f8f5fca811e2fab1411b08778be71f547894fa0d9fafa5c1f60b2": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x65cee0cf3d643c3f3402a40ddebed72cec3dd6bac66974bff967dc0ef9e2faed": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0xaf6cadccd3f046eeb282ec0b08e44adbe45784a23f41d76b096ccb8e7f238e2b": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x2589e1958c4e4f4a5f777b0b92a3170cc21771a8d3580331a71232f8624f7628": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x1f27de92fedf410197c8a09d0f2f03372d92b75c9889a6a61cf491395877fbcf": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461011f57806370a082311461013257806395d89b411461015a578063a457c2d714610162578063a9059cbb14610175578063dd62ed3e14610188575f80fd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f80fd5b6100b261019b565b6040516100bf919061068a565b60405180910390f35b6100db6100d63660046106f1565b61022b565b60405190151581526020016100bf565b6002545b6040519081526020016100bf565b6100db61010b366004610719565b610244565b604051601281526020016100bf565b6100db61012d3660046106f1565b610267565b6100ef610140366004610752565b6001600160a01b03165f9081526020819052604090205490565b6100b2610288565b6100db6101703660046106f1565b610297565b6100db6101833660046106f1565b610316565b6100ef610196366004610772565b610323565b6060600380546101aa906107a3565b80601f01602080910402602001604051908101604052809291908181526020018280546101d6906107a3565b80156102215780601f106101f857610100808354040283529160200191610221565b820191905f5260205f20905b81548152906001019060200180831161020457829003601f168201915b5050505050905090565b5f3361023881858561034d565b60019150505b92915050565b5f33610251858285610470565b61025c8585856104e8565b506001949350505050565b5f336102388185856102798383610323565b61028391906107db565b61034d565b6060600480546101aa906107a3565b5f33816102a48286610323565b9050838110156103095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61025c828686840361034d565b5f336102388185856104e8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103af5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610300565b6001600160a01b0382166104105760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610300565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61047b8484610323565b90505f1981146104e257818110156104d55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610300565b6104e2848484840361034d565b50505050565b6001600160a01b03831661054c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610300565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610300565b6001600160a01b0383165f90815260208190526040902054818110156106255760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610300565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e2565b5f602080835283518060208501525f5b818110156106b65785810183015185820160400152820161069a565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146106ec575f80fd5b919050565b5f8060408385031215610702575f80fd5b61070b836106d6565b946020939093013593505050565b5f805f6060848603121561072b575f80fd5b610734846106d6565b9250610742602085016106d6565b9150604084013590509250925092565b5f60208284031215610762575f80fd5b61076b826106d6565b9392505050565b5f8060408385031215610783575f80fd5b61078c836106d6565b915061079a602084016106d6565b90509250929050565b600181811c908216806107b757607f821691505b6020821081036107d557634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561023e57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220f3984d810857088c1044bbc9a3a420b15b8a07dbde5dff96652f75645045ee8f64736f6c63430008180033", + "balance": "0x0" + } +} \ No newline at end of file
diff --git ethereum/go-ethereum/core/taiko_genesis/jolnir.json taikoxyz/taiko-geth/core/taiko_genesis/jolnir.json new file mode 100644 index 0000000000000000000000000000000000000000..d460a95a4d9e288c338e89248803ad14ed65f362 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/jolnir.json @@ -0,0 +1,210 @@ +{ + "0x19B4F9C381C7927FE33D853e48b560141A380C44": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xFa9d666c396c64d155BDc23a2AAA53984939A4Ee": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0xb631796561d587AeEF2Fdd09AD33b8DE4bc92510": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x8a9f79C3dc6158E58484ceEd46d93c4B0bAD0824": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636892abdc1461003a575b600080fd5b61004d61004836600461170f565b610061565b604051901515815260200160405180910390f35b600080806100718486018661185f565b6040516bffffffffffffffffffffffff1960608c901b166020820152919350915060009081906100b490603401604051602081830303815290604052858d610150565b91509150816100d657604051639dbcc1a760e01b815260040160405180910390fd5b60006100e182610179565b90506000610108826002815181106100fb576100fb6118c3565b60200260200101516101b2565b905061013f8b60405160200161012091815260200190565b6040516020818303038152906040526101388c6102ba565b87846102cd565b9d9c50505050505050505050505050565b60006060600061015f866102e7565b905061016c818686610319565b9250925050935093915050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906101ac906103f4565b92915050565b600060218260000151111561020e5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e00000000000060448201526064015b60405180910390fd5b600080600061021c856105e0565b919450925090506000816001811115610237576102376118d9565b146102845760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610205565b60008386602001516102969190611905565b805190915060208410156102b05760208490036101000a90045b9695505050505050565b60606101ac6102c88361092a565b610a5e565b6000806102d9866102e7565b90506102b081868686610acd565b6060818051906020012060405160200161030391815260200190565b6040516020818303038152906040529050919050565b60006060600061032885610b0a565b9050600080600061033a848a89610c03565b8151929550909350915015808061034e5750815b61039a5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610205565b6000816103b657604051806020016040528060008152506103e2565b6103e2866103c5600188611918565b815181106103d5576103d56118c3565b6020026020010151611023565b919b919a509098505050505050505050565b6060600080610402846105e0565b9193509091506001905081600181111561041e5761041e6118d9565b1461046b5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610205565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816104845790505090506000835b86518110156105d5576020821061051d5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610205565b60008061055a6040518060400160405280858c6000015161053e9190611918565b8152602001858c602001516105539190611905565b90526105e0565b5091509150604051806040016040528083836105769190611905565b8152602001848b6020015161058b9190611905565b8152508585815181106105a0576105a06118c3565b60209081029190910101526105b6600185611905565b93506105c28183611905565b6105cc9084611905565b925050506104b1565b508152949350505050565b6000806000808460000151116106385760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610205565b6020840151805160001a607f811161065d576000600160009450945094505050610923565b60b781116106d9576000610672608083611918565b9050808760000151116106c75760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610205565b60019550935060009250610923915050565b60bf81116107c85760006106ee60b783611918565b9050808760000151116107435760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610205565b600183015160208290036101000a900461075d8183611905565b8851116107ac5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610205565b6107b7826001611905565b965094506000935061092392505050565b60f781116108435760006107dd60c083611918565b9050808760000151116108325760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610205565b600195509350849250610923915050565b600061085060f783611918565b9050808760000151116108a55760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610205565b600183015160208290036101000a90046108bf8183611905565b8851116109075760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610205565b610912826001611905565b965094506001935061092392505050565b9193909250565b606060008260405160200161094191815260200190565b604051602081830303815290604052905060005b602081101561099657818181518110610970576109706118c3565b01602001516001600160f81b0319166000036109965761098f8161192b565b9050610955565b60006109a3826020611918565b67ffffffffffffffff8111156109bb576109bb6117bc565b6040519080825280601f01601f1916602001820160405280156109e5576020820181803683370190505b50905060005b8151811015610a555783836109ff8161192b565b945081518110610a1157610a116118c3565b602001015160f81c60f81b828281518110610a2e57610a2e6118c3565b60200101906001600160f81b031916908160001a905350610a4e8161192b565b90506109eb565b50949350505050565b60608082516001148015610a8c5750608083600081518110610a8257610a826118c3565b016020015160f81c105b15610a985750816101ac565b610aa48351608061104a565b83604051602001610ab6929190611974565b604051602081830303815290604052905092915050565b6000806000610add878686610319565b91509150818015610aff57508051602080830191909120875191880191909120145b979650505050505050565b60606000610b1783610179565b90506000815167ffffffffffffffff811115610b3557610b356117bc565b604051908082528060200260200182016040528015610b7a57816020015b6040805180820190915260608082526020820152815260200190600190039081610b535790505b50905060005b8251811015610bfb576000610bad848381518110610ba057610ba06118c3565b60200260200101516111f4565b90506040518060400160405280610bc383610179565b815260200182815250838381518110610bde57610bde6118c3565b60200260200101819052505080610bf49061192b565b9050610b80565b509392505050565b600060606000806000610c1587611284565b90506000869050600080610c3c604051806040016040528060608152602001606081525090565b60005b8c51811015610ffb578c8181518110610c5a57610c5a6118c3565b602002602001015191508284610c709190611905565b9350610c7d600188611905565b965083600003610cda578482602001518051906020012014610cd55760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610205565b610d9c565b602082602001515110610d41578482602001518051906020012014610cd55760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610205565b84610d4f83602001516113bd565b14610d9c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610205565b610da860106001611991565b60ff1682600001515103610e165785518414610ffb576000868581518110610dd257610dd26118c3565b01602001518351805160f89290921c925060009183908110610df657610df66118c3565b60200260200101519050610e09816113e5565b9650600194505050610feb565b81515160011901610fa3576000610e2c8361141b565b9050600081600081518110610e4357610e436118c3565b016020015160f81c90506000610e5a6002836119c0565b610e659060026119e2565b90506000610e76848360ff1661143f565b90506000610e848b8a61143f565b90506000610e928383611475565b905060ff851660021480610ea9575060ff85166003145b15610ee357808351148015610ebe5750808251145b15610ed057610ecd818b611905565b99505b50600160ff1b9950610ffb945050505050565b60ff85161580610ef6575060ff85166001145b15610f4c5782518114610f165750600160ff1b9950610ffb945050505050565b610f3d8860000151600181518110610f3057610f306118c3565b60200260200101516113e5565b9a509750610feb945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610205565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610205565b610ff48161192b565b9050610c3f565b50600160ff1b84148661100e878661143f565b909e909d50909b509950505050505050505050565b805180516060916101ac9161103a90600190611918565b81518110610ba057610ba06118c3565b60608060388410156110b1576040805160018082528183019092529060208201818036833701905050905061107f8385611991565b60f81b81600081518110611095576110956118c3565b60200101906001600160f81b031916908160001a9053506111ed565b600060015b6110c081876119fb565b156110e3576110ce8261192b565b91506110dc61010082611a0f565b90506110b6565b6110ee826001611905565b67ffffffffffffffff811115611106576111066117bc565b6040519080825280601f01601f191660200182016040528015611130576020820181803683370190505b50925061113d8583611991565b611148906037611991565b60f81b8360008151811061115e5761115e6118c3565b60200101906001600160f81b031916908160001a905350600190505b8181116111ea5761010061118e8284611918565b61119a90610100611b0a565b6111a490886119fb565b6111ae9190611b16565b60f81b8382815181106111c3576111c36118c3565b60200101906001600160f81b031916908160001a9053506111e38161192b565b905061117a565b50505b9392505050565b60606000806000611204856105e0565b91945092509050600081600181111561121f5761121f6118d9565b1461126c5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610205565b61127b856020015184846114ef565b95945050505050565b60606000825160026112969190611a0f565b67ffffffffffffffff8111156112ae576112ae6117bc565b6040519080825280601f01601f1916602001820160405280156112d8576020820181803683370190505b50905060005b83518110156113b65760048482815181106112fb576112fb6118c3565b01602001516001600160f81b031916901c82611318836002611a0f565b81518110611328576113286118c3565b60200101906001600160f81b031916908160001a9053506010848281518110611353576113536118c3565b0160200151611365919060f81c6119c0565b60f81b82611374836002611a0f565b61137f906001611905565b8151811061138f5761138f6118c3565b60200101906001600160f81b031916908160001a9053506113af8161192b565b90506112de565b5092915050565b60006020825110156113d157506020015190565b818060200190518101906101ac9190611b2a565b60006060602083600001511015611406576113ff83611598565b9050611412565b61140f836111f4565b90505b6111ed816113bd565b60606101ac61143a8360000151600081518110610ba057610ba06118c3565b611284565b60608251821061145e57506040805160208101909152600081526101ac565b6111ed83838486516114709190611918565b6115a3565b6000805b8084511180156114895750808351115b80156114da57508281815181106114a2576114a26118c3565b602001015160f81c60f81b6001600160f81b0319168482815181106114c9576114c96118c3565b01602001516001600160f81b031916145b156111ed576114e88161192b565b9050611479565b606060008267ffffffffffffffff81111561150c5761150c6117bc565b6040519080825280601f01601f191660200182016040528015611536576020820181803683370190505b50905080516000036115495790506111ed565b8484016020820160005b8581101561156b578281015182820152602001611553565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606101ac826116f9565b6060816115b181601f611905565b10156115f05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b826115fb8382611905565b101561163a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610205565b6116448284611905565b845110156116885760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610205565b6060821580156116a75760405191506000825260208201604052610a55565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156116e05780518352602092830192016116c8565b5050858452601f01601f19166040525050949350505050565b60606101ac8260200151600084600001516114ef565b60008060008060008060a0878903121561172857600080fd5b8635955060208701356001600160a01b038116811461174657600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff8082111561177157600080fd5b818901915089601f83011261178557600080fd5b81358181111561179457600080fd5b8a60208285010111156117a657600080fd5b6020830194508093505050509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126117e357600080fd5b813567ffffffffffffffff808211156117fe576117fe6117bc565b604051601f8301601f19908116603f01168101908282118183101715611826576118266117bc565b8160405283815286602085880101111561183f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561187257600080fd5b823567ffffffffffffffff8082111561188a57600080fd5b611896868387016117d2565b935060208501359150808211156118ac57600080fd5b506118b9858286016117d2565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156101ac576101ac6118ef565b818103818111156101ac576101ac6118ef565b60006001820161193d5761193d6118ef565b5060010190565b6000815160005b81811015611965576020818501810151868301520161194b565b50600093019283525090919050565b60006119896119838386611944565b84611944565b949350505050565b60ff81811683821601908111156101ac576101ac6118ef565b634e487b7160e01b600052601260045260246000fd5b600060ff8316806119d3576119d36119aa565b8060ff84160691505092915050565b60ff82811682821603908111156101ac576101ac6118ef565b600082611a0a57611a0a6119aa565b500490565b80820281158282048414176101ac576101ac6118ef565b600181815b80851115611a61578160001904821115611a4757611a476118ef565b80851615611a5457918102915b93841c9390800290611a2b565b509250929050565b600082611a78575060016101ac565b81611a85575060006101ac565b8160018114611a9b5760028114611aa557611ac1565b60019150506101ac565b60ff841115611ab657611ab66118ef565b50506001821b6101ac565b5060208310610133831016604e8410600b8410161715611ae4575081810a6101ac565b611aee8383611a26565b8060001904821115611b0257611b026118ef565b029392505050565b60006111ed8383611a69565b600082611b2557611b256119aa565b500690565b600060208284031215611b3c57600080fd5b505191905056fea26469706673582212204875324a0ffbec2ef4b8b54e737ba4f199bc66a7bbc669362262c64003f5eb4964736f6c63430008140033", + "balance": "0x0" + }, + "0xb2Bcd028F53637a4FC4E06C52d247F38f44cBe4d": { + "contractName": "LibVaultUtils", + "storage": {}, + "code": "0x7300000000000000000000000000000000000000003014608060405260043610620000735760003560e01c80632c6a56af1462000078578063634da63a14620000a257806378adc0d614620000ab578063881107d914620000e957806393522e3e146200012c578063c0619cc21462000145575b600080fd5b6200008f6200008936600462000567565b6200015c565b6040519081526020015b60405180910390f35b6200008f600a81565b818015620000b857600080fd5b50620000d0620000ca36600462000622565b62000205565b6040516001600160a01b03909116815260200162000099565b62000100620000fa366004620006e9565b62000265565b60408051825181526020808401516001600160a01b031690820152918101519082015260600162000099565b620001436200013d3660046200071c565b620003a6565b005b6200014362000156366004620007c8565b6200041a565b6040516304c68c7960e31b815260009083906001600160a01b0382169063263463c8906200018f908890600401620008bb565b602060405180830381865afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d39190620009d1565b91506001600160a01b038316620001fd576040516303f8a7d360e01b815260040160405180910390fd5b509392505050565b60006001600160a01b038416620002205762000220620009eb565b83838360405162000231906200052e565b6200023f9392919062000a01565b604051809103906000f0801580156200025c573d6000803e3d6000fd5b50949350505050565b6040805160608101825260008082526020820181905291810191909152336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e7919062000a6d565b6040818101519051633632b1fb60e11b8152600481019190915260248101859052600060448201529091506001600160a01b03831690636c6563f690606401602060405180830381865afa15801562000344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036a919062000ad5565b6001600160a01b031681602001516001600160a01b031614620003a057604051636659b9bb60e11b815260040160405180910390fd5b92915050565b6001600160a01b0382161580620003ce5750826001600160a01b0316826001600160a01b0316145b15620003ed5760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000415576040516303f8a7d360e01b815260040160405180910390fd5b505050565b82518251146200043d5760405163196e8a4160e31b815260040160405180910390fd5b600a82511115620004615760405163e4a4c1c760e01b815260040160405180910390fd5b8015620004ce5760005b8251811015620004c8578381815181106200048a576200048a62000afc565b6020026020010151600014620004b357604051634299323b60e11b815260040160405180910390fd5b80620004bf8162000b12565b9150506200046b565b50505050565b60005b8351811015620004c857838181518110620004f057620004f062000afc565b60200260200101516000036200051957604051634299323b60e11b815260040160405180910390fd5b80620005258162000b12565b915050620004d1565b610dcf8062000b3b83390190565b6001600160a01b03811681146200055257600080fd5b50565b803562000562816200053c565b919050565b6000806000606084860312156200057d57600080fd5b833567ffffffffffffffff8111156200059557600080fd5b84016101808187031215620005a957600080fd5b92506020840135620005bb816200053c565b91506040840135620005cd816200053c565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200061a576200061a620005d8565b604052919050565b6000806000606084860312156200063857600080fd5b833562000645816200053c565b925060208481013562000658816200053c565b9250604085013567ffffffffffffffff808211156200067657600080fd5b818701915087601f8301126200068b57600080fd5b813581811115620006a057620006a0620005d8565b620006b4601f8201601f19168501620005ee565b91508082528884828501011115620006cb57600080fd5b80848401858401376000848284010152508093505050509250925092565b60008060408385031215620006fd57600080fd5b82359150602083013562000711816200053c565b809150509250929050565b6000806000606084860312156200073257600080fd5b8335620005a9816200053c565b600082601f8301126200075157600080fd5b8135602067ffffffffffffffff821115620007705762000770620005d8565b8160051b62000781828201620005ee565b92835284810182019282810190878511156200079c57600080fd5b83870192505b84831015620007bd57823582529183019190830190620007a2565b979650505050505050565b600080600060608486031215620007de57600080fd5b833567ffffffffffffffff80821115620007f757600080fd5b62000805878388016200073f565b945060208601359150808211156200081c57600080fd5b506200082b868287016200073f565b92505060408401358015158114620005cd57600080fd5b6000808335601e198436030181126200085a57600080fd5b830160208101925035905067ffffffffffffffff8111156200087b57600080fd5b8036038213156200088b57600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152813560208201526000620008d66020840162000555565b6001600160a01b0381166040840152506040830135606083015260608301356080830152620009086080840162000555565b6001600160a01b03811660a0840152506200092660a0840162000555565b6001600160a01b03811660c0840152506200094460c0840162000555565b6001600160a01b03811660e08401525061010060e08401358184015261012081850135818501526101409150808501358285015250620009878185018562000842565b91506101806101608181870152620009a56101a08701858562000892565b9350620009b58188018862000842565b878603601f19018489015293509050620007bd84848362000892565b600060208284031215620009e457600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b600060018060a01b038086168352602081861681850152606060408501528451915081606085015260005b8281101562000a4a5785810182015185820160800152810162000a2c565b50506000608082850101526080601f19601f830116840101915050949350505050565b60006060828403121562000a8057600080fd5b6040516060810181811067ffffffffffffffff8211171562000aa65762000aa6620005d8565b60405282518152602083015162000abd816200053c565b60208201526040928301519281019290925250919050565b60006020828403121562000ae857600080fd5b815162000af5816200053c565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60006001820162000b3357634e487b7160e01b600052601160045260246000fd5b506001019056fe608060405260405162000dcf38038062000dcf833981016040819052620000269162000424565b828162000036828260006200004d565b50620000449050826200007f565b50505062000557565b6200005883620000f1565b600082511180620000665750805b156200007a5762000078838362000133565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c160008051602062000d88833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000ee8162000162565b50565b620000fc8162000200565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200015b838360405180606001604052806027815260200162000da86027913962000297565b9392505050565b6001600160a01b038116620001cd5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b8060008051602062000d888339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6200026f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001c4565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc620001df565b6060600080856001600160a01b031685604051620002b6919062000504565b600060405180830381855af49150503d8060008114620002f3576040519150601f19603f3d011682016040523d82523d6000602084013e620002f8565b606091505b5090925090506200030c8683838762000316565b9695505050505050565b606083156200038a57825160000362000382576001600160a01b0385163b620003825760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001c4565b508162000396565b6200039683836200039e565b949350505050565b815115620003af5781518083602001fd5b8060405162461bcd60e51b8152600401620001c4919062000522565b80516001600160a01b0381168114620003e357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200041b57818101518382015260200162000401565b50506000910152565b6000806000606084860312156200043a57600080fd5b6200044584620003cb565b92506200045560208501620003cb565b60408501519092506001600160401b03808211156200047357600080fd5b818601915086601f8301126200048857600080fd5b8151818111156200049d576200049d620003e8565b604051601f8201601f19908116603f01168101908382118183101715620004c857620004c8620003e8565b81604052828152896020848701011115620004e257600080fd5b620004f5836020830160208801620003fe565b80955050505050509250925092565b6000825162000518818460208701620003fe565b9190910192915050565b602081526000825180602084015262000543816040850160208701620003fe565b601f01601f19169190910160400192915050565b61082180620005676000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f7eab1ca665847bc4018294f96a153d69cce361a3d5f12cfd1bc2273590d44a364736f6c63430008140033", + "balance": "0x0" + }, + "0x455B9Bc4d78992D3c215AA37dEa16820d407b4c3": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c21ca915ccc921edec3de901a4d0348cf4bc5bff9797f582b0cf946ba041f74364736f6c63430008140033", + "balance": "0x0" + }, + "0xe1f32A7D3C6C23aA32B903E6518C5cEDa1233dE1": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122035fc1d40b735b2ee73e7108c8c67c328cd61e0193243acbff8377126b576539064736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "ProxiedAddressManager", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063656b06a414610067578063715018a6146100b75780638da5cb5b146100c1578063decd8e39146100d2578063e1c7392a146100e5578063f2fde38b146100ed575b600080fd5b61009b610075366004610466565b60009182526065602090815260408084209284529190529020546001600160a01b031690565b6040516001600160a01b03909116815260200160405180910390f35b6100bf610100565b005b6033546001600160a01b031661009b565b6100bf6100e03660046104a4565b610114565b6100bf6101d4565b6100bf6100fb3660046104d9565b6102ea565b610108610360565b61011260006103ba565b565b61011c610360565b6001600160a01b0381163b15801561013c57506001600160a01b03811633145b1561015a57604051630532024960e01b815260040160405180910390fd5b600083815260656020908152604080832085845282529182902080546001600160a01b038581166001600160a01b0319831681179093558451928352169181018290529091849186917fe41a6e8584d6e19a0dfc5f9331be4ebe61b5f025d45da164c9ca6ee9b837cea9910160405180910390a350505050565b600054610100900460ff16158080156101f45750600054600160ff909116105b8061020e5750303b15801561020e575060005460ff166001145b6102765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610299576000805461ff0019166101001790555b6102a161040c565b80156102e7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6102f2610360565b6001600160a01b0381166103575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026d565b6102e7816103ba565b6033546001600160a01b031633146101125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166104335760405162461bcd60e51b815260040161026d906104fb565b610112600054610100900460ff1661045d5760405162461bcd60e51b815260040161026d906104fb565b610112336103ba565b6000806040838503121561047957600080fd5b50508035926020909101359150565b80356001600160a01b038116811461049f57600080fd5b919050565b6000806000606084860312156104b957600080fd5b83359250602084013591506104d060408501610488565b90509250925092565b6000602082840312156104eb57600080fd5b6104f482610488565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212209632508c2a715b76d0a2d3aa58ee92c804730127c9ce52ca1746b6dd53e3493564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000006": { + "contractName": "AddressManagerProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0xb1e89ee2bb78a419041fe24e740013159340b56d268f604f33f3c055e32347b5": "0x0000000000000000000000001000777700000000000000000000000000000001", + "0x13f577b9913c89bd350f4a404ebd8d505e1c9a69978cbcc8529fdd540bc949f3": "0x0000000000000000000000001000777700000000000000000000000000000004", + "0xd38903d6274a6db84688a349e4b3b67ae5c236d486bf6a62bd09314bf30ba140": "0x0000000000000000000000001000777700000000000000000000000000000002", + "0xbafc6b13b2f0c6eb23ba53cc40dafc5b57926d1acd46063721f26d168d8ac8e6": "0x0000000000000000000000001000777700000000000000000000000000000008", + "0xc278a37e264ab267ad37b6ee48041a93f8cea8fcfcaf9b7fd59d772e0ec551f1": "0x0000000000000000000000001000777700000000000000000000000000000009", + "0x72e9081aff0e8fea1bb15ead8a2c76d8049574549467dd79a558ba6534aacfed": "0x0000000000000000000000001000777700000000000000000000000000000003", + "0x03daec7c59de2c9cb8db9482af6aa07e46780a7bf4f7aa548e6a50a0b38b544d": "0x0000000000000000000000001000777700000000000000000000000000000007", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000006" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "ProxiedTaikoL2", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063bdd6bc361161007c578063bdd6bc36146102f3578063c7b9690814610306578063da69d3db14610320578063dac5df7814610333578063f2fde38b1461033c578063f535bd561461034f57600080fd5b8063715018a61461029b5780638da5cb5b146102a35780639ee512f2146102b4578063a7e022d1146102cd578063a86f9d9e146102e057600080fd5b80634e755573116100ff5780634e755573146101d6578063539b8ade14610218578063591aad8a146102435780635c82e9c2146102755780636c6563f61461028857600080fd5b80630599d2941461013c5780630652b57a1461016257806310da37381461017757806323ac71361461019e5780633ab76e9f146101b1575b600080fd5b61014f61014a36600461171c565b610369565b6040519081526020015b60405180910390f35b61017561017036600461174c565b6103b7565b005b61014f7f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b61014f6101ac36600461171c565b610430565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610159565b6101de6104aa565b6040805182516001600160801b031681526020808401516001600160401b0316908201529181015163ffffffff1690820152606001610159565b60cd5461022b906001600160401b031681565b6040516001600160401b039091168152602001610159565b610256610251366004611769565b61050d565b6040805160ff9094168452602084019290925290820152606001610159565b61017561028336600461179f565b610748565b6101be6102963660046117f0565b610b04565b610175610b1b565b6065546001600160a01b03166101be565b6101be71777735367b36bc9b61c50022d9d0700db4ec81565b61014f6102db366004611839565b610b2f565b6101be6102ee36600461186c565b610b54565b61014f61030136600461171c565b610b6a565b60cd5461022b90600160401b90046001600160401b031681565b61017561032e36600461188f565b610bb5565b61014f60cb5481565b61017561034a36600461174c565b610e1e565b60cd5461022b90600160801b90046001600160401b031681565b6000806001600160401b038316156103815782610395565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020600101549392505050565b6103bf610e97565b6001600160a01b0381166103e657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600043826001600160401b03161061044a57506000919050565b43826001600160401b03161080156104765750610469610100436118eb565b826001600160401b031610155b1561048957506001600160401b03164090565b506001600160401b0316600090815260c9602052604090205490565b919050565b6040805160608101825260008082526020820181905291810191909152506040805160608101825260cc546001600160801b0381168252600160801b81046001600160401b03166020830152600160c01b900463ffffffff169181019190915290565b60008060008360ff1660011415801561052a57508360ff16600214155b156105485760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff16600114610579577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee561059b565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff166001146105d0577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce908186105f2565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610627577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2610649565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff86166001036106835761067c8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92506106f2565b6106cb7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16106c68484600170014551231950b75fc4402da1732fc9bebe19610ef1565b610f40565b90925090506106ef8282600170014551231950b75fc4402da1732fc9bebe19610ef1565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561073f576107368370014551231950b75fc4402da1732fc9bebe196118eb565b92506001851894505b50509250925092565b600054610100900460ff16158080156107685750600054600160ff909116105b806107825750303b158015610782575060005460ff166001145b6107ea5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561080d576000805461ff0019166101001790555b600146111580610821575063ffffffff4610155b1561083f576040516306cffa2760e01b815260040160405180910390fd5b600143111561086157604051635a0f9e4160e11b815260040160405180910390fd5b61087160408301602084016118fe565b63ffffffff1615610a6057610889602083018361171c565b6001600160401b031615806108b457506108a9606083016040840161171c565b6001600160401b0316155b806108d557506108ca608083016060840161171c565b6001600160401b0316155b806108f657506108eb60a083016080840161171c565b6001600160401b0316155b1561091457604051639cc448b560e01b815260040160405180910390fd5b60008061095c61092a606086016040870161171c565b610937602087018761171c565b610947608088016060890161171c565b61095760a0890160808a0161171c565b610f5f565b91509150816001600160801b03166000148061098857506001600160401b036001600160801b03831610155b8061099a57506001600160801b038116155b156109b857604051639cc448b560e01b815260040160405180910390fd5b60cc80546001600160401b038416600160801b026001600160c01b03199091166001600160801b038416171790556109f660408501602086016118fe565b60cc805463ffffffff92909216600160c01b0263ffffffff60c01b199092169190911790556002610a2d606086016040870161171c565b610a37919061192f565b60cd60106101000a8154816001600160401b0302191690836001600160401b0316021790555050505b60cd805467ffffffffffffffff1916426001600160401b0316179055610a858361105e565b610a8e43611077565b5060cb554315610ab9576000610aa56001436118eb565b600081815260c96020526040902090409055505b8015610aff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6000610b1184848461110a565b90505b9392505050565b610b23610e97565b610b2d60006111be565b565b6000610b4c610b3c6104aa565b846001600160401b031684611210565b509392505050565b6000610b6146848461110a565b90505b92915050565b6000806001600160401b03831615610b825782610b96565b60cd54600160401b90046001600160401b03165b6001600160401b0316600090815260ca60205260409020549392505050565b3371777735367b36bc9b61c50022d9d0700db4ec14610be757604051636494e9f760e01b815260040160405180910390fd5b6000610bf46001436118eb565b90508040600080610c0484611077565b915091508160cb5414610c385760cb54604051636340d9fb60e11b81526004810191909152602481018390526044016107e1565b60cb819055600084815260c96020908152604080832086905560cd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038c1690810291909117909155815180830183528c81528084018c815282865260ca8552948390209051815593516001949094019390935580518b81529182018a90527e4ce985b8852a486571d0545799251fd671adcf33b7854a5f0f6a6a2431a555910160405180910390a2600080610cec6104aa565b9050806040015163ffffffff16600014610d505760cd54610d22908290610d1c906001600160401b0316426118eb565b89611210565b60cd80546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905591505b814814610d8357604051634083acad60e01b81526001600160401b038084166004830152481660248201526044016107e1565b60cd80546001600160401b0342811667ffffffffffffffff19909216821790925560408051438416815292851660208401524563ffffffff908116848301526060840192909252608083018890524460a08401524160c08401524690911660e0830152517ff5e89a4a67ffebdbc23df567479d3096c1dba4169c6bbf20ffc6b24d7f6e6e70918190036101000190a150505050505050505050565b610e26610e97565b6001600160a01b038116610e8b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e1565b610e94816111be565b50565b6065546001600160a01b03163314610b2d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e1565b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa610f3657600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b600080856001600160401b0316600003610f7b57610f7b611955565b6000610f8860028861192f565b9050610fa66001600160401b038816680755bf798b4a1bf1e461196b565b9250610fc5610fc084886001600160401b031684896112ad565b61136c565b91506000610fd5848484896112ad565b90506000610fef858585610fea8b6002611985565b6112ad565b9050600082611000836127106119b0565b61100a91906119c7565b9050806001600160401b0316876001600160401b03161461105157604051631530943760e11b81526001600160401b038089166004830152821660248201526044016107e1565b5050505094509492505050565b6110666113d9565b61106e611408565b610e9481611437565b6000806110826116e5565b60005b60ff811080156110985750806001018510155b156110ca576000198186030180408360ff830661010081106110bc576110bc6119db565b602002015250600101611085565b5046611fe0820152612000812092508340816110e760ff876119f1565b61010081106110f8576110f86119db565b60200201526120009020919391925050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117f9190611a05565b90508115801561119657506001600160a01b038116155b15610b1457604051631467050360e21b815260048101859052602481018490526044016107e1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000806000856040015163ffffffff1685029050600061125f828663ffffffff1660cd60109054906101000a90046001600160401b03166001600160401b03160161148090919063ffffffff16565b90506112748282036001600160401b03611496565b9250505061129685602001516001600160401b031686600001518360006112ad565b9150816000036112a557600191505b935093915050565b60006001600160801b038516158015906112cf57506001600160801b03841615155b6112db576112db611955565b60006001600160401b038316156112f257826112f5565b60015b9050600061130c856001600160401b0316886114ab565b9050600061132c61131d8488611a22565b6001600160401b0316896114ab565b90506001600160801b0387166001600160401b03841661134c84846118eb565b61135691906119c7565b61136091906119c7565b98975050505050505050565b60006001600160801b038211156113d55760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016107e1565b5090565b600054610100900460ff166114005760405162461bcd60e51b81526004016107e190611a49565b610b2d6114fd565b600054610100900460ff1661142f5760405162461bcd60e51b81526004016107e190611a49565b610b2d61152a565b6001600160a01b03811661145e57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600081831161148f5781610b61565b5090919050565b60008183116114a55782610b61565b50919050565b6000806114c16001600160801b038416856119b0565b9050680755bf798b4a1bf1e481106114ec5760405163576ff4f160e01b815260040160405180910390fd5b6114f58161155a565b949350505050565b600054610100900460ff166115245760405162461bcd60e51b81526004016107e190611a49565b60018055565b600054610100900460ff166115515760405162461bcd60e51b81526004016107e190611a49565b610b2d336111be565b6000680248ce36a70cb26b3e19821361157557506000919050565b680755bf798b4a1bf1e5821261159e57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b03811681146104a557600080fd5b60006020828403121561172e57600080fd5b610b6182611705565b6001600160a01b0381168114610e9457600080fd5b60006020828403121561175e57600080fd5b8135610b1481611737565b6000806040838503121561177c57600080fd5b82359150602083013560ff8116811461179457600080fd5b809150509250929050565b60008082840360c08112156117b357600080fd5b83356117be81611737565b925060a0601f19820112156117d257600080fd5b506020830190509250929050565b803580151581146104a557600080fd5b60008060006060848603121561180557600080fd5b833592506020840135915061181c604085016117e0565b90509250925092565b803563ffffffff811681146104a557600080fd5b6000806040838503121561184c57600080fd5b61185583611705565b915061186360208401611825565b90509250929050565b6000806040838503121561187f57600080fd5b82359150611863602084016117e0565b600080600080608085870312156118a557600080fd5b84359350602085013592506118bc60408601611705565b91506118ca60608601611825565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b6457610b646118d5565b60006020828403121561191057600080fd5b610b6182611825565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061194957611949611919565b92169190910492915050565b634e487b7160e01b600052600160045260246000fd5b60006001600160801b038084168061194957611949611919565b6001600160401b038181168382160280821691908281146119a8576119a86118d5565b505092915050565b8082028115828204841417610b6457610b646118d5565b6000826119d6576119d6611919565b500490565b634e487b7160e01b600052603260045260246000fd5b600082611a0057611a00611919565b500690565b600060208284031215611a1757600080fd5b8151610b1481611737565b6001600160401b03818116838216019080821115611a4257611a426118d5565b5092915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212205f4efdbc77034498385a78f6fb0b8114f654cc25350f8d3ca6d3701f54f91fd464736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000001": { + "contractName": "TaikoL2Proxy", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0x39d135ad4110ebf27f74d4b2e044581f2a2c91345cd1f81f6c0f3ab5e769f35f", + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x000000000028b0aa000000019fe2e7a60000001532d76dedb5e5af7fbea79f5e", + "0x00000000000000000000000000000000000000000000000000000000000000cd": "0x00000000000000000000000241ed2e8800000000000000000000000065001f60", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000001" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "ProxiedBridge", + "storage": {}, + "code": "0x60806040526004361061012e5760003560e01c8063620c23fb116100ab578063a86f9d9e1161006f578063a86f9d9e14610354578063ce70f39b14610374578063d0496d6a14610394578063ec9b312114610403578063f21be36f14610423578063f2fde38b1461044357600080fd5b8063620c23fb146102c15780636c6563f6146102e1578063715018a6146103015780638da5cb5b14610316578063a4444efd1461033457600080fd5b80634f5f9772116100f25780634f5f9772146101f45780635075a9d414610234578063540be6a3146102615780635d0bd98614610281578063606b5b74146102a157600080fd5b80630652b57a1461013a57806319ab453c1461015c578063263463c81461017c5780633ab76e9f146101af5780634c1888bc146101e157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061015a610155366004612a0c565b610463565b005b34801561016857600080fd5b5061015a610177366004612a0c565b6104dc565b34801561018857600080fd5b5061019c610197366004612a42565b6105f4565b6040519081526020015b60405180910390f35b3480156101bb57600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020016101a6565b61019c6101ef366004612a42565b61060d565b34801561020057600080fd5b5061022461020f366004612a76565b600090815260cd602052604090205460ff1690565b60405190151581526020016101a6565b34801561024057600080fd5b5061025461024f366004612a76565b61063b565b6040516101a69190612ac7565b34801561026d57600080fd5b5061022461027c366004612a76565b610646565b34801561028d57600080fd5b5061022461029c366004612a76565b610652565b3480156102ad57600080fd5b5061019c6102bc366004612a76565b610665565b3480156102cd57600080fd5b5061015a6102dc366004612b1d565b610670565b3480156102ed57600080fd5b506101c96102fc366004612b93565b610696565b34801561030d57600080fd5b5061015a6106ad565b34801561032257600080fd5b506065546001600160a01b03166101c9565b34801561034057600080fd5b5061022461034f366004612bcc565b6106c1565b34801561036057600080fd5b506101c961036f366004612c1e565b6106d9565b34801561038057600080fd5b5061022461038f366004612bcc565b6106e6565b3480156103a057600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260ca5480825260cb546001600160a01b0390811683860190815260cc5493870193845286519283525116938101939093525192820192909252016101a6565b34801561040f57600080fd5b5061015a61041e366004612b1d565b6106f5565b34801561042f57600080fd5b5061015a61043e366004612c4e565b61070d565b34801561044f57600080fd5b5061015a61045e366004612a0c565b61072b565b61046b6107a4565b6001600160a01b03811661049257604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156104fc5750600054600160ff909116105b806105165750303b158015610516575060005460ff166001145b61057e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156105a1576000805461ff0019166101001790555b6105aa826107fe565b80156105f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060761060283612da4565b610817565b92915050565b6000610617610847565b61062b60c93061062685612da4565b6108a0565b905061063660018055565b919050565b600061060782610b71565b60006106073083610b9c565b600061065e3083610c7d565b5092915050565b600061060782610d06565b610678610847565b61068860c9308585856001610d41565b61069160018055565b505050565b60006106a3848484610fbe565b90505b9392505050565b6106b56107a4565b6106bf6000611072565b565b60006106d030868686866110c4565b95945050505050565b60006106a6468484610fbe565b60006106d03086868686611227565b6106fd610847565b61068860c93085858560016114ac565b610715610847565b61072260c930848461197f565b6105f060018055565b6107336107a4565b6001600160a01b0381166107985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610575565b6107a181611072565b50565b6065546001600160a01b031633146106bf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610575565b610806611b55565b61080e611b84565b6107a181611bb3565b60008160405160200161082a9190612eea565b604051602081830303815290604052805190602001209050919050565b6002600154036108995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610575565b6002600155565b60808101516000906001600160a01b03166108ce576040516398fc91f160e01b815260040160405180910390fd5b6000806108df858560600151610c7d565b915091508115806108f35750468460600151145b156109115760405163e822b48d60e01b815260040160405180910390fd5b60a08401516001600160a01b031615806109405750806001600160a01b03168460a001516001600160a01b0316145b1561095e5760405163b9ad6a0f60e01b815260040160405180910390fd5b60008461010001518560e001516109759190612fed565b905034811461099757604051632609a19760e21b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0388169063a86f9d9e906109c790600190600401613000565b602060405180830381865afa1580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a08919061301f565b9050610a1d6001600160a01b03821683611bfc565b8754886000610a2b8361303c565b909155508652336020870152466040870152610a4686610817565b604051635437cecf60e11b81529095506001600160a01b0388169063a86f9d9e90610a7690600090600401613055565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab7919061301f565b6001600160a01b03166366ca2bc0866040518263ffffffff1660e01b8152600401610ae491815260200190565b6020604051808303816000875af1158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b279190613077565b50847f238646a410b383b664b8d2fe57d2895c1ecd3464a3159cae73a93a9f21a4335587604051610b589190612eea565b60405180910390a2505050509392505050565b60018055565b600080610b7d83610d06565b8054909150806003811115610b9457610b94612a8f565b949350505050565b604051635437cecf60e11b81526000906001600160a01b0384169063a86f9d9e90610bcb908490600401613055565b602060405180830381865afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0c919061301f565b604051631933b5e360e11b8152306004820152602481018490526001600160a01b0391909116906332676bc690604401602060405180830381865afa158015610c59573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a69190613090565b600080836001600160a01b0316636c6563f68460016040518363ffffffff1660e01b8152600401610caf9291906130ad565b602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061301f565b6001600160a01b03811615159590945092505050565b60006040518060400160405280600e81526020016d4d4553534147455f53544154555360901b8152508260405160200161082a9291906130cc565b6000610d4f61060286612da4565b600081815260048901602052604090205490915060ff1615610d845760405163bd7e9a9d60e01b815260040160405180910390fd5b818015610d9f5750610d9d868287606001358787611227565b155b15610dbd5760405163498b0b1d60e01b815260040160405180910390fd5b600081815260048089016020526040808320805460ff191660019081179091559051635437cecf60e11b81526001600160a01b038a169263a86f9d9e92610e0692909101613000565b602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061301f565b90506001600160a01b03811615610ebc5760405163ba0bbd9560e01b815230600482015260e087013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015610ea357600080fd5b505af1158015610eb7573d6000803e3d6000fd5b505050505b610ee6631953216560e11b610ed76040890160208a01612a0c565b6001600160a01b031690611cb2565b15610f6257610efb6040870160208801612a0c565b6001600160a01b03166332a642ca8760e00135886040518363ffffffff1660e01b8152600401610f2b919061315c565b6000604051808303818588803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b5050505050610f89565b610f8960e0870135610f7a60a0890160808a01612a0c565b6001600160a01b031690611bfc565b60405182907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa290600090a25050505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa15801561100f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611033919061301f565b90508115801561104a57506001600160a01b038116155b156106a657604051631467050360e21b81526004810185905260248101849052604401610575565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080866001600160a01b0316636c6563f68660006040518363ffffffff1660e01b81526004016110f69291906130ad565b602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611137919061301f565b604051635437cecf60e11b81529091506001600160a01b0388169063a86f9d9e9061116790600090600401613055565b602060405180830381865afa158015611184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a8919061301f565b6001600160a01b0316635221f61386838988886040518663ffffffff1660e01b81526004016111db959493929190613262565b602060405180830381865afa1580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c9190613090565b979650505050505050565b60004684036112495760405163e822b48d60e01b815260040160405180910390fd5b600085900361126b5760405163a6407c9360e01b815260040160405180910390fd5b60006112798385018561332b565b604051635437cecf60e11b8152647461696b6f60d81b60048201526000602482018190529192506001600160a01b0389169063a86f9d9e90604401602060405180830381865afa1580156112d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f5919061301f565b82516101000151604051635eeb5e1b60e11b81526001600160401b0390911660048201526001600160a01b03919091169063bdd6bc3690602401602060405180830381865afa15801561134c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113709190613077565b90508015806113895750815161138590611d2b565b8114155b15611399576000925050506106d0565b815160600151604051633632b1fb60e11b8152738a9f79C3dc6158E58484ceEd46d93c4B0bAD082491636892abdc916001600160a01b038c1690636c6563f6906113ea908c906000906004016130ad565b602060405180830381865afa158015611407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142b919061301f565b6114348b610d06565b602087015160405160e086901b6001600160e01b031916815261145f949392916003916004016134cf565b602060405180830381865af415801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190613090565b98975050505050505050565b6101208401351580156114e057506114ca60a0850160808601612a0c565b6001600160a01b0316336001600160a01b031614155b156114fe5760405163398b635960e21b815260040160405180910390fd5b468460600135146115225760405163e822b48d60e01b815260040160405180910390fd5b600061153061060286612da4565b9050600061153d82610b71565b600381111561154e5761154e612a8f565b1461156c57604051630cfafbf960e01b815260040160405180910390fd5b6000866001600160a01b0316636c6563f6876040013560006040518363ffffffff1660e01b81526004016115a19291906130ad565b602060405180830381865afa1580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e2919061301f565b90508280156116d45750604051635437cecf60e11b81526001600160a01b0388169063a86f9d9e9061161990600090600401613055565b602060405180830381865afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a919061301f565b6001600160a01b0316635221f6138760400135838589896040518663ffffffff1660e01b8152600401611691959493929190613262565b602060405180830381865afa1580156116ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d29190613090565b155b156116f2576040516314504c7360e31b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0389169063a86f9d9e9061172290600190600401613000565b602060405180830381865afa15801561173f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611763919061301f565b90506001600160a01b038116156117f6576001600160a01b03811663ba0bbd95306117976101008b013560e08c0135612fed565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156117dd57600080fd5b505af11580156117f1573d6000803e3d6000fd5b505050505b6000803061180a60c08b0160a08c01612a0c565b6001600160a01b031614806118375750600061182c60c08b0160a08c01612a0c565b6001600160a01b0316145b1561184b57506002905060e08801356118c1565b600061185d60a08b0160808c01612a0c565b6001600160a01b0316336001600160a01b03161461188057896101200135611882565b5a5b905060006118928d8c8985611d50565b905080156118a357600293506118be565b600193506118be6001600160a01b03861660e08d0135611bfc565b50505b6118cb8583611ea7565b6000806118de60e08c0160c08d01612a0c565b6001600160a01b031614611901576118fc60e08b0160c08c01612a0c565b611911565b61191160a08b0160808c01612a0c565b90506001600160a01b038116330361194f576000611934836101008d0135612fed565b90506119496001600160a01b03831682611bfc565b50611971565b61195e336101008c0135611bfc565b6119716001600160a01b03821683611bfc565b505050505050505050505050565b610120820135158061198e5750805b156119d4576119a360a0830160808401612a0c565b6001600160a01b0316336001600160a01b0316146119d45760405163d7f4fc9f60e01b815260040160405180910390fd5b60006119e261060284612da4565b905060016119ef82610b71565b6003811115611a0057611a00612a8f565b14611a1e57604051631f6646b560e01b815260040160405180910390fd5b604051635437cecf60e11b81526000906001600160a01b0386169063a86f9d9e90611a4e90600190600401613000565b602060405180830381865afa158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f919061301f565b90506001600160a01b03811615611b045760405163ba0bbd9560e01b815230600482015260e085013560248201526001600160a01b0382169063ba0bbd9590604401600060405180830381600087803b158015611aeb57600080fd5b505af1158015611aff573d6000803e3d6000fd5b505050505b6000611b128786855a611d50565b90508015611b2a57611b25836002611ea7565b611b4c565b611b35836003611ea7565b611b4c6001600160a01b03831660e0870135611bfc565b50505050505050565b600054610100900460ff16611b7c5760405162461bcd60e51b815260040161057590613502565b6106bf611f20565b600054610100900460ff16611bab5760405162461bcd60e51b815260040161057590613502565b6106bf611f47565b6001600160a01b038116611bda57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b801580611c1057506001600160a01b038216155b15611c19575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611c66576040519150601f19603f3d011682016040523d82523d6000602084013e611c6b565b606091505b50509050806106915760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610575565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611d1f575060408051601f3d908101601f19168201909252611d1c91810190613090565b60015b15610607579392505050565b600080611d41611d3c846000611f77565b612398565b80516020909101209392505050565b600081600003611d7357604051637f0e960960e11b815260040160405180910390fd5b6040518060600160405280848152602001856020016020810190611d979190612a0c565b6001600160a01b039081168252604087810135602093840152835160018a0155918301516002890180546001600160a01b0319169190921617905501516003860155611de960c0850160a08601612a0c565b6001600160a01b03168260e0860135611e0661014088018861354d565b604051611e14929190613593565b600060405180830381858888f193505050503d8060008114611e52576040519150601f19603f3d011682016040523d82523d6000602084013e611e57565b606091505b505060408051606081018252600180825260208201819052600019919092018190528782018290556002880180546001600160a01b03191690921790915560039096019590955550929392505050565b806003811115611eb957611eb9612a8f565b611ec283610b71565b6003811115611ed357611ed3612a8f565b146105f057611ee282826123dc565b817f0af4d5247f6a4028d6699afb62871a76b398da1d1a626c8a9b90e0bd5f54c73c8233604051611f149291906135a3565b60405180910390a25050565b600054610100900460ff16610b6b5760405162461bcd60e51b815260040161057590613502565b600054610100900460ff16611f6e5760405162461bcd60e51b815260040161057590613502565b6106bf33611072565b61020082015160609015611fe257611f90826011612fed565b6001600160401b03811115611fa757611fa7612c94565b604051908082528060200260200182016040528015611fda57816020015b6060815260200190600190039081611fc55790505b509050612051565b6101e083015115611ff857611f90826010612fed565b61200382600f612fed565b6001600160401b0381111561201a5761201a612c94565b60405190808252806020026020018201604052801561204d57816020015b60608152602001906001900390816120385790505b5090505b825161205c90612405565b8160008151811061206f5761206f6135c9565b60200260200101819052506120878360200151612405565b8160018151811061209a5761209a6135c9565b60200260200101819052506120b28360400151612418565b816002815181106120c5576120c56135c9565b60200260200101819052506120dd8360600151612405565b816003815181106120f0576120f06135c9565b60200260200101819052506121088360800151612405565b8160048151811061211b5761211b6135c9565b60200260200101819052506121338360a00151612405565b81600581518110612146576121466135c9565b602002602001018190525061217d8360c0015160405160200161216991906135df565b604051602081830303815290604052612441565b81600681518110612190576121906135c9565b60200260200101819052506121a88360e001516124b0565b816007815181106121bb576121bb6135c9565b60200260200101819052506121dd8361010001516001600160801b03166124b0565b816008815181106121f0576121f06135c9565b60200260200101819052506122098361012001516124be565b8160098151811061221c5761221c6135c9565b60200260200101819052506122358361014001516124be565b81600a81518110612248576122486135c9565b60200260200101819052506122618361016001516124be565b81600b81518110612274576122746135c9565b602002602001018190525061228d836101800151612441565b81600c815181106122a0576122a06135c9565b60200260200101819052506122b9836101a00151612405565b81600d815181106122cc576122cc6135c9565b6020026020010181905250612303836101c00151604051602001612169919060c09190911b6001600160c01b031916815260080190565b81600e81518110612316576123166135c9565b6020026020010181905250826101e0015160001461235b5761233c836101e001516124b0565b81600f8151811061234f5761234f6135c9565b60200260200101819052505b6102008301511561060757612374836102000151612405565b81601081518110612387576123876135c9565b602002602001018190525092915050565b606060006123a5836124d5565b90506123b3815160c061260a565b816040516020016123c5929190613614565b604051602081830303815290604052915050919050565b60006123e783610d06565b905060008260038111156123fd576123fd612a8f565b909155505050565b6060610607612413836127b3565b612441565b604051606082811b6bffffffffffffffffffffffff191660208301529061060790603401612169565b6060808251600114801561246f5750608083600081518110612465576124656135c9565b016020015160f81c105b1561247b575081610607565b6124878351608061260a565b83604051602001612499929190613614565b604051602081830303815290604052905092915050565b606061060761241383612865565b6060610607612413836001600160401b0316612865565b606081516000036124f657604080516000808252602082019092529061065e565b6000805b835181101561253b57838181518110612515576125156135c9565b602002602001015151826125299190612fed565b91506125348161303c565b90506124fa565b6000826001600160401b0381111561255557612555612c94565b6040519080825280601f01601f19166020018201604052801561257f576020820181803683370190505b50600092509050602081015b85518310156126015760008684815181106125a8576125a86135c9565b6020026020010151905060006020820190506125c68382845161298f565b8785815181106125d8576125d86135c9565b602002602001015151836125ec9190612fed565b92505050826125fa9061303c565b925061258b565b50949350505050565b6060806038841015612671576040805160018082528183019092529060208201818036833701905050905061263f8385613643565b60f81b81600081518110612655576126556135c9565b60200101906001600160f81b031916908160001a9053506106a6565b600060015b6126808187613672565b156126a35761268e8261303c565b915061269c61010082613686565b9050612676565b6126ae826001612fed565b6001600160401b038111156126c5576126c5612c94565b6040519080825280601f01601f1916602001820160405280156126ef576020820181803683370190505b5092506126fc8583613643565b612707906037613643565b60f81b8360008151811061271d5761271d6135c9565b60200101906001600160f81b031916908160001a905350600190505b8181116127a95761010061274d828461369d565b61275990610100613794565b6127639088613672565b61276d91906137a0565b60f81b838281518110612782576127826135c9565b60200101906001600160f81b031916908160001a9053506127a28161303c565b9050612739565b5050905092915050565b60606000826040516020016127ca91815260200190565b60408051808303601f1901815260208084528383019092529250600091829160208201818036833701905050905060005b815181101561260157838361280f8161303c565b945081518110612821576128216135c9565b602001015160f81c60f81b82828151811061283e5761283e6135c9565b60200101906001600160f81b031916908160001a90535061285e8161303c565b90506127fb565b606060008260405160200161287c91815260200190565b604051602081830303815290604052905060005b60208110156128d1578181815181106128ab576128ab6135c9565b01602001516001600160f81b0319166000036128d1576128ca8161303c565b9050612890565b60006128de82602061369d565b6001600160401b038111156128f5576128f5612c94565b6040519080825280601f01601f19166020018201604052801561291f576020820181803683370190505b50905060005b81518110156126015783836129398161303c565b94508151811061294b5761294b6135c9565b602001015160f81c60f81b828281518110612968576129686135c9565b60200101906001600160f81b031916908160001a9053506129888161303c565b9050612925565b8282825b602081106129cb57815183526129aa602084612fed565b92506129b7602083612fed565b91506129c460208261369d565b9050612993565b905182516020929092036101000a6000190180199091169116179052505050565b6001600160a01b03811681146107a157600080fd5b8035610636816129ec565b600060208284031215612a1e57600080fd5b81356106a6816129ec565b60006101808284031215612a3c57600080fd5b50919050565b600060208284031215612a5457600080fd5b81356001600160401b03811115612a6a57600080fd5b610b9484828501612a29565b600060208284031215612a8857600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60048110612ac357634e487b7160e01b600052602160045260246000fd5b9052565b602081016106078284612aa5565b60008083601f840112612ae757600080fd5b5081356001600160401b03811115612afe57600080fd5b602083019150836020828501011115612b1657600080fd5b9250929050565b600080600060408486031215612b3257600080fd5b83356001600160401b0380821115612b4957600080fd5b612b5587838801612a29565b94506020860135915080821115612b6b57600080fd5b50612b7886828701612ad5565b9497909650939450505050565b80151581146107a157600080fd5b600080600060608486031215612ba857600080fd5b83359250602084013591506040840135612bc181612b85565b809150509250925092565b60008060008060608587031215612be257600080fd5b843593506020850135925060408501356001600160401b03811115612c0657600080fd5b612c1287828801612ad5565b95989497509550505050565b60008060408385031215612c3157600080fd5b823591506020830135612c4381612b85565b809150509250929050565b60008060408385031215612c6157600080fd5b82356001600160401b03811115612c7757600080fd5b612c8385828601612a29565b9250506020830135612c4381612b85565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715612ccd57612ccd612c94565b60405290565b604080519081016001600160401b0381118282101715612ccd57612ccd612c94565b60405161022081016001600160401b0381118282101715612ccd57612ccd612c94565b600082601f830112612d2957600080fd5b81356001600160401b0380821115612d4357612d43612c94565b604051601f8301601f19908116603f01168101908282118183101715612d6b57612d6b612c94565b81604052838152866020858801011115612d8457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101808236031215612db757600080fd5b612dbf612caa565b82358152612dcf60208401612a01565b60208201526040830135604082015260608301356060820152612df460808401612a01565b6080820152612e0560a08401612a01565b60a0820152612e1660c08401612a01565b60c082015260e0838101359082015261010080840135908201526101208084013590820152610140808401356001600160401b0380821115612e5757600080fd5b612e6336838801612d18565b83850152610160925082860135915080821115612e7f57600080fd5b50612e8c36828701612d18565b918301919091525092915050565b60005b83811015612eb5578181015183820152602001612e9d565b50506000910152565b60008151808452612ed6816020860160208601612e9a565b601f01601f19169290920160200192915050565b602081528151602082015260006020830151612f1160408401826001600160a01b03169052565b5060408301516060830152606083015160808301526080830151612f4060a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052612fb16101a0860184612ebe565b90860151858203601f190183870152909250612fcd8382612ebe565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561060757610607612fd7565b6a195d1a195c97dd985d5b1d60aa1b8152901515602082015260400190565b60006020828403121561303157600080fd5b81516106a6816129ec565b60006001820161304e5761304e612fd7565b5060010190565b6d7369676e616c5f7365727669636560901b8152901515602082015260400190565b60006020828403121561308957600080fd5b5051919050565b6000602082840312156130a257600080fd5b81516106a681612b85565b9182526562726964676560d01b60208301521515604082015260600190565b600083516130de818460208801612e9a565b9190910191825250602001919050565b6000808335601e1984360301811261310557600080fd5b83016020810192503590506001600160401b0381111561312457600080fd5b803603821315612b1657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815281356020820152600061317560208401612a01565b6001600160a01b03811660408401525060408301356060830152606083013560808301526131a560808401612a01565b6001600160a01b03811660a0840152506131c160a08401612a01565b6001600160a01b03811660c0840152506131dd60c08401612a01565b6001600160a01b03811660e08401525061010060e0840135818401526101208185013581850152610140915080850135828501525061321e818501856130ee565b9150610180610160818187015261323a6101a087018585613133565b9350613248818801886130ee565b878603601f1901848901529350905061121c848483613133565b85815260018060a01b038516602082015283604082015260806060820152600061121c608083018486613133565b600082601f8301126132a157600080fd5b6040516101008082018281106001600160401b03821117156132c5576132c5612c94565b604052830181858211156132d857600080fd5b845b828110156132f25780358252602091820191016132da565b509195945050505050565b80356001600160801b038116811461063657600080fd5b80356001600160401b038116811461063657600080fd5b60006020828403121561333d57600080fd5b81356001600160401b038082111561335457600080fd5b908301906040828603121561336857600080fd5b613370612cd3565b82358281111561337f57600080fd5b8301610300818803121561339257600080fd5b61339a612cf5565b81358152602082013560208201526133b460408301612a01565b6040820152606082013560608201526080820135608082015260a082013560a08201526133e48860c08401613290565b60c08201526101c08083013560e08301526101e06134038185016132fd565b610100840152610200613417818601613314565b61012085015261342a6102208601613314565b61014085015261343d6102408601613314565b6101608501526102608501358781111561345657600080fd5b6134628c828801612d18565b610180860152506102808501356101a08501526134826102a08601613314565b838501526102c0850135828501526102e08501358185015250505080835250506020830135828111156134b457600080fd5b6134c087828601612d18565b60208301525095945050505050565b85815260018060a01b038516602082015283604082015282606082015260a06080820152600061121c60a0830184612ebe565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e1984360301811261356457600080fd5b8301803591506001600160401b0382111561357e57600080fd5b602001915036819003821315612b1657600080fd5b8183823760009101908152919050565b604081016135b18285612aa5565b6001600160a01b039290921660209190910152919050565b634e487b7160e01b600052603260045260246000fd5b60008183825b60088110156136045781518352602092830192909101906001016135e5565b5050506101008201905092915050565b60008351613626818460208801612e9a565b83519083019061363a818360208801612e9a565b01949350505050565b60ff818116838216019081111561060757610607612fd7565b634e487b7160e01b600052601260045260246000fd5b6000826136815761368161365c565b500490565b808202811582820484141761060757610607612fd7565b8181038181111561060757610607612fd7565b600181815b808511156136eb5781600019048211156136d1576136d1612fd7565b808516156136de57918102915b93841c93908002906136b5565b509250929050565b60008261370257506001610607565b8161370f57506000610607565b8160018114613725576002811461372f5761374b565b6001915050610607565b60ff84111561374057613740612fd7565b50506001821b610607565b5060208310610133831016604e8410600b841016171561376e575081810a610607565b61377883836136b0565b806000190482111561378c5761378c612fd7565b029392505050565b60006106a683836136f3565b6000826137af576137af61365c565b50069056fea26469706673582212204997777a1031b83fdf2e825630d2f95588a7e236b52b64399419b4df680ff6ee64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000004": { + "contractName": "BridgeProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000004" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "ProxiedERC20Vault", + "storage": {}, + "code": "0x608060405260043610620000fb5760003560e01c8063715018a61162000095578063c287e5781162000060578063c287e57814620002e0578063cb03d23c1462000314578063e2dc9033146200032b578063f2fde38b146200034257600080fd5b8063715018a6146200024b5780638da5cb5b14620002635780639aa8605c1462000283578063a86f9d9e14620002bb57600080fd5b806332a642ca11620000d657806332a642ca14620001965780633ab76e9f14620001ad57806367090ccf14620001e15780636c6563f6146200022657600080fd5b806301ffc9a714620001005780630652b57a146200014a57806319ab453c1462000171575b600080fd5b3480156200010d57600080fd5b50620001356200011f36600462002156565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200015757600080fd5b506200016f62000169366004620021a5565b62000367565b005b3480156200017e57600080fd5b506200016f62000190366004620021a5565b620003e3565b6200016f620001a7366004620021c5565b62000503565b348015620001ba57600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000141565b348015620001ee57600080fd5b50620001c86200020036600462002204565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200023357600080fd5b50620001c86200024536600462002246565b620007b5565b3480156200025857600080fd5b506200016f620007ce565b3480156200027057600080fd5b506065546001600160a01b0316620001c8565b3480156200029057600080fd5b50620002a8620002a2366004620021a5565b620007e6565b60405162000141959493929190620022d6565b348015620002c857600080fd5b50620001c8620002da3660046200232b565b62000947565b348015620002ed57600080fd5b5062000135620002ff366004620021a5565b60c96020526000908152604090205460ff1681565b6200016f6200032536600462002353565b6200095f565b6200016f6200033c366004620023c9565b62000c0f565b3480156200034f57600080fd5b506200016f62000361366004620021a5565b62000fb4565b6200037162001030565b6001600160a01b0381166200039957604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004045750600054600160ff909116105b80620004205750303b15801562000420575060005460ff166001145b620004895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620004ad576000805461ff0019166101001790555b620004b8826200108c565b8015620004ff576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200050d620010ab565b6562726964676560d01b6200052481600162000947565b6001600160a01b0316336001600160a01b0316146200055657604051630d85cccf60e11b815260040160405180910390fd5b60006200056e6562726964676560d01b600062000947565b90506000816001600160a01b031663263463c8856040518263ffffffff1660e01b8152600401620005a0919062002481565b602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620025a2565b9050600080620005f9610140870187620025bc565b6200060991600490829062002606565b8101906200061891906200273f565b919450909250506001600160a01b038316905062000649576040516303f8a7d360e01b815260040160405180910390fd5b801562000739576001600160a01b038216600090815260c9602052604090205460ff1680620006a357506200068e6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316826001600160a01b0316145b156200071157604051632770a7eb60e21b8152306004820152602481018290526001600160a01b03831690639dc29fac90604401600060405180830381600087803b158015620006f257600080fd5b505af115801562000707573d6000803e3d6000fd5b5050505062000739565b620007396200072760a0880160808901620021a5565b6001600160a01b038416908362001106565b6200074b60a0870160808801620021a5565b6001600160a01b0316837f75c5fedbd5fff6123ad9b70827e9742ea1eee996583d6e14249f1429fc4fd99384846040516200079b9291906001600160a01b03929092168252602082015260400190565b60405180910390a35050505050620007b260018055565b50565b6000620007c484848462001165565b90505b9392505050565b620007d862001030565b620007e460006200121f565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b03831693600160a01b90930460ff169290919062000828906200282d565b80601f016020809104026020016040519081016040528092919081815260200182805462000856906200282d565b8015620008a75780601f106200087b57610100808354040283529160200191620008a7565b820191906000526020600020905b8154815290600101906020018083116200088957829003601f168201915b505050505090806003018054620008be906200282d565b80601f0160208091040260200160405190810160405280929190818152602001828054620008ec906200282d565b80156200093d5780601f1062000911576101008083540402835291602001916200093d565b820191906000526020600020905b8154815290600101906020018083116200091f57829003601f168201915b5050505050905085565b60006200095646848462001165565b90505b92915050565b62000969620010ab565b6562726964676560d01b6200098081600162000947565b6001600160a01b0316336001600160a01b031614620009b257604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526a195c98cc8c17dd985d5b1d60aa1b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af415801562000a19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a3f919062002869565b905060004687350362000b1a5762000a5e6040880160208901620021a5565b905062000a7b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316816001600160a01b03160362000afe576040516340c10f1960e01b81526001600160a01b038681166004830152602482018690528216906340c10f1990604401600060405180830381600087803b15801562000adf57600080fd5b505af115801562000af4573d6000803e3d6000fd5b5050505062000b8e565b62000b146001600160a01b038216868662001106565b62000b8e565b62000b258762001271565b6040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801562000b7457600080fd5b505af115801562000b89573d6000803e3d6000fd5b505050505b62000ba36001600160a01b03861634620012d0565b815160408084015181519081526001600160a01b0384811660208301529181018790528188169291891691907f883b72735ca0ee2cdd2a462a393658b1a0b36ebd8756e4c22b7509a92ff86a029060600160405180910390a450505062000c0960018055565b50505050565b62000c19620010ab565b80356a195c98cc8c17dd985d5b1d60aa1b62000c3c6040840160208501620021a5565b62000c4e6060850160408601620021a5565b6001600160a01b038216158062000c83575062000c6e84846000620007b5565b6001600160a01b0316826001600160a01b0316145b1562000ca25760405163def9481360e01b815260040160405180910390fd5b6001600160a01b03811662000cca576040516303f8a7d360e01b815260040160405180910390fd5b846060013560000362000cf057604051634299323b60e11b815260040160405180910390fd5b600062000d7b6040518061018001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b608081015162000db49062000d9760608a0160408b01620021a5565b62000da960408b0160208c01620021a5565b8a606001356200138c565b61014083019190915287356060830181905233608084015290925062000deb906a195c98cc8c17dd985d5b1d60aa1b6000620007b5565b6001600160a01b031660a080830191909152608088013561012083015262000e179088013534620028d1565b60e08083019190915260a088013561010083015262000e3c90880160c08901620021a5565b6001600160a01b031660c082015262000e5960e0880188620025bc565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000eac91506562726964676560d01b90508262000947565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000eda9190620028f3565b60206040518083038185885af115801562000ef9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000f209190620025a2565b905062000f346040890160208a01620021a5565b60808301516001600160a01b039182169116827f91462591aed3d13dcadac8ed73fdc175ec6e79b798ca205822e7ec33dc019e888b3562000f7c60608e0160408f01620021a5565b604080519283526001600160a01b039091166020830152810188905260600160405180910390a450505050505050620007b260018055565b62000fbe62001030565b6001600160a01b038116620010255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000480565b620007b2816200121f565b6065546001600160a01b03163314620007e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000480565b62001096620019db565b620010a062001a0f565b620007b28162001a43565b600260015403620010ff5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000480565b6002600155565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526200115a90849062001a8d565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620011b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011dd9190620029e6565b905081158015620011f557506001600160a01b038116155b15620007c757604051631467050360e21b8152600481018590526024810184905260440162000480565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8035600090815260cb602090815260408083209183916200129891908601908601620021a5565b6001600160a01b03908116825260208201929092526040016000205416905080620012cb57620012c88262001b66565b90505b919050565b801580620012e557506001600160a01b038216155b15620012ef575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200133e576040519150601f19603f3d011682016040523d82523d6000602084013e62001343565b606091505b50509050806200115a5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000480565b60606000620013cf6040518060a001604052806000815260200160006001600160a01b03168152602001600060ff16815260200160608152602001606081525090565b6001600160a01b038616600090815260c9602052604090205460ff161562001603576001600160a01b03868116600090815260ca6020908152604091829020825160a08101845281548152600182015494851692810192909252600160a01b90930460ff169181019190915260028201805491929160608401919062001455906200282d565b80601f016020809104026020016040519081016040528092919081815260200182805462001483906200282d565b8015620014d45780601f10620014a857610100808354040283529160200191620014d4565b820191906000526020600020905b815481529060010190602001808311620014b657829003601f168201915b50505050508152602001600382018054620014ef906200282d565b80601f01602080910402602001604051908101604052809291908181526020018280546200151d906200282d565b80156200156e5780601f1062001542576101008083540402835291602001916200156e565b820191906000526020600020905b8154815290600101906020018083116200155057829003601f168201915b5050509190925250505060208101519091506001600160a01b031662001598576200159862002a06565b604051632770a7eb60e21b8152336004820152602481018590526001600160a01b03871690639dc29fac90604401600060405180830381600087803b158015620015e157600080fd5b505af1158015620015f6573d6000803e3d6000fd5b505050508391506200197a565b60008690506040518060a00160405280468152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001667573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200168d919062002a1c565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620016d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620016fe919081019062002a3c565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001742573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200176c919081019062002a3c565b905291506200178b6a3a30b4b5b7afba37b5b2b760a91b600162000947565b6001600160a01b0316876001600160a01b0316036200180f57604051632770a7eb60e21b8152336004820152602481018690526001600160a01b03881690639dc29fac90604401600060405180830381600087803b158015620017ed57600080fd5b505af115801562001802573d6000803e3d6000fd5b5050505084925062001978565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562001857573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200187d9190620025a2565b6040516323b872dd60e01b8152336004820152306024820152604481018890529091506001600160a01b038316906323b872dd906064016020604051808303816000875af1158015620018d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018fa919062002abc565b506040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa15801562001942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019689190620025a2565b620019749190620028d1565b9350505b505b6040516332c0f48f60e21b906200199c9083908a908990879060240162002adc565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529791965090945050505050565b600054610100900460ff1662001a055760405162461bcd60e51b8152600401620004809062002b79565b620007e462001e42565b600054610100900460ff1662001a395760405162461bcd60e51b8152600401620004809062002b79565b620007e462001e6c565b6001600160a01b03811662001a6b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600062001ae4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662001ea19092919063ffffffff16565b8051909150156200115a578080602001905181019062001b05919062002abc565b6200115a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000480565b60008062001bc360008460405160200162001b82919062002bc4565b604051602081830303815290604052805190602001206040518060200162001baa9062002148565b601f1982820381018352601f9091011660405262001eb2565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001bf36065546001600160a01b031690565b609754636c0db62b60e01b906001600160a01b031662001c1a60408a0160208b01620021a5565b893562001c2e60608c0160408d0162002c5c565b62001c3d60608d018d620025bc565b62001c4c60808f018f620025bc565b60405160200162001c6598979695949392919062002c7c565b60408051601f198184030181529082905262001c85929160200162002cdf565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cb49392919062002d12565b602060405180830381865af415801562001cd2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cf89190620029e6565b6001600160a01b038116600090815260c960209081526040808320805460ff1916600117905560ca9091529020909250839062001d36828262002e60565b50508235600090815260cb6020908152604080832085939092909162001d6291908801908801620021a5565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b031683602001602081019062001dc59190620021a5565b6001600160a01b031684357fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907962001e006060880188620025bc565b62001e0f60808a018a620025bc565b62001e2160608c0160408d0162002c5c565b60405162001e3495949392919062002ef3565b60405180910390a450919050565b600054610100900460ff166200115f5760405162461bcd60e51b8152600401620004809062002b79565b600054610100900460ff1662001e965760405162461bcd60e51b8152600401620004809062002b79565b620007e4336200121f565b6060620007c4848460008562001fbc565b60008347101562001f065760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000480565b815160000362001f595760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000480565b8282516020840186f590506001600160a01b038116620007c75760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000480565b6060824710156200201f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000480565b600080866001600160a01b031685876040516200203d919062002f34565b60006040518083038185875af1925050503d80600081146200207c576040519150601f19603f3d011682016040523d82523d6000602084013e62002081565b606091505b50915091506200209487838387620020a1565b925050505b949350505050565b60608315620021155782516000036200210d576001600160a01b0385163b6200210d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000480565b508162002099565b6200209983838151156200212c5781518083602001fd5b8060405162461bcd60e51b815260040162000480919062002f52565b6119788062002f6883390190565b6000602082840312156200216957600080fd5b81356001600160e01b031981168114620007c757600080fd5b6001600160a01b0381168114620007b257600080fd5b8035620012cb8162002182565b600060208284031215620021b857600080fd5b8135620007c78162002182565b600060208284031215620021d857600080fd5b813567ffffffffffffffff811115620021f057600080fd5b82016101808185031215620007c757600080fd5b600080604083850312156200221857600080fd5b8235915060208301356200222c8162002182565b809150509250929050565b8015158114620007b257600080fd5b6000806000606084860312156200225c57600080fd5b83359250602084013591506040840135620022778162002237565b809150509250925092565b60005b838110156200229f57818101518382015260200162002285565b50506000910152565b60008151808452620022c281602086016020860162002282565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a0606082018190526000906200230b90830185620022a8565b82810360808401526200231f8185620022a8565b98975050505050505050565b600080604083850312156200233f57600080fd5b8235915060208301356200222c8162002237565b600080600080608085870312156200236a57600080fd5b843567ffffffffffffffff8111156200238257600080fd5b850160a081880312156200239557600080fd5b93506020850135620023a78162002182565b92506040850135620023b98162002182565b9396929550929360600135925050565b600060208284031215620023dc57600080fd5b813567ffffffffffffffff811115620023f457600080fd5b82016101008185031215620007c757600080fd5b6000808335601e198436030181126200242057600080fd5b830160208101925035905067ffffffffffffffff8111156200244157600080fd5b8036038213156200245157600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081528135602082015260006200249c6020840162002198565b6001600160a01b0381166040840152506040830135606083015260608301356080830152620024ce6080840162002198565b6001600160a01b03811660a084015250620024ec60a0840162002198565b6001600160a01b03811660c0840152506200250a60c0840162002198565b6001600160a01b03811660e08401525061010060e084013581840152610120818501358185015261014091508085013582850152506200254d8185018562002408565b915061018061016081818701526200256b6101a08701858562002458565b93506200257b8188018862002408565b878603601f190184890152935090506200259784848362002458565b979650505050505050565b600060208284031215620025b557600080fd5b5051919050565b6000808335601e19843603018112620025d457600080fd5b83018035915067ffffffffffffffff821115620025f057600080fd5b6020019150368190038213156200245157600080fd5b600080858511156200261757600080fd5b838611156200262557600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff811182821017156200266e576200266e62002632565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715620026a057620026a062002632565b604052919050565b60ff81168114620007b257600080fd5b600067ffffffffffffffff821115620026d557620026d562002632565b50601f01601f191660200190565b600082601f830112620026f557600080fd5b81356200270c6200270682620026b8565b62002674565b8181528460208386010111156200272257600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156200275657600080fd5b843567ffffffffffffffff808211156200276f57600080fd5b9086019060a082890312156200278457600080fd5b6200278e62002648565b823581526020830135620027a28162002182565b60208201526040830135620027b781620026a8565b6040820152606083013582811115620027cf57600080fd5b620027dd8a828601620026e3565b606083015250608083013582811115620027f657600080fd5b620028048a828601620026e3565b60808301525095506200281d9150506020860162002198565b9250620023b96040860162002198565b600181811c908216806200284257607f821691505b6020821081036200286357634e487b7160e01b600052602260045260246000fd5b50919050565b6000606082840312156200287c57600080fd5b6040516060810181811067ffffffffffffffff82111715620028a257620028a262002632565b604052825181526020830151620028b98162002182565b60208201526040928301519281019290925250919050565b818103818111156200095957634e487b7160e01b600052601160045260246000fd5b6020815281516020820152600060208301516200291b60408401826001600160a01b03169052565b50604083015160608301526060830151608083015260808301516200294b60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052620029be6101a0860184620022a8565b90860151858203601f190183870152909250620029dc8382620022a8565b9695505050505050565b600060208284031215620029f957600080fd5b8151620007c78162002182565b634e487b7160e01b600052600160045260246000fd5b60006020828403121562002a2f57600080fd5b8151620007c781620026a8565b60006020828403121562002a4f57600080fd5b815167ffffffffffffffff81111562002a6757600080fd5b8201601f8101841362002a7957600080fd5b805162002a8a6200270682620026b8565b81815285602083850101111562002aa057600080fd5b62002ab382602083016020860162002282565b95945050505050565b60006020828403121562002acf57600080fd5b8151620007c78162002237565b60808152845160808201526000602086015160018060a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e085015262002b28610120850183620022a8565b91506080880151607f198584030161010086015262002b488382620022a8565b9188166020860152506001600160a01b0386166040850152915062002b6a9050565b82606083015295945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208152813560208201526000602083013562002be18162002182565b6001600160a01b031660408381019190915283013562002c0181620026a8565b60ff811660608401525062002c1a606084018462002408565b60a0608085015262002c3160c08501828462002458565b91505062002c43608085018562002408565b848303601f190160a0860152620029dc83828462002458565b60006020828403121562002c6f57600080fd5b8135620007c781620026a8565b6001600160a01b038981168252881660208201526040810187905260ff8616606082015260c06080820181905260009062002cbb908301868862002458565b82810360a084015262002cd081858762002458565b9b9a5050505050505050505050565b6001600160e01b031983168152815160009062002d0481600485016020870162002282565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002ab390830184620022a8565b601f8211156200115a57600081815260208120601f850160051c8101602086101562002d695750805b601f850160051c820191505b8181101562002d8a5782815560010162002d75565b505050505050565b67ffffffffffffffff83111562002dad5762002dad62002632565b62002dc58362002dbe83546200282d565b8362002d40565b6000601f84116001811462002dfc576000851562002de35750838201355b600019600387901b1c1916600186901b17835562002e59565b600083815260209020601f19861690835b8281101562002e2f578685013582556020948501946001909201910162002e0d565b508682101562002e4d5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135815560018101602083013562002e788162002182565b8154604085013562002e8a81620026a8565b60ff60a01b60a09190911b166001600160a01b03929092166001600160a81b0319919091161717905562002ec26060830183620025bc565b62002ed281836002860162002d92565b505062002ee36080830183620025bc565b62000c0981836003860162002d92565b60608152600062002f0960608301878962002458565b828103602084015262002f1e81868862002458565b91505060ff831660408301529695505050505050565b6000825162002f4881846020870162002282565b9190910192915050565b602081526000620009566020830184620022a856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61188b806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80636c6563f6116100c35780639dc29fac1161007c5780639dc29fac146102fa578063a457c2d71461030d578063a86f9d9e14610320578063a9059cbb14610333578063dd62ed3e14610346578063f2fde38b1461035957600080fd5b80636c6563f61461028a57806370a082311461029d578063715018a6146102c65780637cf8ed0d146102ce5780638da5cb5b146102e157806395d89b41146102f257600080fd5b8063313ce56711610115578063313ce5671461020e57806339509351146102235780633ab76e9f1461023657806340c10f191461025b57806349d126051461026e5780636c0db62b1461027757600080fd5b80630652b57a1461015d57806306fdde0314610172578063095ea7b31461019057806318160ddd146101b357806323b872dd146101c557806326afaadd146101d8575b600080fd5b61017061016b366004611349565b61036c565b005b61017a6103e5565b604051610187919061138a565b60405180910390f35b6101a361019e3660046113bd565b61041f565b6040519015158152602001610187565b60cb545b604051908152602001610187565b6101a36101d33660046113e9565b610439565b6101ef60fb5460fc546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610187565b60fd5460405160ff9091168152602001610187565b6101a36102313660046113bd565b610479565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b6101706102693660046113bd565b61049b565b6101b760fc5481565b6101706102853660046114cd565b610558565b61024361029836600461158c565b6106fe565b6101b76102ab366004611349565b6001600160a01b0316600090815260c9602052604090205490565b61017061070b565b60fb54610243906001600160a01b031681565b6065546001600160a01b0316610243565b61017a61071f565b6101706103083660046113bd565b6107b1565b6101a361031b3660046113bd565b61083b565b61024361032e3660046115c1565b6108c1565b6101a36103413660046113bd565b6108ce565b6101b76103543660046115ed565b610903565b610170610367366004611349565b61092e565b6103746109a7565b6001600160a01b03811661039b57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606103ef610a01565b6103fa60fc54610a10565b60405160200161040b929190611626565b604051602081830303815290604052905090565b60003361042d818585610aa3565b60019150505b92915050565b6000306001600160a01b0384160361046457604051636cfe544760e01b815260040160405180910390fd5b61046f848484610bbf565b90505b9392505050565b60003361042d81858561048c8383610903565b6104969190611664565b610aa3565b6a195c98cc8c17dd985d5b1d60aa1b647461696b6f60d81b6104be8260016108c1565b6001600160a01b0316336001600160a01b0316141580156104fb57506104e58160016108c1565b6001600160a01b0316336001600160a01b031614155b1561051957604051630d85cccf60e11b815260040160405180910390fd5b6105238484610bd8565b6040518381526001600160a01b038516906000906000805160206118368339815191529060200160405180910390a350505050565b600054610100900460ff16158080156105785750600054600160ff909116105b806105925750303b158015610592575060005460ff166001145b6105fa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561061d576000805461ff0019166101001790555b6001600160a01b0386161580610631575084155b8061063b57504685145b8061064557508251155b8061064f57508151155b1561066d57604051635d061ab760e11b815260040160405180910390fd5b61067687610c88565b6106808284610ca1565b60fb80546001600160a01b0319166001600160a01b03881617905560fc85905560fd805460ff191660ff861617905580156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b600061046f848484610cd2565b6107136109a7565b61071d6000610d86565b565b606060cd805461072e90611685565b80601f016020809104026020016040519081016040528092919081815260200182805461075a90611685565b80156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b5050505050905090565b6a195c98cc8c17dd985d5b1d60aa1b6107cb8160016108c1565b6001600160a01b0316336001600160a01b0316146107fc57604051630d85cccf60e11b815260040160405180910390fd5b6108068383610dd8565b6040518281526000906001600160a01b03851690600080516020611836833981519152906020015b60405180910390a3505050565b600033816108498286610903565b9050838110156108a95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105f1565b6108b68286868403610aa3565b506001949350505050565b6000610472468484610cd2565b6000306001600160a01b038416036108f957604051636cfe544760e01b815260040160405180910390fd5b6104728383610ef7565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6109366109a7565b6001600160a01b03811661099b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f1565b6109a481610d86565b50565b6065546001600160a01b0316331461071d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f1565b606060cc805461072e90611685565b60606000610a1d83610f05565b600101905060008167ffffffffffffffff811115610a3d57610a3d61142a565b6040519080825280601f01601f191660200182016040528015610a67576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a7157509392505050565b6001600160a01b038316610b055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f1565b6001600160a01b038216610b665760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f1565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161082e565b600033610bcd858285610fdd565b6108b6858585611057565b6001600160a01b038216610c2e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105f1565b8060cb6000828254610c409190611664565b90915550506001600160a01b038216600081815260c96020908152604080832080548601905551848152600080516020611836833981519152910160405180910390a35b5050565b610c906111f0565b610c9861121f565b6109a48161124e565b600054610100900460ff16610cc85760405162461bcd60e51b81526004016105f1906116bf565b610c848282611297565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d47919061170a565b905081158015610d5e57506001600160a01b038116155b1561047257604051631467050360e21b815260048101859052602481018490526044016105f1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610e385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105f1565b6001600160a01b038216600090815260c9602052604090205481811015610eac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105f1565b6001600160a01b038316600081815260c960209081526040808320868603905560cb8054879003905551858152919291600080516020611836833981519152910161082e565b505050565b60003361042d818585611057565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f445772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f70576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610f8e57662386f26fc10000830492506010015b6305f5e1008310610fa6576305f5e100830492506008015b6127108310610fba57612710830492506004015b60648310610fcc576064830492506002015b600a83106104335760010192915050565b6000610fe98484610903565b9050600019811461105157818110156110445760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105f1565b6110518484848403610aa3565b50505050565b6001600160a01b0383166110bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f1565b6001600160a01b03821661111d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f1565b6001600160a01b038316600090815260c96020526040902054818110156111955760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105f1565b6001600160a01b03808516600081815260c960205260408082208686039055928616808252908390208054860190559151600080516020611836833981519152906111e39086815260200190565b60405180910390a3611051565b600054610100900460ff166112175760405162461bcd60e51b81526004016105f1906116bf565b61071d6112d7565b600054610100900460ff166112465760405162461bcd60e51b81526004016105f1906116bf565b61071d611304565b6001600160a01b03811661127557604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166112be5760405162461bcd60e51b81526004016105f1906116bf565b60cc6112ca8382611775565b5060cd610ef28282611775565b600054610100900460ff166112fe5760405162461bcd60e51b81526004016105f1906116bf565b60018055565b600054610100900460ff1661132b5760405162461bcd60e51b81526004016105f1906116bf565b61071d33610d86565b6001600160a01b03811681146109a457600080fd5b60006020828403121561135b57600080fd5b813561047281611334565b60005b83811015611381578181015183820152602001611369565b50506000910152565b60208152600082518060208401526113a9816040850160208701611366565b601f01601f19169190910160400192915050565b600080604083850312156113d057600080fd5b82356113db81611334565b946020939093013593505050565b6000806000606084860312156113fe57600080fd5b833561140981611334565b9250602084013561141981611334565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261145157600080fd5b813567ffffffffffffffff8082111561146c5761146c61142a565b604051601f8301601f19908116603f011681019082821181831017156114945761149461142a565b816040528381528660208588010111156114ad57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156114e657600080fd5b86356114f181611334565b9550602087013561150181611334565b945060408701359350606087013560ff8116811461151e57600080fd5b9250608087013567ffffffffffffffff8082111561153b57600080fd5b6115478a838b01611440565b935060a089013591508082111561155d57600080fd5b5061156a89828a01611440565b9150509295509295509295565b8035801515811461158757600080fd5b919050565b6000806000606084860312156115a157600080fd5b83359250602084013591506115b860408501611577565b90509250925092565b600080604083850312156115d457600080fd5b823591506115e460208401611577565b90509250929050565b6000806040838503121561160057600080fd5b823561160b81611334565b9150602083013561161b81611334565b809150509250929050565b60008351611638818460208801611366565b6241c55b60e71b9083019081528351611658816004840160208801611366565b01600401949350505050565b8082018082111561043357634e487b7160e01b600052601160045260246000fd5b600181811c9082168061169957607f821691505b6020821081036116b957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561171c57600080fd5b815161047281611334565b601f821115610ef257600081815260208120601f850160051c8101602086101561174e5750805b601f850160051c820191505b8181101561176d5782815560010161175a565b505050505050565b815167ffffffffffffffff81111561178f5761178f61142a565b6117a38161179d8454611685565b84611727565b602080601f8311600181146117d857600084156117c05750858301515b600019600386901b1c1916600185901b17855561176d565b600085815260208120601f198616915b82811015611807578886015182559484019460019091019084016117e8565b50858210156118255787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122084c55b31f1ca31a63eb2f494abc3a7a53871a4d74e8f1a0d4a8487fc410374b564736f6c63430008140033a2646970667358221220fb6838adab59caf0c87ea98c1d46d8afdd628bcbc80e276935e7eb4856c7485964736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000002": { + "contractName": "ERC20VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000002" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000008": { + "contractName": "ProxiedERC721Vault", + "storage": {}, + "code": "0x6080604052600436106200011f5760003560e01c80636c6563f611620000a15780639aa8605c116200006c5780639aa8605c1462000342578063a86f9d9e1462000379578063a9976baf146200039e578063c287e57814620003b5578063f2fde38b14620003e957600080fd5b80636c6563f614620002ce578063715018a614620002f357806373339643146200030b5780638da5cb5b146200032257600080fd5b80632ca069a511620000ee5780632ca069a5146200020457806332a642ca14620002215780633ab76e9f146200023857806359f4a907146200026c57806367090ccf146200028957600080fd5b806301ffc9a714620001245780630652b57a146200016e578063150b7a02146200019557806319ab453c14620001df575b600080fd5b3480156200013157600080fd5b50620001596200014336600462002112565b6001600160e01b031916631953216560e11b1490565b60405190151581526020015b60405180910390f35b3480156200017b57600080fd5b50620001936200018d36600462002161565b6200040e565b005b348015620001a257600080fd5b50620001c5620001b436600462002181565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200162000165565b348015620001ec57600080fd5b5062000193620001fe36600462002161565b6200048a565b3480156200021157600080fd5b50620001c5636cdb3d1360e11b81565b620001936200023236600462002228565b620005aa565b3480156200024557600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000165565b3480156200027957600080fd5b50620001c56380ac58cd60e01b81565b3480156200029657600080fd5b5062000253620002a836600462002266565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002db57600080fd5b5062000253620002ed366004620022a8565b620009cd565b3480156200030057600080fd5b5062000193620009e6565b620001936200031c366004620022e4565b620009fe565b3480156200032f57600080fd5b506065546001600160a01b031662000253565b3480156200034f57600080fd5b50620003676200036136600462002161565b62000eaa565b60405162000165949392919062002376565b3480156200038657600080fd5b506200025362000398366004620023c1565b62000ffd565b62000193620003af366004620024af565b62001015565b348015620003c257600080fd5b5062000159620003d436600462002161565b60c96020526000908152604090205460ff1681565b348015620003f657600080fd5b50620001936200040836600462002161565b62001336565b62000418620013b2565b6001600160a01b0381166200044057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620004ab5750600054600160ff909116105b80620004c75750303b158015620004c7575060005460ff166001145b620005305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000554576000805461ff0019166101001790555b6200055f826200140e565b8015620005a6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b620005b46200142d565b6562726964676560d01b620005cb81600162000ffd565b6001600160a01b0316336001600160a01b031614620005fd57604051630d85cccf60e11b815260040160405180910390fd5b60006200061160a084016080850162002161565b6001600160a01b031603620006395760405163016a294f60e41b815260040160405180910390fd5b468260400135146200065e57604051630a15fbb960e01b815260040160405180910390fd5b600080620006716101408501856200254d565b620006819160049082906200259d565b81019062000690919062002704565b935050509150600073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d632c6a56af86620006c96562726964676560d01b600062000ffd565b86602001516040518463ffffffff1660e01b8152600401620006ee93929190620027c6565b602060405180830381865af41580156200070c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000732919062002920565b6020808501516001600160a01b0316600090815260c9909152604090205490915060ff1615620008245760005b82518110156200081d5760208401516001600160a01b03166340c10f196200078e60a0890160808a0162002161565b858481518110620007a357620007a36200293a565b60200260200101516040518363ffffffff1660e01b8152600401620007dd9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015620007f857600080fd5b505af11580156200080d573d6000803e3d6000fd5b505050508060010190506200075f565b50620008ee565b60005b8251811015620008ec5760208401516001600160a01b03166342842e0e306200085760a08a0160808b0162002161565b8685815181106200086c576200086c6200293a565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620008c757600080fd5b505af1158015620008dc573d6000803e3d6000fd5b5050505080600101905062000827565b505b6200091960e08601356200090960a088016080890162002161565b6001600160a01b03169062001488565b6200092b60a086016080870162002161565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd85602001518560006001600160401b03811115620009785762000978620023e9565b604051908082528060200260200182016040528015620009a2578160200160208202803683370190505b50604051620009b4939291906200298d565b60405180910390a350505050620009ca60018055565b50565b6000620009dc8484846200154f565b90505b9392505050565b620009f0620013b2565b620009fc600062001609565b565b62000a086200142d565b73b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d63c0619cc262000a316080840184620029d1565b62000a406060860186620029d1565b60016040518663ffffffff1660e01b815260040162000a6495949392919062002a50565b60006040518083038186803b15801562000a7d57600080fd5b505af415801562000a92573d6000803e3d6000fd5b5050505073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6393522e3e62000ad183600001356b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b62000ae3604085016020860162002161565b62000af5606086016040870162002161565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160006040518083038186803b15801562000b4557600080fd5b505af415801562000b5a573d6000803e3d6000fd5b5062000b8f92506380ac58cd60e01b915062000b7f9050606084016040850162002161565b6001600160a01b0316906200165b565b62000bad57604051633ee915f560e11b815260040160405180910390fd5b600062000bbe6080830183620029d1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000c0492505050606084016040850162002161565b9050600062000c176060850185620029d1565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525060408051610180810182528281526020810183905290810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810182905261016081019190915293945062000cb292505050565b8435606082015262000cc53386620016d8565b610140820152336080820152606081015162000cf3906b195c98cdcc8c57dd985d5b1d60a21b6000620009cd565b6001600160a01b031660a08083019190915285013561012082015262000d1e60c08601353462002a90565b60e08083019190915260c08601356101008084019190915262000d479190870190870162002161565b6001600160a01b031660c082015262000d656101008601866200254d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000db891506562726964676560d01b90508262000ffd565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000de6919062002ab2565b60206040518083038185885af115801562000e05573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062000e2c919062002920565b905062000e40604087016020880162002161565b6001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b60405162000e93949392919062002b9b565b60405180910390a45050505050620009ca60018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b039092169262000ede9062002bdb565b80601f016020809104026020016040519081016040528092919081815260200182805462000f0c9062002bdb565b801562000f5d5780601f1062000f315761010080835404028352916020019162000f5d565b820191906000526020600020905b81548152906001019060200180831162000f3f57829003601f168201915b50505050509080600301805462000f749062002bdb565b80601f016020809104026020016040519081016040528092919081815260200182805462000fa29062002bdb565b801562000ff35780601f1062000fc75761010080835404028352916020019162000ff3565b820191906000526020600020905b81548152906001019060200180831162000fd557829003601f168201915b5050505050905084565b60006200100c4684846200154f565b90505b92915050565b6200101f6200142d565b6562726964676560d01b6200103681600162000ffd565b6001600160a01b0316336001600160a01b0316146200106857604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526b195c98cdcc8c57dd985d5b1d60a21b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af4158015620010d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f6919062002c17565b9050600046873503620011d15762001115604088016020890162002161565b905060005b8451811015620011ca57816001600160a01b03166323b872dd30888885815181106200114a576200114a6200293a565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620011a557600080fd5b505af1158015620011ba573d6000803e3d6000fd5b505050508060010190506200111a565b506200128c565b620011dc8762001c07565b905060005b84518110156200128a57816001600160a01b03166340c10f19878784815181106200121057620012106200293a565b60200260200101516040518363ffffffff1660e01b81526004016200124a9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200126557600080fd5b505af11580156200127a573d6000803e3d6000fd5b50505050806001019050620011e1565b505b620012a16001600160a01b0386163462001488565b815160408301516001600160a01b0380881692908916917f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b1908589600060405190808252806020026020018201604052801562001308578160200160208202803683370190505b506040516200131b949392919062002b9b565b60405180910390a45050506200133060018055565b50505050565b62001340620013b2565b6001600160a01b038116620013a75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000527565b620009ca8162001609565b6065546001600160a01b03163314620009fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000527565b6200141862001c70565b6200142262001ca4565b620009ca8162001cd8565b600260015403620014815760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000527565b6002600155565b8015806200149d57506001600160a01b038216155b15620014a7575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620014f6576040519150601f19603f3d011682016040523d82523d6000602084013e620014fb565b606091505b5050905080620015445760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640162000527565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620015a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015c7919062002c7e565b905081158015620015df57506001600160a01b038116155b15620009df57604051631467050360e21b8152600481018590526024810184905260440162000527565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015620016cb575060408051601f3d908101601f19168201909252620016c89181019062002c9e565b60015b156200100f579392505050565b6040805160808101825260008082526020820152606091810182905280820182905260c9600062001710606086016040870162002161565b6001600160a01b0316815260208101919091526040016000205460ff1615620019985760ca600062001749606086016040870162002161565b6001600160a01b0390811682526020808301939093526040918201600020825160808101845281548152600182015490921693820193909352600283018054919392840191620017999062002bdb565b80601f0160208091040260200160405190810160405280929190818152602001828054620017c79062002bdb565b8015620018185780601f10620017ec5761010080835404028352916020019162001818565b820191906000526020600020905b815481529060010190602001808311620017fa57829003601f168201915b50505050508152602001600382018054620018339062002bdb565b80601f0160208091040260200160405190810160405280929190818152602001828054620018619062002bdb565b8015620018b25780601f106200188657610100808354040283529160200191620018b2565b820191906000526020600020905b8154815290600101906020018083116200189457829003601f168201915b505050505081525050905060005b620018cf6060850185620029d1565b90508110156200199157620018eb606085016040860162002161565b6001600160a01b0316639dc29fac86620019096060880188620029d1565b858181106200191c576200191c6200293a565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526020029190910135602483015250604401600060405180830381600087803b1580156200196c57600080fd5b505af115801562001981573d6000803e3d6000fd5b50505050806001019050620018c0565b5062001b8c565b6000620019ac606085016040860162002161565b90506040518060800160405280468152602001856040016020810190620019d4919062002161565b6001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a21573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001a4b919081019062002cbe565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001a8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ab9919081019062002cbe565b9052915060005b62001acf6060860186620029d1565b905081101562001b89576001600160a01b0382166323b872dd873062001af960608a018a620029d1565b8681811062001b0c5762001b0c6200293a565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b15801562001b6457600080fd5b505af115801562001b79573d6000803e3d6000fd5b5050505080600101905062001ac0565b50505b63a9976baf60e01b818562001ba8604087016020880162002161565b62001bb76060880188620029d1565b60405160240162001bcd95949392919062002d8b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b8035600090815260cb6020908152604080832091839162001c2e9190860190860162002161565b6001600160a01b0390811682526020820192909252604001600020541690508062001c6b5762001c6862001c628362002dd8565b62001d22565b90505b919050565b600054610100900460ff1662001c9a5760405162461bcd60e51b8152600401620005279062002de6565b620009fc62001f9b565b600054610100900460ff1662001cce5760405162461bcd60e51b8152600401620005279062002de6565b620009fc62001fc5565b6001600160a01b03811662001d0057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008062001d7f60008460405160200162001d3e919062002e31565b604051602081830303815290604052805190602001206040518060200162001d669062002104565b601f1982820381018352601f9091011660405262001ffa565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001daf6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001deb966001600160a01b03909116959493910162002e46565b60408051601f198184030181529082905262001e0b929160200162002e8f565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001e3a9392919062002ec2565b602060405180830381865af415801562001e58573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e7e919062002c7e565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001eec908262002f42565b506060820151600382019062001f03908262002f42565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001f8d92916200300e565b60405180910390a450919050565b600054610100900460ff16620015495760405162461bcd60e51b8152600401620005279062002de6565b600054610100900460ff1662001fef5760405162461bcd60e51b8152600401620005279062002de6565b620009fc3362001609565b6000834710156200204e5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640162000527565b8151600003620020a15760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640162000527565b8282516020840186f590506001600160a01b038116620009df5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640162000527565b611f55806200303883390190565b6000602082840312156200212557600080fd5b81356001600160e01b0319811681146200100c57600080fd5b6001600160a01b0381168114620009ca57600080fd5b803562001c6b816200213e565b6000602082840312156200217457600080fd5b81356200100c816200213e565b6000806000806000608086880312156200219a57600080fd5b8535620021a7816200213e565b94506020860135620021b9816200213e565b93506040860135925060608601356001600160401b0380821115620021dd57600080fd5b818801915088601f830112620021f257600080fd5b8135818111156200220257600080fd5b8960208285010111156200221557600080fd5b9699959850939650602001949392505050565b6000602082840312156200223b57600080fd5b81356001600160401b038111156200225257600080fd5b820161018081850312156200100c57600080fd5b600080604083850312156200227a57600080fd5b8235915060208301356200228e816200213e565b809150509250929050565b8015158114620009ca57600080fd5b600080600060608486031215620022be57600080fd5b83359250602084013591506040840135620022d98162002299565b809150509250925092565b600060208284031215620022f757600080fd5b81356001600160401b038111156200230e57600080fd5b820161012081850312156200100c57600080fd5b60005b838110156200233f57818101518382015260200162002325565b50506000910152565b600081518084526200236281602086016020860162002322565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620023a29083018562002348565b8281036060840152620023b6818562002348565b979650505050505050565b60008060408385031215620023d557600080fd5b8235915060208301356200228e8162002299565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200242a576200242a620023e9565b604052919050565b600082601f8301126200244457600080fd5b813560206001600160401b03821115620024625762002462620023e9565b8160051b62002473828201620023ff565b92835284810182019282810190878511156200248e57600080fd5b83870192505b84831015620023b65782358252918301919083019062002494565b60008060008060808587031215620024c657600080fd5b84356001600160401b0380821115620024de57600080fd5b9086019060808289031215620024f357600080fd5b90945060208601359062002507826200213e565b9093506040860135906200251b826200213e565b909250606086013590808211156200253257600080fd5b50620025418782880162002432565b91505092959194509250565b6000808335601e198436030181126200256557600080fd5b8301803591506001600160401b038211156200258057600080fd5b6020019150368190038213156200259657600080fd5b9250929050565b60008085851115620025ae57600080fd5b83861115620025bc57600080fd5b5050820193919092039150565b60006001600160401b03821115620025e557620025e5620023e9565b50601f01601f191660200190565b600082601f8301126200260557600080fd5b81356200261c6200261682620025c9565b620023ff565b8181528460208386010111156200263257600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082840312156200266257600080fd5b604051608081016001600160401b038282108183111715620026885762002688620023e9565b816040528293508435835260208501359150620026a5826200213e565b8160208401526040850135915080821115620026c057600080fd5b620026ce86838701620025f3565b60408401526060850135915080821115620026e857600080fd5b50620026f785828601620025f3565b6060830152505092915050565b600080600080608085870312156200271b57600080fd5b84356001600160401b03808211156200273357600080fd5b62002741888389016200264f565b95506020870135915062002507826200213e565b6000808335601e198436030181126200276d57600080fd5b83016020810192503590506001600160401b038111156200278d57600080fd5b8036038213156200259657600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152833560608201526000620027e16020860162002154565b6001600160a01b038116608084015250604085013560a0830152606085013560c0830152620028136080860162002154565b6001600160a01b031660e08301526200282f60a0860162002154565b61010062002847818501836001600160a01b03169052565b6200285560c0880162002154565b91506101206200286f818601846001600160a01b03169052565b610140925060e088013583860152610160828901358187015261018092508189013583870152620028a3848a018a62002755565b94509150826101a0870152620028bf6101e0870185846200279d565b9350620028cf818a018a62002755565b9350915050605f19858403016101c0860152620028ee8383836200279d565b93505050506200290960208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b6000602082840312156200293357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015620029825781518752958201959082019060010162002964565b509495945050505050565b6001600160a01b0384168152606060208201819052600090620029b39083018562002950565b8281036040840152620029c7818562002950565b9695505050505050565b6000808335601e19843603018112620029e957600080fd5b8301803591506001600160401b0382111562002a0457600080fd5b6020019150600581901b36038213156200259657600080fd5b81835260006001600160fb1b0383111562002a3757600080fd5b8260051b80836020870137939093016020019392505050565b60608152600062002a6660608301878962002a1d565b828103602084015262002a7b81868862002a1d565b91505082151560408301529695505050505050565b818103818111156200100f57634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002ada60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002b0a60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002b7d6101a086018462002348565b90860151858203601f190183870152909250620029c7838262002348565b8481526001600160a01b038416602082015260806040820181905260009062002bc79083018562002950565b8281036060840152620023b6818562002950565b600181811c9082168062002bf057607f821691505b60208210810362002c1157634e487b7160e01b600052602260045260246000fd5b50919050565b60006060828403121562002c2a57600080fd5b604051606081018181106001600160401b038211171562002c4f5762002c4f620023e9565b60405282518152602083015162002c66816200213e565b60208201526040928301519281019290925250919050565b60006020828403121562002c9157600080fd5b81516200100c816200213e565b60006020828403121562002cb157600080fd5b81516200100c8162002299565b60006020828403121562002cd157600080fd5b81516001600160401b0381111562002ce857600080fd5b8201601f8101841362002cfa57600080fd5b805162002d0b6200261682620025c9565b81815285602083850101111562002d2157600080fd5b62002d3482602083016020860162002322565b95945050505050565b8051825260018060a01b036020820151166020830152600060408201516080604085015262002d70608085018262002348565b90506060830151848203606086015262002d34828262002348565b60808152600062002da0608083018862002d3d565b6001600160a01b03878116602085015286166040840152828103606084015262002dcc81858762002a1d565b98975050505050505050565b600062001c6836836200264f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6020815260006200100c602083018462002d3d565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002e7b9083018562002348565b828103608084015262002dcc818562002348565b6001600160e01b031983168152815160009062002eb481600485016020870162002322565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002d349083018462002348565b601f8211156200154457600081815260208120601f850160051c8101602086101562002f195750805b601f850160051c820191505b8181101562002f3a5782815560010162002f25565b505050505050565b81516001600160401b0381111562002f5e5762002f5e620023e9565b62002f768162002f6f845462002bdb565b8462002ef0565b602080601f83116001811462002fae576000841562002f955750858301515b600019600386901b1c1916600185901b17855562002f3a565b600085815260208120601f198616915b8281101562002fdf5788860151825594840194600190910190840162002fbe565b508582101562002ffe5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003023604083018562002348565b828103602084015262002d3481856200234856fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611e68806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610377578063d1399b1a14610398578063e985e9c5146103ab578063f2fde38b146103e857600080fd5b8063a22cb4651461033e578063a86f9d9e14610351578063b88d4fde1461036457600080fd5b806370a08231146102e3578063715018a6146102f65780637cf8ed0d146102fe5780638da5cb5b1461031257806395d89b41146103235780639dc29fac1461032b57600080fd5b80633ab76e9f1161014b57806349d126051161012557806349d126051461026d5780636352211e1461028557806367e828bf146102985780636c6563f6146102d057600080fd5b80633ab76e9f1461023657806340c10f191461024757806342842e0e1461025a57600080fd5b806301ffc9a7146101935780630652b57a146101bb57806306fdde03146101d0578063081812fc146101e5578063095ea7b31461021057806323b872dd14610223575b600080fd5b6101a66101a136600461171c565b6103fb565b60405190151581526020015b60405180910390f35b6101ce6101c936600461174e565b61044d565b005b6101d86104c6565b6040516101b291906117bb565b6101f86101f33660046117ce565b610501565b6040516001600160a01b0390911681526020016101b2565b6101ce61021e3660046117e7565b610528565b6101ce610231366004611813565b610642565b6097546001600160a01b03166101f8565b6101ce6102553660046117e7565b610676565b6101ce610268366004611813565b6106f7565b61027761012e5481565b6040519081526020016101b2565b6101f86102933660046117ce565b610712565b6102b161012d5461012e546001600160a01b0390911691565b604080516001600160a01b0390931683526020830191909152016101b2565b6101f86102de366004611869565b610772565b6102776102f136600461174e565b610789565b6101ce61080f565b61012d546101f8906001600160a01b031681565b6065546001600160a01b03166101f8565b6101d8610823565b6101ce6103393660046117e7565b6108b5565b6101ce61034c36600461189e565b61096f565b6101f861035f3660046118d3565b61097e565b6101ce610372366004611982565b61098b565b6101d86103853660046117ce565b5060408051602081019091526000815290565b6101ce6103a6366004611a22565b6109c3565b6101a66103b9366004611ab5565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b6101ce6103f636600461174e565b610b56565b60006001600160e01b031982166380ac58cd60e01b148061042c57506001600160e01b03198216635b5e139f60e01b145b8061044757506301ffc9a760e01b6001600160e01b03198316145b92915050565b610455610bcf565b6001600160a01b03811661047c57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606104d0610c29565b6104dc61012e54610c38565b6040516020016104ed929190611aee565b604051602081830303815290604052905090565b600061050c82610ccb565b50600090815260ff60205260409020546001600160a01b031690565b600061053382610712565b9050806001600160a01b0316836001600160a01b0316036105a55760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806105c157506105c181336103b9565b6106335760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161059c565b61063d8383610d2a565b505050565b306001600160a01b0383160361066b57604051636cfe544760e01b815260040160405180910390fd5b61063d838383610d98565b6b195c98cdcc8c57dd985d5b1d60a21b61069181600161097e565b6001600160a01b0316336001600160a01b0316146106c257604051630d85cccf60e11b815260040160405180910390fd5b6106cc8383610dc9565b60405182906001600160a01b03851690600090600080516020611e13833981519152908290a4505050565b61063d8383836040518060200160405280600081525061098b565b600081815260fd60205260408120546001600160a01b0316806104475760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600061077f848484610f42565b90505b9392505050565b60006001600160a01b0382166107f35760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161059c565b506001600160a01b0316600090815260fe602052604090205490565b610817610bcf565b6108216000610ff6565b565b606060fc805461083290611b2c565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611b2c565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6b195c98cdcc8c57dd985d5b1d60a21b6108d081600161097e565b6001600160a01b0316336001600160a01b03161461090157604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b031661091483610712565b6001600160a01b03161461093b576040516302dca79760e41b815260040160405180910390fd5b61094482611048565b60405182906000906001600160a01b03861690600080516020611e13833981519152908390a4505050565b61097a3383836110cb565b5050565b6000610782468484610f42565b610995338361119a565b6109b15760405162461bcd60e51b815260040161059c90611b66565b6109bd8484848461121a565b50505050565b600054610100900460ff16158080156109e35750600054600160ff909116105b806109fd5750303b1580156109fd575060005460ff166001145b610a605760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161059c565b6000805460ff191660011790558015610a83576000805461ff0019166101001790555b6001600160a01b0385161580610a97575083155b80610aa157504684145b80610aab57508251155b80610ab557508151155b15610ad357604051635d061ab760e11b815260040160405180910390fd5b610adc8661124d565b610ae68284611266565b61012d80546001600160a01b0319166001600160a01b03871617905561012e8490558015610b4e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610b5e610bcf565b6001600160a01b038116610bc35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059c565b610bcc81610ff6565b50565b6065546001600160a01b031633146108215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059c565b606060fb805461083290611b2c565b60606000610c4583611297565b600101905060008167ffffffffffffffff811115610c6557610c656118f6565b6040519080825280601f01601f191660200182016040528015610c8f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c9957509392505050565b600081815260fd60205260409020546001600160a01b0316610bcc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161059c565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d5f82610712565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b610da2338261119a565b610dbe5760405162461bcd60e51b815260040161059c90611b66565b61063d83838361136f565b6001600160a01b038216610e1f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610e845760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b600081815260fd60205260409020546001600160a01b031615610ee95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161059c565b6001600160a01b038216600081815260fe602090815260408083208054600101905584835260fd90915280822080546001600160a01b031916841790555183929190600080516020611e13833981519152908290a45050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb79190611bb3565b905081158015610fce57506001600160a01b038116155b1561078257604051631467050360e21b8152600481018590526024810184905260440161059c565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061105382610712565b905061105e82610712565b600083815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b03851680855260fe8452828520805460001901905587855260fd90935281842080549091169055519293508492600080516020611e13833981519152908390a45050565b816001600160a01b0316836001600160a01b03160361112c5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161059c565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806111a683610712565b9050806001600160a01b0316846001600160a01b031614806111ee57506001600160a01b038082166000908152610100602090815260408083209388168352929052205460ff165b806112125750836001600160a01b031661120784610501565b6001600160a01b0316145b949350505050565b61122584848461136f565b611231848484846114c1565b6109bd5760405162461bcd60e51b815260040161059c90611bd0565b6112556115c2565b61125d6115f1565b610bcc81611620565b600054610100900460ff1661128d5760405162461bcd60e51b815260040161059c90611c22565b61097a8282611669565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106112d65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611302576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061132057662386f26fc10000830492506010015b6305f5e1008310611338576305f5e100830492506008015b612710831061134c57612710830492506004015b6064831061135e576064830492506002015b600a83106104475760010192915050565b826001600160a01b031661138282610712565b6001600160a01b0316146113a85760405162461bcd60e51b815260040161059c90611c6d565b6001600160a01b03821661140a5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161059c565b826001600160a01b031661141d82610712565b6001600160a01b0316146114435760405162461bcd60e51b815260040161059c90611c6d565b600081815260ff6020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260fe855283862080546000190190559087168086528386208054600101905586865260fd9094528285208054909216841790915590518493600080516020611e1383398151915291a4505050565b60006001600160a01b0384163b156115b757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611505903390899088908890600401611cb2565b6020604051808303816000875af1925050508015611540575060408051601f3d908101601f1916820190925261153d91810190611cef565b60015b61159d573d80801561156e576040519150601f19603f3d011682016040523d82523d6000602084013e611573565b606091505b5080516000036115955760405162461bcd60e51b815260040161059c90611bd0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611212565b506001949350505050565b600054610100900460ff166115e95760405162461bcd60e51b815260040161059c90611c22565b6108216116a9565b600054610100900460ff166116185760405162461bcd60e51b815260040161059c90611c22565b6108216116d6565b6001600160a01b03811661164757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166116905760405162461bcd60e51b815260040161059c90611c22565b60fb61169c8382611d52565b5060fc61063d8282611d52565b600054610100900460ff166116d05760405162461bcd60e51b815260040161059c90611c22565b60018055565b600054610100900460ff166116fd5760405162461bcd60e51b815260040161059c90611c22565b61082133610ff6565b6001600160e01b031981168114610bcc57600080fd5b60006020828403121561172e57600080fd5b813561078281611706565b6001600160a01b0381168114610bcc57600080fd5b60006020828403121561176057600080fd5b813561078281611739565b60005b8381101561178657818101518382015260200161176e565b50506000910152565b600081518084526117a781602086016020860161176b565b601f01601f19169290920160200192915050565b602081526000610782602083018461178f565b6000602082840312156117e057600080fd5b5035919050565b600080604083850312156117fa57600080fd5b823561180581611739565b946020939093013593505050565b60008060006060848603121561182857600080fd5b833561183381611739565b9250602084013561184381611739565b929592945050506040919091013590565b8035801515811461186457600080fd5b919050565b60008060006060848603121561187e57600080fd5b833592506020840135915061189560408501611854565b90509250925092565b600080604083850312156118b157600080fd5b82356118bc81611739565b91506118ca60208401611854565b90509250929050565b600080604083850312156118e657600080fd5b823591506118ca60208401611854565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611927576119276118f6565b604051601f8501601f19908116603f0116810190828211818310171561194f5761194f6118f6565b8160405280935085815286868601111561196857600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561199857600080fd5b84356119a381611739565b935060208501356119b381611739565b925060408501359150606085013567ffffffffffffffff8111156119d657600080fd5b8501601f810187136119e757600080fd5b6119f68782356020840161190c565b91505092959194509250565b600082601f830112611a1357600080fd5b6107828383356020850161190c565b600080600080600060a08688031215611a3a57600080fd5b8535611a4581611739565b94506020860135611a5581611739565b935060408601359250606086013567ffffffffffffffff80821115611a7957600080fd5b611a8589838a01611a02565b93506080880135915080821115611a9b57600080fd5b50611aa888828901611a02565b9150509295509295909350565b60008060408385031215611ac857600080fd5b8235611ad381611739565b91506020830135611ae381611739565b809150509250929050565b60008351611b0081846020880161176b565b6241c55b60e71b9083019081528351611b2081600484016020880161176b565b01600401949350505050565b600181811c90821680611b4057607f821691505b602082108103611b6057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215611bc557600080fd5b815161078281611739565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ce59083018461178f565b9695505050505050565b600060208284031215611d0157600080fd5b815161078281611706565b601f82111561063d57600081815260208120601f850160051c81016020861015611d335750805b601f850160051c820191505b81811015610b4e57828155600101611d3f565b815167ffffffffffffffff811115611d6c57611d6c6118f6565b611d8081611d7a8454611b2c565b84611d0c565b602080601f831160018114611db55760008415611d9d5750858301515b600019600386901b1c1916600185901b178555610b4e565b600085815260208120601f198616915b82811015611de457888601518255948401946001909101908401611dc5565b5085821015611e025787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220982ed42a531dac25c2cd2d24df34757ecf10be7c97db68448affe62cbba75e9764736f6c63430008140033a2646970667358221220fee14084f7c8b84170ddb74bcefdd41ccd4dfdb6fcb6f2b4715d9e5da996604564736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000008": { + "contractName": "ERC721VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000008" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000009": { + "contractName": "ProxiedERC1155Vault", + "storage": {}, + "code": "0x6080604052600436106200012b5760003560e01c80636c6563f611620000ad578063a86f9d9e116200006c578063a86f9d9e146200035c578063bc197c811462000381578063c287e57814620003b4578063f23a6e6114620003e8578063f2fde38b146200041957600080fd5b80636c6563f614620002b1578063715018a614620002d65780637333964314620002ee5780638da5cb5b14620003055780639aa8605c146200032557600080fd5b80632ca069a511620000fa5780632ca069a514620001cd57806332a642ca14620002045780633ab76e9f146200021b57806359f4a907146200024f57806367090ccf146200026c57600080fd5b806301ffc9a714620001305780630652b57a146200016a57806319ab453c146200019157806320b8155914620001b6575b600080fd5b3480156200013d57600080fd5b50620001556200014f36600462001fcf565b6200043e565b60405190151581526020015b60405180910390f35b3480156200017757600080fd5b506200018f620001893660046200201e565b62000488565b005b3480156200019e57600080fd5b506200018f620001b03660046200201e565b62000504565b6200018f620001c73660046200213b565b62000624565b348015620001da57600080fd5b50620001ea636cdb3d1360e11b81565b6040516001600160e01b0319909116815260200162000161565b6200018f6200021536600462002201565b62000953565b3480156200022857600080fd5b506097546001600160a01b03165b6040516001600160a01b03909116815260200162000161565b3480156200025c57600080fd5b50620001ea6380ac58cd60e01b81565b3480156200027957600080fd5b50620002366200028b3660046200223f565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b348015620002be57600080fd5b5062000236620002d036600462002281565b62000cfb565b348015620002e357600080fd5b506200018f62000d14565b6200018f620002ff36600462002343565b62000d2c565b3480156200031257600080fd5b506065546001600160a01b031662000236565b3480156200033257600080fd5b506200034a620003443660046200201e565b620010a7565b604051620001619493929190620024b5565b3480156200036957600080fd5b50620002366200037b366004620024f5565b620011fa565b3480156200038e57600080fd5b50620001ea620003a0366004620025af565b63bc197c8160e01b98975050505050505050565b348015620003c157600080fd5b5062000155620003d33660046200201e565b60c96020526000908152604090205460ff1681565b348015620003f557600080fd5b50620001ea620004073660046200267b565b63f23a6e6160e01b9695505050505050565b3480156200042657600080fd5b506200018f620004383660046200201e565b62001209565b60006001600160e01b031982166301ffc9a760e01b14806200047057506001600160e01b03198216631953216560e11b145b80620004825750620004828262001285565b92915050565b62000492620012bc565b6001600160a01b038116620004ba57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff1615808015620005255750600054600160ff909116105b80620005415750303b15801562000541575060005460ff166001145b620005aa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620005ce576000805461ff0019166101001790555b620005d98262001318565b801562000620576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6200062e62001337565b6562726964676560d01b62000645816001620011fa565b6001600160a01b0316336001600160a01b0316146200067757604051630d85cccf60e11b815260040160405180910390fd5b60405163881107d960e01b81526c195c98cc4c4d4d57dd985d5b1d609a1b600482015230602482015260009073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9063881107d990604401606060405180830381865af4158015620006e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007069190620026fe565b9050600046883503620007e757620007256040890160208a016200201e565b905060005b8551811015620007e057816001600160a01b031663f242432a30898985815181106200075a576200075a62002765565b602002602001015189868151811062000777576200077762002765565b60200260200101516040518563ffffffff1660e01b8152600401620007a094939291906200277b565b600060405180830381600087803b158015620007bb57600080fd5b505af1158015620007d0573d6000803e3d6000fd5b505050508060010190506200072a565b50620008ce565b620007fc620007f68962002868565b62001392565b905060005b8551811015620008cc57816001600160a01b031663156e29f68888848151811062000830576200083062002765565b60200260200101518885815181106200084d576200084d62002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015620008a757600080fd5b505af1158015620008bc573d6000803e3d6000fd5b5050505080600101905062000801565b505b620008e36001600160a01b03871634620013d3565b856001600160a01b0316876001600160a01b031683600001517f0f60c37489e435ed8490c30b01c1fa57e62510e88b351b75796ad3d95babe6b18560400151858a8a604051620009379493929190620028b3565b60405180910390a45050506200094c60018055565b5050505050565b6200095d62001337565b6562726964676560d01b62000974816001620011fa565b6001600160a01b0316336001600160a01b031614620009a657604051630d85cccf60e11b815260040160405180910390fd5b60008080620009ba610140860186620028f3565b620009ca9160049082906200293c565b810190620009d9919062002968565b9450945050509250600073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d632c6a56af8762000a146562726964676560d01b6000620011fa565b87602001516040518463ffffffff1660e01b815260040162000a399392919062002a2c565b602060405180830381865af415801562000a57573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a7d919062002b86565b6020808601516001600160a01b0316600090815260c9909152604090205490915060ff161562000b915760005b835181101562000b8a5760208501516001600160a01b031663156e29f662000ad960a08a0160808b016200201e565b86848151811062000aee5762000aee62002765565b602002602001015186858151811062000b0b5762000b0b62002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000b6557600080fd5b505af115801562000b7a573d6000803e3d6000fd5b5050505080600101905062000aaa565b5062000c61565b60005b835181101562000c5f5760208501516001600160a01b031663f242432a3062000bc460a08b0160808c016200201e565b87858151811062000bd95762000bd962002765565b602002602001015187868151811062000bf65762000bf662002765565b60200260200101516040518563ffffffff1660e01b815260040162000c1f94939291906200277b565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b5050505080600101905062000b94565b505b62000c8c60e087013562000c7c60a0890160808a016200201e565b6001600160a01b031690620013d3565b62000c9e60a08701608088016200201e565b6001600160a01b0316817fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd8660200151868660405162000ce19392919062002ba0565b60405180910390a3505050505062000cf860018055565b50565b600062000d0a8484846200149a565b90505b9392505050565b62000d1e620012bc565b62000d2a600062001554565b565b62000d3662001337565b60808101516060820151604051636030ce6160e11b815273b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d9263c0619cc29262000d7a9260009060040162002be4565b60006040518083038186803b15801562000d9357600080fd5b505af415801562000da8573d6000803e3d6000fd5b5050505073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6393522e3e62000de883600001516c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b602084015160408086015190516001600160e01b031960e086901b1681526001600160a01b039384166004820152918316602483015291909116604482015260640160006040518083038186803b15801562000e4357600080fd5b505af415801562000e58573d6000803e3d6000fd5b505050604082015162000e7d91506001600160a01b0316636cdb3d1360e11b620015a6565b62000e9b57604051633ee915f560e11b815260040160405180910390fd5b60808082015160408084015160608086015183516101808101855260008082526020820181905294810185905280830185905295860184905260a0860184905260c0860184905260e086018490526101008601849052610120860193909352610140850181905261016085015291928451606082015262000f1d338662001623565b610140820152336080820152606081015162000f4c906c195c98cc4c4d4d57dd985d5b1d609a1b600062000cfb565b6001600160a01b031660a08083019190915285015161012082015260c085015162000f78903462002c20565b60e08083019190915260c08087015161010080850191909152918701516001600160a01b031690830152850151610160820152600062000fc26562726964676560d01b82620011fa565b6001600160a01b0316634c1888bc34846040518363ffffffff1660e01b815260040162000ff0919062002c42565b60206040518083038185885af11580156200100f573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062001036919062002b86565b905085602001516001600160a01b031682608001516001600160a01b0316827f5e54276405062454e6226625b28a6fea0a838d6b054e38955667234afb3345a3856060015188888b604051620010909493929190620028b3565b60405180910390a4505050505062000cf860018055565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b0390921692620010db9062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620011099062002d2b565b80156200115a5780601f106200112e576101008083540402835291602001916200115a565b820191906000526020600020905b8154815290600101906020018083116200113c57829003601f168201915b505050505090806003018054620011719062002d2b565b80601f01602080910402602001604051908101604052809291908181526020018280546200119f9062002d2b565b8015620011f05780601f10620011c457610100808354040283529160200191620011f0565b820191906000526020600020905b815481529060010190602001808311620011d257829003601f168201915b5050505050905084565b600062000d0d4684846200149a565b62001213620012bc565b6001600160a01b0381166200127a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005a1565b62000cf88162001554565b60006001600160e01b03198216630271189760e51b14806200048257506301ffc9a760e01b6001600160e01b031983161462000482565b6065546001600160a01b0316331462000d2a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620005a1565b6200132262001b2d565b6200132c62001b61565b62000cf88162001b95565b6002600154036200138b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401620005a1565b6002600155565b8051600090815260cb60209081526040808320828501516001600160a01b0390811685529252909120541680620013ce57620004828262001bdf565b919050565b801580620013e857506001600160a01b038216155b15620013f2575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811462001441576040519150601f19603f3d011682016040523d82523d6000602084013e62001446565b606091505b50509050806200148f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401620005a1565b505050565b60018055565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015620014ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001512919062002d67565b9050811580156200152a57506001600160a01b038116155b1562000d0d57604051631467050360e21b81526004810185905260248101849052604401620005a1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516301ffc9a760e01b81526001600160e01b0319821660048201526000906001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001616575060408051601f3d908101601f19168201909252620016139181019062002d87565b60015b1562000482579392505050565b604080516080810182526000808252602082015260609181018290528082018290526040808401516001600160a01b0316600090815260c9602052205460ff1615620018c7576040808401516001600160a01b03908116600090815260ca6020908152908390208351608081018552815481526001820154909316918301919091526002810180549293919291840191620016be9062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620016ec9062002d2b565b80156200173d5780601f1062001711576101008083540402835291602001916200173d565b820191906000526020600020905b8154815290600101906020018083116200171f57829003601f168201915b50505050508152602001600382018054620017589062002d2b565b80601f0160208091040260200160405190810160405280929190818152602001828054620017869062002d2b565b8015620017d75780601f10620017ab57610100808354040283529160200191620017d7565b820191906000526020600020905b815481529060010190602001808311620017b957829003601f168201915b505050505081525050905060005b836060015151811015620018c05783604001516001600160a01b031663f5298aca868660600151848151811062001820576200182062002765565b60200260200101518760800151858151811062001841576200184162002765565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b1580156200189b57600080fd5b505af1158015620018b0573d6000803e3d6000fd5b50505050806001019050620017e5565b5062001ac6565b604051806080016040528046815260200184604001516001600160a01b03168152602001604051806020016040528060008152508152602001604051806020016040528060008152508152509050600083604001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156200198057506040513d6000823e601f3d908101601f191682016040526200197d919081019062002da7565b60015b156200198c5760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa925050508015620019ee57506040513d6000823e601f3d908101601f19168201604052620019eb919081019062002da7565b60015b15620019fa5760408301525b60005b84606001515181101562001ac35784604001516001600160a01b031663f242432a33308860600151858151811062001a395762001a3962002765565b60200260200101518960800151868151811062001a5a5762001a5a62002765565b60200260200101516040518563ffffffff1660e01b815260040162001a8394939291906200277b565b600060405180830381600087803b15801562001a9e57600080fd5b505af115801562001ab3573d6000803e3d6000fd5b50505050806001019050620019fd565b50505b6020830151606084015160808501516040516320b8155960e01b9362001af39386938a9360240162002e74565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152949350505050565b600054610100900460ff1662001b575760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a62001e58565b600054610100900460ff1662001b8b5760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a62001e82565b6001600160a01b03811662001bbd57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60008062001c3c60008460405160200162001bfb919062002f21565b604051602081830303815290604052805190602001206040518060200162001c239062001fc1565b601f1982820381018352601f9091011660405262001eb7565b905073b2Bcd028F53637a4FC4E06C52d247F38f44cBe4d6378adc0d68262001c6c6065546001600160a01b031690565b60975460208089015189516040808c015160608d0151915163689ccd8d60e11b9662001ca8966001600160a01b03909116959493910162002f36565b60408051601f198184030181529082905262001cc8929160200162002f7f565b6040516020818303038152906040526040518463ffffffff1660e01b815260040162001cf79392919062002fb2565b602060405180830381865af415801562001d15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d3b919062002d67565b6001600160a01b03818116600090815260c9602090815260408083208054600160ff19909116811790915560ca835292819020885181559188015192820180546001600160a01b03191693909416929092179092558501519193508491600282019062001da9908262003032565b506060820151600382019062001dc0908262003032565b50508351600090815260cb6020908152604080832082880180516001600160a01b039081168652919093529281902080546001600160a01b031916878516908117909155915187518289015160608a015193519496509190941693927f2da3c4d305298f6df3653c23d98b4c055f72f7e6f981b2c477ccbec92b1ee5799262001e4a9291620030fe565b60405180910390a450919050565b600054610100900460ff16620014945760405162461bcd60e51b8152600401620005a19062002ed6565b600054610100900460ff1662001eac5760405162461bcd60e51b8152600401620005a19062002ed6565b62000d2a3362001554565b60008347101562001f0b5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401620005a1565b815160000362001f5e5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401620005a1565b8282516020840186f590506001600160a01b03811662000d0d5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401620005a1565b612546806200312883390190565b60006020828403121562001fe257600080fd5b81356001600160e01b03198116811462000d0d57600080fd5b6001600160a01b038116811462000cf857600080fd5b8035620013ce8162001ffb565b6000602082840312156200203157600080fd5b813562000d0d8162001ffb565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156200207a576200207a6200203e565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620020ab57620020ab6200203e565b604052919050565b600082601f830112620020c557600080fd5b813560206001600160401b03821115620020e357620020e36200203e565b8160051b620020f482820162002080565b92835284810182019282810190878511156200210f57600080fd5b83870192505b84831015620021305782358252918301919083019062002115565b979650505050505050565b600080600080600060a086880312156200215457600080fd5b85356001600160401b03808211156200216c57600080fd5b908701906080828a0312156200218157600080fd5b909550602087013590620021958262001ffb565b909450604087013590620021a98262001ffb565b90935060608701359080821115620021c057600080fd5b620021ce89838a01620020b3565b93506080880135915080821115620021e557600080fd5b50620021f488828901620020b3565b9150509295509295909350565b6000602082840312156200221457600080fd5b81356001600160401b038111156200222b57600080fd5b8201610180818503121562000d0d57600080fd5b600080604083850312156200225357600080fd5b823591506020830135620022678162001ffb565b809150509250929050565b801515811462000cf857600080fd5b6000806000606084860312156200229757600080fd5b83359250602084013591506040840135620022b28162002272565b809150509250925092565b60006001600160401b03821115620022d957620022d96200203e565b50601f01601f191660200190565b600082601f830112620022f957600080fd5b8135620023106200230a82620022bd565b62002080565b8181528460208386010111156200232657600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156200235657600080fd5b81356001600160401b03808211156200236e57600080fd5b9083019061012082860312156200238457600080fd5b6200238e62002054565b82358152620023a06020840162002011565b6020820152620023b36040840162002011565b6040820152606083013582811115620023cb57600080fd5b620023d987828601620020b3565b606083015250608083013582811115620023f257600080fd5b6200240087828601620020b3565b60808301525060a083013560a082015260c083013560c08201526200242860e0840162002011565b60e082015261010080840135838111156200244257600080fd5b6200245088828701620022e7565b918301919091525095945050505050565b60005b838110156200247e57818101518382015260200162002464565b50506000910152565b60008151808452620024a181602086016020860162002461565b601f01601f19169290920160200192915050565b8481526001600160a01b0384166020820152608060408201819052600090620024e19083018562002487565b828103606084015262002130818562002487565b600080604083850312156200250957600080fd5b823591506020830135620022678162002272565b60008083601f8401126200253057600080fd5b5081356001600160401b038111156200254857600080fd5b6020830191508360208260051b85010111156200256457600080fd5b9250929050565b60008083601f8401126200257e57600080fd5b5081356001600160401b038111156200259657600080fd5b6020830191508360208285010111156200256457600080fd5b60008060008060008060008060a0898b031215620025cc57600080fd5b8835620025d98162001ffb565b97506020890135620025eb8162001ffb565b965060408901356001600160401b03808211156200260857600080fd5b620026168c838d016200251d565b909850965060608b01359150808211156200263057600080fd5b6200263e8c838d016200251d565b909650945060808b01359150808211156200265857600080fd5b50620026678b828c016200256b565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156200269557600080fd5b8635620026a28162001ffb565b95506020870135620026b48162001ffb565b9450604087013593506060870135925060808701356001600160401b03811115620026de57600080fd5b620026ec89828a016200256b565b979a9699509497509295939492505050565b6000606082840312156200271157600080fd5b604051606081018181106001600160401b03821117156200273657620027366200203e565b6040528251815260208301516200274d8162001ffb565b60208201526040928301519281019290925250919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b600060808284031215620027c657600080fd5b604051608081016001600160401b038282108183111715620027ec57620027ec6200203e565b816040528293508435835260208501359150620028098262001ffb565b81602084015260408501359150808211156200282457600080fd5b6200283286838701620022e7565b604084015260608501359150808211156200284c57600080fd5b506200285b85828601620022e7565b6060830152505092915050565b6000620004823683620027b3565b600081518084526020808501945080840160005b83811015620028a8578151875295820195908201906001016200288a565b509495945050505050565b8481526001600160a01b0384166020820152608060408201819052600090620028df9083018562002876565b828103606084015262002130818562002876565b6000808335601e198436030181126200290b57600080fd5b8301803591506001600160401b038211156200292657600080fd5b6020019150368190038213156200256457600080fd5b600080858511156200294d57600080fd5b838611156200295b57600080fd5b5050820193919092039150565b600080600080600060a086880312156200298157600080fd5b85356001600160401b03808211156200299957600080fd5b620029a789838a01620027b3565b965060208801359150620021958262001ffb565b6000808335601e19843603018112620029d357600080fd5b83016020810192503590506001600160401b03811115620029f357600080fd5b8036038213156200256457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815283356060820152600062002a476020860162002011565b6001600160a01b038116608084015250604085013560a0830152606085013560c083015262002a796080860162002011565b6001600160a01b031660e083015262002a9560a0860162002011565b61010062002aad818501836001600160a01b03169052565b62002abb60c0880162002011565b915061012062002ad5818601846001600160a01b03169052565b610140925060e08801358386015261016082890135818701526101809250818901358387015262002b09848a018a620029bb565b94509150826101a087015262002b256101e08701858462002a03565b935062002b35818a018a620029bb565b9350915050605f19858403016101c086015262002b5483838362002a03565b935050505062002b6f60208301856001600160a01b03169052565b6001600160a01b0383166040830152949350505050565b60006020828403121562002b9957600080fd5b5051919050565b6001600160a01b038416815260606020820181905260009062002bc69083018562002876565b828103604084015262002bda818562002876565b9695505050505050565b60608152600062002bf9606083018662002876565b828103602084015262002c0d818662002876565b9150508215156040830152949350505050565b818103818111156200048257634e487b7160e01b600052601160045260246000fd5b60208152815160208201526000602083015162002c6a60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015162002c9a60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e083015161010083810191909152830151610120808401919091528301516101408084019190915283015161018061016080850182905262002d0d6101a086018462002487565b90860151858203601f19018387015290925062002bda838262002487565b600181811c9082168062002d4057607f821691505b60208210810362002d6157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562002d7a57600080fd5b815162000d0d8162001ffb565b60006020828403121562002d9a57600080fd5b815162000d0d8162002272565b60006020828403121562002dba57600080fd5b81516001600160401b0381111562002dd157600080fd5b8201601f8101841362002de357600080fd5b805162002df46200230a82620022bd565b81815285602083850101111562002e0a57600080fd5b62002e1d82602083016020860162002461565b95945050505050565b8051825260018060a01b036020820151166020830152600060408201516080604085015262002e59608085018262002487565b90506060830151848203606086015262002e1d828262002487565b60a08152600062002e8960a083018862002e26565b6001600160a01b03878116602085015286166040840152828103606084015262002eb4818662002876565b9050828103608084015262002eca818562002876565b98975050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208152600062000d0d602083018462002e26565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009062002f6b9083018562002487565b828103608084015262002eca818562002487565b6001600160e01b031983168152815160009062002fa481600485016020870162002461565b919091016004019392505050565b6001600160a01b0384811682528316602082015260606040820181905260009062002e1d9083018462002487565b601f8211156200148f57600081815260208120601f850160051c81016020861015620030095750805b601f850160051c820191505b818110156200302a5782815560010162003015565b505050505050565b81516001600160401b038111156200304e576200304e6200203e565b62003066816200305f845462002d2b565b8462002fe0565b602080601f8311600181146200309e5760008415620030855750858301515b600019600386901b1c1916600185901b1785556200302a565b600085815260208120601f198616915b82811015620030cf57888601518255948401946001909101908401620030ae565b5085821015620030ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003113604083018562002487565b828103602084015262002e1d81856200248756fe608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61245880620000ee6000396000f3fe608060405234801561001057600080fd5b50600436106101415760003560e01c8063715018a6116100b8578063a86f9d9e1161007c578063a86f9d9e1461029c578063d1399b1a146102af578063e985e9c5146102c2578063f242432a146102fe578063f2fde38b14610311578063f5298aca1461032457600080fd5b8063715018a6146102545780637cf8ed0d1461025c5780638da5cb5b1461027057806395d89b4114610281578063a22cb4651461028957600080fd5b8063156e29f61161010a578063156e29f6146101cc5780632eb2c2d6146101df5780633ab76e9f146101f257806349d12605146102175780634e1273f4146102215780636c6563f61461024157600080fd5b8062fdd58e1461014657806301ffc9a71461016c5780630652b57a1461018f57806306fdde03146101a45780630e89341c146101b9575b600080fd5b6101596101543660046118e5565b610337565b6040519081526020015b60405180910390f35b61017f61017a366004611927565b6103d2565b6040519015158152602001610163565b6101a261019d366004611944565b610422565b005b6101ac61049b565b60405161016391906119b1565b6101ac6101c73660046119c4565b6104d1565b6101a26101da3660046119dd565b610565565b6101a26101ed366004611b5e565b61061b565b6097546001600160a01b03165b6040516001600160a01b039091168152602001610163565b61015961012e5481565b61023461022f366004611c0c565b610667565b6040516101639190611d14565b6101ff61024f366004611d3c565b610791565b6101a26107a8565b61012d546101ff906001600160a01b031681565b6065546001600160a01b03166101ff565b6101ac6107bc565b6101a2610297366004611d71565b61084b565b6101ff6102aa366004611da6565b61085a565b6101a26102bd366004611dc9565b610867565b61017f6102d0366004611e2c565b6001600160a01b03918216600090815260fc6020908152604080832093909416825291909152205460ff1690565b6101a261030c366004611e65565b610a10565b6101a261031f366004611944565b610a46565b6101a26103323660046119dd565b610abf565b60006001600160a01b0383166103a75760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815260fb602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061040357506001600160e01b031982166303a24d0760e21b145b806103cc57506301ffc9a760e01b6001600160e01b03198316146103cc565b61042a610b5b565b6001600160a01b03811661045157604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b60606101306104ac61012e54610bb5565b6040516020016104bd929190611f08565b604051602081830303815290604052905090565b606060fd80546104e090611ece565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90611ece565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b50505050509050919050565b6c195c98cc4c4d4d57dd985d5b1d609a1b61058181600161085a565b6001600160a01b0316336001600160a01b0316146105b257604051630d85cccf60e11b815260040160405180910390fd5b6105cd84848460405180602001604052806000815250610c48565b60408051848152602081018490526001600160a01b038616916000917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc4491015b60405180910390a350505050565b6001600160a01b038516331480610637575061063785336102d0565b6106535760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585610d5e565b5050505050565b606081518351146106cc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161039e565b6000835167ffffffffffffffff8111156106e8576106e8611a12565b604051908082528060200260200182016040528015610711578160200160208202803683370190505b50905060005b84518110156107895761075c85828151811061073557610735611fec565b602002602001015185838151811061074f5761074f611fec565b6020026020010151610337565b82828151811061076e5761076e611fec565b602090810291909101015261078281612018565b9050610717565b509392505050565b600061079e848484610f36565b90505b9392505050565b6107b0610b5b565b6107ba6000610fea565b565b61012f80546107ca90611ece565b80601f01602080910402602001604051908101604052809291908181526020018280546107f690611ece565b80156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b61085633838361103c565b5050565b60006107a1468484610f36565b600054610100900460ff16158080156108875750600054600160ff909116105b806108a15750303b1580156108a1575060005460ff166001145b6109045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161039e565b6000805460ff191660011790558015610927576000805461ff0019166101001790555b6001600160a01b038516158061093b575083155b8061094557504684145b1561096357604051635d061ab760e11b815260040160405180910390fd5b61096c8661111c565b61098460405180602001604052806000815250611135565b61012d80546001600160a01b0319166001600160a01b03871617905561012e84905561012f6109b3848261207c565b506101306109c1838261207c565b508015610a08576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b306001600160a01b03851603610a3957604051636cfe544760e01b815260040160405180910390fd5b6106608585858585611165565b610a4e610b5b565b6001600160a01b038116610ab35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161039e565b610abc81610fea565b50565b6c195c98cc4c4d4d57dd985d5b1d609a1b610adb81600161085a565b6001600160a01b0316336001600160a01b031614610b0c57604051630d85cccf60e11b815260040160405180910390fd5b610b178484846111aa565b60408051848152602081018490526000916001600160a01b038716917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910161060d565b6065546001600160a01b031633146107ba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039e565b60606000610bc283611329565b600101905060008167ffffffffffffffff811115610be257610be2611a12565b6040519080825280601f01601f191660200182016040528015610c0c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c1657509392505050565b6001600160a01b038416610ca85760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161039e565b336000610cb485611401565b90506000610cc185611401565b9050600086815260fb602090815260408083206001600160a01b038b16845290915281208054879290610cf590849061213c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610d558360008989898961144c565b50505050505050565b8151835114610dc05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b606482015260840161039e565b6001600160a01b038416610de65760405162461bcd60e51b815260040161039e9061214f565b3360005b8451811015610ed0576000858281518110610e0757610e07611fec565b602002602001015190506000858381518110610e2557610e25611fec565b602090810291909101810151600084815260fb835260408082206001600160a01b038e168352909352919091205490915081811015610e765760405162461bcd60e51b815260040161039e90612194565b600083815260fb602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610eb590849061213c565b9250508190555050505080610ec990612018565b9050610dea565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610f209291906121de565b60405180910390a4610a088187878787876115a7565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fab919061220c565b905081158015610fc257506001600160a01b038116155b156107a157604051631467050360e21b8152600481018590526024810184905260440161039e565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036110af5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161039e565b6001600160a01b03838116600081815260fc6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611124611662565b61112c611691565b610abc816116c0565b600054610100900460ff1661115c5760405162461bcd60e51b815260040161039e90612229565b610abc81611709565b6001600160a01b038516331480611181575061118185336102d0565b61119d5760405162461bcd60e51b815260040161039e90611f9e565b6106608585858585611739565b6001600160a01b03831661120c5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161039e565b33600061121884611401565b9050600061122584611401565b604080516020808201835260009182905288825260fb81528282206001600160a01b038b16835290522054909150848110156112af5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b606482015260840161039e565b600086815260fb602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610d55565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611394576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113b257662386f26fc10000830492506010015b6305f5e10083106113ca576305f5e100830492506008015b61271083106113de57612710830492506004015b606483106113f0576064830492506002015b600a83106103cc5760010192915050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061143b5761143b611fec565b602090810291909101015292915050565b6001600160a01b0384163b15610a085760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906114909089908990889088908890600401612274565b6020604051808303816000875af19250505080156114cb575060408051601f3d908101601f191682019092526114c8918101906122b9565b60015b611577576114d76122d6565b806308c379a00361151057506114eb6122f2565b806114f65750611512565b8060405162461bcd60e51b815260040161039e91906119b1565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161039e565b6001600160e01b0319811663f23a6e6160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b6001600160a01b0384163b15610a085760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115eb90899089908890889088906004016123c4565b6020604051808303816000875af1925050508015611626575060408051601f3d908101601f19168201909252611623918101906122b9565b60015b611632576114d76122d6565b6001600160e01b0319811663bc197c8160e01b14610d555760405162461bcd60e51b815260040161039e9061237c565b600054610100900460ff166116895760405162461bcd60e51b815260040161039e90612229565b6107ba611867565b600054610100900460ff166116b85760405162461bcd60e51b815260040161039e90612229565b6107ba611894565b6001600160a01b0381166116e757604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166117305760405162461bcd60e51b815260040161039e90612229565b610abc816118c4565b6001600160a01b03841661175f5760405162461bcd60e51b815260040161039e9061214f565b33600061176b85611401565b9050600061177885611401565b9050600086815260fb602090815260408083206001600160a01b038c168452909152902054858110156117bd5760405162461bcd60e51b815260040161039e90612194565b600087815260fb602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906117fc90849061213c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461185c848a8a8a8a8a61144c565b505050505050505050565b600054610100900460ff1661188e5760405162461bcd60e51b815260040161039e90612229565b60018055565b600054610100900460ff166118bb5760405162461bcd60e51b815260040161039e90612229565b6107ba33610fea565b60fd610856828261207c565b6001600160a01b0381168114610abc57600080fd5b600080604083850312156118f857600080fd5b8235611903816118d0565b946020939093013593505050565b6001600160e01b031981168114610abc57600080fd5b60006020828403121561193957600080fd5b81356107a181611911565b60006020828403121561195657600080fd5b81356107a1816118d0565b60005b8381101561197c578181015183820152602001611964565b50506000910152565b6000815180845261199d816020860160208601611961565b601f01601f19169290920160200192915050565b6020815260006107a16020830184611985565b6000602082840312156119d657600080fd5b5035919050565b6000806000606084860312156119f257600080fd5b83356119fd816118d0565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611a4e57611a4e611a12565b6040525050565b600067ffffffffffffffff821115611a6f57611a6f611a12565b5060051b60200190565b600082601f830112611a8a57600080fd5b81356020611a9782611a55565b604051611aa48282611a28565b83815260059390931b8501820192828101915086841115611ac457600080fd5b8286015b84811015611adf5780358352918301918301611ac8565b509695505050505050565b600082601f830112611afb57600080fd5b813567ffffffffffffffff811115611b1557611b15611a12565b604051611b2c601f8301601f191660200182611a28565b818152846020838601011115611b4157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611b7657600080fd5b8535611b81816118d0565b94506020860135611b91816118d0565b9350604086013567ffffffffffffffff80821115611bae57600080fd5b611bba89838a01611a79565b94506060880135915080821115611bd057600080fd5b611bdc89838a01611a79565b93506080880135915080821115611bf257600080fd5b50611bff88828901611aea565b9150509295509295909350565b60008060408385031215611c1f57600080fd5b823567ffffffffffffffff80821115611c3757600080fd5b818501915085601f830112611c4b57600080fd5b81356020611c5882611a55565b604051611c658282611a28565b83815260059390931b8501820192828101915089841115611c8557600080fd5b948201945b83861015611cac578535611c9d816118d0565b82529482019490820190611c8a565b96505086013592505080821115611cc257600080fd5b50611ccf85828601611a79565b9150509250929050565b600081518084526020808501945080840160005b83811015611d0957815187529582019590820190600101611ced565b509495945050505050565b6020815260006107a16020830184611cd9565b80358015158114611d3757600080fd5b919050565b600080600060608486031215611d5157600080fd5b8335925060208401359150611d6860408501611d27565b90509250925092565b60008060408385031215611d8457600080fd5b8235611d8f816118d0565b9150611d9d60208401611d27565b90509250929050565b60008060408385031215611db957600080fd5b82359150611d9d60208401611d27565b600080600080600060a08688031215611de157600080fd5b8535611dec816118d0565b94506020860135611dfc816118d0565b935060408601359250606086013567ffffffffffffffff80821115611e2057600080fd5b611bdc89838a01611aea565b60008060408385031215611e3f57600080fd5b8235611e4a816118d0565b91506020830135611e5a816118d0565b809150509250929050565b600080600080600060a08688031215611e7d57600080fd5b8535611e88816118d0565b94506020860135611e98816118d0565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ec257600080fd5b611bff88828901611aea565b600181811c90821680611ee257607f821691505b602082108103611f0257634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611f1681611ece565b60018281168015611f2e5760018114611f4357611f72565b60ff1984168752821515830287019450611f72565b8860005260208060002060005b85811015611f695781548a820152908401908201611f50565b50505082870194505b50506241c55b60e71b835250508351611f92816004840160208801611961565b01600401949350505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161202a5761202a612002565b5060010190565b601f82111561207757600081815260208120601f850160051c810160208610156120585750805b601f850160051c820191505b81811015610a0857828155600101612064565b505050565b815167ffffffffffffffff81111561209657612096611a12565b6120aa816120a48454611ece565b84612031565b602080601f8311600181146120df57600084156120c75750858301515b600019600386901b1c1916600185901b178555610a08565b600085815260208120601f198616915b8281101561210e578886015182559484019460019091019084016120ef565b508582101561212c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156103cc576103cc612002565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006121f16040830185611cd9565b82810360208401526122038185611cd9565b95945050505050565b60006020828403121561221e57600080fd5b81516107a1816118d0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122ae90830184611985565b979650505050505050565b6000602082840312156122cb57600080fd5b81516107a181611911565b600060033d11156122ef5760046000803e5060005160e01c5b90565b600060443d10156123005790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561233057505050505090565b82850191508151818111156123485750505050505090565b843d87010160208285010111156123625750505050505090565b61237160208286010187611a28565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906123f090830186611cd9565b82810360608401526124028186611cd9565b905082810360808401526124168185611985565b9897505050505050505056fea2646970667358221220ee7f810feef1b382c8ef11eb3d6f0b845bda726deaea1e489e353f59025211be64736f6c63430008140033a2646970667358221220ea3ce65f4b921acac47f314a689a5ec16ba6d76cce7b6d58b3b98a450302fd6b64736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000009": { + "contractName": "ERC1155VaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000009" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "ProxiedEtherVault", + "storage": {}, + "code": "0x6080604052600436106100ab5760003560e01c80638da5cb5b116100645780638da5cb5b146101c0578063a86f9d9e146101de578063ba0bbd95146101fe578063d73bb3d01461021e578063f2fde38b1461023e578063fe9fbb801461025e57600080fd5b80630652b57a146100f457806319ab453c146101145780632d1fb389146101345780633ab76e9f146101545780636c6563f61461018b578063715018a6146101ab57600080fd5b366100ef5747158015906100cf575033600090815260c9602052604090205460ff16155b156100ed57604051634fa3f24560e01b815260040160405180910390fd5b005b600080fd5b34801561010057600080fd5b506100ed61010f366004610a8d565b6102a7565b34801561012057600080fd5b506100ed61012f366004610a8d565b610320565b34801561014057600080fd5b506100ed61014f366004610abf565b610438565b34801561016057600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019757600080fd5b5061016e6101a6366004610af4565b6104f1565b3480156101b757600080fd5b506100ed610508565b3480156101cc57600080fd5b506065546001600160a01b031661016e565b3480156101ea57600080fd5b5061016e6101f9366004610b29565b61051c565b34801561020a57600080fd5b506100ed610219366004610b4c565b610529565b34801561022a57600080fd5b506100ed610239366004610b78565b6105ee565b34801561024a57600080fd5b506100ed610259366004610a8d565b610671565b34801561026a57600080fd5b50610297610279366004610a8d565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040519015158152602001610182565b6102af6106e7565b6001600160a01b0381166102d657604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156103405750600054600160ff909116105b8061035a5750303b15801561035a575060005460ff166001145b6103c25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156103e5576000805461ff0019166101001790555b6103ee82610741565b8015610434576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6104406106e7565b6001600160a01b038216158061047457506001600160a01b038216600090815260c9602052604090205460ff161515811515145b1561049257604051631bebdfa760e21b815260040160405180910390fd5b6001600160a01b038216600081815260c96020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006104fe84848461075a565b90505b9392505050565b6105106106e7565b61051a600061080e565b565b600061050146848461075a565b33600090815260c9602052604090205460ff1661055957604051634fa3f24560e01b815260040160405180910390fd5b610561610860565b80156105e5576001600160a01b03821661058e5760405163687563df60e01b815260040160405180910390fd5b6105a16001600160a01b038316826108b9565b816001600160a01b03167f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e826040516105dc91815260200190565b60405180910390a25b61043460018055565b33600090815260c9602052604090205460ff1661061e57604051634fa3f24560e01b815260040160405180910390fd5b610626610860565b61063033826108b9565b60405181815233907f7b9f77d35803cd201eac9c4ed739bc1fcd3f1be6ab8877d925d1e55517b6fd6e9060200160405180910390a261066e60018055565b50565b6106796106e7565b6001600160a01b0381166106de5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b9565b61066e8161080e565b6065546001600160a01b0316331461051a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b9565b61074961097a565b6107516109a9565b61066e816109d8565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa1580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190610b91565b9050811580156107e657506001600160a01b038116155b1561050157604051631467050360e21b815260048101859052602481018490526044016103b9565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600154036108b25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103b9565b6002600155565b8015806108cd57506001600160a01b038216155b156108d6575050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610923576040519150601f19603f3d011682016040523d82523d6000602084013e610928565b606091505b505090508061096f5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b60448201526064016103b9565b505050565b60018055565b600054610100900460ff166109a15760405162461bcd60e51b81526004016103b990610bae565b61051a610a21565b600054610100900460ff166109d05760405162461bcd60e51b81526004016103b990610bae565b61051a610a48565b6001600160a01b0381166109ff57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166109745760405162461bcd60e51b81526004016103b990610bae565b600054610100900460ff16610a6f5760405162461bcd60e51b81526004016103b990610bae565b61051a3361080e565b6001600160a01b038116811461066e57600080fd5b600060208284031215610a9f57600080fd5b813561050181610a78565b80358015158114610aba57600080fd5b919050565b60008060408385031215610ad257600080fd5b8235610add81610a78565b9150610aeb60208401610aaa565b90509250929050565b600080600060608486031215610b0957600080fd5b8335925060208401359150610b2060408501610aaa565b90509250925092565b60008060408385031215610b3c57600080fd5b82359150610aeb60208401610aaa565b60008060408385031215610b5f57600080fd5b8235610b6a81610a78565b946020939093013593505050565b600060208284031215610b8a57600080fd5b5035919050565b600060208284031215610ba357600080fd5b815161050181610a78565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204c31d592cfc1ec7ee55355c17834d2e62089d97edf1b79bd01f89108c83709d164736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000003": { + "contractName": "EtherVaultProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xa738d3397c1eb96f671d7e4bd29cabbfa1a9c9ebc0db4142aee17809c43ab720": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000003" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0xffffffffffffff21f494c589bfffffff" + }, + "0x0000777700000000000000000000000000000007": { + "contractName": "ProxiedSignalService", + "storage": {}, + "code": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c6563f6116100715780636c6563f614610162578063715018a6146101755780638da5cb5b1461017d578063a86f9d9e1461018e578063f2fde38b146101a1578063f8f3f844146101b457600080fd5b80630652b57a146100b957806319ab453c146100ce57806332676bc6146100e15780633ab76e9f146101095780635221f6131461012e57806366ca2bc014610141575b600080fd5b6100cc6100c7366004611a23565b6101e0565b005b6100cc6100dc366004611a23565b610259565b6100f46100ef366004611a40565b610371565b60405190151581526020015b60405180910390f35b6097546001600160a01b03165b6040516001600160a01b039091168152602001610100565b6100f461013c366004611a6c565b6103e3565b61015461014f366004611b02565b61055d565b604051908152602001610100565b610116610170366004611b30565b6105a4565b6100cc6105bb565b6065546001600160a01b0316610116565b61011661019c366004611b65565b6105cf565b6100cc6101af366004611a23565b6105e5565b6101546101c2366004611a40565b6040805192835260208301919091526034600c830120918101905290565b6101e861065e565b6001600160a01b03811661020f57604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0383169081179091556040517f399ded90cb5ed8d89ef7e76ff4af65c373f06d3bf5d7eef55f4228e7b702a18b90600090a250565b600054610100900460ff16158080156102795750600054600160ff909116105b806102935750303b158015610293575060005460ff166001145b6102fb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561031e576000805461ff0019166101001790555b610327826106b8565b801561036d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000826001600160a01b03811661039b576040516354cdfc8d60e11b815260040160405180910390fd5b8260008190036103be5760405163014f1da760e21b815260040160405180910390fd5b5050604080519384526020840192909252506034600c83012091810190525460011490565b6000854681036104065760405163e822b48d60e01b815260040160405180910390fd5b856001600160a01b03811661042e576040516354cdfc8d60e11b815260040160405180910390fd5b8560008190036104515760405163014f1da760e21b815260040160405180910390fd5b600061045f86880188611c01565b90506000610476647461696b6f60d81b60006105cf565b825160405163016674a560e21b815267ffffffffffffffff90911660048201526001600160a01b039190911690630599d29490602401602060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611cd6565b604080518c8152602081018c90526034600c820120818301909252606081019190915290915061054e90608001604051602081830303815290604052604051806040016040528060018152602001600160f81b8152508460200151846106d1565b9b9a5050505050505050505050565b6000818082036105805760405163014f1da760e21b815260040160405180910390fd5b50506040805133815260208101929092526034600c83012091810190526001815590565b60006105b18484846106f5565b90505b9392505050565b6105c361065e565b6105cd60006107a9565b565b60006105dc4684846106f5565b90505b92915050565b6105ed61065e565b6001600160a01b0381166106525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f2565b61065b816107a9565b50565b6065546001600160a01b031633146105cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f2565b6106c06107fb565b6106c861082a565b61065b81610859565b6000806106dd866108a2565b90506106eb818686866108d4565b9695505050505050565b60975460405163195ac1a960e21b815260048101859052602481018490526000916001600160a01b03169063656b06a490604401602060405180830381865afa158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a9190611cef565b90508115801561078157506001600160a01b038116155b156105b457604051631467050360e21b815260048101859052602481018490526044016102f2565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166108225760405162461bcd60e51b81526004016102f290611d0c565b6105cd610911565b600054610100900460ff166108515760405162461bcd60e51b81526004016102f290611d0c565b6105cd61093e565b6001600160a01b03811661088057604051634d084d8560e11b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606081805190602001206040516020016108be91815260200190565b6040516020818303038152906040529050919050565b60008060006108e487868661096e565b9150915081801561090657508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff166109385760405162461bcd60e51b81526004016102f290611d0c565b60018055565b600054610100900460ff166109655760405162461bcd60e51b81526004016102f290611d0c565b6105cd336107a9565b60006060600061097d85610a49565b9050600080600061098f848a89610b42565b815192955090935091501580806109a35750815b6109ef5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e00000000000060448201526064016102f2565b600081610a0b5760405180602001604052806000815250610a37565b610a3786610a1a600188611d6d565b81518110610a2a57610a2a611d80565b6020026020010151610f62565b919b919a509098505050505050505050565b60606000610a5683610f89565b90506000815167ffffffffffffffff811115610a7457610a74611b91565b604051908082528060200260200182016040528015610ab957816020015b6040805180820190915260608082526020820152815260200190600190039081610a925790505b50905060005b8251811015610b3a576000610aec848381518110610adf57610adf611d80565b6020026020010151610fbc565b90506040518060400160405280610b0283610f89565b815260200182815250838381518110610b1d57610b1d611d80565b60200260200101819052505080610b3390611d96565b9050610abf565b509392505050565b600060606000806000610b548761104c565b90506000869050600080610b7b604051806040016040528060608152602001606081525090565b60005b8c51811015610f3a578c8181518110610b9957610b99611d80565b602002602001015191508284610baf9190611daf565b9350610bbc600188611daf565b965083600003610c19578482602001518051906020012014610c145760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b60448201526064016102f2565b610cdb565b602082602001515110610c80578482602001518051906020012014610c145760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c2068617368000000000060448201526064016102f2565b84610c8e8360200151611185565b14610cdb5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f6465206861736800000000000060448201526064016102f2565b610ce760106001611dc2565b60ff1682600001515103610d555785518414610f3a576000868581518110610d1157610d11611d80565b01602001518351805160f89290921c925060009183908110610d3557610d35611d80565b60200260200101519050610d48816111ad565b9650600194505050610f2a565b81515160011901610ee2576000610d6b836111e3565b9050600081600081518110610d8257610d82611d80565b016020015160f81c90506000610d99600283611ddb565b610da4906002611e0b565b90506000610db5848360ff16611207565b90506000610dc38b8a611207565b90506000610dd1838361123d565b905060ff851660021480610de8575060ff85166003145b15610e2257808351148015610dfd5750808251145b15610e0f57610e0c818b611daf565b99505b50600160ff1b9950610f3a945050505050565b60ff85161580610e35575060ff85166001145b15610e8b5782518114610e555750600160ff1b9950610f3a945050505050565b610e7c8860000151600181518110610e6f57610e6f611d80565b60200260200101516111ad565b9a509750610f2a945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b60648201526084016102f2565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e00000060448201526064016102f2565b610f3381611d96565b9050610b7e565b50600160ff1b841486610f4d8786611207565b909e909d50909b509950505050505050505050565b805180516060916105df91610f7990600190611d6d565b81518110610adf57610adf611d80565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906105df906112b7565b60606000806000610fcc856114a3565b919450925090506000816001811115610fe757610fe7611e24565b146110345760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102f2565b611043856020015184846117ed565b95945050505050565b606060008251600261105e9190611e3a565b67ffffffffffffffff81111561107657611076611b91565b6040519080825280601f01601f1916602001820160405280156110a0576020820181803683370190505b50905060005b835181101561117e5760048482815181106110c3576110c3611d80565b01602001516001600160f81b031916901c826110e0836002611e3a565b815181106110f0576110f0611d80565b60200101906001600160f81b031916908160001a905350601084828151811061111b5761111b611d80565b016020015161112d919060f81c611ddb565b60f81b8261113c836002611e3a565b611147906001611daf565b8151811061115757611157611d80565b60200101906001600160f81b031916908160001a90535061117781611d96565b90506110a6565b5092915050565b600060208251101561119957506020015190565b818060200190518101906105df9190611cd6565b600060606020836000015110156111ce576111c783611896565b90506111da565b6111d783610fbc565b90505b6105b481611185565b60606105df6112028360000151600081518110610adf57610adf611d80565b61104c565b60608251821061122657506040805160208101909152600081526105df565b6105dc83838486516112389190611d6d565b6118a1565b6000805b8084511180156112515750808351115b80156112a2575082818151811061126a5761126a611d80565b602001015160f81c60f81b6001600160f81b03191684828151811061129157611291611d80565b01602001516001600160f81b031916145b156105dc576112b081611d96565b9050611241565b60606000806112c5846114a3565b919350909150600190508160018111156112e1576112e1611e24565b1461132e5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102f2565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816113475790505090506000835b865181101561149857602082106113e05760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b60648201526084016102f2565b60008061141d6040518060400160405280858c600001516114019190611d6d565b8152602001858c602001516114169190611daf565b90526114a3565b5091509150604051806040016040528083836114399190611daf565b8152602001848b6020015161144e9190611daf565b81525085858151811061146357611463611d80565b6020908102919091010152611479600185611daf565b93506114858183611daf565b61148f9084611daf565b92505050611374565b508152949350505050565b6000806000808460000151116114fb5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102f2565b6020840151805160001a607f81116115205760006001600094509450945050506117e6565b60b7811161159c576000611535608083611d6d565b90508087600001511161158a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102f2565b600195509350600092506117e6915050565b60bf811161168b5760006115b160b783611d6d565b9050808760000151116116065760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102f2565b600183015160208290036101000a90046116208183611daf565b88511161166f5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102f2565b61167a826001611daf565b96509450600093506117e692505050565b60f781116117065760006116a060c083611d6d565b9050808760000151116116f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102f2565b6001955093508492506117e6915050565b600061171360f783611d6d565b9050808760000151116117685760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102f2565b600183015160208290036101000a90046117828183611daf565b8851116117ca5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b60448201526064016102f2565b6117d5826001611daf565b96509450600193506117e692505050565b9193909250565b606060008267ffffffffffffffff81111561180a5761180a611b91565b6040519080825280601f01601f191660200182016040528015611834576020820181803683370190505b50905080516000036118475790506105b4565b8484016020820160005b85811015611869578281015182820152602001611851565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606105df826119f8565b6060816118af81601f611daf565b10156118ee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b826118f98382611daf565b10156119385760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102f2565b6119428284611daf565b845110156119865760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102f2565b6060821580156119a557604051915060008252602082016040526119ef565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156119de5780518352602092830192016119c6565b5050858452601f01601f1916604052505b50949350505050565b60606105df8260200151600084600001516117ed565b6001600160a01b038116811461065b57600080fd5b600060208284031215611a3557600080fd5b81356105dc81611a0e565b60008060408385031215611a5357600080fd5b8235611a5e81611a0e565b946020939093013593505050565b600080600080600060808688031215611a8457600080fd5b853594506020860135611a9681611a0e565b935060408601359250606086013567ffffffffffffffff80821115611aba57600080fd5b818801915088601f830112611ace57600080fd5b813581811115611add57600080fd5b896020828501011115611aef57600080fd5b9699959850939650602001949392505050565b600060208284031215611b1457600080fd5b5035919050565b80358015158114611b2b57600080fd5b919050565b600080600060608486031215611b4557600080fd5b8335925060208401359150611b5c60408501611b1b565b90509250925092565b60008060408385031215611b7857600080fd5b82359150611b8860208401611b1b565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611bca57611bca611b91565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611bf957611bf9611b91565b604052919050565b60006020808385031215611c1457600080fd5b823567ffffffffffffffff80821115611c2c57600080fd5b9084019060408287031215611c4057600080fd5b611c48611ba7565b82358281168114611c5857600080fd5b81528284013582811115611c6b57600080fd5b80840193505086601f840112611c8057600080fd5b823582811115611c9257611c92611b91565b611ca4601f8201601f19168601611bd0565b92508083528785828601011115611cba57600080fd5b8085850186850137600090830185015292830152509392505050565b600060208284031215611ce857600080fd5b5051919050565b600060208284031215611d0157600080fd5b81516105dc81611a0e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105df576105df611d57565b634e487b7160e01b600052603260045260246000fd5b600060018201611da857611da8611d57565b5060010190565b808201808211156105df576105df611d57565b60ff81811683821601908111156105df576105df611d57565b600060ff831680611dfc57634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff82811682821603908111156105df576105df611d57565b634e487b7160e01b600052602160045260246000fd5b80820281158282048414176105df576105df611d5756fea2646970667358221220c8e5d2f03cdfd05271211f91051ea017cc78712d374c157f61c7f6293b421c5864736f6c63430008140033", + "balance": "0x0" + }, + "0x1000777700000000000000000000000000000007": { + "contractName": "SignalServiceProxy", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000019b4f9c381c7927fe33d853e48b560141a380c44", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001000777700000000000000000000000000000006", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x113cE23c9e0cc50F4D41d7cE6DA02dCAFf8BFF85", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0000777700000000000000000000000000000007" + }, + "code": "0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106b3565b610118565b61005b6100933660046106ce565b610155565b3480156100a457600080fd5b506100ad6101bc565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106b3565b6101ed565b3480156100f557600080fd5b506100ad61020d565b61010661022e565b6101166101116102c3565b6102cd565b565b6101206102f1565b6001600160a01b0316330361014d5761014a81604051806020016040528060008152506000610324565b50565b61014a6100fe565b61015d6102f1565b6001600160a01b031633036101b4576101af8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610324915050565b505050565b6101af6100fe565b60006101c66102f1565b6001600160a01b031633036101e2576101dd6102c3565b905090565b6101ea6100fe565b90565b6101f56102f1565b6001600160a01b0316330361014d5761014a8161034f565b60006102176102f1565b6001600160a01b031633036101e2576101dd6102f1565b6102366102f1565b6001600160a01b031633036101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101dd6103a3565b3660008037600080366000845af43d6000803e8080156102ec573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61032d836103cb565b60008251118061033a5750805b156101af57610349838361040b565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103786102f1565b604080516001600160a01b03928316815291841660208301520160405180910390a161014a81610437565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610315565b6103d4816104e0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061043083836040518060600160405280602781526020016107c560279139610574565b9392505050565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ba565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61054d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102ba565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104bf565b6060600080856001600160a01b0316856040516105919190610775565b600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e2868383876105ec565b9695505050505050565b6060831561065b578251600003610654576001600160a01b0385163b6106545760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ba565b5081610665565b610665838361066d565b949350505050565b81511561067d5781518083602001fd5b8060405162461bcd60e51b81526004016102ba9190610791565b80356001600160a01b03811681146106ae57600080fd5b919050565b6000602082840312156106c557600080fd5b61043082610697565b6000806000604084860312156106e357600080fd5b6106ec84610697565b9250602084013567ffffffffffffffff8082111561070957600080fd5b818601915086601f83011261071d57600080fd5b81358181111561072c57600080fd5b87602082850101111561073e57600080fd5b6020830194508093505050509250925092565b60005b8381101561076c578181015183820152602001610754565b50506000910152565b60008251610787818460208701610751565b9190910192915050565b60208152600082518060208401526107b0816040850160208701610751565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013e4be7fbb9448379ca283101ef1037ca99a17f6ad00269fe32f79bcefab6e1864736f6c63430008140033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000005": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000003e8000", + "0xc4fd933fc30203af5f8bd19ad30e064c96642a369b9fc4288ea95569541f4034": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x967c153683def525608ec6efe0cac3319a9c97a6d4164fb43765c79311abffdc": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x4b9b777e5e3847acfd8740f275a6896b3f3a10ae36191d153fdb5ef40d61b6c1": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x9e7a5276a30d934c5fffd9ef18e4dcae10597352188cecf658522b6bf4d924d3": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212200c6a590d0220261e9ad2a153910ca40f21f69a425e5af92fee3a769ffc07753764736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/katla.json taikoxyz/taiko-geth/core/taiko_genesis/katla.json new file mode 100644 index 0000000000000000000000000000000000000000..4622e8c45d5b4c9737440b00224f82ab31591187 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/katla.json @@ -0,0 +1,206 @@ +{ + "0x1D2D1bb9D180541E88a6a682aCf3f61c1605B190": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x39aF15916b41548f04D731079F283135B276652F": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x0167008000000000000000000000000000000006": { + "contractName": "SharedAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106100a75760003560e01c8063715018a611610064578063715018a6146101b45780638456cb59146101c95780638da5cb5b146101de578063d8f4648f146101fc578063e1c7392a1461021c578063f2fde38b1461023157600080fd5b806328f713cc146100ac5780633659cfe6146101165780633f4ba83a146101385780634f1ef2861461014d57806352d1902d146101605780635c975abb14610183575b600080fd5b3480156100b857600080fd5b506100f96100c7366004610ce9565b67ffffffffffffffff91909116600090815260976020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012257600080fd5b50610136610131366004610d2a565b610251565b005b34801561014457600080fd5b50610136610339565b61013661015b366004610d5b565b6103b7565b34801561016c57600080fd5b50610175610487565b60405190815260200161010d565b34801561018f57600080fd5b506101a4606554610100900460ff1660021490565b604051901515815260200161010d565b3480156101c057600080fd5b5061013661053a565b3480156101d557600080fd5b5061013661054e565b3480156101ea57600080fd5b506033546001600160a01b03166100f9565b34801561020857600080fd5b50610136610217366004610e1d565b6105c7565b34801561022857600080fd5b50610136610654565b34801561023d57600080fd5b5061013661024c366004610d2a565b610764565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000000061630036102a25760405162461bcd60e51b815260040161029990610e59565b60405180910390fd5b7f00000000000000000000000001670080000000000000000000000000000000066001600160a01b03166102eb600080516020610fc9833981519152546001600160a01b031690565b6001600160a01b0316146103115760405162461bcd60e51b815260040161029990610ea5565b61031a816107da565b60408051600080825260208201909252610336918391906107e2565b50565b61034d606554610100900460ff1660021490565b61036a5760405163bae6e2a960e01b815260040160405180910390fd5b610372610952565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000000061630036103ff5760405162461bcd60e51b815260040161029990610e59565b7f00000000000000000000000001670080000000000000000000000000000000066001600160a01b0316610448600080516020610fc9833981519152546001600160a01b031690565b6001600160a01b03161461046e5760405162461bcd60e51b815260040161029990610ea5565b610477826107da565b610483828260016107e2565b5050565b6000306001600160a01b037f000000000000000000000000016700800000000000000000000000000000000616146105275760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610299565b50600080516020610fc983398151915290565b610542610952565b61054c60006109ac565b565b610562606554610100900460ff1660021490565b156105805760405163bae6e2a960e01b815260040160405180910390fd5b610588610952565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016103ad565b6105cf610952565b67ffffffffffffffff8316600081815260976020908152604080832086845282529182902080546001600160a01b038681166001600160a01b0319831681179093558451928352169181018290529092859290917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b600054610100900460ff16158080156106745750600054600160ff909116105b8061068e5750303b15801561068e575060005460ff166001145b6106f15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610299565b6000805460ff191660011790558015610714576000805461ff0019166101001790555b61071c6109fe565b8015610336576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61076c610952565b6001600160a01b0381166107d15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610299565b610336816109ac565b610336610952565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561081a5761081583610a17565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610874575060408051601f3d908101601f1916820190925261087191810190610ef1565b60015b6108d75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610299565b600080516020610fc983398151915281146109465760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610299565b50610815838383610ab3565b6033546001600160a01b0316331461054c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610299565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a06610ade565b6065805461ffff1916610101179055565b6001600160a01b0381163b610a845760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610299565b600080516020610fc983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610abc83610b0d565b600082511180610ac95750805b1561081557610ad88383610b4d565b50505050565b600054610100900460ff16610b055760405162461bcd60e51b815260040161029990610f0a565b61054c610b79565b610b1681610a17565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b728383604051806060016040528060278152602001610fe960279139610ba9565b9392505050565b600054610100900460ff16610ba05760405162461bcd60e51b815260040161029990610f0a565b61054c336109ac565b6060600080856001600160a01b031685604051610bc69190610f79565b600060405180830381855af49150503d8060008114610c01576040519150601f19603f3d011682016040523d82523d6000602084013e610c06565b606091505b5091509150610c1786838387610c21565b9695505050505050565b60608315610c90578251600003610c89576001600160a01b0385163b610c895760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610299565b5081610c9a565b610c9a8383610ca2565b949350505050565b815115610cb25781518083602001fd5b8060405162461bcd60e51b81526004016102999190610f95565b803567ffffffffffffffff81168114610ce457600080fd5b919050565b60008060408385031215610cfc57600080fd5b610d0583610ccc565b946020939093013593505050565b80356001600160a01b0381168114610ce457600080fd5b600060208284031215610d3c57600080fd5b610b7282610d13565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610d6e57600080fd5b610d7783610d13565b9150602083013567ffffffffffffffff80821115610d9457600080fd5b818501915085601f830112610da857600080fd5b813581811115610dba57610dba610d45565b604051601f8201601f19908116603f01168101908382118183101715610de257610de2610d45565b81604052828152886020848701011115610dfb57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600060608486031215610e3257600080fd5b610e3b84610ccc565b925060208401359150610e5060408501610d13565b90509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215610f0357600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015610f70578181015183820152602001610f58565b50506000910152565b60008251610f8b818460208701610f55565b9190910192915050565b6020815260008251806020840152610fb4816040850160208701610f55565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204e2030d9883d08dca7ecdc1d78b36ee54b3130abcb1c45646b02f76d950ff54a64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000006": { + "contractName": "SharedAddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0xcffa903d987c324286ac7635484e4c4cfab2b3bddddb45773db47593d56d5616": "0x0000000000000000000000001670080000000000000000000000000000000001", + "0x69945f7fb90fd606de42db577551f6eb68877935d99314a2706f3cbe614d714d": "0x0000000000000000000000001670080000000000000000000000000000000002", + "0x0e20b25daa3a523d27c8749dd04006a44414b4569e0b5639cc8bc2cbc8d143ec": "0x0000000000000000000000001670080000000000000000000000000000000003", + "0xc8e904a2a894d2e5590835bec6cb78755de7e546a44a4bede5bccee5641e227e": "0x0000000000000000000000001670080000000000000000000000000000000004", + "0x72cf3566ee7eea8d37039862c9f5956b8622ca74729c83890cfd90fc8645bdcc": "0x0000000000000000000000001670080000000000000000000000000000000005", + "0xdcd7088979e9e1e0b5e55f2c5e67cc79f77b5ff5fc73719c45425ee4ef73911c": "0x0000000000000000000000000167008000000000000000000000000000010096", + "0xd8a967abc0370c9bc69725e8b0433ed844d6abb7e639863dbfb50f4eb3b0a7a6": "0x0000000000000000000000000167008000000000000000000000000000010097", + "0x4ebdc5a0aa6a37034598482e87dac4dbac06e9e750c7c9b4b0606b27f5196be3": "0x0000000000000000000000000167008000000000000000000000000000010098", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000006" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000000001": { + "contractName": "BridgeImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106101855760003560e01c80635c975abb116100d15780638da5cb5b1161008a578063a86f9d9e11610064578063a86f9d9e146104a5578063d0496d6a146104c5578063eefbf17e1461050e578063f2fde38b1461054657600080fd5b80638da5cb5b146104285780638e3881a914610446578063a24f721b1461048557600080fd5b80635c975abb1461037d57806360ecbdfd1461039e578063625e5b7f146103be578063715018a6146103de578063783f8c93146103f35780638456cb591461041357600080fd5b80633c6cf4731161013e57806348c095391161011857806348c09539146102e75780634f1ef286146103155780634f5f97721461032857806352d1902d1461036857600080fd5b80633c6cf473146102755780633eb6b8cf146102b25780633f4ba83a146102d257600080fd5b8063013824081461019157806319ab453c146101b35780631a92e520146101d357806333bcd0cc146101f35780633659cfe61461021d5780633ab76e9f1461023d57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506101b16101ac3660046124f4565b610566565b005b3480156101bf57600080fd5b506101b16101ce3660046125af565b61089e565b3480156101df57600080fd5b506101b16101ee3660046124f4565b6109b6565b6102066102013660046125cc565b610d7a565b60405161021492919061275a565b60405180910390f35b34801561022957600080fd5b506101b16102383660046125af565b611062565b34801561024957600080fd5b5060975461025d906001600160a01b031681565b6040516001600160a01b039091168152602001610214565b34801561028157600080fd5b506102a5610290366004612773565b60fd6020526000908152604090205460ff1681565b60405161021491906127a2565b3480156102be57600080fd5b5061025d6102cd3660046127ef565b611141565b3480156102de57600080fd5b506101b1611158565b3480156102f357600080fd5b50610307610302366004612a1c565b6111d6565b604051908152602001610214565b6101b1610323366004612a50565b611206565b34801561033457600080fd5b50610358610343366004612773565b60fc6020526000908152604090205460ff1681565b6040519015158152602001610214565b34801561037457600080fd5b506103076112d2565b34801561038957600080fd5b50610358606554610100900460ff1660021490565b3480156103aa57600080fd5b506103586103b93660046125cc565b611385565b3480156103ca57600080fd5b506103586103d93660046124f4565b611458565b3480156103ea57600080fd5b506101b16114cc565b3480156103ff57600080fd5b5061035861040e3660046124f4565b6114e0565b34801561041f57600080fd5b506101b1611544565b34801561043457600080fd5b506033546001600160a01b031661025d565b34801561045257600080fd5b50610466610461366004612a9f565b6115bd565b6040805192151583526001600160a01b03909116602083015201610214565b34801561049157600080fd5b506101b16104a0366004612aba565b6115ea565b3480156104b157600080fd5b5061025d6104c0366004612b0b565b6117ad565b3480156104d157600080fd5b506104da6117ba565b60408051825181526020808401516001600160a01b031690820152918101516001600160401b031690820152606001610214565b34801561051a57600080fd5b5060fb5461052e906001600160801b031681565b6040516001600160801b039091168152602001610214565b34801561055257600080fd5b506101b16105613660046125af565b611843565b60655460ff166001190161058d5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff191660021790556105ae606554610100900460ff1660021490565b156105cc5760405163bae6e2a960e01b815260040160405180910390fd5b6105dc6080840160608501612a9f565b46816001600160401b03161461060557604051631c6c777560e31b815260040160405180910390fd5b610120840135158015610639575061062360a08501608086016125af565b6001600160a01b0316336001600160a01b031614155b15610657576040516372b6e1c360e11b815260040160405180910390fd5b600061066561030286612b30565b905060008082815260fd602052604090205460ff16600381111561068b5761068b61278c565b146106a957604051630cfafbf960e01b815260040160405180910390fd5b60006106c76d7369676e616c5f7365727669636560901b60006117ad565b90506106e581836106de60608a0160408b01612a9f565b88886118b9565b61070257604051635ea5ecc760e01b815260040160405180910390fd5b6000808061071660c08a0160a08b016125af565b6001600160a01b0316148061074257503061073760c08a0160a08b016125af565b6001600160a01b0316145b8061076d57506001600160a01b03831661076260c08a0160a08b016125af565b6001600160a01b0316145b1561078157506002905060e08701356107da565b600061079360a08a0160808b016125af565b6001600160a01b0316336001600160a01b0316146107b6578861012001356107b8565b5a5b90506107c589868361194e565b156107d357600292506107d8565b600192505b505b6107e5838584611af1565b6000806107f860e08b0160c08c016125af565b6001600160a01b03161461081b5761081660e08a0160c08b016125af565b61082b565b61082b60a08a0160808b016125af565b90506001600160a01b03811633036108645761085f61084f836101008c0135612b52565b6001600160a01b03831690611c25565b610886565b610873336101008b0135611c25565b6108866001600160a01b03821683611c25565b50506065805460ff1916600117905550505050505050565b600054610100900460ff16158080156108be5750600054600160ff909116105b806108d85750303b1580156108d8575060005460ff166001145b6109405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610963576000805461ff0019166101001790555b61096c82611c30565b80156109b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60655460ff16600119016109dd5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff191660021790556109fe606554610100900460ff1660021490565b15610a1c5760405163bae6e2a960e01b815260040160405180910390fd5b610a2c6060840160408501612a9f565b46816001600160401b031614610a5557604051631c6c777560e31b815260040160405180910390fd5b6000610a6361030286612b30565b600081815260fc602052604090205490915060ff1615610a9657604051638759835d60e01b815260040160405180910390fd5b6000610ab46d7369676e616c5f7365727669636560901b60006117ad565b604051631933b5e360e11b8152306004820152602481018490529091506001600160a01b038216906332676bc690604401602060405180830381865afa158015610b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b269190612b65565b610b435760405163ab035ad560e01b815260040160405180910390fd5b6000610b648260038518610b5d60808b0160608c01612a9f565b89896118b9565b905080610b845760405163f149234f60e01b815260040160405180910390fd5b600083815260fc60209081526040808320805460ff19166001179055610bcb91630187134360e71b91610bbc91908c01908c016125af565b6001600160a01b031690611c41565b90508015610d11576040518060600160405280858152602001306001600160a01b03168152602001896040016020810190610c069190612a9f565b6001600160401b03908116909152815160fe5560208083015160ff8054604095860151909416600160a01b026001600160e01b03199094166001600160a01b039092169190911792909217909155610c62918a01908a016125af565b6001600160a01b031663c389a1808960e001358a876040518463ffffffff1660e01b8152600401610c94929190612bf7565b6000604051808303818588803b158015610cad57600080fd5b505af1158015610cc1573d6000803e3d6000fd5b5050604080516060810182526000198082526001600160a01b0360208301526001600160401b03919092015260fe55505060ff80546001600160e01b0319166001600160e01b0317905550610d38565b610d3860e0890135610d2960a08b0160808c016125af565b6001600160a01b031690611c25565b60405184907fc6fbc1fa0145a394c9c414b2ae7bd634eb50dd888938bcd75692ae427b680fa290600090a250506065805460ff19166001179055505050505050565b604080516101808101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820181905261016082015260655460ff1660011901610e005760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055610e21606554610100900460ff1660021490565b15610e3f5760405163bae6e2a960e01b815260040160405180910390fd5b6000610e5160a08501608086016125af565b6001600160a01b031603610e7857604051633c4f94dd60e11b815260040160405180910390fd5b6000610e8d6104616080860160608701612a9f565b50905080610eae57604051631c6c777560e31b815260040160405180910390fd5b46610ebf6080860160608701612a9f565b6001600160401b031603610ee657604051631c6c777560e31b815260040160405180910390fd5b6000610efb61010086013560e0870135612b52565b9050348114610f1d57604051634ac2abdf60e11b815260040160405180910390fd5b610f2685612b30565b60fb80549194506001600160801b03909116906000610f4483612d46565b82546101009290920a6001600160801b03818102199093169183160217909155168352336020840152466001600160401b03166040840152610f85836111d6565b9350610fa36d7369676e616c5f7365727669636560901b60006117ad565b6001600160a01b03166366ca2bc0856040518263ffffffff1660e01b8152600401610fd091815260200190565b6020604051808303816000875af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190612d6c565b50837f3406baf0dfd13f7f0ce1d077c461a35b763927e1438d49749442de2eb42148ba846040516110449190612d85565b60405180910390a250506065805460ff191660011790559092909150565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000000011630036110aa5760405162461bcd60e51b815260040161093790612d98565b7f00000000000000000000000001670080000000000000000000000000000000016001600160a01b03166110f3600080516020612fcf833981519152546001600160a01b031690565b6001600160a01b0316146111195760405162461bcd60e51b815260040161093790612de4565b61112281611cd0565b6040805160008082526020820190925261113e91839190611cd8565b50565b600061114e848484611e43565b90505b9392505050565b61116c606554610100900460ff1660021490565b6111895760405163bae6e2a960e01b815260040160405180910390fd5b611191611f2c565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6000816040516020016111e99190612e30565b604051602081830303815290604052805190602001209050919050565b6001600160a01b037f000000000000000000000000016700800000000000000000000000000000000116300361124e5760405162461bcd60e51b815260040161093790612d98565b7f00000000000000000000000001670080000000000000000000000000000000016001600160a01b0316611297600080516020612fcf833981519152546001600160a01b031690565b6001600160a01b0316146112bd5760405162461bcd60e51b815260040161093790612de4565b6112c682611cd0565b6109b282826001611cd8565b6000306001600160a01b037f000000000000000000000000016700800000000000000000000000000000000116146113725760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610937565b50600080516020612fcf83398151915290565b6000466113986060840160408501612a9f565b6001600160401b0316146113ae57506000919050565b6113ca6d7369676e616c5f7365727669636560901b60006117ad565b6001600160a01b03166332676bc6306113e561030286612b30565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa15801561142e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114529190612b65565b92915050565b60004661146b6060860160408701612a9f565b6001600160401b03161461148157506000611151565b61114e6114a06d7369676e616c5f7365727669636560901b60006117ad565b6114b56114af61030288612b30565b60031890565b6114c56080880160608901612a9f565b86866118b9565b6114d4611f2c565b6114de6000611f86565b565b6000466114f36080860160608701612a9f565b6001600160401b03161461150957506000611151565b61114e6115286d7369676e616c5f7365727669636560901b60006117ad565b61153461030287612b30565b6114c56060880160408901612a9f565b611558606554610100900460ff1660021490565b156115765760405163bae6e2a960e01b815260040160405180910390fd5b61157e611f2c565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016111cc565b6000806115d5836562726964676560d01b6001611141565b6001600160a01b038116151594909350915050565b60655460ff16600119016116115760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055611632606554610100900460ff1660021490565b156116505760405163bae6e2a960e01b815260040160405180910390fd5b6116606080830160608401612a9f565b46816001600160401b03161461168957604051631c6c777560e31b815260040160405180910390fd5b61012083013515806116985750815b156116de576116ad60a08401608085016125af565b6001600160a01b0316336001600160a01b0316146116de576040516372b6e1c360e11b815260040160405180910390fd5b60006116ec61030285612b30565b90506001600082815260fd602052604090205460ff1660038111156117135761171361278c565b1461173157604051636e10a9f360e01b815260040160405180910390fd5b61173c84825a61194e565b1561176d576117686117606d7369676e616c5f7365727669636560901b60006117ad565b826002611af1565b61179a565b821561179a5761179a6117926d7369676e616c5f7365727669636560901b60006117ad565b826003611af1565b50506065805460ff191660011790555050565b6000611151468484611e43565b604080516060810182526000808252602082018190529181019190915260fe5460001914806117e9575060fe54155b1561180757604051635ceed17360e01b815260040160405180910390fd5b506040805160608101825260fe54815260ff546001600160a01b0381166020830152600160a01b90046001600160401b03169181019190915290565b61184b611f2c565b6001600160a01b0381166118b05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610937565b61113e81611f86565b6000856001600160a01b031663910af6ed856118e0876562726964676560d01b6000611141565b8887876040518663ffffffff1660e01b8152600401611903959493929190612e67565b602060405180830381865afa158015611920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119449190612b65565b9695505050505050565b600081600003611971576040516308c2ad5360e01b815260040160405180910390fd5b3061198260408601602087016125af565b6001600160a01b03160361199857611998612ea9565b60405180606001604052808481526020018560200160208101906119bc91906125af565b6001600160a01b031681526020016119da6060870160408801612a9f565b6001600160401b03908116909152815160fe55602082015160ff8054604090940151909216600160a01b026001600160e01b03199093166001600160a01b0390911617919091179055611a3360c0850160a086016125af565b6001600160a01b03168260e0860135611a50610140880188612ebf565b604051611a5e929190612f05565b600060405180830381858888f193505050503d8060008114611a9c576040519150601f19603f3d011682016040523d82523d6000602084013e611aa1565b606091505b5050604080516060810182526000198082526001600160a01b0360208301526001600160401b03919092015260fe5560ff80546001600160e01b0319166001600160e01b03179055949350505050565b806003811115611b0357611b0361278c565b600083815260fd602052604090205460ff166003811115611b2657611b2661278c565b03611b3057505050565b600082815260fd60205260409020805482919060ff19166001836003811115611b5b57611b5b61278c565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b257563482604051611b9091906127a2565b60405180910390a26003816003811115611bac57611bac61278c565b03611c205760405163019b28af60e61b81526003831860048201526001600160a01b038416906366ca2bc0906024016020604051808303816000875af1158015611bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1e9190612d6c565b505b505050565b6109b282825a611fd8565b611c38612076565b61113e8161208f565b60006001600160a01b0383163b611c5a57506000611452565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015611cc4575060408051601f3d908101601f19168201909252611cc191810190612b65565b60015b15611452579392505050565b61113e611f2c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d0b57611c20836120d8565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d65575060408051601f3d908101601f19168201909252611d6291810190612d6c565b60015b611dc85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610937565b600080516020612fcf8339815191528114611e375760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610937565b50611c20838383612174565b6097546000906001600160a01b0316611e6f57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612f15565b905081158015611f0257506001600160a01b038116155b156111515783611f1184612199565b604051630d69e23960e41b8152600401610937929190612f32565b6033546001600160a01b031633146114de5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610937565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316611fff57604051634c67134d60e11b815260040160405180910390fd5b6000836001600160a01b0316838390604051600060405180830381858888f193505050503d806000811461204f576040519150601f19603f3d011682016040523d82523d6000602084013e612054565b606091505b5050905080611c1e57604051634c67134d60e11b815260040160405180910390fd5b61207e61222b565b6065805461ffff1916610101179055565b6001600160401b0346106120b65760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381163b6121455760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610937565b600080516020612fcf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61217d8361225a565b60008251118061218a5750805b15611c2057611c1e838361229a565b606060006121a6836122bf565b60010190506000816001600160401b038111156121c5576121c561282f565b6040519080825280601f01601f1916602001820160405280156121ef576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846121f957509392505050565b600054610100900460ff166122525760405162461bcd60e51b815260040161093790612f54565b6114de612397565b612263816120d8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606111518383604051806060016040528060278152602001612fef602791396123c7565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106122fe5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061232a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061234857662386f26fc10000830492506010015b6305f5e1008310612360576305f5e100830492506008015b612710831061237457612710830492506004015b60648310612386576064830492506002015b600a83106114525760010192915050565b600054610100900460ff166123be5760405162461bcd60e51b815260040161093790612f54565b6114de33611f86565b6060600080856001600160a01b0316856040516123e49190612f9f565b600060405180830381855af49150503d806000811461241f576040519150601f19603f3d011682016040523d82523d6000602084013e612424565b606091505b5091509150611944868383876060831561249f578251600003612498576001600160a01b0385163b6124985760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610937565b50816124a9565b6124a983836124b1565b949350505050565b8151156124c15781518083602001fd5b8060405162461bcd60e51b81526004016109379190612fbb565b600061018082840312156124ee57600080fd5b50919050565b60008060006040848603121561250957600080fd5b83356001600160401b038082111561252057600080fd5b61252c878388016124db565b9450602086013591508082111561254257600080fd5b818601915086601f83011261255657600080fd5b81358181111561256557600080fd5b87602082850101111561257757600080fd5b6020830194508093505050509250925092565b6001600160a01b038116811461113e57600080fd5b80356125aa8161258a565b919050565b6000602082840312156125c157600080fd5b81356111518161258a565b6000602082840312156125de57600080fd5b81356001600160401b038111156125f457600080fd5b6124a9848285016124db565b60005b8381101561261b578181015183820152602001612603565b50506000910152565b6000815180845261263c816020860160208601612600565b601f01601f19169290920160200192915050565b80516001600160801b031682526000610180602083015161267c60208601826001600160a01b03169052565b50604083015161269760408601826001600160401b03169052565b5060608301516126b260608601826001600160401b03169052565b5060808301516126cd60808601826001600160a01b03169052565b5060a08301516126e860a08601826001600160a01b03169052565b5060c083015161270360c08601826001600160a01b03169052565b5060e083015160e085015261010080840151818601525061012080840151818601525061014080840151828287015261273e83870182612624565b9250505061016080840151858303828701526119448382612624565b82815260406020820152600061114e6040830184612650565b60006020828403121561278557600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60208101600483106127c457634e487b7160e01b600052602160045260246000fd5b91905290565b80356001600160401b03811681146125aa57600080fd5b801515811461113e57600080fd5b60008060006060848603121561280457600080fd5b61280d846127ca565b9250602084013591506040840135612824816127e1565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b03811182821017156128685761286861282f565b60405290565b80356001600160801b03811681146125aa57600080fd5b600082601f83011261289657600080fd5b81356001600160401b03808211156128b0576128b061282f565b604051601f8301601f19908116603f011681019082821181831017156128d8576128d861282f565b816040528381528660208588010111156128f157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610180828403121561292457600080fd5b61292c612845565b90506129378261286e565b81526129456020830161259f565b6020820152612956604083016127ca565b6040820152612967606083016127ca565b60608201526129786080830161259f565b608082015261298960a0830161259f565b60a082015261299a60c0830161259f565b60c082015260e0828101359082015261010080830135908201526101208083013590820152610140808301356001600160401b03808211156129db57600080fd5b6129e786838701612885565b83850152610160925082850135915080821115612a0357600080fd5b50612a1085828601612885565b82840152505092915050565b600060208284031215612a2e57600080fd5b81356001600160401b03811115612a4457600080fd5b6124a984828501612911565b60008060408385031215612a6357600080fd5b8235612a6e8161258a565b915060208301356001600160401b03811115612a8957600080fd5b612a9585828601612885565b9150509250929050565b600060208284031215612ab157600080fd5b611151826127ca565b60008060408385031215612acd57600080fd5b82356001600160401b03811115612ae357600080fd5b612aef858286016124db565b9250506020830135612b00816127e1565b809150509250929050565b60008060408385031215612b1e57600080fd5b823591506020830135612b00816127e1565b60006114523683612911565b634e487b7160e01b600052601160045260246000fd5b8082018082111561145257611452612b3c565b600060208284031215612b7757600080fd5b8151611151816127e1565b6000808335601e19843603018112612b9957600080fd5b83016020810192503590506001600160401b03811115612bb857600080fd5b803603821315612bc757600080fd5b9250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60408152612c1860408201612c0b8561286e565b6001600160801b03169052565b6000612c266020850161259f565b6001600160a01b03166060830152612c40604085016127ca565b6001600160401b03166080830152612c5a606085016127ca565b6001600160401b031660a0830152612c746080850161259f565b6001600160a01b031660c0830152612c8e60a0850161259f565b6001600160a01b031660e0830152612ca860c0850161259f565b610100612cbf818501836001600160a01b03169052565b610120915060e086013582850152610140818701358186015261016091508287013582860152612cf181880188612b82565b6101808781015293509050612d0b6101c086018483612bce565b925050612d1a81870187612b82565b858403603f19016101a08701529150612d34838383612bce565b93505050508260208301529392505050565b60006001600160801b03808316818103612d6257612d62612b3c565b6001019392505050565b600060208284031215612d7e57600080fd5b5051919050565b6020815260006111516020830184612650565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60408152600d60408201526c5441494b4f5f4d45535341474560981b60608201526080602082015260006111516080830184612650565b6001600160401b038616815260018060a01b0385166020820152836040820152608060608201526000612e9e608083018486612bce565b979650505050505050565b634e487b7160e01b600052600160045260246000fd5b6000808335601e19843603018112612ed657600080fd5b8301803591506001600160401b03821115612ef057600080fd5b602001915036819003821315612bc757600080fd5b8183823760009101908152919050565b600060208284031215612f2757600080fd5b81516111518161258a565b6001600160401b038316815260406020820152600061114e6040830184612624565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612fb1818460208701612600565b9190910192915050565b602081526000611151602083018461262456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e892cdceae8d4b60780b9127de196345c4092abe37dfdd4712cf041b1bee238f64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000001": { + "contractName": "Bridge", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670080000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x033b2dcd9a1ae301c8000000" + }, + "0x0167008000000000000000000000000000000002": { + "contractName": "ERC20VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106200014f5760003560e01c80635c975abb11620000b95780638da5cb5b11620000785780638da5cb5b14620003b85780639aa8605c14620003d8578063a86f9d9e1462000410578063c389a1801462000435578063caec3e4e146200044c578063f2fde38b146200048057600080fd5b80635c975abb14620002fa57806367090ccf146200031d578063715018a61462000362578063755fc20c146200037a5780638456cb5914620003a057600080fd5b80633659cfe611620001125780633659cfe614620002475780633ab76e9f146200026c5780633eb6b8cf146200028e5780633f4ba83a14620002b35780634f1ef28614620002cb57806352d1902d14620002e257600080fd5b806301ffc9a7146200015457806306fdde03146200019e5780630ecd8be914620001cb57806319ab453c1462000209578063240f6a5f1462000230575b600080fd5b3480156200016157600080fd5b506200018962000173366004620031e0565b6001600160e01b031916630187134360e71b1490565b60405190151581526020015b60405180910390f35b348015620001ab57600080fd5b506a195c98cc8c17dd985d5b1d60aa1b5b60405190815260200162000195565b348015620001d857600080fd5b50620001f0620001ea3660046200323b565b620004a5565b6040516001600160a01b03909116815260200162000195565b3480156200021657600080fd5b506200022e6200022836600462003292565b62000b92565b005b6200022e62000241366004620032b2565b62000cb2565b3480156200025457600080fd5b506200022e6200026636600462003292565b62000ead565b3480156200027957600080fd5b50609754620001f0906001600160a01b031681565b3480156200029b57600080fd5b50620001f0620002ad36600462003348565b62000f98565b348015620002c057600080fd5b506200022e62000fb1565b6200022e620002dc36600462003496565b62001033565b348015620002ef57600080fd5b50620001bc6200110b565b3480156200030757600080fd5b5062000189606554610100900460ff1660021490565b3480156200032a57600080fd5b50620001f06200033c36600462003500565b60fc6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200036f57600080fd5b506200022e620011c2565b620003916200038b36600462003528565b620011da565b604051620001959190620035ba565b348015620003ad57600080fd5b506200022e62001584565b348015620003c557600080fd5b506033546001600160a01b0316620001f0565b348015620003e557600080fd5b50620003fd620003f736600462003292565b62001602565b60405162000195959493929190620036c2565b3480156200041d57600080fd5b50620001f06200042f36600462003720565b6200176b565b6200022e6200044636600462003748565b62001783565b3480156200045957600080fd5b50620001896200046b36600462003292565b60fd6020526000908152604090205460ff1681565b3480156200048d57600080fd5b506200022e6200049f36600462003292565b620019e2565b60655460009060ff1660011901620004d05760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055620004f2606554610100900460ff1660021490565b15620005115760405163bae6e2a960e01b815260040160405180910390fd5b6200051b62001a5e565b6001600160a01b03821615806200055257506001600160a01b03828116600090815260fb6020526040902054600160401b90041615155b15620005715760405163dc63f98760e01b815260040160405180910390fd5b6001600160a01b038216600090815260fd602052604090205460ff1615620005ac576040516375c42fc160e01b815260040160405180910390fd5b6033546001600160a01b03166001600160a01b0316826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000600573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006269190620037a2565b6001600160a01b0316146200064e5760405163c0507c1760e01b815260040160405180910390fd5b60fc6000620006616020860186620037c2565b6001600160401b0316815260200190815260200160002060008460200160208101906200068f919062003292565b6001600160a01b039081168252602082019290925260400160002054169050801562000a2a576001600160a01b03818116600090815260fb60209081526040808320815160a08101835281546001600160401b0381168252600160401b810490961693810193909352600160e01b90940460ff1690820152600183018054929391926060840191906200072290620037e2565b80601f01602080910402602001604051908101604052809291908181526020018280546200075090620037e2565b8015620007a15780601f106200077557610100808354040283529160200191620007a1565b820191906000526020600020905b8154815290600101906020018083116200078357829003601f168201915b50505050508152602001600282018054620007bc90620037e2565b80601f0160208091040260200160405190810160405280929190818152602001828054620007ea90620037e2565b80156200083b5780601f106200080f576101008083540402835291602001916200083b565b820191906000526020600020905b8154815290600101906020018083116200081d57829003601f168201915b50505050508152505090508360400160208101906200085b919062003835565b60ff16816040015160ff16141580620008a557506200087e606085018562003855565b6040516200088e929190620038a5565b604051809103902081606001518051906020012014155b80620008e25750620008bb608085018562003855565b604051620008cb929190620038a5565b604051809103902081608001518051906020012014155b156200090157604051632f9d1d7b60e11b815260040160405180910390fd5b6001600160a01b038216600090815260fb6020526040812080546001600160e81b031916815590620009376001830182620030dc565b62000947600283016000620030dc565b50506001600160a01b03828116600081815260fd6020526040808220805460ff191660011790555163b8f2e0c560e01b8152928616600484015260248301529063b8f2e0c590604401600060405180830381600087803b158015620009ab57600080fd5b505af1158015620009c0573d6000803e3d6000fd5b505060405163b8f2e0c560e01b81526001600160a01b038581166004830152600160248301528616925063b8f2e0c59150604401600060405180830381600087803b15801562000a0f57600080fd5b505af115801562000a24573d6000803e3d6000fd5b50505050505b6001600160a01b038216600090815260fb60205260409020839062000a508282620039d4565b5082905060fc600062000a676020870187620037c2565b6001600160401b03168152602001908152602001600020600085602001602081019062000a95919062003292565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082602001602081019062000aee919062003292565b6001600160a01b031662000b066020850185620037c2565b6001600160401b03167f031d68e1805917560c34a5f55a7dd91bef98f911190ed02cdbb53caedae6c39d838562000b41606089018962003855565b62000b5060808b018b62003855565b62000b6260608d0160408e0162003835565b60405162000b77979695949392919062003ad0565b60405180910390a36065805460ff1916600117905592915050565b600054610100900460ff161580801562000bb35750600054600160ff909116105b8062000bcf5750303b15801562000bcf575060005460ff166001145b62000c385760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000c5c576000805461ff0019166101001790555b62000c678262001aba565b801562000cae576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60655460ff166001190162000cda5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905562000cfc606554610100900460ff1660021490565b1562000d1b5760405163bae6e2a960e01b815260040160405180910390fd5b600062000d2762001acf565b905060006001600160a01b038416158062000d4a57506001600160a01b03841630145b62000d56578362000d58565b845b905060004662000d6c6020890189620037c2565b6001600160401b03160362000dab5762000d8d604088016020890162003292565b905062000da56001600160a01b038216838662001bf9565b62000e1f565b62000db68762001c63565b6040516340c10f1960e01b81526001600160a01b03848116600483015260248201879052919250908216906340c10f1990604401600060405180830381600087803b15801562000e0557600080fd5b505af115801562000e1a573d6000803e3d6000fd5b505050505b62000e346001600160a01b0383163462001cdd565b825160408085015181516001600160401b0390911681526001600160a01b0384811660208301529181018790528188169291891691907fc8d296a7a3ffa2fb1e316d8c6cbaf5f7ea5e12f11abd76e61f47d2dfa12bb4679060600160405180910390a450506065805460ff191660011790555050505050565b6001600160a01b037f000000000000000000000000016700800000000000000000000000000000000216300362000ef85760405162461bcd60e51b815260040162000c2f9062003b2c565b7f00000000000000000000000001670080000000000000000000000000000000026001600160a01b031662000f436000805160206200472b833981519152546001600160a01b031690565b6001600160a01b03161462000f6c5760405162461bcd60e51b815260040162000c2f9062003b78565b62000f778162001cea565b6040805160008082526020820190925262000f959183919062001cf4565b50565b600062000fa784848462001e6c565b90505b9392505050565b62000fc6606554610100900460ff1660021490565b62000fe45760405163bae6e2a960e01b815260040160405180910390fd5b62000fee62001a5e565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000000021630036200107e5760405162461bcd60e51b815260040162000c2f9062003b2c565b7f00000000000000000000000001670080000000000000000000000000000000026001600160a01b0316620010c96000805160206200472b833981519152546001600160a01b031690565b6001600160a01b031614620010f25760405162461bcd60e51b815260040162000c2f9062003b78565b620010fd8262001cea565b62000cae8282600162001cf4565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000000021614620011ad5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c2f565b506000805160206200472b8339815191525b90565b620011cc62001a5e565b620011d8600062001f5f565b565b620011e46200311b565b60655460ff16600119016200120c5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff191660021790556200122e606554610100900460ff1660021490565b156200124d5760405163bae6e2a960e01b815260040160405180910390fd5b81606001356000036200127357604051634299323b60e11b815260040160405180910390fd5b600062001287606084016040850162003292565b6001600160a01b031603620012af576040516303f8a7d360e01b815260040160405180910390fd5b60fd6000620012c5606085016040860162003292565b6001600160a01b0316815260208101919091526040016000205460ff161562001301576040516375c42fc160e01b815260040160405180910390fd5b60006200130d6200311b565b620013413362001324606087016040880162003292565b62001336604088016020890162003292565b876060013562001fb1565b61014083019190915291506200135b6020850185620037c2565b6001600160401b031660608201523360808201526200139a620013826020860186620037c2565b6a195c98cc8c17dd985d5b1d60aa1b5b600062000f98565b6001600160a01b031660a0808301919091526080850135610120830152620013c6908501353462003bc4565b60e08083019190915260a0850135610100830152620013eb90850160c0860162003292565b6001600160a01b031660c08201526200140860e085018562003855565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250610160860194909452506200145b91506562726964676560d01b9050826200176b565b6001600160a01b03166333bcd0cc34846040518363ffffffff1660e01b8152600401620014899190620035ba565b60006040518083038185885af1158015620014a8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052620014d3919081019062003c57565b94509050620014e9604086016020870162003292565b60808501516001600160a01b039182169116827fd2934b7e737b6465ee52ffdc702435c483343c4354cafc7f296e05e890358e486200152c60208a018a620037c2565b6200153e60608b0160408c0162003292565b604080516001600160401b0390931683526001600160a01b039091166020830152810188905260600160405180910390a450506065805460ff1916600117905550919050565b62001599606554610100900460ff1660021490565b15620015b85760405163bae6e2a960e01b815260040160405180910390fd5b620015c262001a5e565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162001029565b60fb60205260009081526040902080546001820180546001600160401b03831693600160401b84046001600160a01b031693600160e01b900460ff169290916200164c90620037e2565b80601f01602080910402602001604051908101604052809291908181526020018280546200167a90620037e2565b8015620016cb5780601f106200169f57610100808354040283529160200191620016cb565b820191906000526020600020905b815481529060010190602001808311620016ad57829003601f168201915b505050505090806002018054620016e290620037e2565b80601f01602080910402602001604051908101604052809291908181526020018280546200171090620037e2565b8015620017615780601f10620017355761010080835404028352916020019162001761565b820191906000526020600020905b8154815290600101906020018083116200174357829003601f168201915b5050505050905085565b60006200177a46848462001e6c565b90505b92915050565b60655460ff1660011901620017ab5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055620017cd606554610100900460ff1660021490565b15620017ec5760405163bae6e2a960e01b815260040160405180910390fd5b620017f6620024e4565b506000806200180a61014085018562003855565b6200181a91600490829062003da8565b81019062001829919062003e04565b919450909250506001600160a01b03831690506200185a576040516303f8a7d360e01b815260040160405180910390fd5b80156200193a576001600160a01b03828116600090815260fb6020526040902054600160401b9004161562001912576001600160a01b0382166340c10f19620018aa60a087016080880162003292565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015620018f357600080fd5b505af115801562001908573d6000803e3d6000fd5b505050506200193a565b6200193a6200192860a086016080870162003292565b6001600160a01b038416908362001bf9565b6200196560e08501356200195560a087016080880162003292565b6001600160a01b03169062001cdd565b6200197760a085016080860162003292565b6001600160a01b0316837f75c5fedbd5fff6123ad9b70827e9742ea1eee996583d6e14249f1429fc4fd9938484604051620019c79291906001600160a01b03929092168252602082015260400190565b60405180910390a350506065805460ff191660011790555050565b620019ec62001a5e565b6001600160a01b03811662001a535760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000c2f565b62000f958162001f5f565b6033546001600160a01b03163314620011d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c2f565b62001ac4620025df565b62000f9581620025fa565b604080516060810182526000808252602082018190529181019190915262001b026562726964676560d01b60006200176b565b6001600160a01b0316336001600160a01b03161462001b3457604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001b73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b99919062003efa565b9050600062001bbc8260400151620013926a195c98cc8c17dd985d5b1d60aa1b90565b9050806001600160a01b031682602001516001600160a01b03161462001bf557604051632583296b60e01b815260040160405180910390fd5b5090565b6040516001600160a01b03831660248201526044810182905262001c5e90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002644565b505050565b600060fc8162001c776020850185620037c2565b6001600160401b03168152602001908152602001600020600083602001602081019062001ca5919062003292565b6001600160a01b0390811682526020820192909252604001600020541690508062001cd85762001cd5826200271d565b90505b919050565b62000cae82825a6200296a565b62000f9562001a5e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001d2a5762001c5e8362002a12565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001d87575060408051601f3d908101601f1916820190925262001d849181019062003f6a565b60015b62001dec5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c2f565b6000805160206200472b833981519152811462001e5e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c2f565b5062001c5e83838362002ab1565b6097546000906001600160a01b031662001e9957604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001ef2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f189190620037a2565b90508115801562001f3057506001600160a01b038116155b1562000faa578362001f428462002adc565b604051630d69e23960e41b815260040162000c2f92919062003f84565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040805160a08101825260008082526020820181905291810182905260608181018190526080820181905291906001600160a01b03868116600090815260fb6020526040902054600160401b9004161562002207576001600160a01b03868116600090815260fb6020908152604091829020825160a08101845281546001600160401b0381168252600160401b810490951692810192909252600160e01b90930460ff16918101919091526001820180549192916060840191906200207690620037e2565b80601f0160208091040260200160405190810160405280929190818152602001828054620020a490620037e2565b8015620020f55780601f10620020c957610100808354040283529160200191620020f5565b820191906000526020600020905b815481529060010190602001808311620020d757829003601f168201915b505050505081526020016002820180546200211090620037e2565b80601f01602080910402602001604051908101604052809291908181526020018280546200213e90620037e2565b80156200218f5780601f1062002163576101008083540402835291602001916200218f565b820191906000526020600020905b8154815290600101906020018083116200217157829003601f168201915b505050919092525050604051632770a7eb60e21b815233600482015260248101879052919250506001600160a01b03871690639dc29fac90604401600060405180830381600087803b158015620021e557600080fd5b505af1158015620021fa573d6000803e3d6000fd5b5050505083915062002483565b60008690506040518060a00160405280466001600160401b03168152602001886001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200229a919062003fa8565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015620022e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200230b919081019062003fc8565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200234f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002379919081019062003fc8565b90526040516370a0823160e01b81523060048201529092506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015620023c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023ec919062003f6a565b9050620024056001600160a01b03831633308962002b75565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156200244c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002472919062003f6a565b6200247e919062003bc4565b935050505b306001600160a01b031663240f6a5f82898886604051602401620024ab949392919062004000565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505092505094509492505050565b6040805160608101825260008082526020820181905291810191909152620025176562726964676560d01b60006200176b565b6001600160a01b0316336001600160a01b0316146200254957604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562002588573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025ae919062003efa565b60208101519091506001600160a01b03163314620011bf57604051632583296b60e01b815260040160405180910390fd5b620025e962002baf565b6065805461ffff1916610101179055565b6001600160401b034610620026225760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60006200269b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662002be39092919063ffffffff16565b80519091501562001c5e5780806020019051810190620026bc9190620040a6565b62001c5e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000c2f565b6097546000908190636c0db62b60e01b906001600160a01b031662002749604086016020870162003292565b620027586020870187620037c2565b6200276a606088016040890162003835565b62002779606089018962003855565b6200278860808b018b62003855565b604051602001620027a1989796959493929190620040c6565b60408051601f1981840301815290829052620027c1929160200162004131565b604051602081830303815290604052905062002806620027f36c0627269646765645f657263323609c1b60006200176b565b6033546001600160a01b03168362002bf4565b6001600160a01b038116600090815260fb6020526040902090925083906200282f8282620039d4565b5082905060fc6000620028466020870187620037c2565b6001600160401b03168152602001908152602001600020600085602001602081019062002874919062003292565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316836020016020810190620028d7919062003292565b6001600160a01b0316620028ef6020860186620037c2565b6001600160401b03167fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907962002928606088018862003855565b6200293760808a018a62003855565b6200294960608c0160408d0162003835565b6040516200295c95949392919062004164565b60405180910390a450919050565b6001600160a01b0383166200299257604051634c67134d60e11b815260040160405180910390fd5b6000836001600160a01b0316838390604051600060405180830381858888f193505050503d8060008114620029e4576040519150601f19603f3d011682016040523d82523d6000602084013e620029e9565b606091505b505090508062002a0c57604051634c67134d60e11b815260040160405180910390fd5b50505050565b6001600160a01b0381163b62002a815760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c2f565b6000805160206200472b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62002abc8362002d54565b60008251118062002aca5750805b1562001c5e5762002a0c838362002d96565b6060600062002aeb8362002dbe565b60010190506000816001600160401b0381111562002b0d5762002b0d6200338f565b6040519080825280601f01601f19166020018201604052801562002b38576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508462002b4257509392505050565b6040516001600160a01b038085166024830152831660448201526064810182905262002a0c9085906323b872dd60e01b9060840162001c26565b600054610100900460ff1662002bd95760405162461bcd60e51b815260040162000c2f90620041a5565b620011d862002e9d565b606062000fa7848460008562002ed2565b60006001600160a01b03841662002c1e576040516305d1c47b60e41b815260040160405180910390fd5b838260405162002c2e90620031bb565b62002c3b929190620041f0565b604051809103906000f08015801562002c58573d6000803e3d6000fd5b5090506001600160a01b0383161580159062002cea5750806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002cae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cd49190620037a2565b6001600160a01b0316836001600160a01b031614155b1562000faa5760405163f2fde38b60e01b81526001600160a01b03848116600483015282169063f2fde38b90602401600060405180830381600087803b15801562002d3457600080fd5b505af115801562002d49573d6000803e3d6000fd5b505050509392505050565b62002d5f8162002a12565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200177a83836040518060600160405280602781526020016200474b6027913962002fb7565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831062002dfe5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831062002e2b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831062002e4a57662386f26fc10000830492506010015b6305f5e100831062002e63576305f5e100830492506008015b612710831062002e7857612710830492506004015b6064831062002e8b576064830492506002015b600a83106200177d5760010192915050565b600054610100900460ff1662002ec75760405162461bcd60e51b815260040162000c2f90620041a5565b620011d83362001f5f565b60608247101562002f355760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000c2f565b600080866001600160a01b0316858760405162002f53919062004216565b60006040518083038185875af1925050503d806000811462002f92576040519150601f19603f3d011682016040523d82523d6000602084013e62002f97565b606091505b509150915062002faa8783838762003035565b925050505b949350505050565b6060600080856001600160a01b03168560405162002fd6919062004216565b600060405180830381855af49150503d806000811462003013576040519150601f19603f3d011682016040523d82523d6000602084013e62003018565b606091505b50915091506200302b8683838762003035565b9695505050505050565b60608315620030a9578251600003620030a1576001600160a01b0385163b620030a15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c2f565b508162002faf565b62002faf8383815115620030c05781518083602001fd5b8060405162461bcd60e51b815260040162000c2f919062004234565b508054620030ea90620037e2565b6000825580601f10620030fb575050565b601f01602090049060005260206000209081019062000f959190620031c9565b60405180610180016040528060006001600160801b0316815260200160006001600160a01b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b6104e1806200424a83390190565b5b8082111562001bf55760008155600101620031ca565b600060208284031215620031f357600080fd5b81356001600160e01b03198116811462000faa57600080fd5b600060a082840312156200321f57600080fd5b50919050565b6001600160a01b038116811462000f9557600080fd5b600080604083850312156200324f57600080fd5b82356001600160401b038111156200326657600080fd5b62003274858286016200320c565b9250506020830135620032878162003225565b809150509250929050565b600060208284031215620032a557600080fd5b813562000faa8162003225565b60008060008060808587031215620032c957600080fd5b84356001600160401b03811115620032e057600080fd5b620032ee878288016200320c565b9450506020850135620033018162003225565b92506040850135620033138162003225565b9396929550929360600135925050565b6001600160401b038116811462000f9557600080fd5b801515811462000f9557600080fd5b6000806000606084860312156200335e57600080fd5b83356200336b8162003323565b9250602084013591506040840135620033848162003339565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715620033cb57620033cb6200338f565b60405290565b60405160a081016001600160401b0381118282101715620033cb57620033cb6200338f565b604051601f8201601f191681016001600160401b03811182821017156200342157620034216200338f565b604052919050565b60006001600160401b038211156200344557620034456200338f565b50601f01601f191660200190565b60006200346a620034648462003429565b620033f6565b90508281528383830111156200347f57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215620034aa57600080fd5b8235620034b78162003225565b915060208301356001600160401b03811115620034d357600080fd5b8301601f81018513620034e557600080fd5b620034f68582356020840162003453565b9150509250929050565b600080604083850312156200351457600080fd5b823591506020830135620032878162003225565b6000602082840312156200353b57600080fd5b81356001600160401b038111156200355257600080fd5b8201610100818503121562000faa57600080fd5b60005b838110156200358357818101518382015260200162003569565b50506000910152565b60008151808452620035a681602086016020860162003566565b601f01601f19169290920160200192915050565b60208152620035d56020820183516001600160801b03169052565b60006020830151620035f260408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052620036a46101a08601846200358c565b90860151858203601f1901838701529092506200302b83826200358c565b6001600160401b03861681526001600160a01b038516602082015260ff8416604082015260a06060820181905260009062003700908301856200358c565b82810360808401526200371481856200358c565b98975050505050505050565b600080604083850312156200373457600080fd5b823591506020830135620032878162003339565b600080604083850312156200375c57600080fd5b82356001600160401b038111156200377357600080fd5b830161018081860312156200378757600080fd5b946020939093013593505050565b805162001cd88162003225565b600060208284031215620037b557600080fd5b815162000faa8162003225565b600060208284031215620037d557600080fd5b813562000faa8162003323565b600181811c90821680620037f757607f821691505b6020821081036200321f57634e487b7160e01b600052602260045260246000fd5b60ff8116811462000f9557600080fd5b803562001cd88162003818565b6000602082840312156200384857600080fd5b813562000faa8162003818565b6000808335601e198436030181126200386d57600080fd5b8301803591506001600160401b038211156200388857600080fd5b6020019150368190038213156200389e57600080fd5b9250929050565b8183823760009101908152919050565b601f82111562001c5e57600081815260208120601f850160051c81016020861015620038de5750805b601f850160051c820191505b81811015620038ff57828155600101620038ea565b505050505050565b6001600160401b038311156200392157620039216200338f565b6200393983620039328354620037e2565b83620038b5565b6000601f841160018114620039705760008515620039575750838201355b600019600387901b1c1916600186901b178355620039cd565b600083815260209020601f19861690835b82811015620039a3578685013582556020948501946001909201910162003981565b5086821015620039c15760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8135620039e18162003323565b6001600160401b03811690508154816001600160401b03198216178355602084013562003a0e8162003225565b68010000000000000000600160e01b03604091821b166001600160e01b031983168417811785559085013562003a448162003818565b6001600160e81b0319929092169092179190911760e09190911b60ff60e01b1617815562003a76606083018362003855565b62003a8681836001860162003907565b505062003a97608083018362003855565b62002a0c81836002860162003907565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0388811682528716602082015260a06040820181905260009062003aff908301878962003aa7565b828103606084015262003b1481868862003aa7565b91505060ff8316608083015298975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b818103818111156200177d57634e487b7160e01b600052601160045260246000fd5b80516001600160801b038116811462001cd857600080fd5b805162001cd88162003323565b600082601f83011262003c1d57600080fd5b815162003c2e620034648262003429565b81815284602083860101111562003c4457600080fd5b62002faf82602083016020870162003566565b6000806040838503121562003c6b57600080fd5b8251915060208301516001600160401b038082111562003c8a57600080fd5b90840190610180828703121562003ca057600080fd5b62003caa620033a5565b62003cb58362003be6565b815262003cc56020840162003795565b602082015262003cd86040840162003bfe565b604082015262003ceb6060840162003bfe565b606082015262003cfe6080840162003795565b608082015262003d1160a0840162003795565b60a082015262003d2460c0840162003795565b60c082015260e0838101519082015261010080840151908201526101208084015190820152610140808401518381111562003d5e57600080fd5b62003d6c8982870162003c0b565b828401525050610160808401518381111562003d8757600080fd5b62003d958982870162003c0b565b8284015250508093505050509250929050565b6000808585111562003db957600080fd5b8386111562003dc757600080fd5b5050820193919092039150565b600082601f83011262003de657600080fd5b6200177a8383356020850162003453565b803562001cd88162003225565b6000806000806080858703121562003e1b57600080fd5b84356001600160401b038082111562003e3357600080fd5b9086019060a0828903121562003e4857600080fd5b62003e52620033d1565b823562003e5f8162003323565b8152602083013562003e718162003225565b602082015262003e846040840162003828565b604082015260608301358281111562003e9c57600080fd5b62003eaa8a82860162003dd4565b60608301525060808301358281111562003ec357600080fd5b62003ed18a82860162003dd4565b608083015250955062003eea9150506020860162003df7565b9250620033136040860162003df7565b60006060828403121562003f0d57600080fd5b604051606081018181106001600160401b038211171562003f325762003f326200338f565b60405282518152602083015162003f498162003225565b6020820152604083015162003f5e8162003323565b60408201529392505050565b60006020828403121562003f7d57600080fd5b5051919050565b6001600160401b038316815260406020820152600062000fa760408301846200358c565b60006020828403121562003fbb57600080fd5b815162000faa8162003818565b60006020828403121562003fdb57600080fd5b81516001600160401b0381111562003ff257600080fd5b62002faf8482850162003c0b565b608081526001600160401b03855116608082015260018060a01b0360208601511660a082015260ff60408601511660c08201526000606086015160a060e0840152620040516101208401826200358c565b90506080870151607f19848303016101008501526200407182826200358c565b925050506200408b60208301866001600160a01b03169052565b6001600160a01b039390931660408201526060015292915050565b600060208284031215620040b957600080fd5b815162000faa8162003339565b6001600160a01b038981168252881660208201526001600160401b038716604082015260ff8616606082015260c0608082018190526000906200410d908301868862003aa7565b82810360a08401526200412281858762003aa7565b9b9a5050505050505050505050565b6001600160e01b03198316815281516000906200415681600485016020870162003566565b919091016004019392505050565b6060815260006200417a60608301878962003aa7565b82810360208401526200418f81868862003aa7565b91505060ff831660408301529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038316815260406020820181905260009062000fa7908301846200358c565b600082516200422a81846020870162003566565b9190910192915050565b6020815260006200177a60208301846200358c56fe60806040526040516104e13803806104e1833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104ba60279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60b1806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122047c4452ec207e12ab2ede7e4584377b6d10b42be2bc68e538c3afb63891c0e1d64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000002": { + "contractName": "ERC20Vault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670080000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000000003": { + "contractName": "ERC721VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x608060405260043610620001675760003560e01c806352d1902d11620000c55780638456cb5911620000785780638456cb59146200042f5780638da5cb5b14620004475780639aa8605c1462000467578063a86f9d9e146200049e578063c389a18014620004c3578063f2fde38b14620004da57600080fd5b806352d1902d146200036357806359f4a907146200037b5780635c975abb1462000398578063634da63a14620003bb57806367090ccf14620003d2578063715018a6146200041757600080fd5b80633659cfe6116200011e5780633659cfe614620002895780633ab76e9f14620002ae5780633eb6b8cf14620002e95780633f4ba83a146200030e57806348b2772e14620003265780634f1ef286146200034c57600080fd5b806301ffc9a7146200016c57806306fdde0314620001b6578063150b7a0214620001e457806319ab453c146200022e5780632ca069a51462000255578063300536b51462000272575b600080fd5b3480156200017957600080fd5b50620001a16200018b36600462002c5f565b6001600160e01b031916630187134360e71b1490565b60405190151581526020015b60405180910390f35b348015620001c357600080fd5b506b195c98cdcc8c57dd985d5b1d60a21b5b604051908152602001620001ad565b348015620001f157600080fd5b50620002146200020336600462002ca1565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001620001ad565b3480156200023b57600080fd5b50620002536200024d36600462002d48565b620004ff565b005b3480156200026257600080fd5b5062000214636cdb3d1360e11b81565b620002536200028336600462002e65565b6200061f565b3480156200029657600080fd5b5062000253620002a836600462002d48565b6200091e565b348015620002bb57600080fd5b50609754620002d0906001600160a01b031681565b6040516001600160a01b039091168152602001620001ad565b348015620002f657600080fd5b50620002d06200030836600462002f28565b62000a09565b3480156200031b57600080fd5b506200025362000a22565b6200033d6200033736600462002f6f565b62000aa4565b604051620001ad919062003001565b620002536200035d36600462003176565b62000f57565b3480156200037057600080fd5b50620001d56200102f565b3480156200038857600080fd5b50620002146380ac58cd60e01b81565b348015620003a557600080fd5b50620001a1606554610100900460ff1660021490565b348015620003c857600080fd5b50620001d5600a81565b348015620003df57600080fd5b50620002d0620003f1366004620031e0565b60fc6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200042457600080fd5b5062000253620010e6565b3480156200043c57600080fd5b5062000253620010fe565b3480156200045457600080fd5b506033546001600160a01b0316620002d0565b3480156200047457600080fd5b506200048c6200048636600462002d48565b6200117c565b604051620001ad949392919062003213565b348015620004ab57600080fd5b50620002d0620004bd3660046200325c565b620012db565b62000253620004d436600462003284565b620012f3565b348015620004e757600080fd5b5062000253620004f936600462002d48565b620016e5565b600054610100900460ff1615808015620005205750600054600160ff909116105b806200053c5750303b1580156200053c575060005460ff166001145b620005a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620005c9576000805461ff0019166101001790555b620005d48262001761565b80156200061b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b60655460ff1660011901620006475760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905562000669606554610100900460ff1660021490565b15620006885760405163bae6e2a960e01b815260040160405180910390fd5b60006200069462001776565b905060006001600160a01b0384161580620006b757506001600160a01b03841630145b620006c35783620006c5565b845b9050600046620006d96020890189620032d1565b6001600160401b031603620007b657620006fa604088016020890162002d48565b905060005b8451811015620007af57816001600160a01b03166342842e0e30858885815181106200072f576200072f620032f1565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156200078a57600080fd5b505af11580156200079f573d6000803e3d6000fd5b50505050806001019050620006ff565b5062000871565b620007c187620018a1565b905060005b84518110156200086f57816001600160a01b03166340c10f1984878481518110620007f557620007f5620032f1565b60200260200101516040518363ffffffff1660e01b81526004016200082f9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200084a57600080fd5b505af11580156200085f573d6000803e3d6000fd5b50505050806001019050620007c6565b505b620008866001600160a01b0383163462001925565b825160408401516001600160a01b0380881692908916917f8a4d138c7a19e12f6cdedfca02085820b0b1f5a9655c7a8b784f1d534347f2479085896000604051908082528060200260200182016040528015620008ed578160200160208202803683370190505b5060405162000900949392919062003344565b60405180910390a450506065805460ff191660011790555050505050565b6001600160a01b037f0000000000000000000000000167008000000000000000000000000000000003163003620009695760405162461bcd60e51b81526004016200059c906200338d565b7f00000000000000000000000001670080000000000000000000000000000000036001600160a01b0316620009b460008051602062004200833981519152546001600160a01b031690565b6001600160a01b031614620009dd5760405162461bcd60e51b81526004016200059c90620033d9565b620009e88162001932565b6040805160008082526020820190925262000a06918391906200193c565b50565b600062000a1884848462001ab9565b90505b9392505050565b62000a37606554610100900460ff1660021490565b62000a555760405163bae6e2a960e01b815260040160405180910390fd5b62000a5f62001bac565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b62000aae62002bb1565b60655460ff166001190162000ad65760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905562000af8606554610100900460ff1660021490565b1562000b175760405163bae6e2a960e01b815260040160405180910390fd5b8162000b27608082018262003425565b905062000b38606083018362003425565b90501462000b595760405163196e8a4160e31b815260040160405180910390fd5b600a62000b6a606083018362003425565b9050111562000b8c5760405163e4a4c1c760e01b815260040160405180910390fd5b600062000ba0606083016040840162002d48565b6001600160a01b03160362000bc8576040516303f8a7d360e01b815260040160405180910390fd5b60005b62000bda606085018562003425565b905081101562000c415762000bf3608085018562003425565b8281811062000c065762000c06620032f1565b9050602002013560001462000c2e57604051634299323b60e11b815260040160405180910390fd5b62000c39816200348e565b905062000bcb565b5062000c706380ac58cd60e01b62000c60606086016040870162002d48565b6001600160a01b03169062001c08565b62000c8e57604051633ee915f560e11b815260040160405180910390fd5b600062000c9f608085018562003425565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000ce592505050606086016040870162002d48565b9050600062000cf8606087018762003425565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092935062000d38925062002bb1915050565b62000d476020880188620032d1565b6001600160401b0316606082015262000d61338862001c9d565b610140820152336080820152606081015162000d90906b195c98cdcc8c57dd985d5b1d60a21b5b600062000a09565b6001600160a01b031660a08083019190915287013561012082015262000dbb60c088013534620034aa565b60e08083019190915260c08801356101008084019190915262000de49190890190890162002d48565b6001600160a01b031660c082015262000e02610100880188620034c0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000e5591506562726964676560d01b905082620012db565b6001600160a01b03166333bcd0cc34846040518363ffffffff1660e01b815260040162000e83919062003001565b60006040518083038185885af115801562000ea2573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405262000ecd919081019062003587565b9750905062000ee36040890160208a0162002d48565b6001600160a01b031687608001516001600160a01b0316827f329b657c35d4e2dfede6ef5132869accb1f8542912a40f9a854b4a917ffae2e98a6060015188888b60405162000f36949392919062003344565b60405180910390a450506065805460ff191660011790555092949350505050565b6001600160a01b037f000000000000000000000000016700800000000000000000000000000000000316300362000fa25760405162461bcd60e51b81526004016200059c906200338d565b7f00000000000000000000000001670080000000000000000000000000000000036001600160a01b031662000fed60008051602062004200833981519152546001600160a01b031690565b6001600160a01b031614620010165760405162461bcd60e51b81526004016200059c90620033d9565b620010218262001932565b6200061b828260016200193c565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000000031614620010d15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200059c565b50600080516020620042008339815191525b90565b620010f062001bac565b620010fc6000620021e2565b565b62001113606554610100900460ff1660021490565b15620011325760405163bae6e2a960e01b815260040160405180910390fd5b6200113c62001bac565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162000a9a565b60fb60205260009081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190620011bc90620036d8565b80601f0160208091040260200160405190810160405280929190818152602001828054620011ea90620036d8565b80156200123b5780601f106200120f576101008083540402835291602001916200123b565b820191906000526020600020905b8154815290600101906020018083116200121d57829003601f168201915b5050505050908060020180546200125290620036d8565b80601f01602080910402602001604051908101604052809291908181526020018280546200128090620036d8565b8015620012d15780601f10620012a557610100808354040283529160200191620012d1565b820191906000526020600020905b815481529060010190602001808311620012b357829003601f168201915b5050505050905084565b6000620012ea46848462001ab9565b90505b92915050565b60655460ff16600119016200131b5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff191660021790556200133d606554610100900460ff1660021490565b156200135c5760405163bae6e2a960e01b815260040160405180910390fd5b6200136662002234565b5060006200137b60a084016080850162002d48565b6001600160a01b031603620013a35760405163016a294f60e41b815260040160405180910390fd5b46620013b66060840160408501620032d1565b6001600160401b031614620013de57604051630a15fbb960e01b815260040160405180910390fd5b600080620013f1610140850185620034c0565b6200140191600490829062003714565b81019062001410919062003825565b6020840151939550935050506001600160a01b031662001443576040516303f8a7d360e01b815260040160405180910390fd5b6020808301516001600160a01b03908116600090815260fb909252604090912054600160401b900416156200153a5760005b8151811015620015335760208301516001600160a01b03166340c10f19620014a460a088016080890162002d48565b848481518110620014b957620014b9620032f1565b60200260200101516040518363ffffffff1660e01b8152600401620014f39291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156200150e57600080fd5b505af115801562001523573d6000803e3d6000fd5b5050505080600101905062001475565b5062001604565b60005b8151811015620016025760208301516001600160a01b03166342842e0e306200156d60a0890160808a0162002d48565b858581518110620015825762001582620032f1565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b158015620015dd57600080fd5b505af1158015620015f2573d6000803e3d6000fd5b505050508060010190506200153d565b505b6200162f60e08501356200161f60a087016080880162002d48565b6001600160a01b03169062001925565b6200164160a085016080860162002d48565b6001600160a01b0316837fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd84602001518460006001600160401b038111156200168e576200168e62002d68565b604051908082528060200260200182016040528015620016b8578160200160208202803683370190505b50604051620016ca9392919062003876565b60405180910390a350506065805460ff191660011790555050565b620016ef62001bac565b6001600160a01b038116620017565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200059c565b62000a0681620021e2565b6200176b6200232f565b62000a06816200234a565b6040805160608101825260008082526020820181905291810191909152620017a96562726964676560d01b6000620012db565b6001600160a01b0316336001600160a01b031614620017db57604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156200181a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018409190620038b0565b9050600062001864826040015162000d886b195c98cdcc8c57dd985d5b1d60a21b90565b9050806001600160a01b031682602001516001600160a01b0316146200189d57604051632583296b60e01b815260040160405180910390fd5b5090565b600060fc81620018b56020850185620032d1565b6001600160401b031681526020019081526020016000206000836020016020810190620018e3919062002d48565b6001600160a01b0390811682526020820192909252604001600020541690508062001920576200191d620019178362003920565b62002394565b90505b919050565b6200061b82825a62002561565b62000a0662001bac565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200197757620019728362002609565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015620019d4575060408051601f3d908101601f19168201909252620019d1918101906200392e565b60015b62001a395760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200059c565b60008051602062004200833981519152811462001aab5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200059c565b5062001972838383620026a8565b6097546000906001600160a01b031662001ae657604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001b3f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b65919062003948565b90508115801562001b7d57506001600160a01b038116155b1562000a1b578362001b8f84620026d3565b604051630d69e23960e41b81526004016200059c92919062003968565b6033546001600160a01b03163314620010fc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200059c565b60006001600160a01b0383163b62001c2357506000620012ed565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001c90575060408051601f3d908101601f1916820190925262001c8d918101906200398c565b60015b15620012ed579392505050565b60408051608081018252600080825260208201526060918101829052808201829052600060fb8162001cd6606087016040880162002d48565b6001600160a01b039081168252602082019290925260400160002054600160401b9004161462001f715760fb600062001d16606086016040870162002d48565b6001600160a01b0390811682526020808301939093526040918201600020825160808101845281546001600160401b0381168252600160401b90049092169382019390935260018301805491939284019162001d7290620036d8565b80601f016020809104026020016040519081016040528092919081815260200182805462001da090620036d8565b801562001df15780601f1062001dc55761010080835404028352916020019162001df1565b820191906000526020600020905b81548152906001019060200180831162001dd357829003601f168201915b5050505050815260200160028201805462001e0c90620036d8565b80601f016020809104026020016040519081016040528092919081815260200182805462001e3a90620036d8565b801562001e8b5780601f1062001e5f5761010080835404028352916020019162001e8b565b820191906000526020600020905b81548152906001019060200180831162001e6d57829003601f168201915b505050505081525050905060005b62001ea8606085018562003425565b905081101562001f6a5762001ec4606085016040860162002d48565b6001600160a01b0316639dc29fac8662001ee2606088018862003425565b8581811062001ef55762001ef5620032f1565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526020029190910135602483015250604401600060405180830381600087803b15801562001f4557600080fd5b505af115801562001f5a573d6000803e3d6000fd5b5050505080600101905062001e99565b506200216e565b600062001f85606085016040860162002d48565b90506040518060800160405280466001600160401b0316815260200185604001602081019062001fb6919062002d48565b6001600160a01b03168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562002003573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200202d9190810190620039ac565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801562002071573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200209b9190810190620039ac565b9052915060005b620020b1606086018662003425565b90508110156200216b576001600160a01b0382166323b872dd8730620020db60608a018a62003425565b86818110620020ee57620020ee620032f1565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156200214657600080fd5b505af11580156200215b573d6000803e3d6000fd5b50505050806001019050620020a2565b50505b3063300536b5828662002188604088016020890162002d48565b62002197606089018962003425565b604051602401620021ad959493929190620039e4565b60408051601f198184030181529190526020810180516001600160e01b031660e09390931b9290921790915295945050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040805160608101825260008082526020820181905291810191909152620022676562726964676560d01b6000620012db565b6001600160a01b0316336001600160a01b0316146200229957604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620022d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022fe9190620038b0565b60208101519091506001600160a01b03163314620010e357604051632583296b60e01b815260040160405180910390fd5b620023396200276c565b6065805461ffff1916610101179055565b6001600160401b034610620023725760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b609754602080830151835160408086015160608701519151600096879663689ccd8d60e11b96620023d8966001600160a01b03909316959094929390910162003a9a565b60408051601f1981840301815290829052620023f8929160200162003af7565b60405160208183030381529060405290506200243e6200242b6d627269646765645f65726337323160901b6000620012db565b6033546001600160a01b031683620027a0565b6001600160a01b03808216600090815260fb60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b039094169390931717825585015191935084916001820190620024a3908262003b7c565b5060608201516002820190620024ba908262003b7c565b505083516001600160401b03908116600090815260fc6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b9262002553929062003c48565b60405180910390a450919050565b6001600160a01b0383166200258957604051634c67134d60e11b815260040160405180910390fd5b6000836001600160a01b0316838390604051600060405180830381858888f193505050503d8060008114620025db576040519150601f19603f3d011682016040523d82523d6000602084013e620025e0565b606091505b50509050806200260357604051634c67134d60e11b815260040160405180910390fd5b50505050565b6001600160a01b0381163b620026785760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200059c565b6000805160206200420083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620026b38362002900565b600082511180620026c15750805b15620019725762002603838362002942565b60606000620026e2836200296a565b60010190506000816001600160401b0381111562002704576200270462002d68565b6040519080825280601f01601f1916602001820160405280156200272f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846200273957509392505050565b600054610100900460ff16620027965760405162461bcd60e51b81526004016200059c9062003c7a565b620010fc62002a49565b60006001600160a01b038416620027ca576040516305d1c47b60e41b815260040160405180910390fd5b8382604051620027da9062002c51565b620027e792919062003cc5565b604051809103906000f08015801562002804573d6000803e3d6000fd5b5090506001600160a01b03831615801590620028965750806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200285a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002880919062003948565b6001600160a01b0316836001600160a01b031614155b1562000a1b5760405163f2fde38b60e01b81526001600160a01b03848116600483015282169063f2fde38b90602401600060405180830381600087803b158015620028e057600080fd5b505af1158015620028f5573d6000803e3d6000fd5b505050509392505050565b6200290b8162002609565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620012ea8383604051806060016040528060278152602001620042206027913962002a7e565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310620029aa5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310620029d7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310620029f657662386f26fc10000830492506010015b6305f5e100831062002a0f576305f5e100830492506008015b612710831062002a2457612710830492506004015b6064831062002a37576064830492506002015b600a8310620012ed5760010192915050565b600054610100900460ff1662002a735760405162461bcd60e51b81526004016200059c9062003c7a565b620010fc33620021e2565b6060600080856001600160a01b03168560405162002a9d919062003ceb565b600060405180830381855af49150503d806000811462002ada576040519150601f19603f3d011682016040523d82523d6000602084013e62002adf565b606091505b509150915062002af28683838762002afc565b9695505050505050565b6060831562002b7057825160000362002b68576001600160a01b0385163b62002b685760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200059c565b508162002b7c565b62002b7c838362002b84565b949350505050565b81511562002b955781518083602001fd5b8060405162461bcd60e51b81526004016200059c919062003d09565b60405180610180016040528060006001600160801b0316815260200160006001600160a01b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b6104e18062003d1f83390190565b60006020828403121562002c7257600080fd5b81356001600160e01b031981168114620012ea57600080fd5b6001600160a01b038116811462000a0657600080fd5b60008060008060006080868803121562002cba57600080fd5b853562002cc78162002c8b565b9450602086013562002cd98162002c8b565b93506040860135925060608601356001600160401b038082111562002cfd57600080fd5b818801915088601f83011262002d1257600080fd5b81358181111562002d2257600080fd5b89602082850101111562002d3557600080fd5b9699959850939650602001949392505050565b60006020828403121562002d5b57600080fd5b8135620012ea8162002c8b565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171562002da45762002da462002d68565b60405290565b604051601f8201601f191681016001600160401b038111828210171562002dd55762002dd562002d68565b604052919050565b600082601f83011262002def57600080fd5b813560206001600160401b0382111562002e0d5762002e0d62002d68565b8160051b62002e1e82820162002daa565b928352848101820192828101908785111562002e3957600080fd5b83870192505b8483101562002e5a5782358252918301919083019062002e3f565b979650505050505050565b6000806000806080858703121562002e7c57600080fd5b84356001600160401b038082111562002e9457600080fd5b908601906080828903121562002ea957600080fd5b90945060208601359062002ebd8262002c8b565b90935060408601359062002ed18262002c8b565b9092506060860135908082111562002ee857600080fd5b5062002ef78782880162002ddd565b91505092959194509250565b6001600160401b038116811462000a0657600080fd5b801515811462000a0657600080fd5b60008060006060848603121562002f3e57600080fd5b833562002f4b8162002f03565b925060208401359150604084013562002f648162002f19565b809150509250925092565b60006020828403121562002f8257600080fd5b81356001600160401b0381111562002f9957600080fd5b82016101208185031215620012ea57600080fd5b60005b8381101562002fca57818101518382015260200162002fb0565b50506000910152565b6000815180845262002fed81602086016020860162002fad565b601f01601f19169290920160200192915050565b602081526200301c6020820183516001600160801b03169052565b600060208301516200303960408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052620030eb6101a086018462002fd3565b90860151858203601f19018387015290925062002af2838262002fd3565b60006001600160401b0382111562003125576200312562002d68565b50601f01601f191660200190565b60006200314a620031448462003109565b62002daa565b90508281528383830111156200315f57600080fd5b828260208301376000602084830101529392505050565b600080604083850312156200318a57600080fd5b8235620031978162002c8b565b915060208301356001600160401b03811115620031b357600080fd5b8301601f81018513620031c557600080fd5b620031d68582356020840162003133565b9150509250929050565b60008060408385031215620031f457600080fd5b823591506020830135620032088162002c8b565b809150509250929050565b6001600160401b03851681526001600160a01b0384166020820152608060408201819052600090620032489083018562002fd3565b828103606084015262002e5a818562002fd3565b600080604083850312156200327057600080fd5b823591506020830135620032088162002f19565b600080604083850312156200329857600080fd5b82356001600160401b03811115620032af57600080fd5b83016101808186031215620032c357600080fd5b946020939093013593505050565b600060208284031215620032e457600080fd5b8135620012ea8162002f03565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101562003339578151875295820195908201906001016200331b565b509495945050505050565b6001600160401b03851681526001600160a01b0384166020820152608060408201819052600090620033799083018562003307565b828103606084015262002e5a818562003307565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000808335601e198436030181126200343d57600080fd5b8301803591506001600160401b038211156200345857600080fd5b6020019150600581901b36038213156200347157600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b600060018201620034a357620034a362003478565b5060010190565b81810381811115620012ed57620012ed62003478565b6000808335601e19843603018112620034d857600080fd5b8301803591506001600160401b03821115620034f357600080fd5b6020019150368190038213156200347157600080fd5b80516001600160801b03811681146200192057600080fd5b8051620019208162002c8b565b8051620019208162002f03565b600082601f8301126200354d57600080fd5b81516200355e620031448262003109565b8181528460208386010111156200357457600080fd5b62002b7c82602083016020870162002fad565b600080604083850312156200359b57600080fd5b8251915060208301516001600160401b0380821115620035ba57600080fd5b908401906101808287031215620035d057600080fd5b620035da62002d7e565b620035e58362003509565b8152620035f56020840162003521565b602082015262003608604084016200352e565b60408201526200361b606084016200352e565b60608201526200362e6080840162003521565b60808201526200364160a0840162003521565b60a08201526200365460c0840162003521565b60c082015260e083810151908201526101008084015190820152610120808401519082015261014080840151838111156200368e57600080fd5b6200369c898287016200353b565b8284015250506101608084015183811115620036b757600080fd5b620036c5898287016200353b565b8284015250508093505050509250929050565b600181811c90821680620036ed57607f821691505b6020821081036200370e57634e487b7160e01b600052602260045260246000fd5b50919050565b600080858511156200372557600080fd5b838611156200373357600080fd5b5050820193919092039150565b600082601f8301126200375257600080fd5b620012ea8383356020850162003133565b6000608082840312156200377657600080fd5b604051608081016001600160401b0382821081831117156200379c576200379c62002d68565b8160405282935084359150620037b28262002f03565b908252602084013590620037c68262002c8b565b8160208401526040850135915080821115620037e157600080fd5b620037ef8683870162003740565b604084015260608501359150808211156200380957600080fd5b50620038188582860162003740565b6060830152505092915050565b600080600080608085870312156200383c57600080fd5b84356001600160401b03808211156200385457600080fd5b620038628883890162003763565b95506020870135915062002ebd8262002c8b565b6001600160a01b03841681526060602082018190526000906200389c9083018562003307565b828103604084015262002af2818562003307565b600060608284031215620038c357600080fd5b604051606081018181106001600160401b0382111715620038e857620038e862002d68565b604052825181526020830151620038ff8162002c8b565b60208201526040830151620039148162002f03565b60408201529392505050565b60006200191d368362003763565b6000602082840312156200394157600080fd5b5051919050565b6000602082840312156200395b57600080fd5b8151620012ea8162002c8b565b6001600160401b038316815260406020820152600062000a18604083018462002fd3565b6000602082840312156200399f57600080fd5b8151620012ea8162002f19565b600060208284031215620039bf57600080fd5b81516001600160401b03811115620039d657600080fd5b62002b7c848285016200353b565b608080825286516001600160401b03168282015260208701516001600160a01b0390811660a0840152604088015160c08401929092526000919062003a2e61010085018362002fd3565b91506060890151607f198584030160e086015262003a4d838262002fd3565b8983166020870152918816604086015250838103606085015284815290506001600160fb1b0384111562003a8057600080fd5b8360051b8086602084013701602001979650505050505050565b6001600160a01b038681168252851660208201526001600160401b038416604082015260a06060820181905260009062003ad79083018562002fd3565b828103608084015262003aeb818562002fd3565b98975050505050505050565b6001600160e01b031983168152815160009062003b1c81600485016020870162002fad565b919091016004019392505050565b601f8211156200197257600081815260208120601f850160051c8101602086101562003b535750805b601f850160051c820191505b8181101562003b745782815560010162003b5f565b505050505050565b81516001600160401b0381111562003b985762003b9862002d68565b62003bb08162003ba98454620036d8565b8462003b2a565b602080601f83116001811462003be8576000841562003bcf5750858301515b600019600386901b1c1916600185901b17855562003b74565b600085815260208120601f198616915b8281101562003c195788860151825594840194600190910190840162003bf8565b508582101562003c385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003c5d604083018562002fd3565b828103602084015262003c71818562002fd3565b95945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038316815260406020820181905260009062000a189083018462002fd3565b6000825162003cff81846020870162002fad565b9190910192915050565b602081526000620012ea602083018462002fd356fe60806040526040516104e13803806104e1833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104ba60279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60b1806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122034f9fc40c762685de47255fa9cd4229571eee4fcb64ab3c7108167a46b3404ef64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000003": { + "contractName": "ERC721Vault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670080000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000003" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000000004": { + "contractName": "ERC1155VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x608060405260043610620001845760003560e01c806359f4a90711620000e25780638da5cb5b1162000095578063bc197c81116200006c578063bc197c8114620004a1578063c389a18014620004d4578063f23a6e6114620004eb578063f2fde38b146200051c57600080fd5b80638da5cb5b14620004255780639aa8605c1462000445578063a86f9d9e146200047c57600080fd5b806359f4a90714620003595780635c975abb1462000376578063634da63a146200039957806367090ccf14620003b0578063715018a614620003f55780638456cb59146200040d57600080fd5b80633ab76e9f116200013b5780633ab76e9f146200028c5780633eb6b8cf14620002c75780633f4ba83a14620002ec57806348b2772e14620003045780634f1ef286146200032a57806352d1902d146200034157600080fd5b806301ffc9a7146200018957806306fdde0314620001c3578063079312bf14620001f257806319ab453c146200020b5780632ca069a514620002305780633659cfe61462000267575b600080fd5b3480156200019657600080fd5b50620001ae620001a836600462002c08565b62000541565b60405190151581526020015b60405180910390f35b348015620001d057600080fd5b506c195c98cc4c4d4d57dd985d5b1d609a1b5b604051908152602001620001ba565b620002096200020336600462002d7a565b62000579565b005b3480156200021857600080fd5b50620002096200022a36600462002e40565b62000885565b3480156200023d57600080fd5b506200024d636cdb3d1360e11b81565b6040516001600160e01b03199091168152602001620001ba565b3480156200027457600080fd5b50620002096200028636600462002e40565b620009a5565b3480156200029957600080fd5b50609754620002ae906001600160a01b031681565b6040516001600160a01b039091168152602001620001ba565b348015620002d457600080fd5b50620002ae620002e636600462002e92565b62000a90565b348015620002f957600080fd5b506200020962000aa9565b6200031b6200031536600462002ed9565b62000b2b565b604051620001ba919062002f6b565b620002096200033b366004620030e0565b62000fe9565b3480156200034e57600080fd5b50620001e3620010c1565b3480156200036657600080fd5b506200024d6380ac58cd60e01b81565b3480156200038357600080fd5b50620001ae606554610100900460ff1660021490565b348015620003a657600080fd5b50620001e3600a81565b348015620003bd57600080fd5b50620002ae620003cf3660046200314a565b60fc6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156200040257600080fd5b506200020962001178565b3480156200041a57600080fd5b506200020962001190565b3480156200043257600080fd5b506033546001600160a01b0316620002ae565b3480156200045257600080fd5b506200046a6200046436600462002e40565b6200120e565b604051620001ba94939291906200317d565b3480156200048957600080fd5b50620002ae6200049b366004620031c6565b6200136d565b348015620004ae57600080fd5b506200024d620004c036600462003280565b63bc197c8160e01b98975050505050505050565b62000209620004e53660046200334c565b6200137c565b348015620004f857600080fd5b506200024d6200050a36600462003399565b63f23a6e6160e01b9695505050505050565b3480156200052957600080fd5b50620002096200053b36600462002e40565b620016de565b60006001600160e01b031982166301ffc9a760e01b1480620005735750630187134360e71b6001600160e01b03198316145b92915050565b60655460ff1660011901620005a15760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055620005c3606554610100900460ff1660021490565b15620005e25760405163bae6e2a960e01b815260040160405180910390fd5b6000620005ee6200175a565b905060006001600160a01b03851615806200061157506001600160a01b03851630145b6200061d57846200061f565b855b90506000466200063360208a018a6200341c565b6001600160401b0316036200071657620006546040890160208a0162002e40565b905060005b85518110156200070f57816001600160a01b031663f242432a30858985815181106200068957620006896200343c565b6020026020010151898681518110620006a657620006a66200343c565b60200260200101516040518563ffffffff1660e01b8152600401620006cf949392919062003452565b600060405180830381600087803b158015620006ea57600080fd5b505af1158015620006ff573d6000803e3d6000fd5b5050505080600101905062000659565b50620007fd565b6200072b62000725896200356f565b62001886565b905060005b8551811015620007fb57816001600160a01b031663156e29f6848884815181106200075f576200075f6200343c565b60200260200101518885815181106200077c576200077c6200343c565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015620007d657600080fd5b505af1158015620007eb573d6000803e3d6000fd5b5050505080600101905062000730565b505b620008126001600160a01b03831634620018d0565b856001600160a01b0316876001600160a01b031684600001517f8a4d138c7a19e12f6cdedfca02085820b0b1f5a9655c7a8b784f1d534347f2478660400151858a8a604051620008669493929190620035ba565b60405180910390a450506065805460ff19166001179055505050505050565b600054610100900460ff1615808015620008a65750600054600160ff909116105b80620008c25750303b158015620008c2575060005460ff166001145b6200092b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156200094f576000805461ff0019166101001790555b6200095a82620018dd565b8015620009a1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b037f0000000000000000000000000167008000000000000000000000000000000004163003620009f05760405162461bcd60e51b8152600401620009229062003603565b7f00000000000000000000000001670080000000000000000000000000000000046001600160a01b031662000a3b60008051602062004483833981519152546001600160a01b031690565b6001600160a01b03161462000a645760405162461bcd60e51b815260040162000922906200364f565b62000a6f81620018f2565b6040805160008082526020820190925262000a8d91839190620018fc565b50565b600062000a9f84848462001a79565b90505b9392505050565b62000abe606554610100900460ff1660021490565b62000adc5760405163bae6e2a960e01b815260040160405180910390fd5b62000ae662001b6c565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b62000b3562002b5a565b60655460ff166001190162000b5d5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905562000b7f606554610100900460ff1660021490565b1562000b9e5760405163bae6e2a960e01b815260040160405180910390fd5b8162000bae60808201826200369b565b905062000bbf60608301836200369b565b90501462000be05760405163196e8a4160e31b815260040160405180910390fd5b600a62000bf160608301836200369b565b9050111562000c135760405163e4a4c1c760e01b815260040160405180910390fd5b600062000c27606083016040840162002e40565b6001600160a01b03160362000c4f576040516303f8a7d360e01b815260040160405180910390fd5b60005b62000c6160808501856200369b565b905081101562000cc85762000c7a60808501856200369b565b8281811062000c8d5762000c8d6200343c565b9050602002013560000362000cb557604051634299323b60e11b815260040160405180910390fd5b62000cc081620036fd565b905062000c52565b5062000cf7636cdb3d1360e11b62000ce7606086016040870162002e40565b6001600160a01b03169062001bc8565b62000d1557604051633ee915f560e11b815260040160405180910390fd5b600062000d2660808501856200369b565b80806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093945062000d6c92505050606086016040870162002e40565b9050600062000d7f60608701876200369b565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092935062000dbf925062002b5a915050565b62000dce60208801886200341c565b6001600160401b0316606082015262000df23362000dec8962003719565b62001c5d565b610140820152336080820152606081015162000e22906c195c98cc4c4d4d57dd985d5b1d609a1b5b600062000a90565b6001600160a01b031660a08083019190915287013561012082015262000e4d60c0880135346200381c565b60e08083019190915260c08801356101008084019190915262000e769190890190890162002e40565b6001600160a01b031660c082015262000e9461010088018862003832565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101608601949094525062000ee791506562726964676560d01b9050826200136d565b6001600160a01b03166333bcd0cc34846040518363ffffffff1660e01b815260040162000f15919062002f6b565b60006040518083038185885af115801562000f34573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405262000f5f9190810190620038f9565b9750905062000f756040890160208a0162002e40565b6001600160a01b031687608001516001600160a01b0316827f329b657c35d4e2dfede6ef5132869accb1f8542912a40f9a854b4a917ffae2e98a6060015188888b60405162000fc89493929190620035ba565b60405180910390a450506065805460ff191660011790555092949350505050565b6001600160a01b037f0000000000000000000000000167008000000000000000000000000000000004163003620010345760405162461bcd60e51b8152600401620009229062003603565b7f00000000000000000000000001670080000000000000000000000000000000046001600160a01b03166200107f60008051602062004483833981519152546001600160a01b031690565b6001600160a01b031614620010a85760405162461bcd60e51b815260040162000922906200364f565b620010b382620018f2565b620009a182826001620018fc565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000000041614620011635760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000922565b50600080516020620044838339815191525b90565b6200118262001b6c565b6200118e60006200218a565b565b620011a5606554610100900460ff1660021490565b15620011c45760405163bae6e2a960e01b815260040160405180910390fd5b620011ce62001b6c565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162000b21565b60fb60205260009081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b03169291906200124e9062003a4a565b80601f01602080910402602001604051908101604052809291908181526020018280546200127c9062003a4a565b8015620012cd5780601f10620012a157610100808354040283529160200191620012cd565b820191906000526020600020905b815481529060010190602001808311620012af57829003601f168201915b505050505090806002018054620012e49062003a4a565b80601f0160208091040260200160405190810160405280929190818152602001828054620013129062003a4a565b8015620013635780601f10620013375761010080835404028352916020019162001363565b820191906000526020600020905b8154815290600101906020018083116200134557829003601f168201915b5050505050905084565b600062000aa246848462001a79565b60655460ff1660011901620013a45760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055620013c6606554610100900460ff1660021490565b15620013e55760405163bae6e2a960e01b815260040160405180910390fd5b620013ef620021dc565b50600080806200140461014086018662003832565b6200141491600490829062003a86565b81019062001423919062003ab2565b6020850151949750909550935050506001600160a01b031662001459576040516303f8a7d360e01b815260040160405180910390fd5b6020808401516001600160a01b03908116600090815260fb909252604090912054600160401b90041615620015725760005b82518110156200156b5760208401516001600160a01b031663156e29f6620014ba60a0890160808a0162002e40565b858481518110620014cf57620014cf6200343c565b6020026020010151858581518110620014ec57620014ec6200343c565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b1580156200154657600080fd5b505af11580156200155b573d6000803e3d6000fd5b505050508060010190506200148b565b5062001642565b60005b8251811015620016405760208401516001600160a01b031663f242432a30620015a560a08a0160808b0162002e40565b868581518110620015ba57620015ba6200343c565b6020026020010151868681518110620015d757620015d76200343c565b60200260200101516040518563ffffffff1660e01b815260040162001600949392919062003452565b600060405180830381600087803b1580156200161b57600080fd5b505af115801562001630573d6000803e3d6000fd5b5050505080600101905062001575565b505b6200166d60e08601356200165d60a088016080890162002e40565b6001600160a01b031690620018d0565b6200167f60a086016080870162002e40565b6001600160a01b0316847fe8449897bd3c926a272780c39ba13e77bf7a2c823479a75bfbc13ef631183dfd85602001518585604051620016c29392919062003b05565b60405180910390a350506065805460ff19166001179055505050565b620016e862001b6c565b6001600160a01b0381166200174f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000922565b62000a8d816200218a565b60408051606081018252600080825260208201819052918101919091526200178d6562726964676560d01b60006200136d565b6001600160a01b0316336001600160a01b031614620017bf57604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620017fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001824919062003b3f565b9050600062001849826040015162000e1a6c195c98cc4c4d4d57dd985d5b1d609a1b90565b9050806001600160a01b031682602001516001600160a01b0316146200188257604051632583296b60e01b815260040160405180910390fd5b5090565b80516001600160401b0316600090815260fc60209081526040808320828501516001600160a01b0390811685529252909120541680620018cb576200057382620022d7565b919050565b620009a182825a620024a5565b620018e76200254d565b62000a8d8162002568565b62000a8d62001b6c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001937576200193283620025b2565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001994575060408051601f3d908101601f19168201909252620019919181019062003baf565b60015b620019f95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000922565b60008051602062004483833981519152811462001a6b5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000922565b506200193283838362002651565b6097546000906001600160a01b031662001aa657604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa15801562001aff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b25919062003bc9565b90508115801562001b3d57506001600160a01b038116155b1562000aa2578362001b4f846200267c565b604051630d69e23960e41b81526004016200092292919062003be9565b6033546001600160a01b031633146200118e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000922565b60006001600160a01b0383163b62001be35750600062000573565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001c50575060408051601f3d908101601f1916820190925262001c4d9181019062003c0d565b60015b1562000573579392505050565b604080516080810182526000808252602082015260609181018290528082018290526040808401516001600160a01b03908116600090815260fb6020529190912054600160401b9004161562001f17576040808401516001600160a01b03908116600090815260fb602090815290839020835160808101855281546001600160401b0381168252600160401b900490931691830191909152600181018054929391929184019162001d0e9062003a4a565b80601f016020809104026020016040519081016040528092919081815260200182805462001d3c9062003a4a565b801562001d8d5780601f1062001d615761010080835404028352916020019162001d8d565b820191906000526020600020905b81548152906001019060200180831162001d6f57829003601f168201915b5050505050815260200160028201805462001da89062003a4a565b80601f016020809104026020016040519081016040528092919081815260200182805462001dd69062003a4a565b801562001e275780601f1062001dfb5761010080835404028352916020019162001e27565b820191906000526020600020905b81548152906001019060200180831162001e0957829003601f168201915b505050505081525050905060005b83606001515181101562001f105783604001516001600160a01b031663f5298aca868660600151848151811062001e705762001e706200343c565b60200260200101518760800151858151811062001e915762001e916200343c565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562001eeb57600080fd5b505af115801562001f00573d6000803e3d6000fd5b5050505080600101905062001e35565b506200211f565b6040518060800160405280466001600160401b0316815260200184604001516001600160a01b03168152602001604051806020016040528060008152508152602001604051806020016040528060008152508152509050600083604001519050806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa92505050801562001fd957506040513d6000823e601f3d908101601f1916820160405262001fd6919081019062003c2d565b60015b1562001fe55760608301525b806001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156200204757506040513d6000823e601f3d908101601f1916820160405262002044919081019062003c2d565b60015b15620020535760408301525b60005b8460600151518110156200211c5784604001516001600160a01b031663f242432a3330886060015185815181106200209257620020926200343c565b602002602001015189608001518681518110620020b357620020b36200343c565b60200260200101516040518563ffffffff1660e01b8152600401620020dc949392919062003452565b600060405180830381600087803b158015620020f757600080fd5b505af11580156200210c573d6000803e3d6000fd5b5050505080600101905062002056565b50505b306001600160a01b031663079312bf82868660200151876060015188608001516040516024016200215595949392919062003c65565b60408051601f198184030181529190526020810180516001600160e01b031660e09390931b9290921790915295945050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051606081018252600080825260208201819052918101919091526200220f6562726964676560d01b60006200136d565b6001600160a01b0316336001600160a01b0316146200224157604051632583296b60e01b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562002280573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022a6919062003b3f565b60208101519091506001600160a01b031633146200117557604051632583296b60e01b815260040160405180910390fd5b609754602080830151835160408086015160608701519151600096879663689ccd8d60e11b966200231b966001600160a01b03909316959094929390910162003d29565b60408051601f19818403018152908290526200233b929160200162003d7a565b6040516020818303038152906040529050620023826200236f6e627269646765645f6572633131353560881b60006200136d565b6033546001600160a01b03168362002715565b6001600160a01b03808216600090815260fb60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b039094169390931717825585015191935084916001820190620023e7908262003dff565b5060608201516002820190620023fe908262003dff565b505083516001600160401b03908116600090815260fc6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b9262002497929062003ecb565b60405180910390a450919050565b6001600160a01b038316620024cd57604051634c67134d60e11b815260040160405180910390fd5b6000836001600160a01b0316838390604051600060405180830381858888f193505050503d80600081146200251f576040519150601f19603f3d011682016040523d82523d6000602084013e62002524565b606091505b50509050806200254757604051634c67134d60e11b815260040160405180910390fd5b50505050565b6200255762002875565b6065805461ffff1916610101179055565b6001600160401b034610620025905760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381163b620026215760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000922565b6000805160206200448383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200265c83620028a9565b6000825111806200266a5750805b156200193257620025478383620028eb565b606060006200268b8362002913565b60010190506000816001600160401b03811115620026ad57620026ad62002c57565b6040519080825280601f01601f191660200182016040528015620026d8576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084620026e257509392505050565b60006001600160a01b0384166200273f576040516305d1c47b60e41b815260040160405180910390fd5b83826040516200274f9062002bfa565b6200275c92919062003efd565b604051809103906000f08015801562002779573d6000803e3d6000fd5b5090506001600160a01b038316158015906200280b5750806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620027cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027f5919062003bc9565b6001600160a01b0316836001600160a01b031614155b1562000aa25760405163f2fde38b60e01b81526001600160a01b03848116600483015282169063f2fde38b90602401600060405180830381600087803b1580156200285557600080fd5b505af11580156200286a573d6000803e3d6000fd5b505050509392505050565b600054610100900460ff166200289f5760405162461bcd60e51b8152600401620009229062003f23565b6200118e620029f2565b620028b481620025b2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000aa28383604051806060016040528060278152602001620044a36027913962002a27565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310620029535772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831062002980576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106200299f57662386f26fc10000830492506010015b6305f5e1008310620029b8576305f5e100830492506008015b6127108310620029cd57612710830492506004015b60648310620029e0576064830492506002015b600a8310620005735760010192915050565b600054610100900460ff1662002a1c5760405162461bcd60e51b8152600401620009229062003f23565b6200118e336200218a565b6060600080856001600160a01b03168560405162002a46919062003f6e565b600060405180830381855af49150503d806000811462002a83576040519150601f19603f3d011682016040523d82523d6000602084013e62002a88565b606091505b509150915062002a9b8683838762002aa5565b9695505050505050565b6060831562002b1957825160000362002b11576001600160a01b0385163b62002b115760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000922565b508162002b25565b62002b25838362002b2d565b949350505050565b81511562002b3e5781518083602001fd5b8060405162461bcd60e51b815260040162000922919062003f8c565b60405180610180016040528060006001600160801b0316815260200160006001600160a01b0316815260200160006001600160401b0316815260200160006001600160401b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160608152602001606081525090565b6104e18062003fa283390190565b60006020828403121562002c1b57600080fd5b81356001600160e01b03198116811462000aa257600080fd5b6001600160a01b038116811462000a8d57600080fd5b8035620018cb8162002c34565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562002c935762002c9362002c57565b60405290565b60405161018081016001600160401b038111828210171562002c935762002c9362002c57565b604051601f8201601f191681016001600160401b038111828210171562002cea5762002cea62002c57565b604052919050565b600082601f83011262002d0457600080fd5b813560206001600160401b0382111562002d225762002d2262002c57565b8160051b62002d3382820162002cbf565b928352848101820192828101908785111562002d4e57600080fd5b83870192505b8483101562002d6f5782358252918301919083019062002d54565b979650505050505050565b600080600080600060a0868803121562002d9357600080fd5b85356001600160401b038082111562002dab57600080fd5b908701906080828a03121562002dc057600080fd5b90955060208701359062002dd48262002c34565b90945060408701359062002de88262002c34565b9093506060870135908082111562002dff57600080fd5b62002e0d89838a0162002cf2565b9350608088013591508082111562002e2457600080fd5b5062002e338882890162002cf2565b9150509295509295909350565b60006020828403121562002e5357600080fd5b813562000aa28162002c34565b6001600160401b038116811462000a8d57600080fd5b8035620018cb8162002e60565b801515811462000a8d57600080fd5b60008060006060848603121562002ea857600080fd5b833562002eb58162002e60565b925060208401359150604084013562002ece8162002e83565b809150509250925092565b60006020828403121562002eec57600080fd5b81356001600160401b0381111562002f0357600080fd5b8201610120818503121562000aa257600080fd5b60005b8381101562002f3457818101518382015260200162002f1a565b50506000910152565b6000815180845262002f5781602086016020860162002f17565b601f01601f19169290920160200192915050565b6020815262002f866020820183516001600160801b03169052565b6000602083015162002fa360408401826001600160a01b03169052565b5060408301516001600160401b03811660608401525060608301516001600160401b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610180610160808501829052620030556101a086018462002f3d565b90860151858203601f19018387015290925062002a9b838262002f3d565b60006001600160401b038211156200308f576200308f62002c57565b50601f01601f191660200190565b6000620030b4620030ae8462003073565b62002cbf565b9050828152838383011115620030c957600080fd5b828260208301376000602084830101529392505050565b60008060408385031215620030f457600080fd5b8235620031018162002c34565b915060208301356001600160401b038111156200311d57600080fd5b8301601f810185136200312f57600080fd5b62003140858235602084016200309d565b9150509250929050565b600080604083850312156200315e57600080fd5b823591506020830135620031728162002c34565b809150509250929050565b6001600160401b03851681526001600160a01b0384166020820152608060408201819052600090620031b29083018562002f3d565b828103606084015262002d6f818562002f3d565b60008060408385031215620031da57600080fd5b823591506020830135620031728162002e83565b60008083601f8401126200320157600080fd5b5081356001600160401b038111156200321957600080fd5b6020830191508360208260051b85010111156200323557600080fd5b9250929050565b60008083601f8401126200324f57600080fd5b5081356001600160401b038111156200326757600080fd5b6020830191508360208285010111156200323557600080fd5b60008060008060008060008060a0898b0312156200329d57600080fd5b8835620032aa8162002c34565b97506020890135620032bc8162002c34565b965060408901356001600160401b0380821115620032d957600080fd5b620032e78c838d01620031ee565b909850965060608b01359150808211156200330157600080fd5b6200330f8c838d01620031ee565b909650945060808b01359150808211156200332957600080fd5b50620033388b828c016200323c565b999c989b5096995094979396929594505050565b600080604083850312156200336057600080fd5b82356001600160401b038111156200337757600080fd5b830161018081860312156200338b57600080fd5b946020939093013593505050565b60008060008060008060a08789031215620033b357600080fd5b8635620033c08162002c34565b95506020870135620033d28162002c34565b9450604087013593506060870135925060808701356001600160401b03811115620033fc57600080fd5b6200340a89828a016200323c565b979a9699509497509295939492505050565b6000602082840312156200342f57600080fd5b813562000aa28162002e60565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b600082601f8301126200349c57600080fd5b62000aa2838335602085016200309d565b600060808284031215620034c057600080fd5b604051608081016001600160401b038282108183111715620034e657620034e662002c57565b8160405282935084359150620034fc8262002e60565b908252602084013590620035108262002c34565b81602084015260408501359150808211156200352b57600080fd5b62003539868387016200348a565b604084015260608501359150808211156200355357600080fd5b5062003562858286016200348a565b6060830152505092915050565b6000620005733683620034ad565b600081518084526020808501945080840160005b83811015620035af5781518752958201959082019060010162003591565b509495945050505050565b6001600160401b03851681526001600160a01b0384166020820152608060408201819052600090620035ef908301856200357d565b828103606084015262002d6f81856200357d565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000808335601e19843603018112620036b357600080fd5b8301803591506001600160401b03821115620036ce57600080fd5b6020019150600581901b36038213156200323557600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620037125762003712620036e7565b5060010190565b600061012082360312156200372d57600080fd5b6200373762002c6d565b620037428362002e76565b8152620037526020840162002c4a565b6020820152620037656040840162002c4a565b604082015260608301356001600160401b03808211156200378557600080fd5b620037933683870162002cf2565b60608401526080850135915080821115620037ad57600080fd5b620037bb3683870162002cf2565b608084015260a085013560a084015260c085013560c0840152620037e260e0860162002c4a565b60e084015261010091508185013581811115620037fe57600080fd5b6200380c368288016200348a565b8385015250505080915050919050565b81810381811115620005735762000573620036e7565b6000808335601e198436030181126200384a57600080fd5b8301803591506001600160401b038211156200386557600080fd5b6020019150368190038213156200323557600080fd5b80516001600160801b0381168114620018cb57600080fd5b8051620018cb8162002c34565b8051620018cb8162002e60565b600082601f830112620038bf57600080fd5b8151620038d0620030ae8262003073565b818152846020838601011115620038e657600080fd5b62002b2582602083016020870162002f17565b600080604083850312156200390d57600080fd5b8251915060208301516001600160401b03808211156200392c57600080fd5b9084019061018082870312156200394257600080fd5b6200394c62002c99565b62003957836200387b565b8152620039676020840162003893565b60208201526200397a60408401620038a0565b60408201526200398d60608401620038a0565b6060820152620039a06080840162003893565b6080820152620039b360a0840162003893565b60a0820152620039c660c0840162003893565b60c082015260e0838101519082015261010080840151908201526101208084015190820152610140808401518381111562003a0057600080fd5b62003a0e89828701620038ad565b828401525050610160808401518381111562003a2957600080fd5b62003a3789828701620038ad565b8284015250508093505050509250929050565b600181811c9082168062003a5f57607f821691505b60208210810362003a8057634e487b7160e01b600052602260045260246000fd5b50919050565b6000808585111562003a9757600080fd5b8386111562003aa557600080fd5b5050820193919092039150565b600080600080600060a0868803121562003acb57600080fd5b85356001600160401b038082111562003ae357600080fd5b62003af189838a01620034ad565b96506020880135915062002dd48262002c34565b6001600160a01b038416815260606020820181905260009062003b2b908301856200357d565b828103604084015262002a9b81856200357d565b60006060828403121562003b5257600080fd5b604051606081018181106001600160401b038211171562003b775762003b7762002c57565b60405282518152602083015162003b8e8162002c34565b6020820152604083015162003ba38162002e60565b60408201529392505050565b60006020828403121562003bc257600080fd5b5051919050565b60006020828403121562003bdc57600080fd5b815162000aa28162002c34565b6001600160401b038316815260406020820152600062000a9f604083018462002f3d565b60006020828403121562003c2057600080fd5b815162000aa28162002e83565b60006020828403121562003c4057600080fd5b81516001600160401b0381111562003c5757600080fd5b62002b2584828501620038ad565b60a080825286516001600160401b03169082015260208601516001600160a01b031660c08201526040860151608060e083015260009062003cab61012084018262002f3d565b90506060880151609f198483030161010085015262003ccb828262002f3d565b91505062003ce460208401886001600160a01b03169052565b6001600160a01b0386166040840152828103606084015262003d0781866200357d565b9050828103608084015262003d1d81856200357d565b98975050505050505050565b6001600160a01b038681168252851660208201526001600160401b038416604082015260a06060820181905260009062003d669083018562002f3d565b828103608084015262003d1d818562002f3d565b6001600160e01b031983168152815160009062003d9f81600485016020870162002f17565b919091016004019392505050565b601f8211156200193257600081815260208120601f850160051c8101602086101562003dd65750805b601f850160051c820191505b8181101562003df75782815560010162003de2565b505050505050565b81516001600160401b0381111562003e1b5762003e1b62002c57565b62003e338162003e2c845462003a4a565b8462003dad565b602080601f83116001811462003e6b576000841562003e525750858301515b600019600386901b1c1916600185901b17855562003df7565b600085815260208120601f198616915b8281101562003e9c5788860151825594840194600190910190840162003e7b565b508582101562003ebb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600062003ee0604083018562002f3d565b828103602084015262003ef4818562002f3d565b95945050505050565b6001600160a01b038316815260406020820181905260009062000a9f9083018462002f3d565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000825162003f8281846020870162002f17565b9190910192915050565b60208152600062000aa2602083018462002f3d56fe60806040526040516104e13803806104e1833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104ba60279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60b1806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122020b12ec97a75ea2a99ed24ae0d05211a476f5ca05d2ec3d3dc18afc15c10549564736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000004": { + "contractName": "ERC1155Vault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670080000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000004" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010096": { + "contractName": "BridgedERC20", + "storage": {}, + "code": "0x6080604052600436106101e35760003560e01c80635c975abb1161010257806395d89b4111610095578063a9059cbb11610064578063a9059cbb14610591578063b8f2e0c5146105b1578063dd62ed3e146105d1578063f2fde38b146105f157600080fd5b806395d89b411461051c5780639dc29fac14610531578063a457c2d714610551578063a86f9d9e1461057157600080fd5b80637cf8ed0d116100d15780637cf8ed0d146104b15780637e474634146104d25780638456cb59146104f25780638da5cb5b1461050757600080fd5b80635c975abb146104245780636c0db62b1461044557806370a0823114610465578063715018a61461049c57600080fd5b8063395093511161017a57806340c10f191161014957806340c10f19146103c557806349d12605146103e55780634f1ef286146103fc57806352d1902d1461040f57600080fd5b806339509351146103385780633ab76e9f146103585780633eb6b8cf146103905780633f4ba83a146103b057600080fd5b806323b872dd116101b657806323b872dd1461028457806326afaadd146102a4578063313ce567146102e95780633659cfe61461031657600080fd5b806306fdde03146101e8578063095ea7b3146102135780630ae745481461024357806318160ddd14610264575b600080fd5b3480156101f457600080fd5b506101fd610611565b60405161020a91906120a3565b60405180910390f35b34801561021f57600080fd5b5061023361022e3660046120cb565b61062c565b604051901515815260200161020a565b34801561024f57600080fd5b5060fb5461023390600160a01b900460ff1681565b34801561027057600080fd5b5061012f545b60405190815260200161020a565b34801561029057600080fd5b5061023361029f3660046120f7565b610646565b3480156102b057600080fd5b506102ca61015f54610160546001600160a01b0390911691565b604080516001600160a01b03909316835260208301919091520161020a565b3480156102f557600080fd5b5061015f54600160a01b900460ff1660405160ff909116815260200161020a565b34801561032257600080fd5b50610336610331366004612138565b61066c565b005b34801561034457600080fd5b506102336103533660046120cb565b610754565b34801561036457600080fd5b50609754610378906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561039c57600080fd5b506103786103ab36600461216a565b610776565b3480156103bc57600080fd5b5061033661078b565b3480156103d157600080fd5b506103366103e03660046120cb565b610809565b3480156103f157600080fd5b506102766101605481565b61033661040a366004612241565b610971565b34801561041b57600080fd5b50610276610a41565b34801561043057600080fd5b50610233606554610100900460ff1660021490565b34801561045157600080fd5b506103366104603660046122c5565b610af4565b34801561047157600080fd5b50610276610480366004612138565b6001600160a01b0316600090815261012d602052604090205490565b3480156104a857600080fd5b50610336610c95565b3480156104bd57600080fd5b5061015f54610378906001600160a01b031681565b3480156104de57600080fd5b5060fb54610378906001600160a01b031681565b3480156104fe57600080fd5b50610336610ca9565b34801561051357600080fd5b50610378610d22565b34801561052857600080fd5b506101fd610d36565b34801561053d57600080fd5b5061033661054c3660046120cb565b610d48565b34801561055d57600080fd5b5061023361056c3660046120cb565b610eda565b34801561057d57600080fd5b5061037861058c36600461236f565b610f60565b34801561059d57600080fd5b506102336105ac3660046120cb565b610f6d565b3480156105bd57600080fd5b506103366105cc36600461239b565b610f7b565b3480156105dd57600080fd5b506102766105ec3660046123c7565b6110d9565b3480156105fd57600080fd5b5061033661060c366004612138565b611105565b606061062761061e61117b565b6101605461120e565b905090565b60003361063a818585611242565b60019150505b92915050565b600033610654858285611367565b61065f8585856113e1565b60019150505b9392505050565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100961630036106bd5760405162461bcd60e51b81526004016106b490612400565b60405180910390fd5b7f00000000000000000000000001670080000000000000000000000000000100966001600160a01b0316610706600080516020612749833981519152546001600160a01b031690565b6001600160a01b03161461072c5760405162461bcd60e51b81526004016106b49061244c565b61073581611599565b60408051600080825260208201909252610751918391906115a1565b50565b60003361063a81858561076783836110d9565b6107719190612498565b611242565b6000610783848484611711565b949350505050565b61079f606554610100900460ff1660021490565b6107bc5760405163bae6e2a960e01b815260040160405180910390fd5b6107c46117fb565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60655460ff16600119016108305760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055610851606554610100900460ff1660021490565b1561086f5760405163bae6e2a960e01b815260040160405180910390fd5b60fb546001600160a01b031615801590610893575060fb54600160a01b900460ff16155b156108b15760405163b19aa30f60e01b815260040160405180910390fd5b60fb546001600160a01b0316330361090c5760fb546040518281526001600160a01b038481169216907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a3610956565b6109256a195c98cc8c17dd985d5b1d60aa1b6001610f60565b6001600160a01b0316336001600160a01b031614610956576040516361fad54f60e11b815260040160405180910390fd5b610960828261185a565b50506065805460ff19166001179055565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100961630036109b95760405162461bcd60e51b81526004016106b490612400565b7f00000000000000000000000001670080000000000000000000000000000100966001600160a01b0316610a02600080516020612749833981519152546001600160a01b031690565b6001600160a01b031614610a285760405162461bcd60e51b81526004016106b49061244c565b610a3182611599565b610a3d828260016115a1565b5050565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000100961614610ae15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106b4565b5060008051602061274983398151915290565b600054610100900460ff1615808015610b145750600054600160ff909116105b80610b2e5750303b158015610b2e575060005460ff166001145b610b915760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106b4565b6000805460ff191660011790558015610bb4576000805461ff0019166101001790555b6001600160a01b0386161580610bc8575084155b80610bd257504685145b80610bdc57508251155b80610be657508151155b15610c045760405163c118d2f360e01b815260040160405180910390fd5b610c0d87611864565b610c178284611875565b61015f805461016087905560ff8616600160a01b026001600160a81b03199091166001600160a01b038916171790558015610c8c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c9d6117fb565b610ca760006118a6565b565b610cbd606554610100900460ff1660021490565b15610cdb5760405163bae6e2a960e01b815260040160405180910390fd5b610ce36117fb565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016107ff565b60006106276033546001600160a01b031690565b6060610627610d436118f8565b611908565b60655460ff1660011901610d6f5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055610d90606554610100900460ff1660021490565b15610dae5760405163bae6e2a960e01b815260040160405180910390fd5b60fb546001600160a01b031615801590610dd2575060fb54600160a01b900460ff16155b15610e865760fb546040518281526001600160a01b038481169216907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a360fb546040516340c10f1960e01b81526001600160a01b03848116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b50505050610ed0565b610e9f6a195c98cc8c17dd985d5b1d60aa1b6001610f60565b6001600160a01b0316336001600160a01b031614610ed057604051630d85cccf60e11b815260040160405180910390fd5b6109608282611931565b60003381610ee882866110d9565b905083811015610f485760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106b4565b610f558286868403611242565b506001949350505050565b6000610665468484611711565b60003361063a8185856113e1565b610f8f606554610100900460ff1660021490565b15610fad5760405163bae6e2a960e01b815260040160405180910390fd5b6a195c98cc8c17dd985d5b1d60aa1b610fc4610d22565b6001600160a01b0316336001600160a01b0316141580156110015750610feb816001610f60565b6001600160a01b0316336001600160a01b031614155b1561101f57604051630d85cccf60e11b815260040160405180910390fd5b60fb546001600160a01b03848116911614801561104e575060fb60149054906101000a900460ff161515821515145b1561106c5760405163b253fdfd60e01b815260040160405180910390fd5b60fb80546001600160a01b0385166001600160a81b03199091168117600160a01b851515908102919091179092556040805191825260208201929092527fa6b6f959792843a48d9d03d13595f2de7c86ae0ce12ef0fa759dd911b205e565910160405180910390a1505050565b6001600160a01b03918216600090815261012e6020908152604080832093909416825291909152205490565b61110d6117fb565b6001600160a01b0381166111725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b4565b610751816118a6565b6060610130805461118b906124b9565b80601f01602080910402602001604051908101604052809291908181526020018280546111b7906124b9565b80156112045780601f106111d957610100808354040283529160200191611204565b820191906000526020600020905b8154815290600101906020018083116111e757829003601f168201915b5050505050905090565b60608261121a8361193b565b60405160200161122b9291906124f3565b604051602081830303815290604052905092915050565b6001600160a01b0383166112a45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106b4565b6001600160a01b0382166113055760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106b4565b6001600160a01b03838116600081815261012e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061137384846110d9565b905060001981146113db57818110156113ce5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106b4565b6113db8484848403611242565b50505050565b6001600160a01b0383166114455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106b4565b6001600160a01b0382166114a75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106b4565b6114b28383836119ce565b6001600160a01b038316600090815261012d60205260409020548181101561152b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106b4565b6001600160a01b03808516600081815261012d602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061158c9086815260200190565b60405180910390a36113db565b6107516117fb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156115d9576115d483611a29565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611633575060408051601f3d908101601f1916820190925261163091810190612554565b60015b6116965760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106b4565b60008051602061274983398151915281146117055760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106b4565b506115d4838383611ac5565b6097546000906001600160a01b031661173d57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba919061256d565b9050811580156117d157506001600160a01b038116155b1561066557836117e08461193b565b604051630d69e23960e41b81526004016106b492919061258a565b33611804610d22565b6001600160a01b031614610ca75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b4565b610a3d8282611aea565b61186c611bb9565b61075181611bd2565b600054610100900460ff1661189c5760405162461bcd60e51b81526004016106b4906125ad565b610a3d8282611c1c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060610131805461118b906124b9565b60608160405160200161191b91906125f8565b6040516020818303038152906040529050919050565b610a3d8282611c5e565b6060600061194883611da1565b600101905060008167ffffffffffffffff811115611968576119686121b5565b6040519080825280601f01601f191660200182016040528015611992576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461199c57509392505050565b306001600160a01b038316036119f757604051630183150560e21b815260040160405180910390fd5b611a0b606554610100900460ff1660021490565b156115d45760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0381163b611a965760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106b4565b60008051602061274983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ace83611e79565b600082511180611adb5750805b156115d4576113db8383611eb9565b6001600160a01b038216611b405760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106b4565b611b4c600083836119ce565b8061012f6000828254611b5f9190612498565b90915550506001600160a01b038216600081815261012d60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b611bc1611ede565b6065805461ffff1916610101179055565b67ffffffffffffffff4610611bfa5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16611c435760405162461bcd60e51b81526004016106b4906125ad565b610130611c50838261266c565b506101316115d4828261266c565b6001600160a01b038216611cbe5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106b4565b611cca826000836119ce565b6001600160a01b038216600090815261012d602052604090205481811015611d3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106b4565b6001600160a01b038316600081815261012d60209081526040808320868603905561012f80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611de05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611e0c576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611e2a57662386f26fc10000830492506010015b6305f5e1008310611e42576305f5e100830492506008015b6127108310611e5657612710830492506004015b60648310611e68576064830492506002015b600a83106106405760010192915050565b611e8281611a29565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610665838360405180606001604052806027815260200161276960279139611f0d565b600054610100900460ff16611f055760405162461bcd60e51b81526004016106b4906125ad565b610ca7611f85565b6060600080856001600160a01b031685604051611f2a919061272c565b600060405180830381855af49150503d8060008114611f65576040519150601f19603f3d011682016040523d82523d6000602084013e611f6a565b606091505b5091509150611f7b86838387611fb5565b9695505050505050565b600054610100900460ff16611fac5760405162461bcd60e51b81526004016106b4906125ad565b610ca7336118a6565b6060831561202457825160000361201d576001600160a01b0385163b61201d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106b4565b5081610783565b61078383838151156120395781518083602001fd5b8060405162461bcd60e51b81526004016106b491906120a3565b60005b8381101561206e578181015183820152602001612056565b50506000910152565b6000815180845261208f816020860160208601612053565b601f01601f19169290920160200192915050565b6020815260006106656020830184612077565b6001600160a01b038116811461075157600080fd5b600080604083850312156120de57600080fd5b82356120e9816120b6565b946020939093013593505050565b60008060006060848603121561210c57600080fd5b8335612117816120b6565b92506020840135612127816120b6565b929592945050506040919091013590565b60006020828403121561214a57600080fd5b8135610665816120b6565b8035801515811461216557600080fd5b919050565b60008060006060848603121561217f57600080fd5b833567ffffffffffffffff8116811461219757600080fd5b9250602084013591506121ac60408501612155565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156121e6576121e66121b5565b604051601f8501601f19908116603f0116810190828211818310171561220e5761220e6121b5565b8160405280935085815286868601111561222757600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561225457600080fd5b823561225f816120b6565b9150602083013567ffffffffffffffff81111561227b57600080fd5b8301601f8101851361228c57600080fd5b61229b858235602084016121cb565b9150509250929050565b600082601f8301126122b657600080fd5b610665838335602085016121cb565b60008060008060008060c087890312156122de57600080fd5b86356122e9816120b6565b955060208701356122f9816120b6565b945060408701359350606087013560ff8116811461231657600080fd5b9250608087013567ffffffffffffffff8082111561233357600080fd5b61233f8a838b016122a5565b935060a089013591508082111561235557600080fd5b5061236289828a016122a5565b9150509295509295509295565b6000806040838503121561238257600080fd5b8235915061239260208401612155565b90509250929050565b600080604083850312156123ae57600080fd5b82356123b9816120b6565b915061239260208401612155565b600080604083850312156123da57600080fd5b82356123e5816120b6565b915060208301356123f5816120b6565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8082018082111561064057634e487b7160e01b600052601160045260246000fd5b600181811c908216806124cd57607f821691505b6020821081036124ed57634e487b7160e01b600052602260045260246000fd5b50919050565b670213934b233b2b2160c51b815260008351612516816008850160208801612053565b634051c55b60df1b600891840191820152835161253a81600d840160208801612053565b602960f81b600d9290910191820152600e01949350505050565b60006020828403121561256657600080fd5b5051919050565b60006020828403121561257f57600080fd5b8151610665816120b6565b67ffffffffffffffff831681526040602082015260006107836040830184612077565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000825161260a818460208701612053565b610b9d60f21b920191825250600201919050565b601f8211156115d457600081815260208120601f850160051c810160208610156126455750805b601f850160051c820191505b8181101561266457828155600101612651565b505050505050565b815167ffffffffffffffff811115612686576126866121b5565b61269a8161269484546124b9565b8461261e565b602080601f8311600181146126cf57600084156126b75750858301515b600019600386901b1c1916600185901b178555612664565b600085815260208120601f198616915b828110156126fe578886015182559484019460019091019084016126df565b508582101561271c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161273e818460208701612053565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205bc683190212156508762d7a87d9b18bef7321f0d9ea785d029d1bf1541516fb64736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010097": { + "contractName": "BridgedERC721", + "storage": {}, + "code": "0x6080604052600436106101d85760003560e01c80636352211e116101025780639dc29fac11610095578063c87b56dd11610064578063c87b56dd14610554578063d1399b1a14610582578063e985e9c5146105a2578063f2fde38b146105ec57600080fd5b80639dc29fac146104d4578063a22cb465146104f4578063a86f9d9e14610514578063b88d4fde1461053457600080fd5b80637cf8ed0d116100d15780637cf8ed0d1461046b5780638456cb591461048c5780638da5cb5b146104a157806395d89b41146104bf57600080fd5b80636352211e146103d157806367e828bf146103f157806370a0823114610436578063715018a61461045657600080fd5b80633eb6b8cf1161017a57806349d126051161014957806349d12605146103635780634f1ef2861461038857806352d1902d1461039b5780635c975abb146103b057600080fd5b80633eb6b8cf146102ee5780633f4ba83a1461030e57806340c10f191461032357806342842e0e1461034357600080fd5b8063095ea7b3116101b6578063095ea7b31461026c57806323b872dd1461028e5780633659cfe6146102ae5780633ab76e9f146102ce57600080fd5b806301ffc9a7146101dd57806306fdde0314610212578063081812fc14610234575b600080fd5b3480156101e957600080fd5b506101fd6101f8366004612111565b61060c565b60405190151581526020015b60405180910390f35b34801561021e57600080fd5b5061022761065e565b604051610209919061217e565b34801561024057600080fd5b5061025461024f366004612191565b610679565b6040516001600160a01b039091168152602001610209565b34801561027857600080fd5b5061028c6102873660046121bf565b6106a1565b005b34801561029a57600080fd5b5061028c6102a93660046121eb565b6107bb565b3480156102ba57600080fd5b5061028c6102c936600461222c565b6107ec565b3480156102da57600080fd5b50609754610254906001600160a01b031681565b3480156102fa57600080fd5b5061025461030936600461225e565b6108cb565b34801561031a57600080fd5b5061028c6108e2565b34801561032f57600080fd5b5061028c61033e3660046121bf565b610960565b34801561034f57600080fd5b5061028c61035e3660046121eb565b610a2e565b34801561036f57600080fd5b5061037a6101605481565b604051908152602001610209565b61028c61039636600461234c565b610a49565b3480156103a757600080fd5b5061037a610b19565b3480156103bc57600080fd5b506101fd606554610100900460ff1660021490565b3480156103dd57600080fd5b506102546103ec366004612191565b610bcc565b3480156103fd57600080fd5b5061041761015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610209565b34801561044257600080fd5b5061037a61045136600461222c565b610c2d565b34801561046257600080fd5b5061028c610cb4565b34801561047757600080fd5b5061015f54610254906001600160a01b031681565b34801561049857600080fd5b5061028c610cc8565b3480156104ad57600080fd5b506033546001600160a01b0316610254565b3480156104cb57600080fd5b50610227610d41565b3480156104e057600080fd5b5061028c6104ef3660046121bf565b610d53565b34801561050057600080fd5b5061028c61050f36600461239c565b610e48565b34801561052057600080fd5b5061025461052f3660046123d1565b610e53565b34801561054057600080fd5b5061028c61054f3660046123f4565b610e60565b34801561056057600080fd5b5061022761056f366004612191565b5060408051602081019091526000815290565b34801561058e57600080fd5b5061028c61059d366004612460565b610e98565b3480156105ae57600080fd5b506101fd6105bd3660046124f3565b6001600160a01b0391821660009081526101326020908152604080832093909416825291909152205460ff1690565b3480156105f857600080fd5b5061028c61060736600461222c565b61102b565b60006001600160e01b031982166380ac58cd60e01b148061063d57506001600160e01b03198216635b5e139f60e01b145b8061065857506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061067461066b6110a1565b61016054611134565b905090565b600061068482611168565b50600090815261013160205260409020546001600160a01b031690565b60006106ac82610bcc565b9050806001600160a01b0316836001600160a01b03160361071e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061073a575061073a81336105bd565b6107ac5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610715565b6107b683836111c8565b505050565b6107c53382611237565b6107e15760405162461bcd60e51b81526004016107159061252c565b6107b68383836112b7565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100971630036108345760405162461bcd60e51b815260040161071590612579565b7f00000000000000000000000001670080000000000000000000000000000100976001600160a01b031661087d600080516020612980833981519152546001600160a01b031690565b6001600160a01b0316146108a35760405162461bcd60e51b8152600401610715906125c5565b6108ac8161142b565b604080516000808252602082019092526108c891839190611433565b50565b60006108d884848461159e565b90505b9392505050565b6108f6606554610100900460ff1660021490565b6109135760405163bae6e2a960e01b815260040160405180910390fd5b61091b611688565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60655460ff16600119016109875760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff191660021790556109a8606554610100900460ff1660021490565b156109c65760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b6109e1816001610e53565b6001600160a01b0316336001600160a01b031614610a1257604051630d85cccf60e11b815260040160405180910390fd5b610a1c83836116e2565b50506065805460ff1916600117905550565b6107b683838360405180602001604052806000815250610e60565b6001600160a01b037f0000000000000000000000000167008000000000000000000000000000010097163003610a915760405162461bcd60e51b815260040161071590612579565b7f00000000000000000000000001670080000000000000000000000000000100976001600160a01b0316610ada600080516020612980833981519152546001600160a01b031690565b6001600160a01b031614610b005760405162461bcd60e51b8152600401610715906125c5565b610b098261142b565b610b1582826001611433565b5050565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000100971614610bb95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610715565b5060008051602061298083398151915290565b600081815261012f60205260408120546001600160a01b0316806106585760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610715565b60006001600160a01b038216610c975760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610715565b506001600160a01b03166000908152610130602052604090205490565b610cbc611688565b610cc6600061187f565b565b610cdc606554610100900460ff1660021490565b15610cfa5760405163bae6e2a960e01b815260040160405180910390fd5b610d02611688565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610956565b6060610674610d4e6118d1565b6118e1565b60655460ff1660011901610d7a5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055610d9b606554610100900460ff1660021490565b15610db95760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610dd4816001610e53565b6001600160a01b0316336001600160a01b031614610e0557604051630d85cccf60e11b815260040160405180910390fd5b826001600160a01b0316610e1883610bcc565b6001600160a01b031614610e3f5760405163358bf3d960e01b815260040160405180910390fd5b610a1c8261190a565b610b153383836119b0565b60006108db46848461159e565b610e6a3383611237565b610e865760405162461bcd60e51b81526004016107159061252c565b610e9284848484611a7f565b50505050565b600054610100900460ff1615808015610eb85750600054600160ff909116105b80610ed25750303b158015610ed2575060005460ff166001145b610f355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610715565b6000805460ff191660011790558015610f58576000805461ff0019166101001790555b6001600160a01b0385161580610f6c575083155b80610f7657504684145b80610f8057508251155b80610f8a57508151155b15610fa85760405163c118d2f360e01b815260040160405180910390fd5b610fb186611ab2565b610fbb8284611ac3565b61015f80546001600160a01b0319166001600160a01b0387161790556101608490558015611023576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b611033611688565b6001600160a01b0381166110985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610715565b6108c88161187f565b606061012d80546110b190612611565b80601f01602080910402602001604051908101604052809291908181526020018280546110dd90612611565b801561112a5780601f106110ff5761010080835404028352916020019161112a565b820191906000526020600020905b81548152906001019060200180831161110d57829003601f168201915b5050505050905090565b60608261114083611af4565b60405160200161115192919061264b565b604051602081830303815290604052905092915050565b600081815261012f60205260409020546001600160a01b03166108c85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610715565b60008181526101316020526040902080546001600160a01b0319166001600160a01b03841690811790915581906111fe82610bcc565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061124383610bcc565b9050806001600160a01b0316846001600160a01b0316148061128b57506001600160a01b038082166000908152610132602090815260408083209388168352929052205460ff165b806112af5750836001600160a01b03166112a484610679565b6001600160a01b0316145b949350505050565b826001600160a01b03166112ca82610bcc565b6001600160a01b0316146112f05760405162461bcd60e51b8152600401610715906126ac565b6001600160a01b0382166113525760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610715565b61135f8383836001611b87565b826001600160a01b031661137282610bcc565b6001600160a01b0316146113985760405162461bcd60e51b8152600401610715906126ac565b60008181526101316020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652610130855283862080546000190190559087168086528386208054600101905586865261012f90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108c8611688565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611466576107b683611be2565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114c0575060408051601f3d908101601f191682019092526114bd918101906126f1565b60015b6115235760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610715565b60008051602061298083398151915281146115925760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610715565b506107b6838383611c7e565b6097546000906001600160a01b03166115ca57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611623573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611647919061270a565b90508115801561165e57506001600160a01b038116155b156108db578361166d84611af4565b604051630d69e23960e41b8152600401610715929190612727565b6033546001600160a01b03163314610cc65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610715565b6001600160a01b0382166117385760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610715565b600081815261012f60205260409020546001600160a01b03161561179e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610715565b6117ac600083836001611b87565b600081815261012f60205260409020546001600160a01b0316156118125760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610715565b6001600160a01b0382166000818152610130602090815260408083208054600101905584835261012f90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606061012e80546110b190612611565b6060816040516020016118f4919061274a565b6040516020818303038152906040529050919050565b600061191582610bcc565b9050611925816000846001611b87565b61192e82610bcc565b60008381526101316020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526101308452828520805460001901905587855261012f909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b031603611a115760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610715565b6001600160a01b0383811660008181526101326020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a8a8484846112b7565b611a9684848484611ca3565b610e925760405162461bcd60e51b815260040161071590612770565b611aba611da4565b6108c881611dbd565b600054610100900460ff16611aea5760405162461bcd60e51b8152600401610715906127c2565b610b158282611e07565b60606000611b0183611e49565b600101905060008167ffffffffffffffff811115611b2157611b216122a9565b6040519080825280601f01601f191660200182016040528015611b4b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b5557509392505050565b306001600160a01b03841603611bb057604051630183150560e21b815260040160405180910390fd5b611bc4606554610100900460ff1660021490565b15610e925760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0381163b611c4f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610715565b60008051602061298083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611c8783611f21565b600082511180611c945750805b156107b657610e928383611f61565b60006001600160a01b0384163b15611d9957604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ce790339089908890889060040161280d565b6020604051808303816000875af1925050508015611d22575060408051601f3d908101601f19168201909252611d1f91810190612840565b60015b611d7f573d808015611d50576040519150601f19603f3d011682016040523d82523d6000602084013e611d55565b606091505b508051600003611d775760405162461bcd60e51b815260040161071590612770565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506112af565b506001949350505050565b611dac611f86565b6065805461ffff1916610101179055565b67ffffffffffffffff4610611de55760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16611e2e5760405162461bcd60e51b8152600401610715906127c2565b61012d611e3b83826128a3565b5061012e6107b682826128a3565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611e885772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611eb4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611ed257662386f26fc10000830492506010015b6305f5e1008310611eea576305f5e100830492506008015b6127108310611efe57612710830492506004015b60648310611f10576064830492506002015b600a83106106585760010192915050565b611f2a81611be2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606108db83836040518060600160405280602781526020016129a060279139611fb5565b600054610100900460ff16611fad5760405162461bcd60e51b8152600401610715906127c2565b610cc661202d565b6060600080856001600160a01b031685604051611fd29190612963565b600060405180830381855af49150503d806000811461200d576040519150601f19603f3d011682016040523d82523d6000602084013e612012565b606091505b50915091506120238683838761205d565b9695505050505050565b600054610100900460ff166120545760405162461bcd60e51b8152600401610715906127c2565b610cc63361187f565b606083156120cc5782516000036120c5576001600160a01b0385163b6120c55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610715565b50816112af565b6112af83838151156120e15781518083602001fd5b8060405162461bcd60e51b8152600401610715919061217e565b6001600160e01b0319811681146108c857600080fd5b60006020828403121561212357600080fd5b81356108db816120fb565b60005b83811015612149578181015183820152602001612131565b50506000910152565b6000815180845261216a81602086016020860161212e565b601f01601f19169290920160200192915050565b6020815260006108db6020830184612152565b6000602082840312156121a357600080fd5b5035919050565b6001600160a01b03811681146108c857600080fd5b600080604083850312156121d257600080fd5b82356121dd816121aa565b946020939093013593505050565b60008060006060848603121561220057600080fd5b833561220b816121aa565b9250602084013561221b816121aa565b929592945050506040919091013590565b60006020828403121561223e57600080fd5b81356108db816121aa565b8035801515811461225957600080fd5b919050565b60008060006060848603121561227357600080fd5b833567ffffffffffffffff8116811461228b57600080fd5b9250602084013591506122a060408501612249565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126122d057600080fd5b813567ffffffffffffffff808211156122eb576122eb6122a9565b604051601f8301601f19908116603f01168101908282118183101715612313576123136122a9565b8160405283815286602085880101111561232c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561235f57600080fd5b823561236a816121aa565b9150602083013567ffffffffffffffff81111561238657600080fd5b612392858286016122bf565b9150509250929050565b600080604083850312156123af57600080fd5b82356123ba816121aa565b91506123c860208401612249565b90509250929050565b600080604083850312156123e457600080fd5b823591506123c860208401612249565b6000806000806080858703121561240a57600080fd5b8435612415816121aa565b93506020850135612425816121aa565b925060408501359150606085013567ffffffffffffffff81111561244857600080fd5b612454878288016122bf565b91505092959194509250565b600080600080600060a0868803121561247857600080fd5b8535612483816121aa565b94506020860135612493816121aa565b935060408601359250606086013567ffffffffffffffff808211156124b757600080fd5b6124c389838a016122bf565b935060808801359150808211156124d957600080fd5b506124e6888289016122bf565b9150509295509295909350565b6000806040838503121561250657600080fd5b8235612511816121aa565b91506020830135612521816121aa565b809150509250929050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600181811c9082168061262557607f821691505b60208210810361264557634e487b7160e01b600052602260045260246000fd5b50919050565b670213934b233b2b2160c51b81526000835161266e81600885016020880161212e565b634051c55b60df1b600891840191820152835161269281600d84016020880161212e565b602960f81b600d9290910191820152600e01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60006020828403121561270357600080fd5b5051919050565b60006020828403121561271c57600080fd5b81516108db816121aa565b67ffffffffffffffff831681526040602082015260006108d86040830184612152565b6000825161275c81846020870161212e565b610b9d60f21b920191825250600201919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061202390830184612152565b60006020828403121561285257600080fd5b81516108db816120fb565b601f8211156107b657600081815260208120601f850160051c810160208610156128845750805b601f850160051c820191505b8181101561102357828155600101612890565b815167ffffffffffffffff8111156128bd576128bd6122a9565b6128d1816128cb8454612611565b8461285d565b602080601f83116001811461290657600084156128ee5750858301515b600019600386901b1c1916600185901b178555611023565b600085815260208120601f198616915b8281101561293557888601518255948401946001909101908401612916565b50858210156129535787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161297581846020870161212e565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206a230c0fe38afc09a92c9b089efc0b32440c3a17558afb7d5f4c5525243985cf64736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010098": { + "contractName": "BridgedERC1155", + "storage": {}, + "code": "0x60806040526004361061019b5760003560e01c806352d1902d116100ec578063a22cb4651161008a578063e985e9c511610064578063e985e9c51461047f578063f242432a146104c9578063f2fde38b146104e9578063f5298aca1461050957600080fd5b8063a22cb4651461041f578063a86f9d9e1461043f578063d1399b1a1461045f57600080fd5b80637cf8ed0d116100c65780637cf8ed0d146103b65780638456cb59146103d75780638da5cb5b146103ec57806395d89b411461040a57600080fd5b806352d1902d1461036b5780635c975abb14610380578063715018a6146103a157600080fd5b80633659cfe6116101595780633f4ba83a116101335780633f4ba83a146102ff57806349d12605146103145780634e1273f41461032b5780634f1ef2861461035857600080fd5b80633659cfe6146102875780633ab76e9f146102a75780633eb6b8cf146102df57600080fd5b8062fdd58e146101a057806301ffc9a7146101d357806306fdde03146102035780630e89341c14610225578063156e29f6146102455780632eb2c2d614610267575b600080fd5b3480156101ac57600080fd5b506101c06101bb3660046122d0565b610529565b6040519081526020015b60405180910390f35b3480156101df57600080fd5b506101f36101ee366004612312565b6105c5565b60405190151581526020016101ca565b34801561020f57600080fd5b50610218610615565b6040516101ca919061237f565b34801561023157600080fd5b50610218610240366004612392565b6106b4565b34801561025157600080fd5b506102656102603660046123ab565b610749565b005b34801561027357600080fd5b50610265610282366004612529565b61082a565b34801561029357600080fd5b506102656102a23660046125d6565b610876565b3480156102b357600080fd5b506097546102c7906001600160a01b031681565b6040516001600160a01b0390911681526020016101ca565b3480156102eb57600080fd5b506102c76102fa366004612608565b610955565b34801561030b57600080fd5b5061026561096c565b34801561032057600080fd5b506101c06101605481565b34801561033757600080fd5b5061034b610346366004612652565b6109ea565b6040516101ca9190612759565b61026561036636600461276c565b610b13565b34801561037757600080fd5b506101c0610be3565b34801561038c57600080fd5b506101f3606554610100900460ff1660021490565b3480156103ad57600080fd5b50610265610c97565b3480156103c257600080fd5b5061015f546102c7906001600160a01b031681565b3480156103e357600080fd5b50610265610cab565b3480156103f857600080fd5b506033546001600160a01b03166102c7565b34801561041657600080fd5b50610218610d24565b34801561042b57600080fd5b5061026561043a3660046127b1565b610dba565b34801561044b57600080fd5b506102c761045a3660046127e6565b610dc5565b34801561046b57600080fd5b5061026561047a366004612809565b610dd2565b34801561048b57600080fd5b506101f361049a36600461286b565b6001600160a01b03918216600090815261012e6020908152604080832093909416825291909152205460ff1690565b3480156104d557600080fd5b506102656104e43660046128a4565b610f7b565b3480156104f557600080fd5b506102656105043660046125d6565b610fc0565b34801561051557600080fd5b506102656105243660046123ab565b611036565b60006001600160a01b0383166105995760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815261012d602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806105f657506001600160e01b031982166303a24d0760e21b145b806105bf57506301ffc9a760e01b6001600160e01b03198316146105bf565b60606106af61016280546106289061290c565b80601f01602080910402602001604051908101604052809291908181526020018280546106549061290c565b80156106a15780601f10610676576101008083540402835291602001916106a1565b820191906000526020600020905b81548152906001019060200180831161068457829003601f168201915b5050505050610160546110f4565b905090565b606061012f80546106c49061290c565b80601f01602080910402602001604051908101604052809291908181526020018280546106f09061290c565b801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b50505050509050919050565b60655460ff16600119016107705760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055610791606554610100900460ff1660021490565b156107af5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b6107cb816001610dc5565b6001600160a01b0316336001600160a01b0316146107fc57604051630d85cccf60e11b815260040160405180910390fd5b61081784848460405180602001604052806000815250611128565b50506065805460ff191660011790555050565b6001600160a01b0385163314806108465750610846853361049a565b6108625760405162461bcd60e51b815260040161059090612946565b61086f858585858561124e565b5050505050565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100981630036108be5760405162461bcd60e51b815260040161059090612994565b7f00000000000000000000000001670080000000000000000000000000000100986001600160a01b0316610907600080516020612f39833981519152546001600160a01b031690565b6001600160a01b03161461092d5760405162461bcd60e51b8152600401610590906129e0565b61093681611436565b604080516000808252602082019092526109529183919061143e565b50565b60006109628484846115ae565b90505b9392505050565b610980606554610100900460ff1660021490565b61099d5760405163bae6e2a960e01b815260040160405180910390fd5b6109a5611697565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60608151835114610a4f5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610590565b600083516001600160401b03811115610a6a57610a6a6123e0565b604051908082528060200260200182016040528015610a93578160200160208202803683370190505b50905060005b8451811015610b0b57610ade858281518110610ab757610ab7612a2c565b6020026020010151858381518110610ad157610ad1612a2c565b6020026020010151610529565b828281518110610af057610af0612a2c565b6020908102919091010152610b0481612a58565b9050610a99565b509392505050565b6001600160a01b037f0000000000000000000000000167008000000000000000000000000000010098163003610b5b5760405162461bcd60e51b815260040161059090612994565b7f00000000000000000000000001670080000000000000000000000000000100986001600160a01b0316610ba4600080516020612f39833981519152546001600160a01b031690565b6001600160a01b031614610bca5760405162461bcd60e51b8152600401610590906129e0565b610bd382611436565b610bdf8282600161143e565b5050565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000100981614610c835760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610590565b50600080516020612f398339815191525b90565b610c9f611697565b610ca960006116f1565b565b610cbf606554610100900460ff1660021490565b15610cdd5760405163bae6e2a960e01b815260040160405180910390fd5b610ce5611697565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016109e0565b60606106af6101618054610d379061290c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d639061290c565b8015610db05780601f10610d8557610100808354040283529160200191610db0565b820191906000526020600020905b815481529060010190602001808311610d9357829003601f168201915b5050505050611743565b610bdf33838361176c565b60006109654684846115ae565b600054610100900460ff1615808015610df25750600054600160ff909116105b80610e0c5750303b158015610e0c575060005460ff166001145b610e6f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610590565b6000805460ff191660011790558015610e92576000805461ff0019166101001790555b6001600160a01b0385161580610ea6575083155b80610eb057504684145b15610ece5760405163c118d2f360e01b815260040160405180910390fd5b610ed78661184d565b610eef6040518060200160405280600081525061185e565b61015f80546001600160a01b0319166001600160a01b038716179055610160849055610161610f1e8482612ab7565b50610162610f2c8382612ab7565b508015610f73576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6001600160a01b038516331480610f975750610f97853361049a565b610fb35760405162461bcd60e51b815260040161059090612946565b61086f858585858561188e565b610fc8611697565b6001600160a01b03811661102d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610590565b610952816116f1565b60655460ff166001190161105d5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905561107e606554610100900460ff1660021490565b1561109c5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b6110b8816001610dc5565b6001600160a01b0316336001600160a01b0316146110e957604051630d85cccf60e11b815260040160405180910390fd5b6108178484846119cc565b60608261110083611b62565b604051602001611111929190612b76565b604051602081830303815290604052905092915050565b6001600160a01b0384166111885760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610590565b33600061119485611bf4565b905060006111a185611bf4565b90506111b283600089858589611c3f565b600086815261012d602090815260408083206001600160a01b038b168452909152812080548792906111e5908490612bd7565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461124583600089898989611c9a565b50505050505050565b81518351146112b05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610590565b6001600160a01b0384166112d65760405162461bcd60e51b815260040161059090612bea565b336112e5818787878787611c3f565b60005b84518110156113d057600085828151811061130557611305612a2c565b60200260200101519050600085838151811061132357611323612a2c565b602090810291909101810151600084815261012d835260408082206001600160a01b038e1683529093529190912054909150818110156113755760405162461bcd60e51b815260040161059090612c2f565b600083815261012d602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906113b5908490612bd7565b92505081905550505050806113c990612a58565b90506112e8565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611420929190612c79565b60405180910390a4610f73818787878787611df5565b610952611697565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114765761147183611eb0565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114d0575060408051601f3d908101601f191682019092526114cd91810190612ca7565b60015b6115335760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610590565b600080516020612f3983398151915281146115a25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610590565b50611471838383611f4c565b6097546000906001600160a01b03166115da57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116569190612cc0565b90508115801561166d57506001600160a01b038116155b15610965578361167c84611b62565b604051630d69e23960e41b8152600401610590929190612cdd565b6033546001600160a01b03163314610ca95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610590565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060816040516020016117569190612cff565b6040516020818303038152906040529050919050565b816001600160a01b0316836001600160a01b0316036117df5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610590565b6001600160a01b03838116600081815261012e6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611855611f77565b61095281611f90565b600054610100900460ff166118855760405162461bcd60e51b815260040161059090612d25565b61095281611fd9565b6001600160a01b0384166118b45760405162461bcd60e51b815260040161059090612bea565b3360006118c085611bf4565b905060006118cd85611bf4565b90506118dd838989858589611c3f565b600086815261012d602090815260408083206001600160a01b038c168452909152902054858110156119215760405162461bcd60e51b815260040161059090612c2f565b600087815261012d602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611961908490612bd7565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46119c1848a8a8a8a8a611c9a565b505050505050505050565b6001600160a01b038316611a2e5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610590565b336000611a3a84611bf4565b90506000611a4784611bf4565b9050611a6783876000858560405180602001604052806000815250611c3f565b600085815261012d602090815260408083206001600160a01b038a16845290915290205484811015611ae75760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610590565b600086815261012d602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052611245565b60606000611b6f83612009565b60010190506000816001600160401b03811115611b8e57611b8e6123e0565b6040519080825280601f01601f191660200182016040528015611bb8576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611bc257509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611c2e57611c2e612a2c565b602090810291909101015292915050565b306001600160a01b03851603611c6857604051630183150560e21b815260040160405180910390fd5b611c7c606554610100900460ff1660021490565b15610f735760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0384163b15610f735760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611cde9089908990889088908890600401612d70565b6020604051808303816000875af1925050508015611d19575060408051601f3d908101601f19168201909252611d1691810190612db5565b60015b611dc557611d25612dd2565b806308c379a003611d5e5750611d39612ded565b80611d445750611d60565b8060405162461bcd60e51b8152600401610590919061237f565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610590565b6001600160e01b0319811663f23a6e6160e01b146112455760405162461bcd60e51b815260040161059090612e76565b6001600160a01b0384163b15610f735760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611e399089908990889088908890600401612ebe565b6020604051808303816000875af1925050508015611e74575060408051601f3d908101601f19168201909252611e7191810190612db5565b60015b611e8057611d25612dd2565b6001600160e01b0319811663bc197c8160e01b146112455760405162461bcd60e51b815260040161059090612e76565b6001600160a01b0381163b611f1d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610590565b600080516020612f3983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611f55836120e1565b600082511180611f625750805b1561147157611f718383612121565b50505050565b611f7f612146565b6065805461ffff1916610101179055565b6001600160401b034610611fb75760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff166120005760405162461bcd60e51b815260040161059090612d25565b61095281612175565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106120485772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612074576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061209257662386f26fc10000830492506010015b6305f5e10083106120aa576305f5e100830492506008015b61271083106120be57612710830492506004015b606483106120d0576064830492506002015b600a83106105bf5760010192915050565b6120ea81611eb0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606109658383604051806060016040528060278152602001612f5960279139612182565b600054610100900460ff1661216d5760405162461bcd60e51b815260040161059090612d25565b610ca96121fa565b61012f610bdf8282612ab7565b6060600080856001600160a01b03168560405161219f9190612f1c565b600060405180830381855af49150503d80600081146121da576040519150601f19603f3d011682016040523d82523d6000602084013e6121df565b606091505b50915091506121f08683838761222a565b9695505050505050565b600054610100900460ff166122215760405162461bcd60e51b815260040161059090612d25565b610ca9336116f1565b60608315612299578251600003612292576001600160a01b0385163b6122925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610590565b50816122a3565b6122a383836122ab565b949350505050565b815115611d445781518083602001fd5b6001600160a01b038116811461095257600080fd5b600080604083850312156122e357600080fd5b82356122ee816122bb565b946020939093013593505050565b6001600160e01b03198116811461095257600080fd5b60006020828403121561232457600080fd5b8135610965816122fc565b60005b8381101561234a578181015183820152602001612332565b50506000910152565b6000815180845261236b81602086016020860161232f565b601f01601f19169290920160200192915050565b6020815260006109656020830184612353565b6000602082840312156123a457600080fd5b5035919050565b6000806000606084860312156123c057600080fd5b83356123cb816122bb565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561241b5761241b6123e0565b6040525050565b60006001600160401b0382111561243b5761243b6123e0565b5060051b60200190565b600082601f83011261245657600080fd5b8135602061246382612422565b60405161247082826123f6565b83815260059390931b850182019282810191508684111561249057600080fd5b8286015b848110156124ab5780358352918301918301612494565b509695505050505050565b600082601f8301126124c757600080fd5b81356001600160401b038111156124e0576124e06123e0565b6040516124f7601f8301601f1916602001826123f6565b81815284602083860101111561250c57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561254157600080fd5b853561254c816122bb565b9450602086013561255c816122bb565b935060408601356001600160401b038082111561257857600080fd5b61258489838a01612445565b9450606088013591508082111561259a57600080fd5b6125a689838a01612445565b935060808801359150808211156125bc57600080fd5b506125c9888289016124b6565b9150509295509295909350565b6000602082840312156125e857600080fd5b8135610965816122bb565b8035801515811461260357600080fd5b919050565b60008060006060848603121561261d57600080fd5b83356001600160401b038116811461263457600080fd5b925060208401359150612649604085016125f3565b90509250925092565b6000806040838503121561266557600080fd5b82356001600160401b038082111561267c57600080fd5b818501915085601f83011261269057600080fd5b8135602061269d82612422565b6040516126aa82826123f6565b83815260059390931b85018201928281019150898411156126ca57600080fd5b948201945b838610156126f15785356126e2816122bb565b825294820194908201906126cf565b9650508601359250508082111561270757600080fd5b5061271485828601612445565b9150509250929050565b600081518084526020808501945080840160005b8381101561274e57815187529582019590820190600101612732565b509495945050505050565b602081526000610965602083018461271e565b6000806040838503121561277f57600080fd5b823561278a816122bb565b915060208301356001600160401b038111156127a557600080fd5b612714858286016124b6565b600080604083850312156127c457600080fd5b82356127cf816122bb565b91506127dd602084016125f3565b90509250929050565b600080604083850312156127f957600080fd5b823591506127dd602084016125f3565b600080600080600060a0868803121561282157600080fd5b853561282c816122bb565b9450602086013561283c816122bb565b93506040860135925060608601356001600160401b038082111561285f57600080fd5b6125a689838a016124b6565b6000806040838503121561287e57600080fd5b8235612889816122bb565b91506020830135612899816122bb565b809150509250929050565b600080600080600060a086880312156128bc57600080fd5b85356128c7816122bb565b945060208601356128d7816122bb565b9350604086013592506060860135915060808601356001600160401b0381111561290057600080fd5b6125c9888289016124b6565b600181811c9082168061292057607f821691505b60208210810361294057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612a6a57612a6a612a42565b5060010190565b601f82111561147157600081815260208120601f850160051c81016020861015612a985750805b601f850160051c820191505b81811015610f7357828155600101612aa4565b81516001600160401b03811115612ad057612ad06123e0565b612ae481612ade845461290c565b84612a71565b602080601f831160018114612b195760008415612b015750858301515b600019600386901b1c1916600185901b178555610f73565b600085815260208120601f198616915b82811015612b4857888601518255948401946001909101908401612b29565b5085821015612b665787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b670213934b233b2b2160c51b815260008351612b9981600885016020880161232f565b634051c55b60df1b6008918401918201528351612bbd81600d84016020880161232f565b602960f81b600d9290910191820152600e01949350505050565b808201808211156105bf576105bf612a42565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000612c8c604083018561271e565b8281036020840152612c9e818561271e565b95945050505050565b600060208284031215612cb957600080fd5b5051919050565b600060208284031215612cd257600080fd5b8151610965816122bb565b6001600160401b03831681526040602082015260006109626040830184612353565b60008251612d1181846020870161232f565b610b9d60f21b920191825250600201919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612daa90830184612353565b979650505050505050565b600060208284031215612dc757600080fd5b8151610965816122fc565b600060033d1115610c945760046000803e5060005160e01c90565b600060443d1015612dfb5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715612e2a57505050505090565b8285019150815181811115612e425750505050505090565b843d8701016020828501011115612e5c5750505050505090565b612e6b602082860101876123f6565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a060408201819052600090612eea9083018661271e565b8281036060840152612efc818661271e565b90508281036080840152612f108185612353565b98975050505050505050565b60008251612f2e81846020870161232f565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c815eff88d788d0412cf5780901f394979615e0cc721245a4ee4b95f2c5355b864736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000000005": { + "contractName": "SignalServiceImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x60806040526004361061012a5760003560e01c80638456cb59116100ab578063a354b9de1161006f578063a354b9de14610312578063a86f9d9e14610332578063cbb3ddf314610352578063e1c7392a14610366578063f19e207e1461037b578063f2fde38b146103a857600080fd5b80638456cb591461027f5780638da5cb5b14610294578063910af6ed146102b257806391f3f74b146102d2578063969e15a3146102f257600080fd5b80634f1ef286116100f25780634f1ef286146101f357806352d1902d146102065780635c975abb1461022957806366ca2bc01461024a578063715018a61461026a57600080fd5b806332676bc61461012f5780633659cfe6146101645780633ab76e9f146101865780633eb6b8cf146101be5780633f4ba83a146101de575b600080fd5b34801561013b57600080fd5b5061014f61014a3660046126d3565b6103c8565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018461017f3660046126ff565b61042c565b005b34801561019257600080fd5b506097546101a6906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156101ca57600080fd5b506101a66101d9366004612746565b610514565b3480156101ea57600080fd5b5061018461052b565b610184610201366004612883565b6105a9565b34801561021257600080fd5b5061021b610679565b60405190815260200161015b565b34801561023557600080fd5b5061014f606554610100900460ff1660021490565b34801561025657600080fd5b5061021b6102653660046128d2565b61072c565b34801561027657600080fd5b50610184610763565b34801561028b57600080fd5b50610184610777565b3480156102a057600080fd5b506033546001600160a01b03166101a6565b3480156102be57600080fd5b5061014f6102cd3660046128eb565b6107f0565b3480156102de57600080fd5b5061021b6102ed366004612989565b610b0e565b3480156102fe57600080fd5b5061018461030d3660046126d3565b610b79565b34801561031e57600080fd5b5061014f61032d3660046126d3565b610c3b565b34801561033e57600080fd5b506101a661034d3660046129ca565b610c67565b34801561035e57600080fd5b50600061014f565b34801561037257600080fd5b50610184610c74565b34801561038757600080fd5b5061021b6103963660046126ff565b60fb6020526000908152604090205481565b3480156103b457600080fd5b506101846103c33660046126ff565b610d84565b60008181036103ea5760405163c7b4b9bf60e01b815260040160405180910390fd5b6001600160a01b0383166104115760405163985389db60e01b815260040160405180910390fd5b600061041e468585610b0e565b546001149150505b92915050565b6001600160a01b037f000000000000000000000000016700800000000000000000000000000000000516300361047d5760405162461bcd60e51b8152600401610474906129f6565b60405180910390fd5b7f00000000000000000000000001670080000000000000000000000000000000056001600160a01b03166104c6600080516020612e8c833981519152546001600160a01b031690565b6001600160a01b0316146104ec5760405162461bcd60e51b815260040161047490612a42565b6104f581610dfa565b6040805160008082526020820190925261051191839190610e02565b50565b6000610521848484610f72565b90505b9392505050565b61053f606554610100900460ff1660021490565b61055c5760405163bae6e2a960e01b815260040160405180910390fd5b61056461105b565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000000051630036105f15760405162461bcd60e51b8152600401610474906129f6565b7f00000000000000000000000001670080000000000000000000000000000000056001600160a01b031661063a600080516020612e8c833981519152546001600160a01b031690565b6001600160a01b0316146106605760405162461bcd60e51b815260040161047490612a42565b61066982610dfa565b61067582826001610e02565b5050565b6000306001600160a01b037f000000000000000000000000016700800000000000000000000000000000000516146107195760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610474565b50600080516020612e8c83398151915290565b600081810361074e5760405163c7b4b9bf60e01b815260040160405180910390fd5b610759463384610b0e565b6001815592915050565b61076b61105b565b61077560006110b5565b565b61078b606554610100900460ff1660021490565b156107a95760405163bae6e2a960e01b815260040160405180910390fd5b6107b161105b565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200161059f565b60006001600160a01b0385161580610806575083155b8061081857506001600160401b038616155b8061082b575046866001600160401b0316145b1561083857506000610b05565b600061084683850185612a8e565b80519091506001600160a01b031615806108635750604081015151155b15610872576000915050610b05565b60005b8160600151518110156108fd578160600151818151811061089857610898612c18565b6020026020010151602001516000801b036108b857600092505050610b05565b816060015181815181106108ce576108ce612c18565b602002602001015160400151516000036108ed57600092505050610b05565b6108f681612c44565b9050610875565b50805161090a9046610c3b565b610918576000915050610b05565b80516020820151604051638cfb045960e01b81526001600160401b0390911660048201526000916001600160a01b031690638cfb045990602401608060405180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190612c5d565b60600151905060008190036109ad57600092505050610b05565b60005b826060015151811015610ab2576000836060015182815181106109d5576109d5612c18565b60209081029190910181015180516001600160a01b0316600090815260fb909252604082205490925090819003610a1457600095505050505050610b05565b6000610a1f82611107565b90506000610a368285600001518660200151610b0e565b90506000610a7d82604051602001610a5091815260200190565b60408051601f19818403018152828201825260018352600160f81b6020840152908801519091908a611173565b905080610a9557600098505050505050505050610b05565b84602001519650505050505080610aab90612c44565b90506109b0565b50610b00610ac1898989610b0e565b604051602001610ad391815260200190565b60408051601f19818403018152828201825260018352600160f81b60208401529085015190919084611173565b925050505b95945050505050565b6040516514d251d3905360d21b60208201526001600160c01b031960c085901b1660268201526bffffffffffffffffffffffff19606084901b16602e820152604281018290526000906062016040516020818303038152906040528051906020012090509392505050565b610b8161105b565b6001600160a01b038216610ba857604051635963709b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260fb6020526040902054818103610be1576040516389ad61c160e01b815260040160405180910390fd5b6001600160a01b038316600081815260fb602090815260409182902085905581518481529081018590527f7abb39ef31cf9e4e81ee30577a27909b031ee95c0459c22280fb8d3468c96fdf910160405180910390a2505050565b600081158015906105245750506001600160a01b0391909116600090815260fb60205260409020541490565b6000610524468484610f72565b600054610100900460ff1615808015610c945750600054600160ff909116105b80610cae5750303b158015610cae575060005460ff166001145b610d115760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610474565b6000805460ff191660011790558015610d34576000805461ff0019166101001790555b610d3c611199565b8015610511576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b610d8c61105b565b6001600160a01b038116610df15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610474565b610511816110b5565b61051161105b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e3a57610e35836111b2565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e94575060408051601f3d908101601f19168201909252610e9191810190612cb4565b60015b610ef75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610474565b600080516020612e8c8339815191528114610f665760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610474565b50610e3583838361124e565b6097546000906001600160a01b0316610f9e57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190612ccd565b90508115801561103157506001600160a01b038116155b15610524578361104084611279565b604051630d69e23960e41b8152600401610474929190612d3a565b6033546001600160a01b031633146107755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610474565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006001600160401b0382111561116f5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610474565b5090565b60008061117f8661130c565b905061118d8186868661133e565b9150505b949350505050565b6111a161137b565b6065805461ffff1916610101179055565b6001600160a01b0381163b61121f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610474565b600080516020612e8c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611257836113aa565b6000825111806112645750805b15610e355761127383836113ea565b50505050565b606060006112868361140f565b60010190506000816001600160401b038111156112a5576112a5612784565b6040519080825280601f01601f1916602001820160405280156112cf576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846112d9575b509392505050565b6060818051906020012060405160200161132891815260200190565b6040516020818303038152906040529050919050565b600080600061134e8786866114e7565b9150915081801561137057508051602080830191909120875191880191909120145b979650505050505050565b600054610100900460ff166113a25760405162461bcd60e51b815260040161047490612d5c565b6107756115c2565b6113b3816111b2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105248383604051806060016040528060278152602001612eac602791396115f2565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061144e5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061147a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061149857662386f26fc10000830492506010015b6305f5e10083106114b0576305f5e100830492506008015b61271083106114c457612710830492506004015b606483106114d6576064830492506002015b600a83106104265760010192915050565b6000606060006114f68561166a565b90506000806000611508848a8961175a565b8151929550909350915015808061151c5750815b6115685760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610474565b60008161158457604051806020016040528060008152506115b0565b6115b086611593600188612da7565b815181106115a3576115a3612c18565b6020026020010151611b7a565b919b919a509098505050505050505050565b600054610100900460ff166115e95760405162461bcd60e51b815260040161047490612d5c565b610775336110b5565b6060600080856001600160a01b03168560405161160f9190612dba565b600060405180830381855af49150503d806000811461164a576040519150601f19603f3d011682016040523d82523d6000602084013e61164f565b606091505b509150915061166086838387611ba1565b9695505050505050565b6060600061167783611c1a565b9050600081516001600160401b0381111561169457611694612784565b6040519080825280602002602001820160405280156116d957816020015b60408051808201909152606080825260208201528152602001906001900390816116b25790505b50905060005b825181101561130457600061170c8483815181106116ff576116ff612c18565b6020026020010151611c4d565b9050604051806040016040528061172283611c1a565b81526020018281525083838151811061173d5761173d612c18565b6020026020010181905250508061175390612c44565b90506116df565b60006060600080600061176c87611cd4565b90506000869050600080611793604051806040016040528060608152602001606081525090565b60005b8c51811015611b52578c81815181106117b1576117b1612c18565b6020026020010151915082846117c79190612dd6565b93506117d4600188612dd6565b96508360000361183157848260200151805190602001201461182c5760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610474565b6118f3565b60208260200151511061189857848260200151805190602001201461182c5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610474565b846118a68360200151611e0c565b146118f35760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610474565b6118ff60106001612de9565b60ff168260000151510361196d5785518414611b5257600086858151811061192957611929612c18565b01602001518351805160f89290921c92506000918390811061194d5761194d612c18565b6020026020010151905061196081611e34565b9650600194505050611b42565b81515160011901611afa57600061198383611e6a565b905060008160008151811061199a5761199a612c18565b016020015160f81c905060006119b1600283612e02565b6119bc906002612e32565b905060006119cd848360ff16611e8e565b905060006119db8b8a611e8e565b905060006119e98383611ec4565b905060ff851660021480611a00575060ff85166003145b15611a3a57808351148015611a155750808251145b15611a2757611a24818b612dd6565b99505b50600160ff1b9950611b52945050505050565b60ff85161580611a4d575060ff85166001145b15611aa35782518114611a6d5750600160ff1b9950611b52945050505050565b611a948860000151600181518110611a8757611a87612c18565b6020026020010151611e34565b9a509750611b42945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610474565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610474565b611b4b81612c44565b9050611796565b50600160ff1b841486611b658786611e8e565b909e909d50909b509950505050505050505050565b8051805160609161042691611b9190600190612da7565b815181106116ff576116ff612c18565b60608315611c10578251600003611c09576001600160a01b0385163b611c095760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610474565b5081611191565b6111918383611f3e565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061042690611f68565b60606000806000611c5d85612154565b919450925090506000816001811115611c7857611c78612e4b565b14611cc55760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610474565b610b058560200151848461249e565b6060600082516002611ce69190612e61565b6001600160401b03811115611cfd57611cfd612784565b6040519080825280601f01601f191660200182016040528015611d27576020820181803683370190505b50905060005b8351811015611e05576004848281518110611d4a57611d4a612c18565b01602001516001600160f81b031916901c82611d67836002612e61565b81518110611d7757611d77612c18565b60200101906001600160f81b031916908160001a9053506010848281518110611da257611da2612c18565b0160200151611db4919060f81c612e02565b60f81b82611dc3836002612e61565b611dce906001612dd6565b81518110611dde57611dde612c18565b60200101906001600160f81b031916908160001a905350611dfe81612c44565b9050611d2d565b5092915050565b6000602082511015611e2057506020015190565b818060200190518101906104269190612cb4565b60006060602083600001511015611e5557611e4e83612546565b9050611e61565b611e5e83611c4d565b90505b61052481611e0c565b6060610426611e8983600001516000815181106116ff576116ff612c18565b611cd4565b606082518210611ead5750604080516020810190915260008152610426565b6105248383848651611ebf9190612da7565b612551565b6000805b808451118015611ed85750808351115b8015611f295750828181518110611ef157611ef1612c18565b602001015160f81c60f81b6001600160f81b031916848281518110611f1857611f18612c18565b01602001516001600160f81b031916145b1561052457611f3781612c44565b9050611ec8565b815115611f4e5781518083602001fd5b8060405162461bcd60e51b81526004016104749190612e78565b6060600080611f7684612154565b91935090915060019050816001811115611f9257611f92612e4b565b14611fdf5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610474565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081611ff85790505090506000835b865181101561214957602082106120915760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610474565b6000806120ce6040518060400160405280858c600001516120b29190612da7565b8152602001858c602001516120c79190612dd6565b9052612154565b5091509150604051806040016040528083836120ea9190612dd6565b8152602001848b602001516120ff9190612dd6565b81525085858151811061211457612114612c18565b602090810291909101015261212a600185612dd6565b93506121368183612dd6565b6121409084612dd6565b92505050612025565b508152949350505050565b6000806000808460000151116121ac5760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610474565b6020840151805160001a607f81116121d1576000600160009450945094505050612497565b60b7811161224d5760006121e6608083612da7565b90508087600001511161223b5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610474565b60019550935060009250612497915050565b60bf811161233c57600061226260b783612da7565b9050808760000151116122b75760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610474565b600183015160208290036101000a90046122d18183612dd6565b8851116123205760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610474565b61232b826001612dd6565b965094506000935061249792505050565b60f781116123b757600061235160c083612da7565b9050808760000151116123a65760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610474565b600195509350849250612497915050565b60006123c460f783612da7565b9050808760000151116124195760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610474565b600183015160208290036101000a90046124338183612dd6565b88511161247b5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610474565b612486826001612dd6565b965094506001935061249792505050565b9193909250565b60606000826001600160401b038111156124ba576124ba612784565b6040519080825280601f01601f1916602001820160405280156124e4576020820181803683370190505b50905080516000036124f7579050610524565b8484016020820160005b85811015612519578281015182820152602001612501565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b6060610426826126a8565b60608161255f81601f612dd6565b101561259e5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610474565b826125a98382612dd6565b10156125e85760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610474565b6125f28284612dd6565b845110156126365760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610474565b606082158015612655576040519150600082526020820160405261269f565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561268e578051835260209283019201612676565b5050858452601f01601f1916604052505b50949350505050565b606061042682602001516000846000015161249e565b6001600160a01b038116811461051157600080fd5b600080604083850312156126e657600080fd5b82356126f1816126be565b946020939093013593505050565b60006020828403121561271157600080fd5b8135610524816126be565b6001600160401b038116811461051157600080fd5b8035801515811461274157600080fd5b919050565b60008060006060848603121561275b57600080fd5b83356127668161271c565b92506020840135915061277b60408501612731565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156127bc576127bc612784565b60405290565b604051606081016001600160401b03811182821017156127bc576127bc612784565b604051601f8201601f191681016001600160401b038111828210171561280c5761280c612784565b604052919050565b600082601f83011261282557600080fd5b81356001600160401b0381111561283e5761283e612784565b612851601f8201601f19166020016127e4565b81815284602083860101111561286657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561289657600080fd5b82356128a1816126be565b915060208301356001600160401b038111156128bc57600080fd5b6128c885828601612814565b9150509250929050565b6000602082840312156128e457600080fd5b5035919050565b60008060008060006080868803121561290357600080fd5b853561290e8161271c565b9450602086013561291e816126be565b93506040860135925060608601356001600160401b038082111561294157600080fd5b818801915088601f83011261295557600080fd5b81358181111561296457600080fd5b89602082850101111561297657600080fd5b9699959850939650602001949392505050565b60008060006060848603121561299e57600080fd5b83356129a98161271c565b925060208401356129b9816126be565b929592945050506040919091013590565b600080604083850312156129dd57600080fd5b823591506129ed60208401612731565b90509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020808385031215612aa157600080fd5b82356001600160401b0380821115612ab857600080fd5b9084019060808287031215612acc57600080fd5b612ad461279a565b8235612adf816126be565b815282840135612aee8161271c565b81850152604083013582811115612b0457600080fd5b612b1088828601612814565b60408301525060608084013583811115612b2957600080fd5b80850194505087601f850112612b3e57600080fd5b833583811115612b5057612b50612784565b8060051b612b5f8782016127e4565b918252858101870191878101908b841115612b7957600080fd5b88880192505b83831015612c0357823587811115612b975760008081fd5b8801808d03601f1901861315612bad5760008081fd5b612bb56127c2565b8a820135612bc2816126be565b815260408201358b8201528682013589811115612bdf5760008081fd5b612bed8f8d83860101612814565b6040830152508352509188019190880190612b7f565b93850193909352509198975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612c5657612c56612c2e565b5060010190565b600060808284031215612c6f57600080fd5b612c7761279a565b8251612c828161271c565b81526020830151612c928161271c565b6020820152604083810151908201526060928301519281019290925250919050565b600060208284031215612cc657600080fd5b5051919050565b600060208284031215612cdf57600080fd5b8151610524816126be565b60005b83811015612d05578181015183820152602001612ced565b50506000910152565b60008151808452612d26816020860160208601612cea565b601f01601f19169290920160200192915050565b6001600160401b03831681526040602082015260006105216040830184612d0e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8181038181111561042657610426612c2e565b60008251612dcc818460208701612cea565b9190910192915050565b8082018082111561042657610426612c2e565b60ff818116838216019081111561042657610426612c2e565b600060ff831680612e2357634e487b7160e01b600052601260045260246000fd5b8060ff84160691505092915050565b60ff828116828216039081111561042657610426612c2e565b634e487b7160e01b600052602160045260246000fd5b808202811582820484141761042657610426612c2e565b6020815260006105246020830184612d0e56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220705188df6f705b59216fb40a6136900d0c74549bbe4d0406595394fc82f56f4f64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000000005": { + "contractName": "SignalService", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0xe1ea4bb003891464eed655f99574ebf9ed4b743aaa8730cc2f046fe77b7072a6": "0x0000000000000000000000000000000000000000000000000000000000028c60", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000000005" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010001": { + "contractName": "TaikoL2Impl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106101d85760003560e01c80638cfb045911610102578063c7b9690811610095578063f2fde38b11610064578063f2fde38b14610654578063f535bd5614610674578063f940e38514610695578063ff4d1815146106b557600080fd5b8063c7b9690814610579578063da69d3db146105a1578063dac5df78146105c1578063e8e2c5fb146105d857600080fd5b8063a86f9d9e116100d1578063a86f9d9e146104db578063b310e9e9146104fb578063c3f909d41461051b578063c7a2fc601461055957600080fd5b80638cfb0459146104125780638da5cb5b146104775780639ee512f214610495578063a7e022d1146104bb57600080fd5b80634f1ef2861161017a578063715018a611610149578063715018a61461037b5780638456cb59146103905780638551f41e146103a55780638aff87b2146103d357600080fd5b80634f1ef286146102f357806352d1902d14610306578063591aad8a1461031b5780635c975abb1461035a57600080fd5b80633659cfe6116101b65780633659cfe6146102645780633ab76e9f146102865780633eb6b8cf146102be5780633f4ba83a146102de57600080fd5b806310da3738146101dd57806323ac7136146102245780632f98047314610244575b600080fd5b3480156101e957600080fd5b506102117f92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce3881565b6040519081526020015b60405180910390f35b34801561023057600080fd5b5061021161023f3660046126ce565b6106d5565b34801561025057600080fd5b5060005b604051901515815260200161021b565b34801561027057600080fd5b5061028461027f366004612700565b610735565b005b34801561029257600080fd5b506097546102a6906001600160a01b031681565b6040516001600160a01b03909116815260200161021b565b3480156102ca57600080fd5b506102a66102d936600461272b565b61081d565b3480156102ea57600080fd5b50610284610834565b6102846103013660046127b3565b6108b2565b34801561031257600080fd5b50610211610982565b34801561032757600080fd5b5061033b61033636600461285a565b610a35565b6040805160ff909416845260208401929092529082015260600161021b565b34801561036657600080fd5b50610254606554610100900460ff1660021490565b34801561038757600080fd5b50610284610c70565b34801561039c57600080fd5b50610284610c84565b3480156103b157600080fd5b506102116103c0366004612890565b61012d6020526000908152604090205481565b3480156103df57600080fd5b5060fb546103fa90600160401b90046001600160401b031681565b6040516001600160401b03909116815260200161021b565b34801561041e57600080fd5b5061043261042d3660046126ce565b610cfd565b60405161021b919060006080820190506001600160401b0380845116835280602085015116602084015250604083015160408301526060830151606083015292915050565b34801561048357600080fd5b506033546001600160a01b03166102a6565b3480156104a157600080fd5b506102a671777735367b36bc9b61c50022d9d0700db4ec81565b3480156104c757600080fd5b506102116104d63660046128c2565b610da5565b3480156104e757600080fd5b506102a66104f63660046128f7565b610dd7565b34801561050757600080fd5b5061028461051636600461291c565b610ded565b34801561052757600080fd5b5060408051808201825263039387008082526008602092830190815283519182525160ff16918101919091520161021b565b34801561056557600080fd5b5061028461057436600461295c565b610fb0565b34801561058557600080fd5b50610130546103fa90600160401b90046001600160401b031681565b3480156105ad57600080fd5b506102846105bc3660046129e0565b61120a565b3480156105cd57600080fd5b5061021161012f5481565b3480156105e457600080fd5b506106296105f3366004612890565b61012e602052600090815260409020805460018201546002909201546001600160401b0380831693600160401b90930416919084565b604080516001600160401b03958616815294909316602085015291830152606082015260800161021b565b34801561066057600080fd5b5061028461066f366004612700565b6115d9565b34801561068057600080fd5b50610130546103fa906001600160401b031681565b3480156106a157600080fd5b506102846106b0366004612a28565b61164f565b3480156106c157600080fd5b5060fb546103fa906001600160401b031681565b600043826001600160401b0316106106ef57506000919050565b6106fb61010043612a6c565b826001600160401b03161061071857506001600160401b03164090565b506001600160401b0316600090815261012d602052604090205490565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100011630036107865760405162461bcd60e51b815260040161077d90612a7f565b60405180910390fd5b7f00000000000000000000000001670080000000000000000000000000000100016001600160a01b03166107cf600080516020612dca833981519152546001600160a01b031690565b6001600160a01b0316146107f55760405162461bcd60e51b815260040161077d90612acb565b6107fe8161179a565b6040805160008082526020820190925261081a918391906117a2565b50565b600061082a848484611912565b90505b9392505050565b610848606554610100900460ff1660021490565b6108655760405163bae6e2a960e01b815260040160405180910390fd5b61086d6119fb565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100011630036108fa5760405162461bcd60e51b815260040161077d90612a7f565b7f00000000000000000000000001670080000000000000000000000000000100016001600160a01b0316610943600080516020612dca833981519152546001600160a01b031690565b6001600160a01b0316146109695760405162461bcd60e51b815260040161077d90612acb565b6109728261179a565b61097e828260016117a2565b5050565b6000306001600160a01b037f00000000000000000000000001670080000000000000000000000000000100011614610a225760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161077d565b50600080516020612dca83398151915290565b60008060008360ff16600114158015610a5257508360ff16600214155b15610a705760405163bcd2d90d60e01b815260040160405180910390fd5b8360ff16600114610aa1577fc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5610ac3565b7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817985b915060008460ff16600114610af8577fad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce90818610b1a565b7fb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb7179405b905060008560ff16600114610b4f577f71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2610b71565b7f45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e45b82880192831001905060ff8616600103610bab57610ba48282600170014551231950b75fc4402da1732fc9bebe19611a34565b9250610c1a565b610bf37f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1610bee8484600170014551231950b75fc4402da1732fc9bebe19611a34565b611a83565b9092509050610c178282600170014551231950b75fc4402da1732fc9bebe19611a34565b92505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610c6757610c5e8370014551231950b75fc4402da1732fc9bebe19612a6c565b92506001851894505b50509250925092565b610c786119fb565b610c826000611aa2565b565b610c98606554610100900460ff1660021490565b15610cb65760405163bae6e2a960e01b815260040160405180910390fd5b610cbe6119fb565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016108a8565b6040805160808101825260008082526020820181905291810182905260608101829052906001600160401b03831615610d365782610d4b565b61013054600160401b90046001600160401b03165b6001600160401b03908116600090815261012e6020908152604091829020825160808101845281548086168252600160401b9004909416918401919091526001810154918301919091526002015460608201529392505050565b6000610dcf610dc860408051808201909152630393870081526008602082015290565b8484611af4565b509392505050565b6000610de4468484611912565b90505b92915050565b600054610100900460ff1615808015610e0d5750600054600160ff909116105b80610e275750303b158015610e27575060005460ff166001145b610e8a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161077d565b6000805460ff191660011790558015610ead576000805461ff0019166101001790555b610eb78484611c2e565b600146111580610ece57506001600160401b034610155b15610eec576040516306cffa2760e01b815260040160405180910390fd5b4315610f395743600103610f20576000610f07600143612a6c565b600081815261012d602052604090209040905550610f39565b604051635a0f9e4160e11b815260040160405180910390fd5b610130805467ffffffffffffffff19166001600160401b038416179055610f5f43611c97565b5061012f558015610faa576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60fb546001600160401b03848116600160401b9092041614610fe5576040516339985e7960e11b815260040160405180910390fd5b610ff96562726964676560d01b6000610dd7565b6001600160a01b0316336001600160a01b03161461102a57604051632efb161b60e21b815260040160405180910390fd5b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e9190612b17565b60fb5460408201519192506001600160401b0391821691161415806110d457506033546001600160a01b03166001600160a01b031681602001516001600160a01b031614155b156110f257604051632efb161b60e21b815260040160405180910390fd5b6000306001600160a01b0316848460405161110e929190612b7f565b6000604051808303816000865af19150503d806000811461114b576040519150601f19603f3d011682016040523d82523d6000602084013e611150565b606091505b505090508061117257604051630103c9e160e11b815260040160405180910390fd5b61117c8385612b8f565b60fb80546001600160e01b03199290921691600160401b90046001600160401b03169060086111aa83612bbf565b91906101000a8154816001600160401b0302191690836001600160401b031602179055506001600160401b03167f3c5c4a24a5f3333977c7d675661b0611a16f3c611b9ea63c0be82f4ffa9174c560405160405180910390a35050505050565b60655460ff16600119016112315760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff19166002179055831580611249575082155b8061125b57506001600160401b038216155b80611276575043600114158015611276575063ffffffff8116155b156112945760405163053fd54760e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec146112c657604051636494e9f760e01b815260040160405180910390fd5b60001943016000806112d783611c97565b915091508161012f54146112fe5760405163d719258d60e01b815260040160405180910390fd5b600061131e60408051808201909152630393870081526008602082015290565b9050600061132d828888611af4565b610130805467ffffffffffffffff19166001600160401b03929092169190911790559050488114611371576040516336d54d4f60e11b815260040160405180910390fd5b61138d6d7369676e616c5f7365727669636560901b6000610dd7565b6001600160a01b03166366ca2bc0896040518263ffffffff1660e01b81526004016113ba91815260200190565b6020604051808303816000875af11580156113d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fd9190612be5565b50866001600160401b0316436001600160401b03167ff35ec3b262cf74881db1b8051c635496bccb1497a1e776dacb463d0e0e2b0f518b8b60405161144c929190918252602082015260400190565b60405180910390a3844061012d6000878152602001908152602001600020819055506040518060800160405280886001600160401b03168152602001436001600160401b031681526020018a81526020018981525061012e6000896001600160401b0316815260200190815260200160002060008201518160000160006101000a8154816001600160401b0302191690836001600160401b0316021790555060208201518160000160086101000a8154816001600160401b0302191690836001600160401b0316021790555060408201518160010155606082015181600201559050508261012f819055508661013060086101000a8154816001600160401b0302191690836001600160401b031602179055507f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe4854061013060009054906101000a90046001600160401b03166040516115b99291909182526001600160401b0316602082015260400190565b60405180910390a150506065805460ff1916600117905550505050505050565b6115e16119fb565b6001600160a01b0381166116465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161077d565b61081a81611aa2565b6116576119fb565b60655460ff166001190161167e5760405163dfc60d8560e01b815260040160405180910390fd5b6065805460ff1916600217905561169f606554610100900460ff1660021490565b156116bd5760405163bae6e2a960e01b815260040160405180910390fd5b6001600160a01b0381166116e45760405163053fd54760e01b815260040160405180910390fd5b6001600160a01b03821661170a576117056001600160a01b03821647611d2a565b611789565b6040516370a0823160e01b81523060048201526117899082906001600160a01b038516906370a0823190602401602060405180830381865afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117789190612be5565b6001600160a01b0385169190611d35565b50506065805460ff19166001179055565b61081a6119fb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117da576117d583611d87565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611834575060408051601f3d908101601f1916820190925261183191810190612be5565b60015b6118975760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161077d565b600080516020612dca83398151915281146119065760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161077d565b506117d5838383611e23565b6097546000906001600160a01b031661193e57604051638ed88b2560e01b815260040160405180910390fd5b609754604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b03909116906328f713cc90604401602060405180830381865afa158015611996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ba9190612bfe565b9050811580156119d157506001600160a01b038116155b1561082d57836119e084611e48565b604051630d69e23960e41b815260040161077d929190612c6b565b6033546001600160a01b03163314801590611a165750333014155b15610c8257604051632efb161b60e21b815260040160405180910390fd5b600060405160408152602080820152602060408201528460608201528560808201528360a08201528260c082015260208160e08360056107d05a03fa611a7957600080fd5b5195945050505050565b6000806000198385098385029250828110838203039150509250929050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6101305460009081906001600160401b031615611c195761013054600090611b2c9063ffffffff8616906001600160401b0316612c8d565b61013054909150600090600160401b90046001600160401b031615801590611b6a5750610130546001600160401b03600160401b9091048116908716115b15611b995761013054611b8d90600160401b90046001600160401b031687612ca0565b6001600160401b031690505b8015611bd2578651600090611bb49063ffffffff1683612cc7565b9050808311611bc4576001611bce565b611bce8184612a6c565b9250505b611be3826001600160401b03611eda565b9250611c14836001600160401b0316886000015163ffffffff16896020015160ff16611c0f9190612cc7565b611eef565b935050505b81600003611c2657600191505b935093915050565b611c3782611f3a565b6001600160401b0381161580611c55575046816001600160401b0316145b15611c735760405163f49a838160e01b815260040160405180910390fd5b60fb805467ffffffffffffffff19166001600160401b039290921691909117905550565b600080611ca2612699565b60005b60ff81108015611cb85750806001018510155b15611cea576000198186030180408360ff83066101008110611cdc57611cdc612cf4565b602002015250600101611ca5565b5046611fe082015261200081209250834081611d0760ff87612d0a565b6101008110611d1857611d18612cf4565b60200201526120009020919391925050565b61097e82825a611f4b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526117d5908490611fe9565b6001600160a01b0381163b611df45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161077d565b600080516020612dca83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611e2c836120bb565b600082511180611e395750805b156117d557610faa83836120fb565b60606000611e5583612120565b60010190506000816001600160401b03811115611e7457611e7461276d565b6040519080825280601f01601f191660200182016040528015611e9e576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611ea857509392505050565b6000818311611ee95782610de4565b50919050565b600081600003611f1257604051636296f1b960e11b815260040160405180910390fd5b81670de0b6b3a7640000611f2685856121f8565b611f309190612d1e565b610de49190612d1e565b611f42612248565b61081a81612261565b6001600160a01b038316611f7257604051634c67134d60e11b815260040160405180910390fd5b6000836001600160a01b0316838390604051600060405180830381858888f193505050503d8060008114611fc2576040519150601f19603f3d011682016040523d82523d6000602084013e611fc7565b606091505b5050905080610faa57604051634c67134d60e11b815260040160405180910390fd5b600061203e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122aa9092919063ffffffff16565b8051909150156117d5578080602001905181019061205c9190612d32565b6117d55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161077d565b6120c481611d87565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610de48383604051806060016040528060278152602001612dea602791396122b9565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061215f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061218b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106121a957662386f26fc10000830492506010015b6305f5e10083106121c1576305f5e100830492506008015b61271083106121d557612710830492506004015b606483106121e7576064830492506002015b600a8310610de75760010192915050565b6000808261220e670de0b6b3a764000086612cc7565b6122189190612d1e565b9050680755bf798b4a1bf1e48111156122375750680755bf798b4a1bf1e45b61224081612331565b949350505050565b6122506124bc565b6065805461ffff1916610101179055565b6001600160401b0346106122885760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b606061082a84846000856124eb565b6060600080856001600160a01b0316856040516122d69190612d4f565b600060405180830381855af49150503d8060008114612311576040519150601f19603f3d011682016040523d82523d6000602084013e612316565b606091505b5091509150612327868383876125c6565b9695505050505050565b6000680248ce36a70cb26b3e19821361234c57506000919050565b680755bf798b4a1bf1e5821261237557604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b600054610100900460ff166124e35760405162461bcd60e51b815260040161077d90612d6b565b610c8261263f565b60608247101561254c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161077d565b600080866001600160a01b031685876040516125689190612d4f565b60006040518083038185875af1925050503d80600081146125a5576040519150601f19603f3d011682016040523d82523d6000602084013e6125aa565b606091505b50915091506125bb878383876125c6565b979650505050505050565b6060831561263557825160000361262e576001600160a01b0385163b61262e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161077d565b5081612240565b612240838361266f565b600054610100900460ff166126665760405162461bcd60e51b815260040161077d90612d6b565b610c8233611aa2565b81511561267f5781518083602001fd5b8060405162461bcd60e51b815260040161077d9190612db6565b604051806120000160405280610100906020820280368337509192915050565b6001600160401b038116811461081a57600080fd5b6000602082840312156126e057600080fd5b813561082d816126b9565b6001600160a01b038116811461081a57600080fd5b60006020828403121561271257600080fd5b813561082d816126eb565b801515811461081a57600080fd5b60008060006060848603121561274057600080fd5b833561274b816126b9565b92506020840135915060408401356127628161271d565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156127ab576127ab61276d565b604052919050565b600080604083850312156127c657600080fd5b82356127d1816126eb565b91506020838101356001600160401b03808211156127ee57600080fd5b818601915086601f83011261280257600080fd5b8135818111156128145761281461276d565b612826601f8201601f19168501612783565b9150808252878482850101111561283c57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561286d57600080fd5b82359150602083013560ff8116811461288557600080fd5b809150509250929050565b6000602082840312156128a257600080fd5b5035919050565b803563ffffffff811681146128bd57600080fd5b919050565b600080604083850312156128d557600080fd5b82356128e0816126b9565b91506128ee602084016128a9565b90509250929050565b6000806040838503121561290a57600080fd5b8235915060208301356128858161271d565b60008060006060848603121561293157600080fd5b833561293c816126eb565b9250602084013561294c816126b9565b91506040840135612762816126b9565b60008060006040848603121561297157600080fd5b833561297c816126b9565b925060208401356001600160401b038082111561299857600080fd5b818601915086601f8301126129ac57600080fd5b8135818111156129bb57600080fd5b8760208285010111156129cd57600080fd5b6020830194508093505050509250925092565b600080600080608085870312156129f657600080fd5b84359350602085013592506040850135612a0f816126b9565b9150612a1d606086016128a9565b905092959194509250565b60008060408385031215612a3b57600080fd5b8235612a46816126eb565b91506020830135612885816126eb565b634e487b7160e01b600052601160045260246000fd5b81810381811115610de757610de7612a56565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060608284031215612b2957600080fd5b604051606081018181106001600160401b0382111715612b4b57612b4b61276d565b604052825181526020830151612b60816126eb565b60208201526040830151612b73816126b9565b60408201529392505050565b8183823760009101908152919050565b6001600160e01b03198135818116916004851015612bb75780818660040360031b1b83161692505b505092915050565b60006001600160401b03808316818103612bdb57612bdb612a56565b6001019392505050565b600060208284031215612bf757600080fd5b5051919050565b600060208284031215612c1057600080fd5b815161082d816126eb565b60005b83811015612c36578181015183820152602001612c1e565b50506000910152565b60008151808452612c57816020860160208601612c1b565b601f01601f19169290920160200192915050565b6001600160401b038316815260406020820152600061082a6040830184612c3f565b80820180821115610de757610de7612a56565b6001600160401b03828116828216039080821115612cc057612cc0612a56565b5092915050565b8082028115828204841417610de757610de7612a56565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600082612d1957612d19612cde565b500690565b600082612d2d57612d2d612cde565b500490565b600060208284031215612d4457600080fd5b815161082d8161271d565b60008251612d61818460208701612c1b565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b602081526000610de46020830184612c3f56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122076b52e7878d08f567e8949c0ef1ef22e0029f1465213d13936a495089d1b0db464736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000010001": { + "contractName": "TaikoL2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670080000000000000000000000000000010002", + "0x00000000000000000000000000000000000000000000000000000000000000fb": "0x0000000000000000000000000000000000000000000000000000000000004268", + "0x0000000000000000000000000000000000000000000000000000000000000130": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x000000000000000000000000000000000000000000000000000000000000012f": "0xcba89937559a0fd2dc6072d1dbd087a2a2ddc3f15e3e33ce15f1f55c29c89534", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000010001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010002": { + "contractName": "RollupAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190" + }, + "code": "0x6080604052600436106100a75760003560e01c8063715018a611610064578063715018a6146101b45780638456cb59146101c95780638da5cb5b146101de578063d8f4648f146101fc578063e1c7392a1461021c578063f2fde38b1461023157600080fd5b806328f713cc146100ac5780633659cfe6146101165780633f4ba83a146101385780634f1ef2861461014d57806352d1902d146101605780635c975abb14610183575b600080fd5b3480156100b857600080fd5b506100f96100c7366004610ce9565b67ffffffffffffffff91909116600090815260976020908152604080832093835292905220546001600160a01b031690565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012257600080fd5b50610136610131366004610d2a565b610251565b005b34801561014457600080fd5b50610136610339565b61013661015b366004610d5b565b6103b7565b34801561016c57600080fd5b50610175610487565b60405190815260200161010d565b34801561018f57600080fd5b506101a4606554610100900460ff1660021490565b604051901515815260200161010d565b3480156101c057600080fd5b5061013661053a565b3480156101d557600080fd5b5061013661054e565b3480156101ea57600080fd5b506033546001600160a01b03166100f9565b34801561020857600080fd5b50610136610217366004610e1d565b6105c7565b34801561022857600080fd5b50610136610654565b34801561023d57600080fd5b5061013661024c366004610d2a565b610764565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100021630036102a25760405162461bcd60e51b815260040161029990610e59565b60405180910390fd5b7f00000000000000000000000001670080000000000000000000000000000100026001600160a01b03166102eb600080516020610fc9833981519152546001600160a01b031690565b6001600160a01b0316146103115760405162461bcd60e51b815260040161029990610ea5565b61031a816107da565b60408051600080825260208201909252610336918391906107e2565b50565b61034d606554610100900460ff1660021490565b61036a5760405163bae6e2a960e01b815260040160405180910390fd5b610372610952565b6065805461ff0019166101001790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6001600160a01b037f00000000000000000000000001670080000000000000000000000000000100021630036103ff5760405162461bcd60e51b815260040161029990610e59565b7f00000000000000000000000001670080000000000000000000000000000100026001600160a01b0316610448600080516020610fc9833981519152546001600160a01b031690565b6001600160a01b03161461046e5760405162461bcd60e51b815260040161029990610ea5565b610477826107da565b610483828260016107e2565b5050565b6000306001600160a01b037f000000000000000000000000016700800000000000000000000000000001000216146105275760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610299565b50600080516020610fc983398151915290565b610542610952565b61054c60006109ac565b565b610562606554610100900460ff1660021490565b156105805760405163bae6e2a960e01b815260040160405180910390fd5b610588610952565b6065805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016103ad565b6105cf610952565b67ffffffffffffffff8316600081815260976020908152604080832086845282529182902080546001600160a01b038681166001600160a01b0319831681179093558451928352169181018290529092859290917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b600054610100900460ff16158080156106745750600054600160ff909116105b8061068e5750303b15801561068e575060005460ff166001145b6106f15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610299565b6000805460ff191660011790558015610714576000805461ff0019166101001790555b61071c6109fe565b8015610336576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61076c610952565b6001600160a01b0381166107d15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610299565b610336816109ac565b610336610952565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561081a5761081583610a17565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610874575060408051601f3d908101601f1916820190925261087191810190610ef1565b60015b6108d75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610299565b600080516020610fc983398151915281146109465760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610299565b50610815838383610ab3565b6033546001600160a01b0316331461054c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610299565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a06610ade565b6065805461ffff1916610101179055565b6001600160a01b0381163b610a845760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610299565b600080516020610fc983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610abc83610b0d565b600082511180610ac95750805b1561081557610ad88383610b4d565b50505050565b600054610100900460ff16610b055760405162461bcd60e51b815260040161029990610f0a565b61054c610b79565b610b1681610a17565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b728383604051806060016040528060278152602001610fe960279139610ba9565b9392505050565b600054610100900460ff16610ba05760405162461bcd60e51b815260040161029990610f0a565b61054c336109ac565b6060600080856001600160a01b031685604051610bc69190610f79565b600060405180830381855af49150503d8060008114610c01576040519150601f19603f3d011682016040523d82523d6000602084013e610c06565b606091505b5091509150610c1786838387610c21565b9695505050505050565b60608315610c90578251600003610c89576001600160a01b0385163b610c895760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610299565b5081610c9a565b610c9a8383610ca2565b949350505050565b815115610cb25781518083602001fd5b8060405162461bcd60e51b81526004016102999190610f95565b803567ffffffffffffffff81168114610ce457600080fd5b919050565b60008060408385031215610cfc57600080fd5b610d0583610ccc565b946020939093013593505050565b80356001600160a01b0381168114610ce457600080fd5b600060208284031215610d3c57600080fd5b610b7282610d13565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610d6e57600080fd5b610d7783610d13565b9150602083013567ffffffffffffffff80821115610d9457600080fd5b818501915085601f830112610da857600080fd5b813581811115610dba57610dba610d45565b604051601f8201601f19908116603f01168101908382118183101715610de257610de2610d45565b81604052828152886020848701011115610dfb57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600060608486031215610e3257600080fd5b610e3b84610ccc565b925060208401359150610e5060408501610d13565b90509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215610f0357600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015610f70578181015183820152602001610f58565b50506000910152565b60008251610f8b818460208701610f55565b9190910192915050565b6020815260008251806020840152610fb4816040850160208701610f55565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204e2030d9883d08dca7ecdc1d78b36ee54b3130abcb1c45646b02f76d950ff54a64736f6c63430008140033", + "balance": "0x0" + }, + "0x1670080000000000000000000000000000010002": { + "contractName": "RollupAddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x0000000000000000000000001d2d1bb9d180541e88a6a682acf3f61c1605b190", + "0x94555ab63188e8b4764fc4f82f2c4233aef599e74a8259d1932a012388b30959": "0x0000000000000000000000001670080000000000000000000000000000010001", + "0xcffa903d987c324286ac7635484e4c4cfab2b3bddddb45773db47593d56d5616": "0x0000000000000000000000001670080000000000000000000000000000000001", + "0x72cf3566ee7eea8d37039862c9f5956b8622ca74729c83890cfd90fc8645bdcc": "0x0000000000000000000000001670080000000000000000000000000000000005", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167008000000000000000000000000000010002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122086939faa9cc2f3fe1410043eff38cc933fdbaa97744a116ffa0de4487915f87464736f6c63430008140033", + "balance": "0x0" + }, + "0x0167008000000000000000000000000000010099": { + "contractName": "RegularERC20", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x526567756c617245524332300000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x52474c0000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x00000000000000000000000000000000000000000000000000000000001f4000", + "0x5498fa9c17918e5d4d0816fce6e97d920fe93d661d3e60d5efd74f67cd7323ec": "0x00000000000000000000000000000000000000000000000000000000000fa000", + "0x69525d8dc81450841f00770b54dbac752c8f05bb6322429f864610dd9f952781": "0x00000000000000000000000000000000000000000000000000000000000fa000" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212201c8a1209aa9600f67ac28ebd0e9b08eed67368c03df4c3b80ea4d635a1f925d564736f6c63430008140033", + "balance": "0x0" + } +}
diff --git ethereum/go-ethereum/core/taiko_genesis/mainnet.json taikoxyz/taiko-geth/core/taiko_genesis/mainnet.json new file mode 100644 index 0000000000000000000000000000000000000000..3a41c2ca4054f6c546fb7b6b437cd55f03cf8b1c --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/mainnet.json @@ -0,0 +1,205 @@ +{ + "0x69AA0361Dbb0527d4F1e5312403Bd41788fe61Fe": { + "balance": "0x0ac9ae05a71ebc0000" + }, + "0x00000968bfe78aa27cd380d629d61c89bd6b03e8": { + "balance": "0x0de0b6b3a7640000" + }, + "0x0167000000000000000000000000000000000006": { + "contractName": "SharedAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b146102d5578063a86f9d9e146102f2578063d8f4648f14610311578063e07baba614610330578063e30c39781461036f578063f2fde38b1461038c575f80fd5b80635c975abb14610265578063715018a61461028557806379ba5097146102995780638456cb59146102ad5780638abf6077146102c1575f80fd5b80633ab76e9f116100ee5780633ab76e9f146101de5780633eb6b8cf146101fd5780633f4ba83a1461021c5780634f1ef2861461023057806352d1902d14610243575f80fd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db561461019b5780633659cfe6146101bf575b5f80fd5b348015610135575f80fd5b5061013e6103ab565b005b34801561014b575f80fd5b5061013e61015a36600461118f565b61045b565b34801561016a575f80fd5b5061017e6101793660046111c6565b610533565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a6575f80fd5b506101af610567565b6040519015158152602001610192565b3480156101ca575f80fd5b5061013e6101d936600461118f565b61057b565b3480156101e9575f80fd5b5060975461017e906001600160a01b031681565b348015610208575f80fd5b5061017e6102173660046111fd565b610642565b348015610227575f80fd5b5061013e610656565b61013e61023e36600461124a565b61066a565b34801561024e575f80fd5b5061025761071f565b604051908152602001610192565b348015610270575f80fd5b506101af60c954610100900460ff1660021490565b348015610290575f80fd5b5061013e6107d0565b3480156102a4575f80fd5b5061013e6107e1565b3480156102b8575f80fd5b5061013e610858565b3480156102cc575f80fd5b5061017e61086b565b3480156102e0575f80fd5b506033546001600160a01b031661017e565b3480156102fd575f80fd5b5061017e61030c366004611308565b610879565b34801561031c575f80fd5b5061013e61032b366004611332565b61088c565b34801561033b575f80fd5b5060c9546103569062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610192565b34801561037a575f80fd5b506065546001600160a01b031661017e565b348015610397575f80fd5b5061013e6103a636600461118f565b61096a565b6103b36109db565b5f54600290610100900460ff161580156103d357505f5460ff8083169116105b6103f85760405162461bcd60e51b81526004016103ef9061136f565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff161580801561047957505f54600160ff909116105b806104925750303b15801561049257505f5460ff166001145b6104ae5760405162461bcd60e51b81526004016103ef9061136f565b5f805460ff1916600117905580156104cf575f805461ff0019166101001790555b6104d882610a35565b609780546001600160a01b03191630179055801561052f575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b67ffffffffffffffff82165f90815260fb602090815260408083208484529091529020546001600160a01b03165b92915050565b5f6002610572610a93565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000000061630036105c35760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670000000000000000000000000000000000066001600160a01b03166105f5610ad2565b6001600160a01b03161461061b5760405162461bcd60e51b81526004016103ef90611409565b61062481610aed565b604080515f8082526020820190925261063f91839190610af5565b50565b5f61064e848484610c64565b949350505050565b61065e610d57565b610668335f610de8565b565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000000061630036106b25760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670000000000000000000000000000000000066001600160a01b03166106e4610ad2565b6001600160a01b03161461070a5760405162461bcd60e51b81526004016103ef90611409565b61071382610aed565b61052f82826001610af5565b5f306001600160a01b037f000000000000000000000000016700000000000000000000000000000000000616146107be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ef565b505f8051602061154283398151915290565b6107d86109db565b6106685f610e01565b60655433906001600160a01b0316811461084f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ef565b61063f81610e01565b610860610e1a565b610668336001610de8565b5f610874610ad2565b905090565b5f610885468484610c64565b9392505050565b6108946109db565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108e65760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109726109db565b606580546001600160a01b0383166001600160a01b031990911681179091556109a36033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ef565b5f54610100900460ff16610a5b5760405162461bcd60e51b81526004016103ef90611455565b610a63610e8b565b610a816001600160a01b03821615610a7b5781610e01565b33610e01565b5060c9805461ff001916610100179055565b5f610a9d46610eb1565b15610ac857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020611542833981519152546001600160a01b031690565b61063f6109db565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b2d57610b2883610ede565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b87575060408051601f3d908101601f19168201909252610b84918101906114a0565b60015b610bea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ef565b5f805160206115428339815191528114610c585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ef565b50610b28838383610f79565b6097545f906001600160a01b031680610c9057604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0791906114b7565b915082158015610d1e57506001600160a01b038216155b15610d4f57604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016103ef565b509392505050565b610d6b60c954610100900460ff1660021490565b610d885760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063f81610fa3565b610e2e60c954610100900460ff1660021490565b15610e4c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610dde565b5f54610100900460ff166106685760405162461bcd60e51b81526004016103ef90611455565b5f6001821480610ec2575061426882145b80610ecf575062aa36a782145b80610561575061056182610ff4565b6001600160a01b0381163b610f4b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ef565b5f8051602061154283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f828361100b565b5f82511180610f8e5750805b15610b2857610f9d838361104a565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c8210158015610561575050617e90101590565b61101481610ede565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061088583836040518060600160405280602781526020016115626027913960605f80856001600160a01b03168560405161108691906114f4565b5f60405180830381855af49150503d805f81146110be576040519150601f19603f3d011682016040523d82523d5f602084013e6110c3565b606091505b50915091506110d4868383876110de565b9695505050505050565b6060831561114c5782515f03611145576001600160a01b0385163b6111455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ef565b508161064e565b61064e83838151156111615781518083602001fd5b8060405162461bcd60e51b81526004016103ef919061150f565b6001600160a01b038116811461063f575f80fd5b5f6020828403121561119f575f80fd5b81356108858161117b565b803567ffffffffffffffff811681146111c1575f80fd5b919050565b5f80604083850312156111d7575f80fd5b6111e0836111aa565b946020939093013593505050565b803580151581146111c1575f80fd5b5f805f6060848603121561120f575f80fd5b611218846111aa565b92506020840135915061122d604085016111ee565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561125b575f80fd5b82356112668161117b565b9150602083013567ffffffffffffffff80821115611282575f80fd5b818501915085601f830112611295575f80fd5b8135818111156112a7576112a7611236565b604051601f8201601f19908116603f011681019083821181831017156112cf576112cf611236565b816040528281528860208487010111156112e7575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215611319575f80fd5b82359150611329602084016111ee565b90509250929050565b5f805f60608486031215611344575f80fd5b61134d846111aa565b92506020840135915060408401356113648161117b565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156114b0575f80fd5b5051919050565b5f602082840312156114c7575f80fd5b81516108858161117b565b5f5b838110156114ec5781810151838201526020016114d4565b50505f910152565b5f82516115058184602087016114d2565b9190910192915050565b602081525f825180602084015261152d8160408501602087016114d2565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220546acba5cf9d5840aa28144a5c5b7154e1fbe167d06f40edc368d12eba1367a264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000006": { + "contractName": "SharedAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x64b0a7232218be95294a8bfd8a8f958623901c31d4ce8f421b3dd01d27f0bc86": "0x0000000000000000000000001670000000000000000000000000000000000001", + "0xebbdc3237c69e98e9c7200d31900043e365976ccb97440842fbb996b566e0bb9": "0x0000000000000000000000001670000000000000000000000000000000000002", + "0x5a9e1b5f43a1d207fe9f902e474332bbbf1ba2b4f37f37b6b8d12f3ad31d4ed2": "0x0000000000000000000000001670000000000000000000000000000000000003", + "0x998447bde1020afbc46a0d19e189af8347a307de25980b4c8bec9a5f9d78e6d8": "0x0000000000000000000000001670000000000000000000000000000000000004", + "0x8d8c812a6339da49d9820b2b8be4ab1418e11a25c28673c250614e6a14477ec3": "0x0000000000000000000000001670000000000000000000000000000000000005", + "0xe6c2d8673b995b9111fe92918db5f0f60e10a6202b33472a3a9c604bd47f978b": "0x0000000000000000000000000167000000000000000000000000000000010096", + "0x2f6768a857bebdbceec387bd5318de269435cd5a0e01a4be82dff1cd8c884d6d": "0x0000000000000000000000000167000000000000000000000000000000010097", + "0x3d93f0fc81e1363c2c9e5f0830edd3353096bce9270f43b5af8baf61835b20e0": "0x0000000000000000000000000167000000000000000000000000000000010098", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000006" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000000001": { + "contractName": "BridgeImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x608060405260043610610215575f3560e01c806382b5e8891161011e578063b8acae0e116100a8578063e07baba61161006d578063e07baba614610654578063e30c397814610691578063eefbf17e146106ae578063f09a4016146106d4578063f2fde38b146106f3575f80fd5b8063b8acae0e14610598578063be880c81146105b7578063c012fa77146105cd578063d0496d6a146105ec578063d1aaa5df14610634575f80fd5b80638e3881a9116100ee5780638e3881a9146104e7578063913b16cb146105255780639efc7a2e14610544578063a730cdfb14610563578063a86f9d9e14610579575f80fd5b806382b5e889146104835780638456cb59146104a25780638abf6077146104b65780638da5cb5b146104ca575f80fd5b80633f4ba83a1161019f5780635c975abb1161016f5780635c975abb146103e857806360620c6b14610408578063715018a61461042757806379ba50971461043b5780637cbadfaa1461044f575f80fd5b80633f4ba83a146103805780634f1ef2861461039457806352d1902d146103a75780635862f6e1146103c9575f80fd5b80633075db56116101e55780633075db56146102ac5780633659cfe6146102d05780633ab76e9f146102ef5780633c6cf473146103265780633eb6b8cf14610361575f80fd5b80630432873c14610220578063069489a2146102415780631bdb0037146102555780632035065e1461027f575f80fd5b3661021c57005b5f80fd5b34801561022b575f80fd5b5061023f61023a366004613118565b610712565b005b34801561024c575f80fd5b5061023f6109a9565b610268610263366004613166565b610a60565b6040516102769291906132e7565b60405180910390f35b34801561028a575f80fd5b5061029e6102993660046132ff565b610e13565b6040516102769291906133b5565b3480156102b7575f80fd5b506102c06112ed565b6040519015158152602001610276565b3480156102db575f80fd5b5061023f6102ea366004613404565b611301565b3480156102fa575f80fd5b5060975461030e906001600160a01b031681565b6040516001600160a01b039091168152602001610276565b348015610331575f80fd5b5061035461034036600461341f565b60fc6020525f908152604090205460ff1681565b6040516102769190613436565b34801561036c575f80fd5b5061030e61037b36600461345a565b6113c8565b34801561038b575f80fd5b5061023f6113de565b61023f6103a236600461355c565b6113f2565b3480156103b2575f80fd5b506103bb6114ab565b604051908152602001610276565b3480156103d4575f80fd5b506102c06103e33660046132ff565b61155d565b3480156103f3575f80fd5b506102c060c954610100900460ff1660021490565b348015610413575f80fd5b506102c0610422366004613166565b6115c8565b348015610432575f80fd5b5061023f611696565b348015610446575f80fd5b5061023f6116a7565b34801561045a575f80fd5b5061046e61046936600461341f565b61171e565b60405163ffffffff9091168152602001610276565b34801561048e575f80fd5b5061023f61049d366004613404565b61173a565b3480156104ad575f80fd5b5061023f6117ba565b3480156104c1575f80fd5b5061030e6117cd565b3480156104d5575f80fd5b506033546001600160a01b031661030e565b3480156104f2575f80fd5b506105066105013660046135a8565b6117db565b6040805192151583526001600160a01b03909116602083015201610276565b348015610530575f80fd5b5061023f61053f366004613166565b611807565b34801561054f575f80fd5b5061023f61055e3660046132ff565b6119f2565b34801561056e575f80fd5b5061046e6201d4c081565b348015610584575f80fd5b5061030e6105933660046135c1565b611ceb565b3480156105a3575f80fd5b506102c06105b23660046132ff565b611cf7565b3480156105c2575f80fd5b5061046e620c350081565b3480156105d8575f80fd5b506103bb6105e73660046136e3565b611d58565b3480156105f7575f80fd5b50610600611d87565b60408051825181526020808401516001600160a01b031690820152918101516001600160401b031690820152606001610276565b34801561063f575f80fd5b506103bb61064e36600461341f565b60031890565b34801561065f575f80fd5b5060c954610679906201000090046001600160401b031681565b6040516001600160401b039091168152602001610276565b34801561069c575f80fd5b506065546001600160a01b031661030e565b3480156106b9575f80fd5b5060fb5461067990600160401b90046001600160401b031681565b3480156106df575f80fd5b5061023f6106ee366004613714565b611ddb565b3480156106fe575f80fd5b5061023f61070d366004613404565b611ea2565b61072260e0830160c084016135a8565b46816001600160401b03161461074b57604051631c6c777560e31b815260040160405180910390fd5b61075b60a08401608085016135a8565b6001600160401b0381161580610779575046816001600160401b0316145b1561079757604051631c6c777560e31b815260040160405180910390fd5b6107ab60c954610100900460ff1660021490565b156107c95760405163bae6e2a960e01b815260040160405180910390fd5b60026107d3611f13565b60ff16036107f45760405163dfc60d8560e01b815260040160405180910390fd5b6107fe6002611f52565b5f61080b6105e786613740565b9050610818816001611f9a565b610826856101200135611fec565b610843576040516335856fbd60e21b815260040160405180910390fd5b5f610855610100870160e08801613404565b6001600160a01b0316336001600160a01b0316146108bc5761087d606087016040880161374b565b63ffffffff16158061088c5750845b156108aa576040516372b6e1c360e11b815260040160405180910390fd5b6108b586600161208d565b90506108c0565b5a90505b6108cb868383612115565b156108e0576108db8260026121e8565b610997565b841561097e576108f18260036121e8565b61090c6d7369676e616c5f7365727669636560901b5f611ceb565b60405163019b28af60e61b81526003841860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af1158015610954573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109789190613764565b50610997565b60405163161e3ead60e01b815260040160405180910390fd5b50506109a36001611f52565b50505050565b6109b16122a5565b5f54600290610100900460ff161580156109d157505f5460ff8083169116105b6109f65760405162461bcd60e51b81526004016109ed9061377b565b60405180910390fd5b5f805460fb805467ffffffffffffffff1916905560ff82815561010083815561ff001991851661ffff19909316831717169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201839052610140820152610ac660c0840160a08501613404565b6001600160a01b038116610aed5760405163538ba4f960e01b815260040160405180910390fd5b610afe610100850160e08601613404565b6001600160a01b038116610b255760405163538ba4f960e01b815260040160405180910390fd5b610b3560e0860160c087016135a8565b6001600160401b0381161580610b53575046816001600160401b0316145b15610b7157604051631c6c777560e31b815260040160405180910390fd5b610b8560c954610100900460ff1660021490565b15610ba35760405163bae6e2a960e01b815260040160405180910390fd5b6002610bad611f13565b60ff1603610bce5760405163dfc60d8560e01b815260040160405180910390fd5b610bd86002611f52565b610be8606087016040880161374b565b63ffffffff165f03610c3057610c0460408701602088016135a8565b6001600160401b031615610c2b5760405163c9f5178760e01b815260040160405180910390fd5b610c59565b610c3a865f61208d565b5f03610c59576040516308c2ad5360e01b815260040160405180910390fd5b5f610c6d61050160e0890160c08a016135a8565b50905080610c8e57604051631c6c777560e31b815260040160405180910390fd5b34610c9f6040890160208a016135a8565b610cb7906001600160401b03166101208a01356137dd565b14610cd557604051634ac2abdf60e11b815260040160405180910390fd5b610cde87613740565b60fb8054919650600160401b9091046001600160401b0316906008610d02836137f0565b82546101009290920a6001600160401b03818102199093169183160217909155908116865233606087015246166080860152610d3d85611d58565b9550857fe33fd33b4f45b95b1c196242240c5b5233129d724b578f95b66ce8d8aae9351786604051610d6f9190613815565b60405180910390a2610d926d7369676e616c5f7365727669636560901b5f611ceb565b6001600160a01b03166366ca2bc0876040518263ffffffff1660e01b8152600401610dbf91815260200190565b6020604051808303815f875af1158015610ddb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dff9190613764565b5050610e0b6001611f52565b505050915091565b5f80610e2960c954610100900460ff1660021490565b15610e475760405163bae6e2a960e01b815260040160405180910390fd5b6002610e51611f13565b60ff1603610e725760405163dfc60d8560e01b815260040160405180910390fd5b610e7c6002611f52565b5f5a905046610e9160e0880160c089016135a8565b6001600160401b031614610eb857604051631c6c777560e31b815260040160405180910390fd5b610ec860a08701608088016135a8565b6001600160401b03161580610ef4575046610ee960a08801608089016135a8565b6001600160401b0316145b15610f1257604051631c6c777560e31b815260040160405180910390fd5b610f22606087016040880161374b565b63ffffffff16158015610f575750610f41610100870160e08801613404565b6001600160a01b0316336001600160a01b031614155b15610f75576040516372b6e1c360e11b815260040160405180910390fd5b5f610f826105e788613740565b9050610f8e815f611f9a565b5f610faa6d7369676e616c5f7365727669636560901b5f611ceb565b604080516060810182525f8082529181019190915263ffffffff88166020820152909150610fea8284610fe360a08d0160808e016135a8565b8b8b6122ff565b63ffffffff166040808301919091526110299061100c908b0160208c016135a8565b611024906001600160401b03166101208c01356137dd565b611fec565b61107c5761103e6101008a0160e08b01613404565b6001600160a01b0316336001600160a01b03161461106f576040516335856fbd60e21b815260040160405180910390fd5b6001955060039450611293565b5f6110878a846123aa565b156110a057506002955060019450610120890135611105565b5f6110b26101008c0160e08d01613404565b6001600160a01b0316336001600160a01b0316146110da576110d58b600161208d565b6110dc565b5a5b90506110e98b8683612115565b156110fa57600297505f9650611103565b60019750600296505b505b61111560408b0160208c016135a8565b6001600160401b0316156112695761113360408b0160208c016135a8565b611146906001600160401b0316826137dd565b90506111596101008b0160e08c01613404565b6001600160a01b0316336001600160a01b03161415801561118e575061118560608b0160408c0161374b565b63ffffffff1615155b1561126957604082015163ffffffff16614e20025a86036201d4c00163ffffffff9081168085525f9183916111c6918391906124a116565b0390505f6111da60608e0160408f0161374b565b63ffffffff168d60200160208101906111f391906135a8565b6001600160401b031683028161120b5761120b613827565b0490505f48830290505f61124f8f602001602081019061122b91906135a8565b6001600160401b0316848410156112475784840160011c611249565b845b906124b6565b9586900395905061126333826188b86124ca565b50505050505b611291816188b86112816101008e0160e08f01613404565b6001600160a01b031691906124ca565b505b61129d83876121e8565b827fdaa934be05606f60ac49cd6e2ca4fbb3a5c15680dd3304880ea6abb590486e3d8a836040516112cf9291906139ce565b60405180910390a2505050506112e56001611f52565b935093915050565b5f60026112f8611f13565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000000011630036113495760405162461bcd60e51b81526004016109ed90613a10565b7f00000000000000000000000001670000000000000000000000000000000000016001600160a01b031661137b61250d565b6001600160a01b0316146113a15760405162461bcd60e51b81526004016109ed90613a5c565b6113aa81612528565b604080515f808252602082019092526113c591839190612530565b50565b5f6113d484848461269a565b90505b9392505050565b6113e661278b565b6113f0335f61281b565b565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000116300361143a5760405162461bcd60e51b81526004016109ed90613a10565b7f00000000000000000000000001670000000000000000000000000000000000016001600160a01b031661146c61250d565b6001600160a01b0316146114925760405162461bcd60e51b81526004016109ed90613a5c565b61149b82612528565b6114a782826001612530565b5050565b5f306001600160a01b037f0000000000000000000000000167000000000000000000000000000000000001161461154a5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016109ed565b505f80516020613c818339815191525b90565b5f4661156f60a08601608087016135a8565b6001600160401b03161461158457505f6113d7565b6113d46115a26d7369676e616c5f7365727669636560901b5f611ceb565b6115b161064e6105e788613740565b6115c160e0880160c089016135a8565b86866128c8565b5f466115da60a08401608085016135a8565b6001600160401b0316146115ef57505f919050565b61160a6d7369676e616c5f7365727669636560901b5f611ceb565b6001600160a01b03166332676bc6306116256105e786613740565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa15801561166c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116909190613aa8565b92915050565b61169e6122a5565b6113f05f61294a565b60655433906001600160a01b031681146117155760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016109ed565b6113c58161294a565b5f6101c06020808404020160041b6113d7620c35008201612963565b806001600160a01b0381166117625760405163538ba4f960e01b815260040160405180910390fd5b6040516317066a5760e21b81523060048201526001600160a01b03831690635c19a95c906024015f604051808303815f87803b1580156117a0575f80fd5b505af11580156117b2573d5f803e3d5ffd5b505050505050565b6117c26129cb565b6113f033600161281b565b5f6117d661250d565b905090565b5f806117f2836562726964676560d01b60016113c8565b6001600160a01b038116151594909350915050565b61181760e0820160c083016135a8565b46816001600160401b03161461184057604051631c6c777560e31b815260040160405180910390fd5b61185060a08301608084016135a8565b6001600160401b038116158061186e575046816001600160401b0316145b1561188c57604051631c6c777560e31b815260040160405180910390fd5b6118a060c954610100900460ff1660021490565b156118be5760405163bae6e2a960e01b815260040160405180910390fd5b60026118c8611f13565b60ff16036118e95760405163dfc60d8560e01b815260040160405180910390fd5b6118f36002611f52565b611904610100840160e08501613404565b6001600160a01b0316336001600160a01b031614611935576040516372b6e1c360e11b815260040160405180910390fd5b5f6119426105e785613740565b905061194f816001611f9a565b61195a8160036121e8565b6119756d7369676e616c5f7365727669636560901b5f611ceb565b60405163019b28af60e61b81526003831860048201526001600160a01b0391909116906366ca2bc0906024016020604051808303815f875af11580156119bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e19190613764565b50506119ed6001611f52565b505050565b611a0260a08401608085016135a8565b46816001600160401b031614611a2b57604051631c6c777560e31b815260040160405180910390fd5b611a3b60e0850160c086016135a8565b6001600160401b0381161580611a59575046816001600160401b0316145b15611a7757604051631c6c777560e31b815260040160405180910390fd5b611a8b60c954610100900460ff1660021490565b15611aa95760405163bae6e2a960e01b815260040160405180910390fd5b6002611ab3611f13565b60ff1603611ad45760405163dfc60d8560e01b815260040160405180910390fd5b611ade6002611f52565b5f611aeb6105e787613740565b9050611af7815f611f9a565b5f611b136d7369676e616c5f7365727669636560901b5f611ceb565b604051631933b5e360e11b8152306004820152602481018490529091506001600160a01b038216906332676bc690604401602060405180830381865afa158015611b5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b839190613aa8565b611ba05760405163ab035ad560e01b815260040160405180910390fd5b611bbf8160038418611bb860e08b0160c08c016135a8565b89896122ff565b50611bcb8260046121e8565b611bd9876101200135611fec565b611bf6576040516335856fbd60e21b815260040160405180910390fd5b611c1f62bc399d60e11b611c1060808a0160608b01613404565b6001600160a01b031690612a3c565b15611cbc57611c3e8230611c3960a08b0160808c016135a8565b612ac9565b611c4e6080880160608901613404565b6001600160a01b0316630178733a88610120013589856040518463ffffffff1660e01b8152600401611c81929190613ac3565b5f604051808303818588803b158015611c98575f80fd5b505af1158015611caa573d5f803e3d5ffd5b5050505050611cb7612b9a565b611cd8565b611cd86101208801356188b861128160c08b0160a08c01613404565b5050611ce46001611f52565b5050505050565b5f6113d746848461269a565b5f46611d0960e0860160c087016135a8565b6001600160401b031614611d1e57505f6113d7565b6113d4611d3c6d7369676e616c5f7365727669636560901b5f611ceb565b611d486105e787613740565b6115c160a08801608089016135a8565b5f81604051602001611d6a9190613ae4565b604051602081830303815290604052805190602001209050919050565b604080516060810182525f8082526020820181905291810191909152611dab612bbf565b80519091501580611dbd575080515f19145b1561155a57604051635ceed17360e01b815260040160405180910390fd5b5f54610100900460ff1615808015611df957505f54600160ff909116105b80611e125750303b158015611e1257505f5460ff166001145b611e2e5760405162461bcd60e51b81526004016109ed9061377b565b5f805460ff191660011790558015611e4f575f805461ff0019166101001790555b611e598383612cb9565b80156119ed575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611eaa6122a5565b606580546001600160a01b0383166001600160a01b03199091168117909155611edb6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f611f1d46612cf3565b15611f4857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b611f5b46612cf3565b15611f8657807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b806004811115611fac57611fac61338d565b5f83815260fc602052604090205460ff166004811115611fce57611fce61338d565b146114a7576040516319d893ad60e21b815260040160405180910390fd5b5f806120096c38bab7ba30afb6b0b730b3b2b960991b6001611ceb565b90506001600160a01b0381166120225750600192915050565b6040516315c638fb60e31b81525f6004820152602481018490526001600160a01b0382169063ae31c7d8906044015f604051808303815f87803b158015612067575f80fd5b505af1925050508015612078575060015b61208457505f92915050565b50600192915050565b5f806120a76120a0610140860186613b1a565b905061171e565b63ffffffff169050806120d86120c3606087016040880161374b565b63ffffffff16836124a190919063ffffffff16565b039150508180156120f757508060065a6120f390603f613b5c565b901c105b1561169057604051635fbdff7360e01b815260040160405180910390fd5b5f306121276080860160608701613404565b6001600160a01b03160361213d5761213d613b73565b815f0361214b57505f6113d7565b61216f8361215f6080870160608801613404565b611c3960a08801608089016135a8565b6121de61012085013583612187610140880188613b1a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506121cd9250505061012089016101008a01613404565b6001600160a01b0316929190612d20565b90506113d7612b9a565b8060048111156121fa576121fa61338d565b5f83815260fc602052604090205460ff16600481111561221c5761221c61338d565b0361223a576040516319d893ad60e21b815260040160405180910390fd5b5f82815260fc60205260409020805482919060ff191660018360048111156122645761226461338d565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634826040516122999190613436565b60405180910390a25050565b6033546001600160a01b031633146113f05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109ed565b5f856001600160a01b031663910af6ed85612324876562726964676560d01b5f6113c8565b8887876040518663ffffffff1660e01b8152600401612347959493929190613b87565b6020604051808303815f875af1925050508015612381575060408051601f3d908101601f1916820190925261237e91810190613764565b60015b61239e576040516314504c7360e31b815260040160405180910390fd5b90505b95945050505050565b5f806123be61012085016101008601613404565b6001600160a01b0316036123d457506001611690565b306123e761012085016101008601613404565b6001600160a01b0316036123fd57506001611690565b6001600160a01b03821661241961012085016101008601613404565b6001600160a01b03160361242f57506001611690565b600461243f610140850185613b1a565b9050101580156124765750637f07c94760e01b612460610140850185613b1a565b61246991613bbd565b6001600160e01b03191614155b80156113d757506113d761249261012085016101008601613404565b6001600160a01b03163b151590565b5f8183116124af57816113d7565b5090919050565b5f8183116124c457826113d7565b50919050565b815f036124d657505050565b6124f083838360405180602001604052805f815250612d20565b6119ed57604051634c67134d60e11b815260040160405180910390fd5b5f80516020613c81833981519152546001600160a01b031690565b6113c56122a5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612563576119ed83612d5d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156125bd575060408051601f3d908101601f191682019092526125ba91810190613764565b60015b6126205760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016109ed565b5f80516020613c81833981519152811461268e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016109ed565b506119ed838383612df8565b6097545f906001600160a01b0316806126c657604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015612718573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061273c9190613bed565b91508215801561275357506001600160a01b038216155b1561278357604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016109ed565b509392505050565b61279f60c954610100900460ff1660021490565b6127bc5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6033546001600160a01b0383811691161480612863575061284e6d636861696e5f7761746368646f6760901b6001611ceb565b6001600160a01b0316826001600160a01b0316145b1561286c575050565b8080156128a657506128916e6272696467655f7761746368646f6760881b6001611ceb565b6001600160a01b0316826001600160a01b0316145b156128af575050565b604051630d85cccf60e11b815260040160405180910390fd5b5f856001600160a01b031663ce9d0820856128ed876562726964676560d01b5f6113c8565b8887876040518663ffffffff1660e01b8152600401612910959493929190613b87565b5f6040518083038186803b158015612926575f80fd5b505afa925050508015612937575060015b61294257505f6123a1565b5060016123a1565b606580546001600160a01b03191690556113c581612e1c565b5f63ffffffff8211156129c75760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016109ed565b5090565b6129df60c954610100900460ff1660021490565b156129fd5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001612811565b5f6001600160a01b0383163b612a5357505f611690565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa925050508015612abd575060408051601f3d908101601f19168201909252612aba91810190613aa8565b60015b15611690579392505050565b612ad246612cf3565b15612b4557827fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2b95d817fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2ba5d807fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2bb5d505050565b604080516060810182528481526001600160a01b0393909316602084018190526001600160401b0392909216920182905260fd9290925560fe80546001600160e01b031916909217600160a01b909102179055565b612ba346612cf3565b15612bb3576113f05f8080612ac9565b6113f05f198080612ac9565b604080516060810182525f8082526020820181905291810191909152612be446612cf3565b15612c7d5750604080516060810182527fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2b95c81526001600160a01b037fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2ba5c1660208201526001600160401b037fe4ece82196de19aabe639620d7f716c433d1348f96ce727c9989a982dbadc2bb5c169181019190915290565b506040805160608101825260fd54815260fe546001600160a01b0381166020830152600160a01b90046001600160401b03169181019190915290565b806001600160a01b038116612ce15760405163538ba4f960e01b815260040160405180910390fd5b612cea83612e6d565b6119ed82612ecb565b5f6001821480612d04575061426882145b80612d11575062aa36a782145b80611690575061169082612f3b565b5f6001600160a01b038516612d4857604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6001600160a01b0381163b612dca5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016109ed565b5f80516020613c8183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612e0183612f52565b5f82511180612e0d5750805b156119ed576109a38383612f91565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16612e935760405162461bcd60e51b81526004016109ed90613c08565b612e9b612fb6565b612eb96001600160a01b03821615612eb3578161294a565b3361294a565b5060c9805461ff001916610100179055565b5f54610100900460ff16612ef15760405162461bcd60e51b81526004016109ed90613c08565b6001600160401b03461115612f195760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c8210158015611690575050617e90101590565b612f5b81612d5d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606113d78383604051806060016040528060278152602001613ca160279139612fdc565b5f54610100900460ff166113f05760405162461bcd60e51b81526004016109ed90613c08565b60605f80856001600160a01b031685604051612ff89190613c53565b5f60405180830381855af49150503d805f8114613030576040519150601f19603f3d011682016040523d82523d5f602084013e613035565b606091505b509150915061304686838387613050565b9695505050505050565b606083156130be5782515f036130b7576001600160a01b0385163b6130b75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109ed565b50816130c8565b6130c883836130d0565b949350505050565b8151156130e05781518083602001fd5b8060405162461bcd60e51b81526004016109ed9190613c6e565b5f61016082840312156124c4575f80fd5b80151581146113c5575f80fd5b5f8060408385031215613129575f80fd5b82356001600160401b0381111561313e575f80fd5b61314a858286016130fa565b925050602083013561315b8161310b565b809150509250929050565b5f60208284031215613176575f80fd5b81356001600160401b0381111561318b575f80fd5b6130c8848285016130fa565b5f5b838110156131b1578181015183820152602001613199565b50505f910152565b5f81518084526131d0816020860160208601613197565b601f01601f19169290920160200192915050565b80516001600160401b031682525f610160602083015161320f60208601826001600160401b03169052565b506040830151613227604086018263ffffffff169052565b50606083015161324260608601826001600160a01b03169052565b50608083015161325d60808601826001600160401b03169052565b5060a083015161327860a08601826001600160a01b03169052565b5060c083015161329360c08601826001600160401b03169052565b5060e08301516132ae60e08601826001600160a01b03169052565b50610100838101516001600160a01b031690850152610120808401519085015261014080840151818601839052613046838701826131b9565b828152604060208201525f6113d460408301846131e4565b5f805f60408486031215613311575f80fd5b83356001600160401b0380821115613327575f80fd5b613333878388016130fa565b94506020860135915080821115613348575f80fd5b818601915086601f83011261335b575f80fd5b813581811115613369575f80fd5b87602082850101111561337a575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52602160045260245ffd5b600581106133b1576133b161338d565b9052565b604081016133c382856133a1565b600483106133d3576133d361338d565b8260208301529392505050565b6001600160a01b03811681146113c5575f80fd5b80356133ff816133e0565b919050565b5f60208284031215613414575f80fd5b81356113d7816133e0565b5f6020828403121561342f575f80fd5b5035919050565b6020810161169082846133a1565b80356001600160401b03811681146133ff575f80fd5b5f805f6060848603121561346c575f80fd5b61347584613444565b925060208401359150604084013561348c8161310b565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161016081016001600160401b03811182821017156134ce576134ce613497565b60405290565b5f82601f8301126134e3575f80fd5b81356001600160401b03808211156134fd576134fd613497565b604051601f8301601f19908116603f0116810190828211818310171561352557613525613497565b8160405283815286602085880101111561353d575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f806040838503121561356d575f80fd5b8235613578816133e0565b915060208301356001600160401b03811115613592575f80fd5b61359e858286016134d4565b9150509250929050565b5f602082840312156135b8575f80fd5b6113d782613444565b5f80604083850312156135d2575f80fd5b82359150602083013561315b8161310b565b803563ffffffff811681146133ff575f80fd5b5f6101608284031215613608575f80fd5b6136106134ab565b905061361b82613444565b815261362960208301613444565b602082015261363a604083016135e4565b604082015261364b606083016133f4565b606082015261365c60808301613444565b608082015261366d60a083016133f4565b60a082015261367e60c08301613444565b60c082015261368f60e083016133f4565b60e08201526101006136a28184016133f4565b908201526101208281013590820152610140808301356001600160401b038111156136cb575f80fd5b6136d7858286016134d4565b82840152505092915050565b5f602082840312156136f3575f80fd5b81356001600160401b03811115613708575f80fd5b6130c8848285016135f7565b5f8060408385031215613725575f80fd5b8235613730816133e0565b9150602083013561315b816133e0565b5f61169036836135f7565b5f6020828403121561375b575f80fd5b6113d7826135e4565b5f60208284031215613774575f80fd5b5051919050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115611690576116906137c9565b5f6001600160401b0380831681810361380b5761380b6137c9565b6001019392505050565b602081525f6113d760208301846131e4565b634e487b7160e01b5f52601260045260245ffd5b5f808335601e19843603018112613850575f80fd5b83016020810192503590506001600160401b0381111561386e575f80fd5b80360382131561387c575f80fd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f6101606138c9846138bc85613444565b6001600160401b03169052565b6138d560208401613444565b6001600160401b031660208501526138ef604084016135e4565b63ffffffff166040850152613906606084016133f4565b6001600160a01b0316606085015261392060808401613444565b6001600160401b0316608085015261393a60a084016133f4565b6001600160a01b031660a085015261395460c08401613444565b6001600160401b031660c085015261396e60e084016133f4565b6001600160a01b031660e085015261010061398a8482016133f4565b6001600160a01b03169085015261012083810135908501526101406139b18185018561383b565b83838801526139c38488018284613883565b979650505050505050565b608081525f6139e060808301856138ab565b905063ffffffff808451166020840152806020850151166040840152806040850151166060840152509392505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f60208284031215613ab8575f80fd5b81516113d78161310b565b604081525f613ad560408301856138ab565b90508260208301529392505050565b60408152600d60408201526c5441494b4f5f4d45535341474560981b6060820152608060208201525f6113d760808301846131e4565b5f808335601e19843603018112613b2f575f80fd5b8301803591506001600160401b03821115613b48575f80fd5b60200191503681900382131561387c575f80fd5b8082028115828204841417611690576116906137c9565b634e487b7160e01b5f52600160045260245ffd5b6001600160401b038616815260018060a01b0385166020820152836040820152608060608201525f6139c3608083018486613883565b6001600160e01b03198135818116916004851015613be55780818660040360031b1b83161692505b505092915050565b5f60208284031215613bfd575f80fd5b81516113d7816133e0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251613c64818460208701613197565b9190910192915050565b602081525f6113d760208301846131b956fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f2c5685035163cd920e9567e16343c7bc7d62f3b8c4a50374cd222d82b8ff4b864736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000001": { + "contractName": "Bridge", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x033b2e26f0b307875bc00000" + }, + "0x0167000000000000000000000000000000000002": { + "contractName": "ERC20VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x608060405260043610620001df575f3560e01c8063715018a61162000106578063a86f9d9e116200009e578063e07baba6116200006a578063e07baba61462000567578063e30c397814620005a7578063f09a401614620005c6578063f2fde38b14620005ea575f80fd5b8063a86f9d9e14620004d2578063b84d9ffe14620004f6578063caec3e4e146200051c578063d56ad7ac146200054f575f80fd5b80638456cb5911620000de5780638456cb59146200044e5780638abf607714620004655780638da5cb5b146200047c5780639aa8605c146200049b575f80fd5b8063715018a6146200040957806379ba509714620004205780637f07c9471462000437575f80fd5b80633ab76e9f116200017a5780634f1ef28611620001525780634f1ef286146200037557806352d1902d146200038c5780635c975abb14620003a357806367090ccf14620003c5575f80fd5b80633ab76e9f14620003195780633eb6b8cf146200033a5780633f4ba83a146200035e575f80fd5b806306fdde0311620001ba57806306fdde03146200027f5780630ecd8be914620002a15780633075db5614620002de5780633659cfe614620002f5575f80fd5b80630178733a14620001e357806301ffc9a714620001fc578063066fe7b41462000235575b5f80fd5b620001fa620001f436600462003578565b6200060e565b005b34801562000208575f80fd5b50620002206200021a366004620035c1565b620007b6565b60405190151581526020015b60405180910390f35b34801562000241575f80fd5b506200027062000253366004620035ff565b61013060209081525f928352604080842090915290825290205481565b6040519081526020016200022c565b3480156200028b575f80fd5b506a195c98cc8c17dd985d5b1d60aa1b62000270565b348015620002ad575f80fd5b50620002c5620002bf36600462003630565b62000808565b6040516001600160a01b0390911681526020016200022c565b348015620002ea575f80fd5b506200022062000ef8565b34801562000301575f80fd5b50620001fa620003133660046200367c565b62000f0e565b34801562000325575f80fd5b50609754620002c5906001600160a01b031681565b34801562000346575f80fd5b50620002c562000358366004620036bd565b62000fea565b3480156200036a575f80fd5b50620001fa62001002565b620001fa620003863660046200381a565b6200101a565b34801562000398575f80fd5b5062000270620010db565b348015620003af575f80fd5b506200022060c954610100900460ff1660021490565b348015620003d1575f80fd5b50620002c5620003e3366004620035ff565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b34801562000415575f80fd5b50620001fa6200118f565b3480156200042c575f80fd5b50620001fa620011a4565b620001fa620004483660046200386c565b6200121f565b3480156200045a575f80fd5b50620001fa6200137f565b34801562000471575f80fd5b50620002c562001396565b34801562000488575f80fd5b506033546001600160a01b0316620002c5565b348015620004a7575f80fd5b50620004bf620004b93660046200367c565b620013a6565b6040516200022c9594939291906200392d565b348015620004de575f80fd5b50620002c5620004f03660046200398a565b6200150b565b6200050d62000507366004620039b0565b62001519565b6040516200022c9190620039c7565b34801562000528575f80fd5b50620002206200053a3660046200367c565b61012f6020525f908152604090205460ff1681565b3480156200055b575f80fd5b50620002706276a70081565b34801562000573575f80fd5b5060c9546200058e906201000090046001600160401b031681565b6040516001600160401b0390911681526020016200022c565b348015620005b3575f80fd5b506065546001600160a01b0316620002c5565b348015620005d2575f80fd5b50620001fa620005e436600462003ac8565b62001939565b348015620005f6575f80fd5b50620001fa620006083660046200367c565b62001a51565b6200062360c954610100900460ff1660021490565b15620006425760405163bae6e2a960e01b815260040160405180910390fd5b60026200064e62001ac5565b60ff1603620006705760405163dfc60d8560e01b815260040160405180910390fd5b6200067c600262001b07565b6200068662001b52565b505f6200069861014084018462003ae7565b620006a891600490829062003b33565b810190620006b7919062003b5c565b90505f8082806020019051810190620006d1919062003c10565b9350505091505f620006f9838760a0016020810190620006f291906200367c565b8462001c4f565b9050620007276101208701356200071760c0890160a08a016200367c565b6001600160a01b03169062001d01565b6200073960c0870160a088016200367c565b6001600160a01b0316857f3dea0f5955b148debf6212261e03bd80eaf8534bee43780452d16637dcc22dd5856020015184866040516200079a939291906001600160a01b039384168152919092166020820152604081019190915260600190565b60405180910390a350505050620007b2600162001b07565b5050565b5f6001600160e01b0319821662bc399d60e11b1480620007e657506001600160e01b03198216637f07c94760e01b145b806200080257506001600160e01b031982166301ffc9a760e01b145b92915050565b5f6200081362001d0e565b60026200081f62001ac5565b60ff1603620008415760405163dfc60d8560e01b815260040160405180910390fd5b6200084d600262001b07565b6001600160a01b03821615806200088457506001600160a01b038281165f90815261012d6020526040902054600160401b90041615155b15620008a35760405163dc63f98760e01b815260040160405180910390fd5b6001600160a01b0382165f90815261012f602052604090205460ff1615620008de576040516375c42fc160e01b815260040160405180910390fd5b5f61013081620008f2602087018762003d0f565b6001600160401b031681526020019081526020015f205f8560200160208101906200091e91906200367c565b6001600160a01b0316815260208101919091526040015f20549050620009486276a7008262003d41565b421015620009695760405163231d35fb60e11b815260040160405180910390fd5b61012e5f6200097c602087018762003d0f565b6001600160401b031681526020019081526020015f205f856020016020810190620009a891906200367c565b6001600160a01b03908116825260208201929092526040015f2054169150811562000d32576001600160a01b038281165f90815261012d60209081526040808320815160a08101835281546001600160401b0381168252600160401b810490961693810193909352600160e01b90940460ff16908201526001830180549293919260608401919062000a3a9062003d57565b80601f016020809104026020016040519081016040528092919081815260200182805462000a689062003d57565b801562000ab75780601f1062000a8d5761010080835404028352916020019162000ab7565b820191905f5260205f20905b81548152906001019060200180831162000a9957829003601f168201915b5050505050815260200160028201805462000ad29062003d57565b80601f016020809104026020016040519081016040528092919081815260200182805462000b009062003d57565b801562000b4f5780601f1062000b255761010080835404028352916020019162000b4f565b820191905f5260205f20905b81548152906001019060200180831162000b3157829003601f168201915b50505050508152505090508060405160200162000b6d919062003df7565b604051602081830303815290604052805190602001208560405160200162000b96919062003e84565b604051602081830303815290604052805190602001201462000bcb57604051632f9d1d7b60e11b815260040160405180910390fd5b6001600160a01b0383165f90815261012d6020526040812080546001600160e81b03191681559062000c01600183018262003518565b62000c10600283015f62003518565b50506001600160a01b0383165f81815261012f60205260409020805460ff1916600117905562000c489063b8f2e0c560e01b62001d6a565b801562000c6c575062000c6c6001600160a01b03851663b8f2e0c560e01b62001d6a565b1562000d305760405163b8f2e0c560e01b81526001600160a01b0385811660048301525f602483015284169063b8f2e0c5906044015f604051808303815f87803b15801562000cb9575f80fd5b505af115801562000ccc573d5f803e3d5ffd5b505060405163b8f2e0c560e01b81526001600160a01b038681166004830152600160248301528716925063b8f2e0c591506044015f604051808303815f87803b15801562000d18575f80fd5b505af115801562000d2b573d5f803e3d5ffd5b505050505b505b6001600160a01b0383165f90815261012d60205260409020849062000d58828262004046565b5083905061012e5f62000d6f602088018862003d0f565b6001600160401b031681526020019081526020015f205f86602001602081019062000d9b91906200367c565b6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550426101305f865f01602081019062000df6919062003d0f565b6001600160401b031681526020019081526020015f205f86602001602081019062000e2291906200367c565b6001600160a01b03166001600160a01b031681526020019081526020015f208190555083602001602081019062000e5a91906200367c565b6001600160a01b031662000e72602086018662003d0f565b6001600160401b03167f031d68e1805917560c34a5f55a7dd91bef98f911190ed02cdbb53caedae6c39d848662000ead60608a018a62003ae7565b62000ebc60808c018c62003ae7565b62000ece60608e0160408f016200411b565b60405162000ee3979695949392919062004139565b60405180910390a35062000802600162001b07565b5f600262000f0562001ac5565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000216300362000f625760405162461bcd60e51b815260040162000f599062004194565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000000026001600160a01b031662000f9662001dfd565b6001600160a01b03161462000fbf5760405162461bcd60e51b815260040162000f5990620041e0565b62000fca8162001e19565b604080515f8082526020820190925262000fe79183919062001e23565b50565b5f62000ff884848462001f9a565b90505b9392505050565b6200100c62002092565b62001018335f62002124565b565b6001600160a01b037f0000000000000000000000000167000000000000000000000000000000000002163003620010655760405162461bcd60e51b815260040162000f599062004194565b7f00000000000000000000000001670000000000000000000000000000000000026001600160a01b03166200109962001dfd565b6001600160a01b031614620010c25760405162461bcd60e51b815260040162000f5990620041e0565b620010cd8262001e19565b620007b28282600162001e23565b5f306001600160a01b037f000000000000000000000000016700000000000000000000000000000000000216146200117c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000f59565b505f8051602062004d1883398151915290565b6200119962001d0e565b620010185f6200212e565b60655433906001600160a01b03168114620012145760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000f59565b62000fe7816200212e565b6200123460c954610100900460ff1660021490565b15620012535760405163bae6e2a960e01b815260040160405180910390fd5b60026200125f62001ac5565b60ff1603620012815760405163dfc60d8560e01b815260040160405180910390fd5b6200128d600262001b07565b5f8080806200129f8587018762004239565b93509350935093505f620012b262002149565b9050620012bf8362002271565b5f620012cd86858562001c4f565b9050620012e46001600160a01b0385163462001d01565b836001600160a01b0316856001600160a01b0316835f01517f75a051823424fc80e92556c41cb0ad977ae1dcb09c68a9c38acab86b11a69f8985604001518a6020015186896040516200136594939291906001600160401b039490941684526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a4505050505050620007b2600162001b07565b62001389620022af565b6200101833600162002124565b5f620013a162001dfd565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b84046001600160a01b031693600160e01b900460ff16929091620013f09062003d57565b80601f01602080910402602001604051908101604052809291908181526020018280546200141e9062003d57565b80156200146d5780601f1062001443576101008083540402835291602001916200146d565b820191905f5260205f20905b8154815290600101906020018083116200144f57829003601f168201915b505050505090806002018054620014849062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620014b29062003d57565b8015620015015780601f10620014d75761010080835404028352916020019162001501565b820191905f5260205f20905b815481529060010190602001808311620014e357829003601f168201915b5050505050905085565b5f62000ffb46848462001f9a565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082018390526101208201929092526101408101919091526200158860c954610100900460ff1660021490565b15620015a75760405163bae6e2a960e01b815260040160405180910390fd5b6002620015b362001ac5565b60ff1603620015d55760405163dfc60d8560e01b815260040160405180910390fd5b620015e1600262001b07565b8160c001355f036200160657604051634299323b60e11b815260040160405180910390fd5b5f6200161960a08401608085016200367c565b6001600160a01b03160362001641576040516303f8a7d360e01b815260040160405180910390fd5b61012f5f6200165760a08501608086016200367c565b6001600160a01b0316815260208101919091526040015f205460ff161562001692576040516375c42fc160e01b815260040160405180910390fd5b5f805f620016a08562002323565b6040805161016081019091525f808252939650919450925060208101620016ce6080890160608a0162003d0f565b6001600160401b03168152602001620016ee60c0890160a08a016200434a565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620017219089018962003d0f565b6001600160401b031681526020015f6001600160a01b03168860200160208101906200174e91906200367c565b6001600160a01b03160362001764573362001776565b620017766040890160208a016200367c565b6001600160a01b03168152602090810190620017b1906200179a908a018a62003d0f565b6a195c98cc8c17dd985d5b1d60aa1b5b5f62000fea565b6001600160a01b03168152602001620017d16080890160608a0162003d0f565b620017e6906001600160401b03163462004368565b815260200185905290505f620018066562726964676560d01b826200150b565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b8152600401620018349190620039c7565b5f6040518083038185885af115801562001850573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526200187a91908101906200438b565b965090506200189060608801604089016200367c565b60a08701516001600160a01b039182169116827feb8a69f21b7a981e25f90d9f1e2ab7fa5bdbfddbc0ac160344145fc5caa6ddd2620018d360208c018c62003d0f565b6020890151620018ea60a08e0160808f016200367c565b604080516001600160401b0390941684526001600160a01b0392831660208501529116908201526060810188905260800160405180910390a4505050505062001934600162001b07565b919050565b5f54610100900460ff16158080156200195857505f54600160ff909116105b80620019735750303b1580156200197357505f5460ff166001145b620019d85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000f59565b5f805460ff191660011790558015620019fa575f805461ff0019166101001790555b62001a068383620027f9565b801562001a4c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b62001a5b62001d0e565b606580546001600160a01b0383166001600160a01b0319909116811790915562001a8d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f62001ad14662002838565b1562001afd57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b62001b124662002838565b1562001b3e57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62001b858160016200150b565b6001600160a01b0316336001600160a01b03161462001bb757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001bf4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001c1a9190620044c0565b60208101519092506001600160a01b0316331462001c4b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b03160362001c865750602083015162001c806001600160a01b03821684846200286a565b62001cf5565b62001c9184620028cf565b6040516340c10f1960e01b81526001600160a01b03858116600483015260248201859052919250908216906340c10f19906044015f604051808303815f87803b15801562001cdd575f80fd5b505af115801562001cf0573d5f803e3d5ffd5b505050505b62000ffb818362002914565b620007b282825a620029a8565b6033546001600160a01b03163314620010185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000f59565b5f6001600160a01b0383163b62001d8357505f62000802565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001df0575060408051601f3d908101601f1916820190925262001ded918101906200452e565b60015b1562000802579392505050565b5f8051602062004d18833981519152546001600160a01b031690565b62000fe762001d0e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001e595762001a4c83620029ef565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001eb6575060408051601f3d908101601f1916820190925262001eb3918101906200454c565b60015b62001f1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000f59565b5f8051602062004d18833981519152811462001f8c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000f59565b5062001a4c83838362002a8d565b6097545f906001600160a01b03168062001fc757604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156200201a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002040919062004564565b9150821580156200205857506001600160a01b038216155b156200208a57604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000f59565b509392505050565b620020a760c954610100900460ff1660021490565b620020c55760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007b262001d0e565b606580546001600160a01b031916905562000fe78162002abd565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b6200217c8160016200150b565b6001600160a01b0316336001600160a01b031614620021ae57604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620021eb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620022119190620044c0565b91505f620022338360400151620017aa6a195c98cc8c17dd985d5b1d60aa1b90565b9050806001600160a01b031683602001516001600160a01b0316146200226c57604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200229057506001600160a01b03811630145b1562000fe757604051635b50f3f960e01b815260040160405180910390fd5b620022c460c954610100900460ff1660021490565b15620022e35760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016200211a565b6040805160a0810182525f8082526020820181905291810191909152606081810181905260808201819052905f8061012d816200236760a08801608089016200367c565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b90041615620025b7576040805160a08101825282546001600160401b0381168252600160401b81046001600160a01b03166020830152600160e01b900460ff169181019190915260018201805483916060840191620023ea9062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620024189062003d57565b8015620024675780601f106200243d5761010080835404028352916020019162002467565b820191905f5260205f20905b8154815290600101906020018083116200244957829003601f168201915b50505050508152602001600282018054620024829062003d57565b80601f0160208091040260200160405190810160405280929190818152602001828054620024b09062003d57565b8015620024ff5780601f10620024d557610100808354040283529160200191620024ff565b820191905f5260205f20905b815481529060010190602001808311620024e157829003601f168201915b50505050508152505092506200253c33308760c001358860800160208101906200252a91906200367c565b6001600160a01b031692919062002b0e565b6200254e60a08601608087016200367c565b604051630852cd8d60e31b815260c087013560048201526001600160a01b0391909116906342966c68906024015f604051808303815f87803b15801562002593575f80fd5b505af1158015620025a6573d5f803e3d5ffd5b505050508460c00135915062002773565b6040518060a00160405280466001600160401b03168152602001866080016020810190620025e691906200367c565b6001600160a01b03168152602001620026106200260a60a0890160808a016200367c565b62002b48565b60ff168152602001620026346200262e60a0890160808a016200367c565b62002c0d565b8152602001620026556200264f60a0890160808a016200367c565b62002cbf565b905292505f6200266c60a08701608088016200367c565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015620026b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620026da91906200454c565b9050620026f76001600160a01b038316333060c08b013562002b0e565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156200273c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200276291906200454c565b6200276e919062004368565b935050505b30637f07c94784336200278d60608a0160408b016200367c565b86604051602001620027a3949392919062004582565b60408051601f1981840301815290829052620027c291602401620045b9565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509350509193909250565b806001600160a01b038116620028225760405163538ba4f960e01b815260040160405180910390fd5b6200282d8362002d07565b62001a4c8262002d6e565b5f60018214806200284a575061426882145b8062002858575062aa36a782145b80620008025750620008028262002de2565b6040516001600160a01b03831660248201526044810182905262001a4c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262002dfa565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806200193457620008028262002ed4565b5f620029326c38bab7ba30afb6b0b730b3b2b960991b60016200150b565b90506001600160a01b0381161562001a4c576040516315c638fb60e31b81526001600160a01b0384811660048301526024820184905282169063ae31c7d8906044015f604051808303815f87803b1580156200298c575f80fd5b505af11580156200299f573d5f803e3d5ffd5b50505050505050565b815f03620029b557505050565b620029d183838360405180602001604052805f815250620030e6565b62001a4c57604051634c67134d60e11b815260040160405180910390fd5b6001600160a01b0381163b62002a5e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000f59565b5f8051602062004d1883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62002a988362003124565b5f8251118062002aa55750805b1562001a4c5762002ab7838362003165565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040516001600160a01b038085166024830152831660448201526064810182905262002ab79085906323b872dd60e01b9060840162002897565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f91829182916001600160a01b0386169162002b8f9190620045cd565b5f60405180830381855afa9150503d805f811462002bc9576040519150601f19603f3d011682016040523d82523d5f602084013e62002bce565b606091505b509150915081801562002be2575080516020145b62002bef57601262002c05565b8080602001905181019062002c059190620045ea565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002c559190620045cd565b5f60405180830381855afa9150503d805f811462002c8f576040519150601f19603f3d011682016040523d82523d5f602084013e62002c94565b606091505b50915091508162002cb45760405180602001604052805f81525062002c05565b62002c05816200318d565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002c559190620045cd565b5f54610100900460ff1662002d305760405162461bcd60e51b815260040162000f599062004608565b62002d3a620032e0565b62002d5c6001600160a01b0382161562002d5557816200212e565b336200212e565b5060c9805461ff001916610100179055565b5f54610100900460ff1662002d975760405162461bcd60e51b815260040162000f599062004608565b6001600160401b0346111562002dc05760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000802575050617e90101590565b5f62002e50826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620033099092919063ffffffff16565b905080515f148062002e7357508080602001905181019062002e7391906200452e565b62001a4c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000f59565b5f8062002ee96033546001600160a01b031690565b60975460208501518551604080880151606089015160808a0151925162002f2197966001600160a01b03169594939060240162004653565b60408051601f198184030181529190526020810180516001600160e01b031663bb86ef9360e01b179052905062002f696c0627269646765645f657263323609c1b5f6200150b565b8160405162002f789062003554565b62002f85929190620046c2565b604051809103905ff08015801562002f9f573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d602090815260409182902087518154928901519389015160ff16600160e01b0260ff60e01b1994909516600160401b026001600160e01b03199093166001600160401b03909116179190911791909116919091178155606085015191935084916001820190620030239082620046e7565b50608082015160028201906200303a9082620046e7565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b0319168885169081179091559151885160608a015160808b0151848c01519451959850929095169516937fb6b427556e8cb0ebf9175da4bc48c64c4f56e44cfaf8c3ab5ebf8e2ea130907993620030d89391929190620047b3565b60405180910390a450919050565b5f6001600160a01b0385166200310f57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6200312f81620029ef565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000ffb838360405180606001604052806027815260200162004d386027913962003319565b60606040825110620031af5781806020019051810190620008029190620047ef565b8151602003620032cd575f5b602081108015620031ee5750828181518110620031dc57620031dc62004824565b01602001516001600160f81b03191615155b156200320757620031ff8162004838565b9050620031bb565b805f036200322457505060408051602081019091525f8152919050565b5f816001600160401b0381111562003240576200324062003701565b6040519080825280601f01601f1916602001820160405280156200326b576020820181803683370190505b5090505f5b828110156200208a578481815181106200328e576200328e62004824565b602001015160f81c60f81b828281518110620032ae57620032ae62004824565b60200101906001600160f81b03191690815f1a90535060010162003270565b505060408051602081019091525f815290565b5f54610100900460ff16620010185760405162461bcd60e51b815260040162000f599062004608565b606062000ff884845f8562003393565b60605f80856001600160a01b031685604051620033379190620045cd565b5f60405180830381855af49150503d805f811462003371576040519150601f19603f3d011682016040523d82523d5f602084013e62003376565b606091505b5091509150620033898683838762003472565b9695505050505050565b606082471015620033f65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000f59565b5f80866001600160a01b03168587604051620034139190620045cd565b5f6040518083038185875af1925050503d805f81146200344f576040519150601f19603f3d011682016040523d82523d5f602084013e62003454565b606091505b5091509150620034678783838762003472565b979650505050505050565b60608315620034e55782515f03620034dd576001600160a01b0385163b620034dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000f59565b508162002c05565b62002c058383815115620034fc5781518083602001fd5b8060405162461bcd60e51b815260040162000f599190620045b9565b508054620035269062003d57565b5f825580601f1062003536575050565b601f0160209004905f5260205f209081019062000fe7919062003562565b6104c4806200485483390190565b5b8082111562001c4b575f815560010162003563565b5f80604083850312156200358a575f80fd5b82356001600160401b03811115620035a0575f80fd5b83016101608186031215620035b3575f80fd5b946020939093013593505050565b5f60208284031215620035d2575f80fd5b81356001600160e01b03198116811462000ffb575f80fd5b6001600160a01b038116811462000fe7575f80fd5b5f806040838503121562003611575f80fd5b8235915060208301356200362581620035ea565b809150509250929050565b5f806040838503121562003642575f80fd5b82356001600160401b0381111562003658575f80fd5b830160a081860312156200366a575f80fd5b915060208301356200362581620035ea565b5f602082840312156200368d575f80fd5b813562000ffb81620035ea565b6001600160401b038116811462000fe7575f80fd5b801515811462000fe7575f80fd5b5f805f60608486031215620036d0575f80fd5b8335620036dd816200369a565b9250602084013591506040840135620036f681620036af565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156200373a576200373a62003701565b60405290565b60405161016081016001600160401b03811182821017156200373a576200373a62003701565b604051601f8201601f191681016001600160401b038111828210171562003791576200379162003701565b604052919050565b5f6001600160401b03821115620037b457620037b462003701565b50601f01601f191660200190565b5f82601f830112620037d2575f80fd5b8135620037e9620037e38262003799565b62003766565b818152846020838601011115620037fe575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156200382c575f80fd5b82356200383981620035ea565b915060208301356001600160401b0381111562003854575f80fd5b6200386285828601620037c2565b9150509250929050565b5f80602083850312156200387e575f80fd5b82356001600160401b038082111562003895575f80fd5b818501915085601f830112620038a9575f80fd5b813581811115620038b8575f80fd5b866020828501011115620038ca575f80fd5b60209290920196919550909350505050565b5f5b83811015620038f8578181015183820152602001620038de565b50505f910152565b5f815180845262003919816020860160208601620038dc565b601f01601f19169290920160200192915050565b6001600160401b03861681526001600160a01b038516602082015260ff8416604082015260a0606082018190525f906200396a9083018562003900565b82810360808401526200397e818562003900565b98975050505050505050565b5f80604083850312156200399c575f80fd5b8235915060208301356200362581620036af565b5f60e08284031215620039c1575f80fd5b50919050565b60208152620039e26020820183516001600160401b03169052565b5f6020830151620039fe60408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062003a82818501836001600160a01b03169052565b840151905061012062003a9f848201836001600160a01b03169052565b8401516101408481019190915284015161016080850152905062002c0561018084018262003900565b5f806040838503121562003ada575f80fd5b82356200366a81620035ea565b5f808335601e1984360301811262003afd575f80fd5b8301803591506001600160401b0382111562003b17575f80fd5b60200191503681900382131562003b2c575f80fd5b9250929050565b5f808585111562003b42575f80fd5b8386111562003b4f575f80fd5b5050820193919092039150565b5f6020828403121562003b6d575f80fd5b81356001600160401b0381111562003b83575f80fd5b62002c0584828501620037c2565b805162001934816200369a565b80516200193481620035ea565b60ff8116811462000fe7575f80fd5b8051620019348162003bab565b5f82601f83011262003bd7575f80fd5b815162003be8620037e38262003799565b81815284602083860101111562003bfd575f80fd5b62002c05826020830160208701620038dc565b5f805f806080858703121562003c24575f80fd5b84516001600160401b038082111562003c3b575f80fd5b9086019060a0828903121562003c4f575f80fd5b62003c5962003715565b825162003c66816200369a565b8152602083015162003c7881620035ea565b602082015262003c8b6040840162003bba565b604082015260608301518281111562003ca2575f80fd5b62003cb08a82860162003bc7565b60608301525060808301518281111562003cc8575f80fd5b62003cd68a82860162003bc7565b608083015250955062003cef9150506020860162003b9e565b925062003cff6040860162003b9e565b6060959095015193969295505050565b5f6020828403121562003d20575f80fd5b813562000ffb816200369a565b634e487b7160e01b5f52601160045260245ffd5b8082018082111562000802576200080262003d2d565b600181811c9082168062003d6c57607f821691505b602082108103620039c157634e487b7160e01b5f52602260045260245ffd5b6001600160401b03815116825260018060a01b03602082015116602083015260ff60408201511660408301525f606082015160a0606085015262003dd360a085018262003900565b90506080830151848203608086015262003dee828262003900565b95945050505050565b602081525f62000ffb602083018462003d8b565b8035620019348162003bab565b5f808335601e1984360301811262003e2e575f80fd5b83016020810192503590506001600160401b0381111562003e4d575f80fd5b80360382131562003b2c575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f823562003e96816200369a565b6001600160401b038116602084015250602083013562003eb681620035ea565b6001600160a01b031660408381019190915283013562003ed68162003bab565b60ff811660608401525062003eef606084018462003e18565b60a0608085015262003f0660c08501828462003e5c565b91505062003f18608085018562003e18565b848303601f190160a08601526200338983828462003e5c565b601f82111562001a4c57805f5260205f20601f840160051c8101602085101562003f585750805b601f840160051c820191505b8181101562003f79575f815560010162003f64565b5050505050565b6001600160401b0383111562003f9a5762003f9a62003701565b62003fb28362003fab835462003d57565b8362003f31565b5f601f84116001811462003fe6575f851562003fce5750838201355b5f19600387901b1c1916600186901b17835562003f79565b5f83815260208120601f198716915b8281101562004017578685013582556020948501946001909201910162003ff5565b508682101562004034575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813562004053816200369a565b6001600160401b03811690508154816001600160401b0319821617835560208401356200408081620035ea565b68010000000000000000600160e01b03604091821b166001600160e01b0319831684178117855590850135620040b68162003bab565b60ff60e01b8160e01b1660ff60e01b19851662ffffff60e81b851617831717855550505050620040ea606083018362003ae7565b620040fa81836001860162003f80565b50506200410b608083018362003ae7565b62002ab781836002860162003f80565b5f602082840312156200412c575f80fd5b813562000ffb8162003bab565b6001600160a01b0388811682528716602082015260a0604082018190525f9062004167908301878962003e5c565b82810360608401526200417c81868862003e5c565b91505060ff8316608083015298975050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b80356200193481620035ea565b5f805f80608085870312156200424d575f80fd5b84356001600160401b038082111562004264575f80fd5b9086019060a0828903121562004278575f80fd5b6200428262003715565b82356200428f816200369a565b81526020830135620042a181620035ea565b6020820152620042b46040840162003e0b565b6040820152606083013582811115620042cb575f80fd5b620042d98a828601620037c2565b606083015250608083013582811115620042f1575f80fd5b620042ff8a828601620037c2565b608083015250955062004318915050602086016200422c565b925062004328604086016200422c565b9396929550929360600135925050565b63ffffffff8116811462000fe7575f80fd5b5f602082840312156200435b575f80fd5b813562000ffb8162004338565b8181038181111562000802576200080262003d2d565b8051620019348162004338565b5f80604083850312156200439d575f80fd5b8251915060208301516001600160401b0380821115620043bb575f80fd5b908401906101608287031215620043d0575f80fd5b620043da62003740565b620043e58362003b91565b8152620043f56020840162003b91565b602082015262004408604084016200437e565b60408201526200441b6060840162003b9e565b60608201526200442e6080840162003b91565b60808201526200444160a0840162003b9e565b60a08201526200445460c0840162003b91565b60c08201526200446760e0840162003b9e565b60e08201526101006200447c81850162003b9e565b90820152610120838101519082015261014080840151838111156200449f575f80fd5b620044ad8982870162003bc7565b8284015250508093505050509250929050565b5f60608284031215620044d1575f80fd5b604051606081018181106001600160401b0382111715620044f657620044f662003701565b6040528251815260208301516200450d81620035ea565b6020820152604083015162004522816200369a565b60408201529392505050565b5f602082840312156200453f575f80fd5b815162000ffb81620036af565b5f602082840312156200455d575f80fd5b5051919050565b5f6020828403121562004575575f80fd5b815162000ffb81620035ea565b608081525f62004596608083018762003d8b565b6001600160a01b0395861660208401529390941660408201526060015292915050565b602081525f62000ffb602083018462003900565b5f8251620045e0818460208701620038dc565b9190910192915050565b5f60208284031215620045fb575f80fd5b815162000ffb8162003bab565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0388811682528781166020830152861660408201526001600160401b038516606082015260ff8416608082015260e060a082018190525f90620046a09083018562003900565b82810360c0840152620046b4818562003900565b9a9950505050505050505050565b6001600160a01b03831681526040602082018190525f9062000ff89083018462003900565b81516001600160401b0381111562004703576200470362003701565b6200471b8162004714845462003d57565b8462003f31565b602080601f83116001811462004751575f8415620047395750858301515b5f19600386901b1c1916600185901b178555620047ab565b5f85815260208120601f198616915b82811015620047815788860151825594840194600190910190840162004760565b50858210156200479f57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b606081525f620047c7606083018662003900565b8281036020840152620047db818662003900565b91505060ff83166040830152949350505050565b5f6020828403121562004800575f80fd5b81516001600160401b0381111562004816575f80fd5b62002c058482850162003bc7565b634e487b7160e01b5f52603260045260245ffd5b5f600182016200484c576200484c62003d2d565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ea36dcba768a52059ed0ed48fee13b0a8043b482e8915ed094ab8c2cf570450964736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000002": { + "contractName": "ERC20Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000201", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000000003": { + "contractName": "ERC721VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x6080604052600436106200019b575f3560e01c806367090ccf11620000de5780638da5cb5b1162000092578063e07baba6116200006a578063e07baba614620004bd578063e30c397814620004fd578063f09a4016146200051c578063f2fde38b1462000540575f80fd5b80638da5cb5b14620004445780639aa8605c1462000463578063a86f9d9e1462000499575f80fd5b806367090ccf146200038d578063715018a614620003d157806379ba509714620003e85780637f07c94714620003ff5780638456cb5914620004165780638abf6077146200042d575f80fd5b80633659cfe611620001525780633f4ba83a116200012a5780633f4ba83a14620003265780634f1ef286146200033d57806352d1902d14620003545780635c975abb146200036b575f80fd5b80633659cfe614620002a45780633ab76e9f14620002c85780633eb6b8cf1462000302575f80fd5b80630178733a146200019f57806301ffc9a714620001b857806306fdde0314620001f1578063150b7a02146200021e5780631f59a83014620002675780633075db56146200028d575b5f80fd5b620001b6620001b036600462002b7d565b62000564565b005b348015620001c4575f80fd5b50620001dc620001d636600462002bc6565b62000736565b60405190151581526020015b60405180910390f35b348015620001fd575f80fd5b506b195c98cdcc8c57dd985d5b1d60a21b5b604051908152602001620001e8565b3480156200022a575f80fd5b506200024d6200023c36600462002c58565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001620001e8565b6200027e6200027836600462002ccd565b62000788565b604051620001e8919062002d58565b34801562000299575f80fd5b50620001dc62000c14565b348015620002b0575f80fd5b50620001b6620002c236600462002e59565b62000c2a565b348015620002d4575f80fd5b50609754620002e9906001600160a01b031681565b6040516001600160a01b039091168152602001620001e8565b3480156200030e575f80fd5b50620002e96200032036600462002ea7565b62000d06565b34801562000332575f80fd5b50620001b662000d1e565b620001b66200034e3660046200302a565b62000d36565b34801562000360575f80fd5b506200020f62000df7565b34801562000377575f80fd5b50620001dc60c954610100900460ff1660021490565b34801562000399575f80fd5b50620002e9620003ab3660046200307c565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b348015620003dd575f80fd5b50620001b662000eab565b348015620003f4575f80fd5b50620001b662000ec0565b620001b662000410366004620030ad565b62000f3b565b34801562000422575f80fd5b50620001b6620010b9565b34801562000439575f80fd5b50620002e9620010d0565b34801562000450575f80fd5b506033546001600160a01b0316620002e9565b3480156200046f575f80fd5b50620004876200048136600462002e59565b620010e0565b604051620001e89493929190620030ef565b348015620004a5575f80fd5b50620002e9620004b736600462003142565b6200123b565b348015620004c9575f80fd5b5060c954620004e4906201000090046001600160401b031681565b6040516001600160401b039091168152602001620001e8565b34801562000509575f80fd5b506065546001600160a01b0316620002e9565b34801562000528575f80fd5b50620001b66200053a36600462003168565b62001249565b3480156200054c575f80fd5b50620001b66200055e36600462002e59565b62001361565b6200057960c954610100900460ff1660021490565b15620005985760405163bae6e2a960e01b815260040160405180910390fd5b6002620005a4620013d5565b60ff1603620005c65760405163dfc60d8560e01b815260040160405180910390fd5b620005d2600262001417565b620005dc62001462565b505f620005ee61014084018462003199565b620005fe916004908290620031de565b8101906200060d919062003207565b90505f808280602001905181019062000627919062003332565b9350505091505f6200064f838760a001602081019062000648919062002e59565b846200155f565b90506200067d6101208701356200066d60c0890160a08a0162002e59565b6001600160a01b031690620016e9565b6200068f60c0870160a0880162002e59565b6001600160a01b0316857fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c8560200151848687516001600160401b03811115620006dd57620006dd62002eeb565b60405190808252806020026020018201604052801562000707578160200160208202803683370190505b506040516200071a949392919062003478565b60405180910390a35050505062000732600162001417565b5050565b5f6001600160e01b0319821662bc399d60e11b14806200076657506001600160e01b03198216637f07c94760e01b145b806200078257506001600160e01b031982166301ffc9a760e01b145b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810191909152620007f760c954610100900460ff1660021490565b15620008165760405163bae6e2a960e01b815260040160405180910390fd5b62000821826200353b565b8060e00151518160c0015151146200084c5760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b031662000878576040516303f8a7d360e01b815260040160405180910390fd5b600262000884620013d5565b60ff1603620008a65760405163dfc60d8560e01b815260040160405180910390fd5b620008b2600262001417565b5f5b620008c360c08501856200361f565b90508110156200091f57620008dc60e08501856200361f565b82818110620008ef57620008ef62003667565b905060200201355f146200091657604051634299323b60e11b815260040160405180910390fd5b600101620008b4565b506200094e6380ac58cd60e01b6200093e60a086016080870162002e59565b6001600160a01b031690620016f6565b6200096c57604051633ee915f560e11b815260040160405180910390fd5b5f80620009798562001789565b6040805161016081019091525f80825292945090925060208101620009a56080890160608a016200367b565b6001600160401b03168152602001620009c560c0890160a08a0162003699565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620009f8908901896200367b565b6001600160401b031681526020015f6001600160a01b031688602001602081019062000a25919062002e59565b6001600160a01b03160362000a3b573362000a4d565b62000a4d6040890160208a0162002e59565b6001600160a01b0316815260209081019062000a899062000a71908a018a6200367b565b6b195c98cdcc8c57dd985d5b1d60a21b5b5f62000d06565b6001600160a01b0316815260200162000aa96080890160608a016200367b565b62000abe906001600160401b031634620036cb565b815260200184905290505f62000ade6562726964676560d01b826200123b565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b815260040162000b0c919062002d58565b5f6040518083038185885af115801562000b28573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405262000b529190810190620036ee565b9650905062000b68606088016040890162002e59565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c608001602081019062000bc0919062002e59565b62000bcf60c08f018f6200361f565b8f8060e0019062000be191906200361f565b60405162000bf6979695949392919062003854565b60405180910390a45050505062000c0e600162001417565b50919050565b5f600262000c21620013d5565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000316300362000c7e5760405162461bcd60e51b815260040162000c7590620038b4565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000000036001600160a01b031662000cb262001cb5565b6001600160a01b03161462000cdb5760405162461bcd60e51b815260040162000c759062003900565b62000ce68162001cd1565b604080515f8082526020820190925262000d039183919062001cdb565b50565b5f62000d1484848462001e52565b90505b9392505050565b62000d2862001f42565b62000d34335f62001fd4565b565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000316300362000d815760405162461bcd60e51b815260040162000c7590620038b4565b7f00000000000000000000000001670000000000000000000000000000000000036001600160a01b031662000db562001cb5565b6001600160a01b03161462000dde5760405162461bcd60e51b815260040162000c759062003900565b62000de98262001cd1565b620007328282600162001cdb565b5f306001600160a01b037f0000000000000000000000000167000000000000000000000000000000000003161462000e985760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c75565b505f805160206200439383398151915290565b62000eb562001fd9565b62000d345f62002035565b60655433906001600160a01b0316811462000f305760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000c75565b62000d038162002035565b62000f5060c954610100900460ff1660021490565b1562000f6f5760405163bae6e2a960e01b815260040160405180910390fd5b600262000f7b620013d5565b60ff160362000f9d5760405163dfc60d8560e01b815260040160405180910390fd5b62000fa9600262001417565b5f80808062000fbb858701876200394c565b93509350935093505f62000fce62002050565b905062000fdb8362002179565b5f62000fe98685856200155f565b9050620010006001600160a01b03851634620016e9565b836001600160a01b0316856001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518a6020015186898a516001600160401b0381111562001061576200106162002eeb565b6040519080825280602002602001820160405280156200108b578160200160208202803683370190505b506040516200109f95949392919062003a4a565b60405180910390a450505050505062000732600162001417565b620010c3620021b7565b62000d3433600162001fd4565b5f620010db62001cb5565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190620011209062003aa6565b80601f01602080910402602001604051908101604052809291908181526020018280546200114e9062003aa6565b80156200119d5780601f1062001173576101008083540402835291602001916200119d565b820191905f5260205f20905b8154815290600101906020018083116200117f57829003601f168201915b505050505090806002018054620011b49062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620011e29062003aa6565b8015620012315780601f10620012075761010080835404028352916020019162001231565b820191905f5260205f20905b8154815290600101906020018083116200121357829003601f168201915b5050505050905084565b5f62000d1746848462001e52565b5f54610100900460ff16158080156200126857505f54600160ff909116105b80620012835750303b1580156200128357505f5460ff166001145b620012e85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c75565b5f805460ff1916600117905580156200130a575f805461ff0019166101001790555b6200131683836200222b565b80156200135c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6200136b62001fd9565b606580546001600160a01b0383166001600160a01b031990911681179091556200139d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f620013e1466200226a565b156200140d57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b62001422466200226a565b156200144e57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b620014958160016200123b565b6001600160a01b0316336001600160a01b031614620014c757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562001504573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200152a919062003ada565b60208101519092506001600160a01b031633146200155b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46845f01516001600160401b0316036200162e575060208301515f5b82518110156200162757816001600160a01b03166342842e0e3086868581518110620015ac57620015ac62003667565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064015f604051808303815f87803b15801562001604575f80fd5b505af115801562001617573d5f803e3d5ffd5b505050508060010190506200157c565b5062000d17565b62001639846200229c565b90505f5b8251811015620016e157816001600160a01b03166340c10f19858584815181106200166c576200166c62003667565b60200260200101516040518363ffffffff1660e01b8152600401620016a69291906001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b158015620016be575f80fd5b505af1158015620016d1573d5f803e3d5ffd5b505050508060010190506200163d565b509392505050565b6200073282825a620022e6565b5f6001600160a01b0383163b6200170f57505f62000782565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa9250505080156200177c575060408051601f3d908101601f19168201909252620017799181019062003b48565b60015b1562000782579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d81620017c160a087016080880162002e59565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b9004161562001acb576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b03166020820152600183018054919284929084019190620018359062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620018639062003aa6565b8015620018b25780601f106200188857610100808354040283529160200191620018b2565b820191905f5260205f20905b8154815290600101906020018083116200189457829003601f168201915b50505050508152602001600282018054620018cd9062003aa6565b80601f0160208091040260200160405190810160405280929190818152602001828054620018fb9062003aa6565b80156200194a5780601f1062001920576101008083540402835291602001916200194a565b820191905f5260205f20905b8154815290600101906020018083116200192c57829003601f168201915b50505050508152505091505f5b6200196660c08601866200361f565b905081101562001ac4576200198260a086016080870162002e59565b6001600160a01b03166342842e0e3330620019a160c08a018a6200361f565b86818110620019b457620019b462003667565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b15801562001a09575f80fd5b505af115801562001a1c573d5f803e3d5ffd5b5062001a339250505060a086016080870162002e59565b6001600160a01b03166342966c6862001a5060c08801886200361f565b8481811062001a635762001a6362003667565b905060200201356040518263ffffffff1660e01b815260040162001a8991815260200190565b5f604051808303815f87803b15801562001aa1575f80fd5b505af115801562001ab4573d5f803e3d5ffd5b5050505080600101905062001957565b5062001c22565b6040518060800160405280466001600160401b0316815260200185608001602081019062001afa919062002e59565b6001600160a01b0316815260200162001b2462001b1e60a088016080890162002e59565b6200232d565b815260200162001b4562001b3f60a088016080890162002e59565b620023e7565b905291505f5b62001b5a60c08601866200361f565b905081101562001c205762001b7660a086016080870162002e59565b6001600160a01b03166342842e0e333062001b9560c08a018a6200361f565b8681811062001ba85762001ba862003667565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064015f604051808303815f87803b15801562001bfd575f80fd5b505af115801562001c10573d5f803e3d5ffd5b5050505080600101905062001b4b565b505b5030637f07c947823362001c3d606088016040890162002e59565b62001c4c60c08901896200361f565b60405160200162001c6295949392919062003b66565b60408051601f198184030181529082905262001c819160240162003bf6565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f8051602062004393833981519152546001600160a01b031690565b62000d0362001fd9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001d11576200135c836200242f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001d6e575060408051601f3d908101601f1916820190925262001d6b9181019062003c0a565b60015b62001dd35760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c75565b5f8051602062004393833981519152811462001e445760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c75565b506200135c838383620024cd565b6097545f906001600160a01b03168062001e7f57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801562001ed2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001ef8919062003c22565b91508215801562001f1057506001600160a01b038216155b15620016e157604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000c75565b62001f5760c954610100900460ff1660021490565b62001f755760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007325b6033546001600160a01b0316331462000d345760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c75565b606580546001600160a01b031916905562000d0381620024fd565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b620020838160016200123b565b6001600160a01b0316336001600160a01b031614620020b557604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620020f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002118919062003ada565b91505f6200213b836040015162000a826b195c98cdcc8c57dd985d5b1d60a21b90565b9050806001600160a01b031683602001516001600160a01b0316146200217457604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200219857506001600160a01b03811630145b1562000d0357604051635b50f3f960e01b815260040160405180910390fd5b620021cc60c954610100900460ff1660021490565b15620021eb5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162001fca565b806001600160a01b038116620022545760405163538ba4f960e01b815260040160405180910390fd5b6200225f836200254e565b6200135c82620025b5565b5f60018214806200227c575061426882145b806200228a575062aa36a782145b80620007825750620007828262002629565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b0390811685529252909120541680620022e157620007828262002641565b919050565b815f03620022f357505050565b6200230f83838360405180602001604052805f8152506200282c565b6200135c57604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002375919062003c40565b5f60405180830381855afa9150503d805f8114620023af576040519150601f19603f3d011682016040523d82523d5f602084013e620023b4565b606091505b509150915081620023d45760405180602001604052805f815250620023df565b620023df816200286a565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002375919062003c40565b6001600160a01b0381163b6200249e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c75565b5f805160206200439383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b620024d883620029bd565b5f82511180620024e55750805b156200135c57620024f78383620029fe565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16620025775760405162461bcd60e51b815260040162000c759062003c5d565b6200258162002a26565b620025a36001600160a01b038216156200259c578162002035565b3362002035565b5060c9805461ff001916610100179055565b5f54610100900460ff16620025de5760405162461bcd60e51b815260040162000c759062003c5d565b6001600160401b03461115620026075760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000782575050617e90101590565b5f80620026566033546001600160a01b031690565b60975460208501518551604080880151606089015191516200268996956001600160a01b03169493929060240162003ca8565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620026d26d627269646765645f65726337323160901b5f6200123b565b81604051620026e19062002b6f565b620026ee92919062003d0d565b604051809103905ff08015801562002708573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b0390941693909317178255850151919350849160018201906200276e908262003d81565b506060820151600282019062002785908262003d81565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b926200281e929062003e4d565b60405180910390a450919050565b5f6001600160a01b0385166200285557604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b606060408251106200288c578180602001905181019062000782919062003e7e565b8151602003620029aa575f5b602081108015620028cb5750828181518110620028b957620028b962003667565b01602001516001600160f81b03191615155b15620028e457620028dc8162003eb3565b905062002898565b805f036200290157505060408051602081019091525f8152919050565b5f816001600160401b038111156200291d576200291d62002eeb565b6040519080825280601f01601f19166020018201604052801562002948576020820181803683370190505b5090505f5b82811015620016e1578481815181106200296b576200296b62003667565b602001015160f81c60f81b8282815181106200298b576200298b62003667565b60200101906001600160f81b03191690815f1a9053506001016200294d565b505060408051602081019091525f815290565b620029c8816200242f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606062000d178383604051806060016040528060278152602001620043b36027913962002a4f565b5f54610100900460ff1662000d345760405162461bcd60e51b815260040162000c759062003c5d565b60605f80856001600160a01b03168560405162002a6d919062003c40565b5f60405180830381855af49150503d805f811462002aa7576040519150601f19603f3d011682016040523d82523d5f602084013e62002aac565b606091505b509150915062002abf8683838762002ac9565b9695505050505050565b6060831562002b3c5782515f0362002b34576001600160a01b0385163b62002b345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c75565b5081620023df565b620023df838381511562002b535781518083602001fd5b8060405162461bcd60e51b815260040162000c75919062003bf6565b6104c48062003ecf83390190565b5f806040838503121562002b8f575f80fd5b82356001600160401b0381111562002ba5575f80fd5b8301610160818603121562002bb8575f80fd5b946020939093013593505050565b5f6020828403121562002bd7575f80fd5b81356001600160e01b03198116811462000d17575f80fd5b6001600160a01b038116811462000d03575f80fd5b8035620022e18162002bef565b5f8083601f84011262002c22575f80fd5b5081356001600160401b0381111562002c39575f80fd5b60208301915083602082850101111562002c51575f80fd5b9250929050565b5f805f805f6080868803121562002c6d575f80fd5b853562002c7a8162002bef565b9450602086013562002c8c8162002bef565b93506040860135925060608601356001600160401b0381111562002cae575f80fd5b62002cbc8882890162002c11565b969995985093965092949392505050565b5f6020828403121562002cde575f80fd5b81356001600160401b0381111562002cf4575f80fd5b8201610100818503121562000d17575f80fd5b5f5b8381101562002d2357818101518382015260200162002d09565b50505f910152565b5f815180845262002d4481602086016020860162002d07565b601f01601f19169290920160200192915050565b6020815262002d736020820183516001600160401b03169052565b5f602083015162002d8f60408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062002e13818501836001600160a01b03169052565b840151905061012062002e30848201836001600160a01b03169052565b84015161014084810191909152840151610160808501529050620023df61018084018262002d2b565b5f6020828403121562002e6a575f80fd5b813562000d178162002bef565b6001600160401b038116811462000d03575f80fd5b8035620022e18162002e77565b801515811462000d03575f80fd5b5f805f6060848603121562002eba575f80fd5b833562002ec78162002e77565b925060208401359150604084013562002ee08162002e99565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171562002f245762002f2462002eeb565b60405290565b60405161010081016001600160401b038111828210171562002f245762002f2462002eeb565b60405161016081016001600160401b038111828210171562002f245762002f2462002eeb565b604051601f8201601f191681016001600160401b038111828210171562002fa15762002fa162002eeb565b604052919050565b5f6001600160401b0382111562002fc45762002fc462002eeb565b50601f01601f191660200190565b5f82601f83011262002fe2575f80fd5b813562002ff962002ff38262002fa9565b62002f76565b8181528460208386010111156200300e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156200303c575f80fd5b8235620030498162002bef565b915060208301356001600160401b0381111562003064575f80fd5b620030728582860162002fd2565b9150509250929050565b5f80604083850312156200308e575f80fd5b823591506020830135620030a28162002bef565b809150509250929050565b5f8060208385031215620030bf575f80fd5b82356001600160401b03811115620030d5575f80fd5b620030e38582860162002c11565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90620031239083018562002d2b565b828103606084015262003137818562002d2b565b979650505050505050565b5f806040838503121562003154575f80fd5b823591506020830135620030a28162002e99565b5f80604083850312156200317a575f80fd5b8235620031878162002bef565b91506020830135620030a28162002bef565b5f808335601e19843603018112620031af575f80fd5b8301803591506001600160401b03821115620031c9575f80fd5b60200191503681900382131562002c51575f80fd5b5f8085851115620031ed575f80fd5b83861115620031fa575f80fd5b5050820193919092039150565b5f6020828403121562003218575f80fd5b81356001600160401b038111156200322e575f80fd5b620023df8482850162002fd2565b8051620022e18162002e77565b8051620022e18162002bef565b5f82601f83011262003266575f80fd5b81516200327762002ff38262002fa9565b8181528460208386010111156200328c575f80fd5b620023df82602083016020870162002d07565b5f6001600160401b03821115620032ba57620032ba62002eeb565b5060051b60200190565b5f82601f830112620032d4575f80fd5b81516020620032e762002ff3836200329f565b8083825260208201915060208460051b87010193508684111562003309575f80fd5b602086015b848110156200332757805183529183019183016200330e565b509695505050505050565b5f805f806080858703121562003346575f80fd5b84516001600160401b03808211156200335d575f80fd5b908601906080828903121562003371575f80fd5b6200337b62002eff565b8251620033888162002e77565b815260208301516200339a8162002bef565b6020820152604083015182811115620033b1575f80fd5b620033bf8a82860162003256565b604083015250606083015182811115620033d7575f80fd5b620033e58a82860162003256565b6060830152509550620033fb6020880162003249565b94506200340b6040880162003249565b9350606087015191508082111562003421575f80fd5b506200343087828801620032c4565b91505092959194509250565b5f815180845260208085019450602084015f5b838110156200346d578151875295820195908201906001016200344f565b509495945050505050565b6001600160a01b038581168252841660208201526080604082018190525f90620034a5908301856200343c565b82810360608401526200313781856200343c565b63ffffffff8116811462000d03575f80fd5b8035620022e181620034b9565b5f82601f830112620034e8575f80fd5b81356020620034fb62002ff3836200329f565b8083825260208201915060208460051b8701019350868411156200351d575f80fd5b602086015b8481101562003327578035835291830191830162003522565b5f61010082360312156200354d575f80fd5b6200355762002f2a565b620035628362002e8c565b8152620035726020840162002c04565b6020820152620035856040840162002c04565b6040820152620035986060840162002e8c565b6060820152620035ab6080840162002c04565b6080820152620035be60a08401620034cb565b60a082015260c08301356001600160401b0380821115620035dd575f80fd5b620035eb36838701620034d8565b60c084015260e085013591508082111562003604575f80fd5b506200361336828601620034d8565b60e08301525092915050565b5f808335601e1984360301811262003635575f80fd5b8301803591506001600160401b038211156200364f575f80fd5b6020019150600581901b360382131562002c51575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156200368c575f80fd5b813562000d178162002e77565b5f60208284031215620036aa575f80fd5b813562000d1781620034b9565b634e487b7160e01b5f52601160045260245ffd5b81810381811115620007825762000782620036b7565b8051620022e181620034b9565b5f806040838503121562003700575f80fd5b8251915060208301516001600160401b03808211156200371e575f80fd5b90840190610160828703121562003733575f80fd5b6200373d62002f50565b62003748836200323c565b815262003758602084016200323c565b60208201526200376b60408401620036e1565b60408201526200377e6060840162003249565b606082015262003791608084016200323c565b6080820152620037a460a0840162003249565b60a0820152620037b760c084016200323c565b60c0820152620037ca60e0840162003249565b60e0820152610100620037df81850162003249565b908201526101208381015190820152610140808401518381111562003802575f80fd5b620038108982870162003256565b8284015250508093505050509250929050565b8183525f6001600160fb1b038311156200383b575f80fd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f9062003891908301868862003823565b8281036080840152620038a681858762003823565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f805f806080858703121562003960575f80fd5b84356001600160401b038082111562003977575f80fd5b90860190608082890312156200398b575f80fd5b6200399562002eff565b8235620039a28162002e77565b81526020830135620039b48162002bef565b6020820152604083013582811115620039cb575f80fd5b620039d98a82860162002fd2565b604083015250606083013582811115620039f1575f80fd5b620039ff8a82860162002fd2565b606083015250955062003a156020880162002c04565b945062003a256040880162002c04565b9350606087013591508082111562003a3b575f80fd5b506200343087828801620034d8565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f9062003a86908301856200343c565b828103608084015262003a9a81856200343c565b98975050505050505050565b600181811c9082168062003abb57607f821691505b60208210810362000c0e57634e487b7160e01b5f52602260045260245ffd5b5f6060828403121562003aeb575f80fd5b604051606081018181106001600160401b038211171562003b105762003b1062002eeb565b60405282518152602083015162003b278162002bef565b6020820152604083015162003b3c8162002e77565b60408201529392505050565b5f6020828403121562003b59575f80fd5b815162000d178162002e99565b608080825286516001600160401b03168282015260208701516001600160a01b0390811660a0840152604088015160c08401929092525f919062003baf61010085018362002d2b565b91506060890151607f198584030160e086015262003bce838262002d2b565b89831660208701529188166040860152508381036060850152905062003a9a81858762003823565b602081525f62000d17602083018462002d2b565b5f6020828403121562003c1b575f80fd5b5051919050565b5f6020828403121562003c33575f80fd5b815162000d178162002bef565b5f825162003c5381846020870162002d07565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f9062003cec9083018562002d2b565b82810360a084015262003d00818562002d2b565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000d149083018462002d2b565b601f8211156200135c57805f5260205f20601f840160051c8101602085101562003d595750805b601f840160051c820191505b8181101562003d7a575f815560010162003d65565b5050505050565b81516001600160401b0381111562003d9d5762003d9d62002eeb565b62003db58162003dae845462003aa6565b8462003d32565b602080601f83116001811462003deb575f841562003dd35750858301515b5f19600386901b1c1916600185901b17855562003e45565b5f85815260208120601f198616915b8281101562003e1b5788860151825594840194600190910190840162003dfa565b508582101562003e3957878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f62003e61604083018562002d2b565b828103602084015262003e75818562002d2b565b95945050505050565b5f6020828403121562003e8f575f80fd5b81516001600160401b0381111562003ea5575f80fd5b620023df8482850162003256565b5f6001820162003ec75762003ec7620036b7565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b74901e552064099b775b843720858dd3b59cf2dcea297bf896118a92af85cd064736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000003": { + "contractName": "ERC721Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000003" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000000004": { + "contractName": "ERC1155VaultImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x608060405260043610620001b7575f3560e01c8063715018a611620000fa578063a86f9d9e1162000092578063e30c3978116200006a578063e30c3978146200051d578063f09a4016146200053c578063f23a6e611462000560578063f2fde38b1462000590575f80fd5b8063a86f9d9e146200046d578063bc197c811462000491578063e07baba614620004dd575f80fd5b80638456cb5911620000d25780638456cb5914620003ea5780638abf607714620004015780638da5cb5b14620004185780639aa8605c1462000437575f80fd5b8063715018a614620003a557806379ba509714620003bc5780637f07c94714620003d3575f80fd5b80633ab76e9f116200016e5780634f1ef28611620001465780634f1ef286146200031157806352d1902d14620003285780635c975abb146200033f57806367090ccf1462000361575f80fd5b80633ab76e9f146200029c5780633eb6b8cf14620002d65780633f4ba83a14620002fa575f80fd5b80630178733a14620001bb57806301ffc9a714620001d457806306fdde03146200020d5780631f59a830146200023b5780633075db5614620002615780633659cfe61462000278575b5f80fd5b620001d2620001cc36600462002b04565b620005b4565b005b348015620001e0575f80fd5b50620001f8620001f236600462002b4d565b62000745565b60405190151581526020015b60405180910390f35b34801562000219575f80fd5b506c195c98cc4c4d4d57dd985d5b1d609a1b5b60405190815260200162000204565b620002526200024c36600462002b76565b62000769565b60405162000204919062002c01565b3480156200026d575f80fd5b50620001f862000bf6565b34801562000284575f80fd5b50620001d26200029636600462002d24565b62000c0c565b348015620002a8575f80fd5b50609754620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000204565b348015620002e2575f80fd5b50620002bd620002f436600462002d72565b62000ce8565b34801562000306575f80fd5b50620001d262000cfe565b620001d26200032236600462002ef5565b62000d16565b34801562000334575f80fd5b506200022c62000dd7565b3480156200034b575f80fd5b50620001f860c954610100900460ff1660021490565b3480156200036d575f80fd5b50620002bd6200037f36600462002f47565b61012e60209081525f92835260408084209091529082529020546001600160a01b031681565b348015620003b1575f80fd5b50620001d262000e8b565b348015620003c8575f80fd5b50620001d262000ea0565b620001d2620003e436600462002fbf565b62000f1b565b348015620003f6575f80fd5b50620001d262001058565b3480156200040d575f80fd5b50620002bd6200106f565b34801562000424575f80fd5b506033546001600160a01b0316620002bd565b34801562000443575f80fd5b506200045b6200045536600462002d24565b6200107f565b60405162000204949392919062003001565b34801562000479575f80fd5b50620002bd6200048b36600462003054565b620011da565b3480156200049d575f80fd5b50620004c3620004af366004620030bd565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b0319909116815260200162000204565b348015620004e9575f80fd5b5060c95462000504906201000090046001600160401b031681565b6040516001600160401b03909116815260200162000204565b34801562000529575f80fd5b506065546001600160a01b0316620002bd565b34801562000548575f80fd5b50620001d26200055a36600462003181565b620011ef565b3480156200056c575f80fd5b50620004c36200057e366004620031b2565b63f23a6e6160e01b9695505050505050565b3480156200059c575f80fd5b50620001d2620005ae36600462002d24565b62001311565b620005c960c954610100900460ff1660021490565b15620005e85760405163bae6e2a960e01b815260040160405180910390fd5b6002620005f462001385565b60ff1603620006165760405163dfc60d8560e01b815260040160405180910390fd5b620006226002620013c7565b6200062c62001412565b505f6200063e61014084018462003230565b6200064e91600490829062003275565b8101906200065d91906200329e565b90505f805f83806020019051810190620006789190620033c9565b94509450505092505f620006a3848860a00160208101906200069b919062002d24565b85856200150f565b9050620006d1610120880135620006c160c08a0160a08b0162002d24565b6001600160a01b0316906200160a565b620006e360c0880160a0890162002d24565b6001600160a01b0316867fe48bef18455e47bca14864ab6e82dffa29df148b051c09de95aec44ecf13598c866020015184878760405162000728949392919062003535565b60405180910390a35050505050620007416001620013c7565b5050565b5f620007518262001617565b80620007635750620007638262001668565b92915050565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e082018390526101008201839052610120820192909252610140810191909152620007d860c954610100900460ff1660021490565b15620007f75760405163bae6e2a960e01b815260040160405180910390fd5b6200080282620035f8565b8060e00151518160c0015151146200082d5760405163196e8a4160e31b815260040160405180910390fd5b60808101516001600160a01b031662000859576040516303f8a7d360e01b815260040160405180910390fd5b60026200086562001385565b60ff1603620008875760405163dfc60d8560e01b815260040160405180910390fd5b620008936002620013c7565b5f5b620008a460e0850185620036dc565b90508110156200090057620008bd60e0850185620036dc565b82818110620008d057620008d062003724565b905060200201355f03620008f757604051634299323b60e11b815260040160405180910390fd5b60010162000895565b506200092f636cdb3d1360e11b6200091f60a086016080870162002d24565b6001600160a01b0316906200169e565b6200094d57604051633ee915f560e11b815260040160405180910390fd5b5f806200095a8562001731565b6040805161016081019091525f80825292945090925060208101620009866080890160608a0162003738565b6001600160401b03168152602001620009a660c0890160a08a0162003756565b63ffffffff1681525f60208083018290526040830191909152336060830152608090910190620009d99089018962003738565b6001600160401b031681526020015f6001600160a01b031688602001602081019062000a06919062002d24565b6001600160a01b03160362000a1c573362000a2e565b62000a2e6040890160208a0162002d24565b6001600160a01b0316815260209081019062000a6b9062000a52908a018a62003738565b6c195c98cc4c4d4d57dd985d5b1d609a1b5b5f62000ce8565b6001600160a01b0316815260200162000a8b6080890160608a0162003738565b62000aa0906001600160401b03163462003788565b815260200184905290505f62000ac06562726964676560d01b82620011da565b6001600160a01b0316631bdb003734846040518363ffffffff1660e01b815260040162000aee919062002c01565b5f6040518083038185885af115801562000b0a573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405262000b349190810190620037ab565b9650905062000b4a606088016040890162002d24565b6001600160a01b03168660a001516001600160a01b0316827fabbf62a1459339f9ac59136d313a5ccd83d2706cc6d4c04d90642520169144dc8960c0015187602001518c608001602081019062000ba2919062002d24565b62000bb160c08f018f620036dc565b8f8060e0019062000bc39190620036dc565b60405162000bd8979695949392919062003911565b60405180910390a45050505062000bf06001620013c7565b50919050565b5f600262000c0362001385565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000416300362000c605760405162461bcd60e51b815260040162000c579062003971565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000000046001600160a01b031662000c9462001c40565b6001600160a01b03161462000cbd5760405162461bcd60e51b815260040162000c5790620039bd565b62000cc88162001c5c565b604080515f8082526020820190925262000ce59183919062001c66565b50565b5f62000cf684848462001ddd565b949350505050565b62000d0862001ed5565b62000d14335f62001f67565b565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000000000416300362000d615760405162461bcd60e51b815260040162000c579062003971565b7f00000000000000000000000001670000000000000000000000000000000000046001600160a01b031662000d9562001c40565b6001600160a01b03161462000dbe5760405162461bcd60e51b815260040162000c5790620039bd565b62000dc98262001c5c565b620007418282600162001c66565b5f306001600160a01b037f0000000000000000000000000167000000000000000000000000000000000004161462000e785760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000c57565b505f805160206200459583398151915290565b62000e9562001f6c565b62000d145f62001fc8565b60655433906001600160a01b0316811462000f105760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840162000c57565b62000ce58162001fc8565b62000f3060c954610100900460ff1660021490565b1562000f4f5760405163bae6e2a960e01b815260040160405180910390fd5b600262000f5b62001385565b60ff160362000f7d5760405163dfc60d8560e01b815260040160405180910390fd5b62000f896002620013c7565b5f8080808062000f9c8688018862003a09565b945094509450945094505f62000fb162001fe3565b905062000fbe846200210d565b5f62000fcd878686866200150f565b905062000fe46001600160a01b038616346200160a565b846001600160a01b0316866001600160a01b0316835f01517f895f73e418d1bbbad2a311d085fad00e5d98a960e9f2afa4b942071d39bec43a85604001518b60200151868a8a6040516200103d95949392919062003b2c565b60405180910390a450505050505050620007416001620013c7565b620010626200214b565b62000d1433600162001f67565b5f6200107a62001c40565b905090565b61012d6020525f9081526040902080546001820180546001600160401b03831693600160401b9093046001600160a01b0316929190620010bf9062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620010ed9062003b88565b80156200113c5780601f1062001112576101008083540402835291602001916200113c565b820191905f5260205f20905b8154815290600101906020018083116200111e57829003601f168201915b505050505090806002018054620011539062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620011819062003b88565b8015620011d05780601f10620011a657610100808354040283529160200191620011d0565b820191905f5260205f20905b815481529060010190602001808311620011b257829003601f168201915b5050505050905084565b5f620011e846848462001ddd565b9392505050565b5f54610100900460ff16158080156200120e57505f54600160ff909116105b80620012295750303b1580156200122957505f5460ff166001145b6200128e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000c57565b5f805460ff191660011790558015620012b0575f805461ff0019166101001790555b620012bc8383620021bf565b620012c6620021fe565b80156200130c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6200131b62001f6c565b606580546001600160a01b0383166001600160a01b031990911681179091556200134d6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f620013914662002227565b15620013bd57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b620013d24662002227565b15620013fe57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62001445816001620011da565b6001600160a01b0316336001600160a01b0316146200147757604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa158015620014b4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620014da919062003bbc565b60208101519092506001600160a01b031633146200150b57604051632583296b60e01b815260040160405180910390fd5b5090565b5f46855f01516001600160401b0316036200159357506020840151604051631759616b60e11b81526001600160a01b03821690632eb2c2d6906200155e90309088908890889060040162003c2a565b5f604051808303815f87803b15801562001576575f80fd5b505af115801562001589573d5f803e3d5ffd5b5050505062000cf6565b6200159e8562002259565b60405163d81d0a1560e01b81529091506001600160a01b0382169063d81d0a1590620015d39087908790879060040162003c87565b5f604051808303815f87803b158015620015eb575f80fd5b505af1158015620015fe573d5f803e3d5ffd5b50505050949350505050565b6200074182825a620022a3565b5f6001600160e01b0319821662bc399d60e11b14806200164757506001600160e01b03198216637f07c94760e01b145b806200076357506001600160e01b031982166301ffc9a760e01b1492915050565b5f6001600160e01b03198216630271189760e51b14806200076357506301ffc9a760e01b6001600160e01b031983161462000763565b5f6001600160a01b0383163b620016b757505f62000763565b6040516301ffc9a760e01b81526001600160e01b0319831660048201526001600160a01b038416906301ffc9a790602401602060405180830381865afa92505050801562001724575060408051601f3d908101601f19168201909252620017219181019062003cc0565b60015b1562000763579392505050565b604080516080810182525f808252602082015260609181018290528082018290525f61012d816200176960a087016080880162002d24565b6001600160a01b03908116825260208201929092526040015f208054909250600160401b9004161562001a8b576040805160808101825282546001600160401b0381168252600160401b90046001600160a01b03166020820152600183018054919284929084019190620017dd9062003b88565b80601f01602080910402602001604051908101604052809291908181526020018280546200180b9062003b88565b80156200185a5780601f1062001830576101008083540402835291602001916200185a565b820191905f5260205f20905b8154815290600101906020018083116200183c57829003601f168201915b50505050508152602001600282018054620018759062003b88565b80601f0160208091040260200160405190810160405280929190818152602001828054620018a39062003b88565b8015620018f25780601f10620018c857610100808354040283529160200191620018f2565b820191905f5260205f20905b815481529060010190602001808311620018d457829003601f168201915b505050505081525050915083608001602081019062001912919062002d24565b6001600160a01b0316632eb2c2d633306200193160c0890189620036dc565b6200194060e08b018b620036dc565b6040518763ffffffff1660e01b8152600401620019639695949392919062003cde565b5f604051808303815f87803b1580156200197b575f80fd5b505af11580156200198e573d5f803e3d5ffd5b505050505f5b620019a360c0860186620036dc565b905081101562001a8457620019bf60a086016080870162002d24565b6001600160a01b031663b390c0ab620019dc60c0880188620036dc565b84818110620019ef57620019ef62003724565b90506020020135878060e0019062001a089190620036dc565b8581811062001a1b5762001a1b62003724565b905060200201356040518363ffffffff1660e01b815260040162001a49929190918252602082015260400190565b5f604051808303815f87803b15801562001a61575f80fd5b505af115801562001a74573d5f803e3d5ffd5b5050505080600101905062001994565b5062001b9c565b6040518060800160405280466001600160401b0316815260200185608001602081019062001aba919062002d24565b6001600160a01b0316815260200162001ae462001ade60a088016080890162002d24565b620022ea565b815260200162001b0562001aff60a088016080890162002d24565b6200239c565b9052915062001b1b60a085016080860162002d24565b6001600160a01b0316632eb2c2d6333062001b3a60c0890189620036dc565b62001b4960e08b018b620036dc565b6040518763ffffffff1660e01b815260040162001b6c9695949392919062003cde565b5f604051808303815f87803b15801562001b84575f80fd5b505af115801562001b97573d5f803e3d5ffd5b505050505b5030637f07c947823362001bb7606088016040890162002d24565b62001bc660c0890189620036dc565b62001bd560e08b018b620036dc565b60405160200162001bed979695949392919062003d3f565b60408051601f198184030181529082905262001c0c9160240162003df8565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050509150915091565b5f8051602062004595833981519152546001600160a01b031690565b62000ce562001f6c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001c9c576200130c83620023e4565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001cf9575060408051601f3d908101601f1916820190925262001cf69181019062003e0c565b60015b62001d5e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000c57565b5f8051602062004595833981519152811462001dcf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000c57565b506200130c83838362002482565b6097545f906001600160a01b03168062001e0a57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801562001e5d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e83919062003e24565b91508215801562001e9b57506001600160a01b038216155b1562001ecd57604051632b0d65db60e01b81526001600160401b03861660048201526024810185905260440162000c57565b509392505050565b62001eea60c954610100900460ff1660021490565b62001f085760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b620007415b6033546001600160a01b0316331462000d145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000c57565b606580546001600160a01b031916905562000ce581620024b2565b604080516060810182525f80825260208201819052918101919091526562726964676560d01b62002016816001620011da565b6001600160a01b0316336001600160a01b0316146200204857604051630d85cccf60e11b815260040160405180910390fd5b336001600160a01b031663d0496d6a6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562002085573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620020ab919062003bbc565b91505f620020cf836040015162000a646c195c98cc4c4d4d57dd985d5b1d609a1b90565b9050806001600160a01b031683602001516001600160a01b0316146200210857604051632583296b60e01b815260040160405180910390fd5b505090565b6001600160a01b03811615806200212c57506001600160a01b03811630145b1562000ce557604051635b50f3f960e01b815260040160405180910390fd5b6200216060c954610100900460ff1660021490565b156200217f5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200162001f5d565b806001600160a01b038116620021e85760405163538ba4f960e01b815260040160405180910390fd5b620021f38362002503565b6200130c826200256a565b5f54610100900460ff1662000d145760405162461bcd60e51b815260040162000c579062003e42565b5f600182148062002239575061426882145b8062002247575062aa36a782145b806200076357506200076382620025de565b80516001600160401b03165f90815261012e60209081526040808320828501516001600160a01b03908116855292529091205416806200229e576200076382620025f6565b919050565b815f03620022b057505050565b620022cc83838360405180602001604052805f815250620027e2565b6200130c57604051634c67134d60e11b815260040160405180910390fd5b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b17905290516060915f9182916001600160a01b0386169162002332919062003e8d565b5f60405180830381855afa9150503d805f81146200236c576040519150601f19603f3d011682016040523d82523d5f602084013e62002371565b606091505b509150915081620023915760405180602001604052805f81525062000cf6565b62000cf68162002820565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b17905290516060915f9182916001600160a01b0386169162002332919062003e8d565b6001600160a01b0381163b620024535760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000c57565b5f805160206200459583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6200248d8362002973565b5f825111806200249a5750805b156200130c57620024ac8383620029b4565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff166200252c5760405162461bcd60e51b815260040162000c579062003e42565b62002536620021fe565b620025586001600160a01b0382161562002551578162001fc8565b3362001fc8565b5060c9805461ff001916610100179055565b5f54610100900460ff16620025935760405162461bcd60e51b815260040162000c579062003e42565b6001600160401b03461115620025bc5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c821015801562000763575050617e90101590565b5f806200260b6033546001600160a01b031690565b60975460208501518551604080880151606089015191516200263e96956001600160a01b03169493929060240162003eaa565b60408051601f198184030181529190526020810180516001600160e01b03166377c6257360e11b1790529050620026886e627269646765645f6572633131353560881b5f620011da565b81604051620026979062002af6565b620026a492919062003f0f565b604051809103905ff080158015620026be573d5f803e3d5ffd5b506001600160a01b038082165f90815261012d60209081526040918290208751815492890151909416600160401b026001600160e01b03199092166001600160401b03909416939093171782558501519193508491600182019062002724908262003f83565b50606082015160028201906200273b908262003f83565b505083516001600160401b039081165f90815261012e6020908152604080832082890180516001600160a01b039081168652919093529281902080546001600160a01b03191688851690811790915591518851828a015160608b01519351949750919094169493909316927f44977f2d30fe1e3aee2c1476f2f95aaacaf34e44b9359c403da01fcc93fd751b92620027d492906200404f565b60405180910390a450919050565b5f6001600160a01b0385166200280b57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b6060604082511062002842578180602001905181019062000763919062004080565b815160200362002960575f5b6020811080156200288157508281815181106200286f576200286f62003724565b01602001516001600160f81b03191615155b156200289a576200289281620040b5565b90506200284e565b805f03620028b757505060408051602081019091525f8152919050565b5f816001600160401b03811115620028d357620028d362002db6565b6040519080825280601f01601f191660200182016040528015620028fe576020820181803683370190505b5090505f5b8281101562001ecd5784818151811062002921576200292162003724565b602001015160f81c60f81b82828151811062002941576200294162003724565b60200101906001600160f81b03191690815f1a90535060010162002903565b505060408051602081019091525f815290565b6200297e81620023e4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060620011e88383604051806060016040528060278152602001620045b56027913960605f80856001600160a01b031685604051620029f4919062003e8d565b5f60405180830381855af49150503d805f811462002a2e576040519150601f19603f3d011682016040523d82523d5f602084013e62002a33565b606091505b509150915062002a468683838762002a50565b9695505050505050565b6060831562002ac35782515f0362002abb576001600160a01b0385163b62002abb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000c57565b508162000cf6565b62000cf6838381511562002ada5781518083602001fd5b8060405162461bcd60e51b815260040162000c57919062003df8565b6104c480620040d183390190565b5f806040838503121562002b16575f80fd5b82356001600160401b0381111562002b2c575f80fd5b8301610160818603121562002b3f575f80fd5b946020939093013593505050565b5f6020828403121562002b5e575f80fd5b81356001600160e01b031981168114620011e8575f80fd5b5f6020828403121562002b87575f80fd5b81356001600160401b0381111562002b9d575f80fd5b82016101008185031215620011e8575f80fd5b5f5b8381101562002bcc57818101518382015260200162002bb2565b50505f910152565b5f815180845262002bed81602086016020860162002bb0565b601f01601f19169290920160200192915050565b6020815262002c1c6020820183516001600160401b03169052565b5f602083015162002c3860408401826001600160401b03169052565b50604083015163ffffffff811660608401525060608301516001600160a01b03811660808401525060808301516001600160401b03811660a08401525060a08301516001600160a01b03811660c08401525060c08301516001600160401b03811660e08401525060e083015161010062002cbc818501836001600160a01b03169052565b840151905061012062002cd9848201836001600160a01b03169052565b8401516101408481019190915284015161016080850152905062000cf661018084018262002bd4565b6001600160a01b038116811462000ce5575f80fd5b80356200229e8162002d02565b5f6020828403121562002d35575f80fd5b8135620011e88162002d02565b6001600160401b038116811462000ce5575f80fd5b80356200229e8162002d42565b801515811462000ce5575f80fd5b5f805f6060848603121562002d85575f80fd5b833562002d928162002d42565b925060208401359150604084013562002dab8162002d64565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b038111828210171562002def5762002def62002db6565b60405290565b60405161010081016001600160401b038111828210171562002def5762002def62002db6565b60405161016081016001600160401b038111828210171562002def5762002def62002db6565b604051601f8201601f191681016001600160401b038111828210171562002e6c5762002e6c62002db6565b604052919050565b5f6001600160401b0382111562002e8f5762002e8f62002db6565b50601f01601f191660200190565b5f82601f83011262002ead575f80fd5b813562002ec462002ebe8262002e74565b62002e41565b81815284602083860101111562002ed9575f80fd5b816020850160208301375f918101602001919091529392505050565b5f806040838503121562002f07575f80fd5b823562002f148162002d02565b915060208301356001600160401b0381111562002f2f575f80fd5b62002f3d8582860162002e9d565b9150509250929050565b5f806040838503121562002f59575f80fd5b82359150602083013562002f6d8162002d02565b809150509250929050565b5f8083601f84011262002f89575f80fd5b5081356001600160401b0381111562002fa0575f80fd5b60208301915083602082850101111562002fb8575f80fd5b9250929050565b5f806020838503121562002fd1575f80fd5b82356001600160401b0381111562002fe7575f80fd5b62002ff58582860162002f78565b90969095509350505050565b6001600160401b03851681526001600160a01b03841660208201526080604082018190525f90620030359083018562002bd4565b828103606084015262003049818562002bd4565b979650505050505050565b5f806040838503121562003066575f80fd5b82359150602083013562002f6d8162002d64565b5f8083601f8401126200308b575f80fd5b5081356001600160401b03811115620030a2575f80fd5b6020830191508360208260051b850101111562002fb8575f80fd5b5f805f805f805f8060a0898b031215620030d5575f80fd5b8835620030e28162002d02565b97506020890135620030f48162002d02565b965060408901356001600160401b038082111562003110575f80fd5b6200311e8c838d016200307a565b909850965060608b013591508082111562003137575f80fd5b620031458c838d016200307a565b909650945060808b01359150808211156200315e575f80fd5b506200316d8b828c0162002f78565b999c989b5096995094979396929594505050565b5f806040838503121562003193575f80fd5b8235620031a08162002d02565b9150602083013562002f6d8162002d02565b5f805f805f8060a08789031215620031c8575f80fd5b8635620031d58162002d02565b95506020870135620031e78162002d02565b9450604087013593506060870135925060808701356001600160401b0381111562003210575f80fd5b6200321e89828a0162002f78565b979a9699509497509295939492505050565b5f808335601e1984360301811262003246575f80fd5b8301803591506001600160401b0382111562003260575f80fd5b60200191503681900382131562002fb8575f80fd5b5f808585111562003284575f80fd5b8386111562003291575f80fd5b5050820193919092039150565b5f60208284031215620032af575f80fd5b81356001600160401b03811115620032c5575f80fd5b62000cf68482850162002e9d565b80516200229e8162002d42565b80516200229e8162002d02565b5f82601f830112620032fd575f80fd5b81516200330e62002ebe8262002e74565b81815284602083860101111562003323575f80fd5b62000cf682602083016020870162002bb0565b5f6001600160401b0382111562003351576200335162002db6565b5060051b60200190565b5f82601f8301126200336b575f80fd5b815160206200337e62002ebe8362003336565b8083825260208201915060208460051b870101935086841115620033a0575f80fd5b602086015b84811015620033be5780518352918301918301620033a5565b509695505050505050565b5f805f805f60a08688031215620033de575f80fd5b85516001600160401b0380821115620033f5575f80fd5b908701906080828a03121562003409575f80fd5b6200341362002dca565b8251620034208162002d42565b81526020830151620034328162002d02565b602082015260408301518281111562003449575f80fd5b620034578b828601620032ed565b6040830152506060830151828111156200346f575f80fd5b6200347d8b828601620032ed565b60608301525096506200349360208901620032e0565b9550620034a360408901620032e0565b94506060880151915080821115620034b9575f80fd5b620034c789838a016200335b565b93506080880151915080821115620034dd575f80fd5b50620034ec888289016200335b565b9150509295509295909350565b5f815180845260208085019450602084015f5b838110156200352a578151875295820195908201906001016200350c565b509495945050505050565b6001600160a01b038581168252841660208201526080604082018190525f906200356290830185620034f9565b8281036060840152620030498185620034f9565b63ffffffff8116811462000ce5575f80fd5b80356200229e8162003576565b5f82601f830112620035a5575f80fd5b81356020620035b862002ebe8362003336565b8083825260208201915060208460051b870101935086841115620035da575f80fd5b602086015b84811015620033be5780358352918301918301620035df565b5f61010082360312156200360a575f80fd5b6200361462002df5565b6200361f8362002d57565b81526200362f6020840162002d17565b6020820152620036426040840162002d17565b6040820152620036556060840162002d57565b6060820152620036686080840162002d17565b60808201526200367b60a0840162003588565b60a082015260c08301356001600160401b03808211156200369a575f80fd5b620036a83683870162003595565b60c084015260e0850135915080821115620036c1575f80fd5b50620036d03682860162003595565b60e08301525092915050565b5f808335601e19843603018112620036f2575f80fd5b8301803591506001600160401b038211156200370c575f80fd5b6020019150600581901b360382131562002fb8575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121562003749575f80fd5b8135620011e88162002d42565b5f6020828403121562003767575f80fd5b8135620011e88162003576565b634e487b7160e01b5f52601160045260245ffd5b8181038181111562000763576200076362003774565b80516200229e8162003576565b5f8060408385031215620037bd575f80fd5b8251915060208301516001600160401b0380821115620037db575f80fd5b908401906101608287031215620037f0575f80fd5b620037fa62002e1b565b6200380583620032d3565b81526200381560208401620032d3565b602082015262003828604084016200379e565b60408201526200383b60608401620032e0565b60608201526200384e60808401620032d3565b60808201526200386160a08401620032e0565b60a08201526200387460c08401620032d3565b60c08201526200388760e08401620032e0565b60e08201526101006200389c818501620032e0565b9082015261012083810151908201526101408084015183811115620038bf575f80fd5b620038cd89828701620032ed565b8284015250508093505050509250929050565b8183525f6001600160fb1b03831115620038f8575f80fd5b8260051b80836020870137939093016020019392505050565b6001600160401b03881681526001600160a01b0387811660208301528616604082015260a0606082018190525f906200394e9083018688620038e0565b828103608084015262003963818587620038e0565b9a9950505050505050505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b5f805f805f60a0868803121562003a1e575f80fd5b85356001600160401b038082111562003a35575f80fd5b908701906080828a03121562003a49575f80fd5b62003a5362002dca565b823562003a608162002d42565b8152602083013562003a728162002d02565b602082015260408301358281111562003a89575f80fd5b62003a978b82860162002e9d565b60408301525060608301358281111562003aaf575f80fd5b62003abd8b82860162002e9d565b606083015250965062003ad36020890162002d17565b955062003ae36040890162002d17565b9450606088013591508082111562003af9575f80fd5b62003b0789838a0162003595565b9350608088013591508082111562003b1d575f80fd5b50620034ec8882890162003595565b6001600160401b03861681526001600160a01b0385811660208301528416604082015260a0606082018190525f9062003b6890830185620034f9565b828103608084015262003b7c8185620034f9565b98975050505050505050565b600181811c9082168062003b9d57607f821691505b60208210810362000bf057634e487b7160e01b5f52602260045260245ffd5b5f6060828403121562003bcd575f80fd5b604051606081018181106001600160401b038211171562003bf25762003bf262002db6565b60405282518152602083015162003c098162002d02565b6020820152604083015162003c1e8162002d42565b60408201529392505050565b6001600160a01b0385811682528416602082015260a0604082018190525f9062003c5790830185620034f9565b828103606084015262003c6b8185620034f9565b83810360809094019390935250505f8152602001949350505050565b6001600160a01b03841681526060602082018190525f9062003cac90830185620034f9565b828103604084015262002a468185620034f9565b5f6020828403121562003cd1575f80fd5b8151620011e88162002d64565b6001600160a01b0387811682528616602082015260a0604082018190525f9062003d0c9083018688620038e0565b828103606084015262003d21818587620038e0565b83810360809094019390935250505f81526020019695505050505050565b60a080825288516001600160401b03169082015260208801516001600160a01b031660c08201526040880151608060e08301525f9062003d8461012084018262002bd4565b905060608a0151609f198483030161010085015262003da4828262002bd4565b91505062003dbd602084018a6001600160a01b03169052565b6001600160a01b0388166040840152828103606084015262003de1818789620038e0565b9050828103608084015262003963818587620038e0565b602081525f620011e8602083018462002bd4565b5f6020828403121562003e1d575f80fd5b5051919050565b5f6020828403121562003e35575f80fd5b8151620011e88162002d02565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f825162003ea081846020870162002bb0565b9190910192915050565b6001600160a01b0387811682528681166020830152851660408201526001600160401b038416606082015260c0608082018190525f9062003eee9083018562002bd4565b82810360a084015262003f02818562002bd4565b9998505050505050505050565b6001600160a01b03831681526040602082018190525f9062000cf69083018462002bd4565b601f8211156200130c57805f5260205f20601f840160051c8101602085101562003f5b5750805b601f840160051c820191505b8181101562003f7c575f815560010162003f67565b5050505050565b81516001600160401b0381111562003f9f5762003f9f62002db6565b62003fb78162003fb0845462003b88565b8462003f34565b602080601f83116001811462003fed575f841562003fd55750858301515b5f19600386901b1c1916600185901b17855562004047565b5f85815260208120601f198616915b828110156200401d5788860151825594840194600190910190840162003ffc565b50858210156200403b57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b604081525f62004063604083018562002bd4565b828103602084015262004077818562002bd4565b95945050505050565b5f6020828403121562004091575f80fd5b81516001600160401b03811115620040a7575f80fd5b62000cf684828501620032ed565b5f60018201620040c957620040c962003774565b506001019056fe60806040526040516104c43803806104c4833981016040819052610022916102d2565b61002d82825f610034565b50506103e7565b61003d8361005f565b5f825111806100495750805b1561005a57610058838361009e565b505b505050565b610068816100ca565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606100c3838360405180606001604052806027815260200161049d6027913961017d565b9392505050565b6001600160a01b0381163b61013c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80856001600160a01b031685604051610199919061039a565b5f60405180830381855af49150503d805f81146101d1576040519150601f19603f3d011682016040523d82523d5f602084013e6101d6565b606091505b5090925090506101e8868383876101f2565b9695505050505050565b606083156102605782515f03610259576001600160a01b0385163b6102595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610133565b508161026a565b61026a8383610272565b949350505050565b8151156102825781518083602001fd5b8060405162461bcd60e51b815260040161013391906103b5565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156102ca5781810151838201526020016102b2565b50505f910152565b5f80604083850312156102e3575f80fd5b82516001600160a01b03811681146102f9575f80fd5b60208401519092506001600160401b0380821115610315575f80fd5b818501915085601f830112610328575f80fd5b81518181111561033a5761033a61029c565b604051601f8201601f19908116603f011681019083821181831017156103625761036261029c565b8160405282815288602084870101111561037a575f80fd5b61038b8360208301602088016102b0565b80955050505050509250929050565b5f82516103ab8184602087016102b0565b9190910192915050565b602081525f82518060208401526103d38160408501602087016102b0565b601f01601f19169190910160400192915050565b60aa806103f35f395ff3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d663a4d1b4b1d1fe8a62f7efcbebbc49fdbde0f90ea972b1d22f96ca608dd14a64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000004": { + "contractName": "ERC1155Vault", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000000006", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000004" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000010096": { + "contractName": "BridgedERC20", + "storage": {}, + "code": "0x608060405260043610610233575f3560e01c806370a0823111610129578063a77f1516116100a8578063dd62ed3e1161006d578063dd62ed3e14610684578063e07baba6146106a3578063e30c3978146106e2578063f12506c1146106ff578063f2fde38b14610713575f80fd5b8063a77f1516146105e7578063a86f9d9e14610608578063a9059cbb14610627578063b8f2e0c514610646578063bb86ef9314610665575f80fd5b80638456cb59116100ee5780638456cb591461056f5780638abf6077146105835780638da5cb5b1461059757806395d89b41146105b4578063a457c2d7146105c8575f80fd5b806370a08231146104d3578063715018a61461050757806379ba50971461051b5780637cf8ed0d1461052f5780637e4746341461054f575f80fd5b806339509351116101b557806342966c681161017a57806342966c681461045757806349d12605146104765780634f1ef2861461048c57806352d1902d1461049f5780635c975abb146104b3575f80fd5b806339509351146103af5780633ab76e9f146103ce5780633eb6b8cf146104055780633f4ba83a1461042457806340c10f1914610438575f80fd5b806323b872dd116101fb57806323b872dd146102ea57806326afaadd146103095780633075db561461034d578063313ce567146103615780633659cfe61461038e575f80fd5b806301ffc9a71461023757806306fdde031461026b578063095ea7b31461028c5780630ae74548146102ab57806318160ddd146102cc575b5f80fd5b348015610242575f80fd5b5061025661025136600461222e565b610732565b60405190151581526020015b60405180910390f35b348015610276575f80fd5b5061027f6107d4565b6040516102629190612277565b348015610297575f80fd5b506102566102a63660046122bd565b610864565b3480156102b6575f80fd5b5061012f5461025690600160a01b900460ff1681565b3480156102d7575f80fd5b5060fd545b604051908152602001610262565b3480156102f5575f80fd5b506102566103043660046122e7565b61087b565b348015610314575f80fd5b5061032e61012d5461012e546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610262565b348015610358575f80fd5b5061025661089e565b34801561036c575f80fd5b5061012d54600160a01b900460ff165b60405160ff9091168152602001610262565b348015610399575f80fd5b506103ad6103a8366004612325565b6108b2565b005b3480156103ba575f80fd5b506102566103c93660046122bd565b610982565b3480156103d9575f80fd5b506097546103ed906001600160a01b031681565b6040516001600160a01b039091168152602001610262565b348015610410575f80fd5b506103ed61041f366004612354565b6109a3565b34801561042f575f80fd5b506103ad6109b7565b348015610443575f80fd5b506103ad6104523660046122bd565b6109cb565b348015610462575f80fd5b506103ad61047136600461239b565b610ae1565b348015610481575f80fd5b506102dc61012e5481565b6103ad61049a3660046123c6565b610c1a565b3480156104aa575f80fd5b506102dc610ccf565b3480156104be575f80fd5b5061025660c954610100900460ff1660021490565b3480156104de575f80fd5b506102dc6104ed366004612325565b6001600160a01b03165f90815260fb602052604090205490565b348015610512575f80fd5b506103ad610d80565b348015610526575f80fd5b506103ad610d91565b34801561053a575f80fd5b5061012d546103ed906001600160a01b031681565b34801561055a575f80fd5b5061012f546103ed906001600160a01b031681565b34801561057a575f80fd5b506103ad610e08565b34801561058e575f80fd5b506103ed610e1b565b3480156105a2575f80fd5b506033546001600160a01b03166103ed565b3480156105bf575f80fd5b5061027f610e29565b3480156105d3575f80fd5b506102566105e23660046122bd565b610e38565b3480156105f2575f80fd5b5061012d5461037c90600160a01b900460ff1681565b348015610613575f80fd5b506103ed610622366004612484565b610eb2565b348015610632575f80fd5b506102566106413660046122bd565b610ec5565b348015610651575f80fd5b506103ad6106603660046124ae565b610ed2565b348015610670575f80fd5b506103ad61067f36600461251d565b61104b565b34801561068f575f80fd5b506102dc61069e3660046125e0565b61120b565b3480156106ae575f80fd5b5060c9546106c99062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610262565b3480156106ed575f80fd5b506065546001600160a01b03166103ed565b34801561070a575f80fd5b50610256611235565b34801561071e575f80fd5b506103ad61072d366004612325565b611260565b5f6001600160e01b0319821663093e326b60e21b148061076257506001600160e01b0319821663bb86ef9360e01b145b8061077d57506001600160e01b0319821663b8f2e0c560e01b145b8061079857506001600160e01b031982166336372b0760e01b145b806107b357506001600160e01b0319821663a219a02560e01b145b806107ce57506001600160e01b031982166301ffc9a760e01b145b92915050565b606060fe80546107e390612617565b80601f016020809104026020016040519081016040528092919081815260200182805461080f90612617565b801561085a5780601f106108315761010080835404028352916020019161085a565b820191905f5260205f20905b81548152906001019060200180831161083d57829003601f168201915b5050505050905090565b5f336108718185856112d1565b5060019392505050565b5f336108888582856113f4565b61089385858561146c565b506001949350505050565b5f60026108a9611620565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000100961630036109035760405162461bcd60e51b81526004016108fa9061264f565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000100966001600160a01b031661093561165f565b6001600160a01b03161461095b5760405162461bcd60e51b81526004016108fa9061269b565b6109648161167a565b604080515f8082526020820190925261097f91839190611682565b50565b5f33610871818585610994838361120b565b61099e91906126e7565b6112d1565b5f6109af8484846117ec565b949350505050565b6109bf6118df565b6109c9335f611970565b565b6109df60c954610100900460ff1660021490565b156109fd5760405163bae6e2a960e01b815260040160405180910390fd5b6002610a07611620565b60ff1603610a285760405163dfc60d8560e01b815260040160405180910390fd5b610a326002611978565b610a3a611235565b15610a585760405163270bf77560e01b815260040160405180910390fd5b61012f546001600160a01b031633819003610abf57826001600160a01b0316816001600160a01b03167fe502aa3e015149f4b76a0b2b5394e3100903c4af27c3ddc98385395d3f55252684604051610ab291815260200190565b60405180910390a3610ac8565b610ac8336119c0565b610ad28383611a3c565b50610add6001611978565b5050565b610af560c954610100900460ff1660021490565b15610b135760405163bae6e2a960e01b815260040160405180910390fd5b6002610b1d611620565b60ff1603610b3e5760405163dfc60d8560e01b815260040160405180910390fd5b610b486002611978565b610b50611235565b15610bfd5761012f546040518281526001600160a01b0390911690339082907f638edf84937fb2534b47cac985ea84d6ea4f4076315b56ea1c784d26b87e2bcb9060200160405180910390a36040516340c10f1960e01b8152336004820152602481018390526001600160a01b038216906340c10f19906044015f604051808303815f87803b158015610be1575f80fd5b505af1158015610bf3573d5f803e3d5ffd5b5050505050610c06565b610c06336119c0565b610c103382611b06565b61097f6001611978565b6001600160a01b037f0000000000000000000000000167000000000000000000000000000000010096163003610c625760405162461bcd60e51b81526004016108fa9061264f565b7f00000000000000000000000001670000000000000000000000000000000100966001600160a01b0316610c9461165f565b6001600160a01b031614610cba5760405162461bcd60e51b81526004016108fa9061269b565b610cc38261167a565b610add82826001611682565b5f306001600160a01b037f00000000000000000000000001670000000000000000000000000000000100961614610d6e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108fa565b505f805160206128aa83398151915290565b610d88611c43565b6109c95f611c9d565b60655433906001600160a01b03168114610dff5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016108fa565b61097f81611c9d565b610e10611cb6565b6109c9336001611970565b5f610e2461165f565b905090565b606060ff80546107e390612617565b5f3381610e45828661120b565b905083811015610ea55760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108fa565b61089382868684036112d1565b5f610ebe4684846117ec565b9392505050565b5f3361087181858561146c565b610ee660c954610100900460ff1660021490565b15610f045760405163bae6e2a960e01b815260040160405180910390fd5b6a195c98cc8c17dd985d5b1d60aa1b610f1e816001610eb2565b6001600160a01b0316336001600160a01b031614610f4f57604051630d85cccf60e11b815260040160405180910390fd5b6002610f59611620565b60ff1603610f7a5760405163dfc60d8560e01b815260040160405180910390fd5b610f846002611978565b61012f546001600160a01b038481169116148015610fb5575061012f60149054906101000a900460ff161515821515145b15610fd35760405163c118d2f360e01b815260040160405180910390fd5b61012f80546001600160a01b0385166001600160a81b03199091168117600160a01b851515908102919091179092556040805191825260208201929092527fa6b6f959792843a48d9d03d13595f2de7c86ae0ce12ef0fa759dd911b205e565910160405180910390a16110466001611978565b505050565b5f54610100900460ff161580801561106957505f54600160ff909116105b806110825750303b15801561108257505f5460ff166001145b6110e55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108fa565b5f805460ff191660011790558015611106575f805461ff0019166101001790555b6111108888611d27565b61111a8a8a611d63565b61118b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611d9d92505050565b61012d805461012e89905560ff8816600160a01b026001600160a81b03199091166001600160a01b038b161717905580156111ff575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b039182165f90815260fc6020908152604080832093909416825291909152205490565b61012f545f906001600160a01b031615801590610e2457505061012f54600160a01b900460ff161590565b611268611c43565b606580546001600160a01b0383166001600160a01b031990911681179091556112996033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b0383166113335760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108fa565b6001600160a01b0382166113945760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108fa565b6001600160a01b038381165f81815260fc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6113ff848461120b565b90505f19811461146657818110156114595760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108fa565b61146684848484036112d1565b50505050565b6001600160a01b0383166114d05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108fa565b6001600160a01b0382166115325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108fa565b61153d838383611dcd565b6001600160a01b0383165f90815260fb6020526040902054818110156115b45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108fa565b6001600160a01b038085165f81815260fb602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116139086815260200190565b60405180910390a3611466565b5f61162a46611e08565b1561165557507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f805160206128aa833981519152546001600160a01b031690565b61097f611c43565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156116b55761104683611e35565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561170f575060408051601f3d908101601f1916820190925261170c91810190612706565b60015b6117725760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108fa565b5f805160206128aa83398151915281146117e05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108fa565b50611046838383611ed0565b6097545f906001600160a01b03168061181857604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561186b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188f919061271d565b9150821580156118a657506001600160a01b038216155b156118d757604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016108fa565b509392505050565b6118f360c954610100900460ff1660021490565b6119105760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610add611c43565b61198146611e08565b156119ac57807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6a195c98cc8c17dd985d5b1d60aa1b6119e16033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015611a1e5750611a08816001610eb2565b6001600160a01b0316336001600160a01b031614155b15610add57604051630d85cccf60e11b815260040160405180910390fd5b6001600160a01b038216611a925760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108fa565b611a9d5f8383611dcd565b8060fd5f828254611aae91906126e7565b90915550506001600160a01b0382165f81815260fb60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216611b665760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108fa565b611b71825f83611dcd565b6001600160a01b0382165f90815260fb602052604090205481811015611be45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108fa565b6001600160a01b0383165f81815260fb60209081526040808320868603905560fd80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6033546001600160a01b031633146109c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fa565b606580546001600160a01b031916905561097f81611ef4565b611cca60c954610100900460ff1660021490565b15611ce85760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611966565b6001600160a01b0382161580611d3b575080155b80611d4557504681145b15610add5760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611d8b5760405163538ba4f960e01b815260040160405180910390fd5b611d9483611f45565b61104682611fa3565b5f54610100900460ff16611dc35760405162461bcd60e51b81526004016108fa90612738565b610add8282612014565b611de160c954610100900460ff1660021490565b15611dff5760405163bae6e2a960e01b815260040160405180910390fd5b61104682612053565b5f6001821480611e19575061426882145b80611e26575062aa36a782145b806107ce57506107ce8261207c565b6001600160a01b0381163b611ea25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108fa565b5f805160206128aa83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ed983612093565b5f82511180611ee55750805b156110465761146683836120d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16611f6b5760405162461bcd60e51b81526004016108fa90612738565b611f736120f7565b611f916001600160a01b03821615611f8b5781611c9d565b33611c9d565b5060c9805461ff001916610100179055565b5f54610100900460ff16611fc95760405162461bcd60e51b81526004016108fa90612738565b67ffffffffffffffff461115611ff25760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff1661203a5760405162461bcd60e51b81526004016108fa90612738565b60fe61204683826127ce565b5060ff61104682826127ce565b306001600160a01b0382160361097f57604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156107ce575050617e90101590565b61209c81611e35565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610ebe83836040518060600160405280602781526020016128ca6027913961211d565b5f54610100900460ff166109c95760405162461bcd60e51b81526004016108fa90612738565b60605f80856001600160a01b031685604051612139919061288e565b5f60405180830381855af49150503d805f8114612171576040519150601f19603f3d011682016040523d82523d5f602084013e612176565b606091505b509150915061218786838387612191565b9695505050505050565b606083156121ff5782515f036121f8576001600160a01b0385163b6121f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108fa565b50816109af565b6109af83838151156122145781518083602001fd5b8060405162461bcd60e51b81526004016108fa9190612277565b5f6020828403121561223e575f80fd5b81356001600160e01b031981168114610ebe575f80fd5b5f5b8381101561226f578181015183820152602001612257565b50505f910152565b602081525f8251806020840152612295816040850160208701612255565b601f01601f19169190910160400192915050565b6001600160a01b038116811461097f575f80fd5b5f80604083850312156122ce575f80fd5b82356122d9816122a9565b946020939093013593505050565b5f805f606084860312156122f9575f80fd5b8335612304816122a9565b92506020840135612314816122a9565b929592945050506040919091013590565b5f60208284031215612335575f80fd5b8135610ebe816122a9565b8035801515811461234f575f80fd5b919050565b5f805f60608486031215612366575f80fd5b833567ffffffffffffffff8116811461237d575f80fd5b92506020840135915061239260408501612340565b90509250925092565b5f602082840312156123ab575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156123d7575f80fd5b82356123e2816122a9565b9150602083013567ffffffffffffffff808211156123fe575f80fd5b818501915085601f830112612411575f80fd5b813581811115612423576124236123b2565b604051601f8201601f19908116603f0116810190838211818310171561244b5761244b6123b2565b81604052828152886020848701011115612463575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215612495575f80fd5b823591506124a560208401612340565b90509250929050565b5f80604083850312156124bf575f80fd5b82356124ca816122a9565b91506124a560208401612340565b5f8083601f8401126124e8575f80fd5b50813567ffffffffffffffff8111156124ff575f80fd5b602083019150836020828501011115612516575f80fd5b9250929050565b5f805f805f805f805f60e08a8c031215612535575f80fd5b8935612540816122a9565b985060208a0135612550816122a9565b975060408a0135612560816122a9565b965060608a0135955060808a013560ff8116811461257c575f80fd5b945060a08a013567ffffffffffffffff80821115612598575f80fd5b6125a48d838e016124d8565b909650945060c08c01359150808211156125bc575f80fd5b506125c98c828d016124d8565b915080935050809150509295985092959850929598565b5f80604083850312156125f1575f80fd5b82356125fc816122a9565b9150602083013561260c816122a9565b809150509250929050565b600181811c9082168061262b57607f821691505b60208210810361264957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b808201808211156107ce57634e487b7160e01b5f52601160045260245ffd5b5f60208284031215612716575f80fd5b5051919050565b5f6020828403121561272d575f80fd5b8151610ebe816122a9565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b601f82111561104657805f5260205f20601f840160051c810160208510156127a85750805b601f840160051c820191505b818110156127c7575f81556001016127b4565b5050505050565b815167ffffffffffffffff8111156127e8576127e86123b2565b6127fc816127f68454612617565b84612783565b602080601f83116001811461282f575f84156128185750858301515b5f19600386901b1c1916600185901b178555612886565b5f85815260208120601f198616915b8281101561285d5788860151825594840194600190910190840161283e565b508582101561287a57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f825161289f818460208701612255565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e71efa9d5f866b742d3a26addbacfbfd103eaf91f295f46862cb9770e13bc53764736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000010097": { + "contractName": "BridgedERC721", + "storage": {}, + "code": "0x608060405260043610610207575f3560e01c80636352211e11610113578063a22cb4651161009d578063e07baba61161006d578063e07baba6146105c3578063e30c397814610600578063e985e9c51461061d578063ef8c4ae614610665578063f2fde38b14610684575f80fd5b8063a22cb46514610547578063a86f9d9e14610566578063b88d4fde14610585578063c87b56dd146105a4575f80fd5b80637cf8ed0d116100e35780637cf8ed0d146104ce5780638456cb59146104ee5780638abf6077146105025780638da5cb5b1461051657806395d89b4114610533575f80fd5b80636352211e1461046857806370a0823114610487578063715018a6146104a657806379ba5097146104ba575f80fd5b80633eb6b8cf1161019457806342966c681161016457806342966c68146103de57806349d12605146103fd5780634f1ef2861461042157806352d1902d146104345780635c975abb14610448575f80fd5b80633eb6b8cf1461036d5780633f4ba83a1461038c57806340c10f19146103a057806342842e0e146103bf575f80fd5b806323b872dd116101da57806323b872dd146102b857806326afaadd146102d75780633075db561461031b5780633659cfe61461032f5780633ab76e9f1461034e575f80fd5b806301ffc9a71461020b57806306fdde031461023f578063081812fc14610260578063095ea7b314610297575b5f80fd5b348015610216575f80fd5b5061022a6102253660046125e5565b6106a3565b60405190151581526020015b60405180910390f35b34801561024a575f80fd5b506102536106e8565b604051610236919061264d565b34801561026b575f80fd5b5061027f61027a36600461265f565b610779565b6040516001600160a01b039091168152602001610236565b3480156102a2575f80fd5b506102b66102b136600461268a565b61079f565b005b3480156102c3575f80fd5b506102b66102d23660046126b4565b6108b8565b3480156102e2575f80fd5b506102fc61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610236565b348015610326575f80fd5b5061022a6108e9565b34801561033a575f80fd5b506102b66103493660046126f2565b6108fd565b348015610359575f80fd5b5060975461027f906001600160a01b031681565b348015610378575f80fd5b5061027f610387366004612721565b6109c4565b348015610397575f80fd5b506102b66109d8565b3480156103ab575f80fd5b506102b66103ba36600461268a565b6109ec565b3480156103ca575f80fd5b506102b66103d93660046126b4565b610ab3565b3480156103e9575f80fd5b506102b66103f836600461265f565b610acd565b348015610408575f80fd5b506104136101605481565b604051908152602001610236565b6102b661042f366004612803565b610bc8565b34801561043f575f80fd5b50610413610c7d565b348015610453575f80fd5b5061022a60c954610100900460ff1660021490565b348015610473575f80fd5b5061027f61048236600461265f565b610d2e565b348015610492575f80fd5b506104136104a13660046126f2565b610d8e565b3480156104b1575f80fd5b506102b6610e13565b3480156104c5575f80fd5b506102b6610e24565b3480156104d9575f80fd5b5061015f5461027f906001600160a01b031681565b3480156104f9575f80fd5b506102b6610e9b565b34801561050d575f80fd5b5061027f610eae565b348015610521575f80fd5b506033546001600160a01b031661027f565b34801561053e575f80fd5b50610253610ebc565b348015610552575f80fd5b506102b661056136600461284f565b610ecc565b348015610571575f80fd5b5061027f610580366004612882565b610ed7565b348015610590575f80fd5b506102b661059f3660046128a3565b610eea565b3480156105af575f80fd5b506102536105be36600461265f565b610f22565b3480156105ce575f80fd5b5060c9546105e8906201000090046001600160401b031681565b6040516001600160401b039091168152602001610236565b34801561060b575f80fd5b506065546001600160a01b031661027f565b348015610628575f80fd5b5061022a61063736600461290a565b6001600160a01b039182165f9081526101326020908152604080832093909416825291909152205460ff1690565b348015610670575f80fd5b506102b661067f366004612985565b610f4b565b34801561068f575f80fd5b506102b661069e3660046126f2565b6110fd565b5f6001600160e01b0319821663093e326b60e21b14806106d357506001600160e01b031982166377c6257360e11b145b806106e257506106e28261116e565b92915050565b606061012d80546106f890612a2e565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612a2e565b801561076f5780601f106107465761010080835404028352916020019161076f565b820191905f5260205f20905b81548152906001019060200180831161075257829003601f168201915b5050505050905090565b5f610783826111bd565b505f90815261013160205260409020546001600160a01b031690565b5f6107a982610d2e565b9050806001600160a01b0316836001600160a01b03160361081b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061083757506108378133610637565b6108a95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610812565b6108b3838361121c565b505050565b6108c2338261128a565b6108de5760405162461bcd60e51b815260040161081290612a66565b6108b3838383611307565b5f60026108f4611479565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000100971630036109455760405162461bcd60e51b815260040161081290612ab3565b7f00000000000000000000000001670000000000000000000000000000000100976001600160a01b03166109776114b8565b6001600160a01b03161461099d5760405162461bcd60e51b815260040161081290612aff565b6109a6816114d3565b604080515f808252602082019092526109c1918391906114db565b50565b5f6109d0848484611645565b949350505050565b6109e0611736565b6109ea335f6117c6565b565b610a0060c954610100900460ff1660021490565b15610a1e5760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610a39816001610ed7565b6001600160a01b0316336001600160a01b031614610a6a57604051630d85cccf60e11b815260040160405180910390fd5b6002610a74611479565b60ff1603610a955760405163dfc60d8560e01b815260040160405180910390fd5b610a9f60026117ce565b610aa98383611816565b6108b360016117ce565b6108b383838360405180602001604052805f815250610eea565b610ae160c954610100900460ff1660021490565b15610aff5760405163bae6e2a960e01b815260040160405180910390fd5b6b195c98cdcc8c57dd985d5b1d60a21b610b1a816001610ed7565b6001600160a01b0316336001600160a01b031614610b4b57604051630d85cccf60e11b815260040160405180910390fd5b6002610b55611479565b60ff1603610b765760405163dfc60d8560e01b815260040160405180910390fd5b610b8060026117ce565b33610b8a83610d2e565b6001600160a01b031614610bb15760405163358bf3d960e01b815260040160405180910390fd5b610bba8261182f565b610bc460016117ce565b5050565b6001600160a01b037f0000000000000000000000000167000000000000000000000000000000010097163003610c105760405162461bcd60e51b815260040161081290612ab3565b7f00000000000000000000000001670000000000000000000000000000000100976001600160a01b0316610c426114b8565b6001600160a01b031614610c685760405162461bcd60e51b815260040161081290612aff565b610c71826114d3565b610bc4828260016114db565b5f306001600160a01b037f00000000000000000000000001670000000000000000000000000000000100971614610d1c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610812565b505f80516020612ebd83398151915290565b5f81815261012f60205260408120546001600160a01b0316806106e25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f6001600160a01b038216610df75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610812565b506001600160a01b03165f908152610130602052604090205490565b610e1b6118d1565b6109ea5f61192b565b60655433906001600160a01b03168114610e925760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610812565b6109c18161192b565b610ea3611944565b6109ea3360016117c6565b5f610eb76114b8565b905090565b606061012e80546106f890612a2e565b610bc43383836119b5565b5f610ee3468484611645565b9392505050565b610ef4338361128a565b610f105760405162461bcd60e51b815260040161081290612a66565b610f1c84848484611a83565b50505050565b61015f54610160546060916106e2916001600160a01b0390911690610f4685611ab6565b611b45565b5f54610100900460ff1615808015610f6957505f54600160ff909116105b80610f825750303b158015610f8257505f5460ff166001145b610fe55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610812565b5f805460ff191660011790558015611006575f805461ff0019166101001790555b6110108787611b8f565b61101a8989611bcb565b61108b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284375f92019190915250611c0592505050565b61015f80546001600160a01b0319166001600160a01b03891617905561016086905580156110f2575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6111056118d1565b606580546001600160a01b0383166001600160a01b031990911681179091556111366033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b031982166380ac58cd60e01b148061119e57506001600160e01b03198216635b5e139f60e01b145b806106e257506301ffc9a760e01b6001600160e01b03198316146106e2565b5f81815261012f60205260409020546001600160a01b03166109c15760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610812565b5f8181526101316020526040902080546001600160a01b0319166001600160a01b038416908117909155819061125182610d2e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f8061129583610d2e565b9050806001600160a01b0316846001600160a01b031614806112dc57506001600160a01b038082165f908152610132602090815260408083209388168352929052205460ff165b806109d05750836001600160a01b03166112f584610779565b6001600160a01b031614949350505050565b826001600160a01b031661131a82610d2e565b6001600160a01b0316146113405760405162461bcd60e51b815260040161081290612b4b565b6001600160a01b0382166113a25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610812565b6113af8383836001611c35565b826001600160a01b03166113c282610d2e565b6001600160a01b0316146113e85760405162461bcd60e51b815260040161081290612b4b565b5f8181526101316020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652610130855283862080545f190190559087168086528386208054600101905586865261012f90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f61148346611c75565b156114ae57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020612ebd833981519152546001600160a01b031690565b6109c16118d1565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561150e576108b383611ca2565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611568575060408051601f3d908101601f1916820190925261156591810190612b90565b60015b6115cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610812565b5f80516020612ebd83398151915281146116395760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610812565b506108b3838383611d3d565b6097545f906001600160a01b03168061167157604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156116c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e79190612ba7565b9150821580156116fe57506001600160a01b038216155b1561172e57604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610812565b509392505050565b61174a60c954610100900460ff1660021490565b6117675760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610bc46118d1565b6117d746611c75565b1561180257807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b610bc4828260405180602001604052805f815250611d61565b5f61183982610d2e565b9050611848815f846001611c35565b61185182610d2e565b5f8381526101316020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552610130845282852080545f1901905587855261012f909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6033546001600160a01b031633146109ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610812565b606580546001600160a01b03191690556109c181611d93565b61195860c954610100900460ff1660021490565b156119765760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016117bc565b816001600160a01b0316836001600160a01b031603611a165760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610812565b6001600160a01b038381165f8181526101326020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a8e848484611307565b611a9a84848484611de4565b610f1c5760405162461bcd60e51b815260040161081290612bc2565b60605f611ac283611ee1565b60010190505f816001600160401b03811115611ae057611ae0612767565b6040519080825280601f01601f191660200182016040528015611b0a576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b1457509392505050565b6060611b5b846001600160a01b03166014611fb8565b611b6484611ab6565b83604051602001611b7793929190612c14565b60405160208183030381529060405290509392505050565b6001600160a01b0382161580611ba3575080155b80611bad57504681145b15610bc45760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611bf35760405163538ba4f960e01b815260040160405180910390fd5b611bfc8361214d565b6108b3826121ab565b5f54610100900460ff16611c2b5760405162461bcd60e51b815260040161081290612c98565b610bc4828261221b565b611c4960c954610100900460ff1660021490565b15611c675760405163bae6e2a960e01b815260040160405180910390fd5b611c708361225c565b610f1c565b5f6001821480611c86575061426882145b80611c93575062aa36a782145b806106e257506106e282612285565b6001600160a01b0381163b611d0f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610812565b5f80516020612ebd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611d468361229c565b5f82511180611d525750805b156108b357610f1c83836122db565b611d6b8383612300565b611d775f848484611de4565b6108b35760405162461bcd60e51b815260040161081290612bc2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6001600160a01b0384163b15611ed657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e27903390899088908890600401612ce3565b6020604051808303815f875af1925050508015611e61575060408051601f3d908101601f19168201909252611e5e91810190612d15565b60015b611ebc573d808015611e8e576040519150601f19603f3d011682016040523d82523d5f602084013e611e93565b606091505b5080515f03611eb45760405162461bcd60e51b815260040161081290612bc2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506109d0565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611f1f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611f4b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611f6957662386f26fc10000830492506010015b6305f5e1008310611f81576305f5e100830492506008015b6127108310611f9557612710830492506004015b60648310611fa7576064830492506002015b600a83106106e25760010192915050565b60605f611fc6836002612d44565b611fd1906002612d5b565b6001600160401b03811115611fe857611fe8612767565b6040519080825280601f01601f191660200182016040528015612012576020820181803683370190505b509050600360fc1b815f8151811061202c5761202c612d6e565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061205a5761205a612d6e565b60200101906001600160f81b03191690815f1a9053505f61207c846002612d44565b612087906001612d5b565b90505b60018111156120fe576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120bb576120bb612d6e565b1a60f81b8282815181106120d1576120d1612d6e565b60200101906001600160f81b03191690815f1a90535060049490941c936120f781612d82565b905061208a565b508315610ee35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610812565b5f54610100900460ff166121735760405162461bcd60e51b815260040161081290612c98565b61217b612499565b6121996001600160a01b03821615612193578161192b565b3361192b565b5060c9805461ff001916610100179055565b5f54610100900460ff166121d15760405162461bcd60e51b815260040161081290612c98565b6001600160401b034611156121f95760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f54610100900460ff166122415760405162461bcd60e51b815260040161081290612c98565b61012d61224e8382612de2565b5061012e6108b38282612de2565b306001600160a01b038216036109c157604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156106e2575050617e90101590565b6122a581611ca2565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610ee38383604051806060016040528060278152602001612edd602791396124bf565b6001600160a01b0382166123565760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610812565b5f81815261012f60205260409020546001600160a01b0316156123bb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b6123c85f83836001611c35565b5f81815261012f60205260409020546001600160a01b03161561242d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610812565b6001600160a01b0382165f818152610130602090815260408083208054600101905584835261012f90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f54610100900460ff166109ea5760405162461bcd60e51b815260040161081290612c98565b60605f80856001600160a01b0316856040516124db9190612ea1565b5f60405180830381855af49150503d805f8114612513576040519150601f19603f3d011682016040523d82523d5f602084013e612518565b606091505b509150915061252986838387612533565b9695505050505050565b606083156125a15782515f0361259a576001600160a01b0385163b61259a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610812565b50816109d0565b6109d083838151156125b65781518083602001fd5b8060405162461bcd60e51b8152600401610812919061264d565b6001600160e01b0319811681146109c1575f80fd5b5f602082840312156125f5575f80fd5b8135610ee3816125d0565b5f5b8381101561261a578181015183820152602001612602565b50505f910152565b5f8151808452612639816020860160208601612600565b601f01601f19169290920160200192915050565b602081525f610ee36020830184612622565b5f6020828403121561266f575f80fd5b5035919050565b6001600160a01b03811681146109c1575f80fd5b5f806040838503121561269b575f80fd5b82356126a681612676565b946020939093013593505050565b5f805f606084860312156126c6575f80fd5b83356126d181612676565b925060208401356126e181612676565b929592945050506040919091013590565b5f60208284031215612702575f80fd5b8135610ee381612676565b8035801515811461271c575f80fd5b919050565b5f805f60608486031215612733575f80fd5b83356001600160401b0381168114612749575f80fd5b92506020840135915061275e6040850161270d565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261278a575f80fd5b81356001600160401b03808211156127a4576127a4612767565b604051601f8301601f19908116603f011681019082821181831017156127cc576127cc612767565b816040528381528660208588010111156127e4575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f8060408385031215612814575f80fd5b823561281f81612676565b915060208301356001600160401b03811115612839575f80fd5b6128458582860161277b565b9150509250929050565b5f8060408385031215612860575f80fd5b823561286b81612676565b91506128796020840161270d565b90509250929050565b5f8060408385031215612893575f80fd5b823591506128796020840161270d565b5f805f80608085870312156128b6575f80fd5b84356128c181612676565b935060208501356128d181612676565b92506040850135915060608501356001600160401b038111156128f2575f80fd5b6128fe8782880161277b565b91505092959194509250565b5f806040838503121561291b575f80fd5b823561292681612676565b9150602083013561293681612676565b809150509250929050565b5f8083601f840112612951575f80fd5b5081356001600160401b03811115612967575f80fd5b60208301915083602082850101111561297e575f80fd5b9250929050565b5f805f805f805f8060c0898b03121561299c575f80fd5b88356129a781612676565b975060208901356129b781612676565b965060408901356129c781612676565b95506060890135945060808901356001600160401b03808211156129e9575f80fd5b6129f58c838d01612941565b909650945060a08b0135915080821115612a0d575f80fd5b50612a1a8b828c01612941565b999c989b5096995094979396929594505050565b600181811c90821680612a4257607f821691505b602082108103612a6057634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b5f60208284031215612ba0575f80fd5b5051919050565b5f60208284031215612bb7575f80fd5b8151610ee381612676565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6832ba3432b932bab69d60b91b81525f8451612c37816009850160208901612600565b600160fe1b6009918401918201528451612c5881600a840160208901612600565b712f746f6b656e5552493f75696e743235363d60701b600a92909101918201528351612c8b81601c840160208801612600565b01601c0195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061252990830184612622565b5f60208284031215612d25575f80fd5b8151610ee3816125d0565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106e2576106e2612d30565b808201808211156106e2576106e2612d30565b634e487b7160e01b5f52603260045260245ffd5b5f81612d9057612d90612d30565b505f190190565b601f8211156108b357805f5260205f20601f840160051c81016020851015612dbc5750805b601f840160051c820191505b81811015612ddb575f8155600101612dc8565b5050505050565b81516001600160401b03811115612dfb57612dfb612767565b612e0f81612e098454612a2e565b84612d97565b602080601f831160018114612e42575f8415612e2b5750858301515b5f19600386901b1c1916600185901b178555612e99565b5f85815260208120601f198616915b82811015612e7057888601518255948401946001909101908401612e51565b5085821015612e8d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8251612eb2818460208701612600565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f8380e7fb2b66a246c9f54dba067ba35eb6d37cdb1f1a8347242f8a4292bc664736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000010098": { + "contractName": "BridgedERC1155", + "storage": {}, + "code": "0x6080604052600436106101e5575f3560e01c8063715018a611610108578063a86f9d9e1161009d578063e30c39781161006d578063e30c39781461056f578063e985e9c51461058c578063ef8c4ae6146105d4578063f242432a146105f3578063f2fde38b14610612575f80fd5b8063a86f9d9e146104d5578063b390c0ab146104f4578063d81d0a1514610513578063e07baba614610532575f80fd5b80638abf6077116100d85780638abf6077146104715780638da5cb5b1461048557806395d89b41146104a2578063a22cb465146104b6575f80fd5b8063715018a61461041557806379ba5097146104295780637cf8ed0d1461043d5780638456cb591461045d575f80fd5b80633ab76e9f1161017e5780634e1273f41161014e5780634e1273f4146103a25780634f1ef286146103ce57806352d1902d146103e15780635c975abb146103f5575f80fd5b80633ab76e9f146103225780633eb6b8cf146103595780633f4ba83a1461037857806349d126051461038c575f80fd5b806326afaadd116101b957806326afaadd1461028a5780632eb2c2d6146102ce5780633075db56146102ef5780633659cfe614610303575f80fd5b8062fdd58e146101e957806301ffc9a71461021b57806306fdde031461024a5780630e89341c1461026b575b5f80fd5b3480156101f4575f80fd5b50610208610203366004612749565b610631565b6040519081526020015b60405180910390f35b348015610226575f80fd5b5061023a610235366004612788565b6106cb565b6040519015158152602001610212565b348015610255575f80fd5b5061025e61070a565b60405161021291906127f0565b348015610276575f80fd5b5061025e610285366004612802565b610797565b348015610295575f80fd5b506102af61015f54610160546001600160a01b0390911691565b604080516001600160a01b039093168352602083019190915201610212565b3480156102d9575f80fd5b506102ed6102e836600461295d565b61082a565b005b3480156102fa575f80fd5b5061023a610876565b34801561030e575f80fd5b506102ed61031d366004612a03565b61088a565b34801561032d575f80fd5b50609754610341906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b348015610364575f80fd5b50610341610373366004612a32565b610951565b348015610383575f80fd5b506102ed610965565b348015610397575f80fd5b506102086101605481565b3480156103ad575f80fd5b506103c16103bc366004612a78565b610979565b6040516102129190612b78565b6102ed6103dc366004612b8a565b610a98565b3480156103ec575f80fd5b50610208610b51565b348015610400575f80fd5b5061023a60c954610100900460ff1660021490565b348015610420575f80fd5b506102ed610c03565b348015610434575f80fd5b506102ed610c14565b348015610448575f80fd5b5061015f54610341906001600160a01b031681565b348015610468575f80fd5b506102ed610c8b565b34801561047c575f80fd5b50610341610c9e565b348015610490575f80fd5b506033546001600160a01b0316610341565b3480156104ad575f80fd5b5061025e610cac565b3480156104c1575f80fd5b506102ed6104d0366004612bcc565b610cba565b3480156104e0575f80fd5b506103416104ef366004612bff565b610cc5565b3480156104ff575f80fd5b506102ed61050e366004612c20565b610cd8565b34801561051e575f80fd5b506102ed61052d366004612c87565b610da6565b34801561053d575f80fd5b5060c954610557906201000090046001600160401b031681565b6040516001600160401b039091168152602001610212565b34801561057a575f80fd5b506065546001600160a01b0316610341565b348015610597575f80fd5b5061023a6105a6366004612d03565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205460ff1690565b3480156105df575f80fd5b506102ed6105ee366004612d77565b610ee6565b3480156105fe575f80fd5b506102ed61060d366004612e20565b611066565b34801561061d575f80fd5b506102ed61062c366004612a03565b6110ab565b5f6001600160a01b0383166106a05760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b505f81815261012d602090815260408083206001600160a01b03861684529091529020545b92915050565b5f6001600160e01b03198216634d22606360e01b14806106fb57506001600160e01b031982166377c6257360e11b145b806106c557506106c58261111c565b610162805461071890612e83565b80601f016020809104026020016040519081016040528092919081815260200182805461074490612e83565b801561078f5780601f106107665761010080835404028352916020019161078f565b820191905f5260205f20905b81548152906001019060200180831161077257829003601f168201915b505050505081565b606061012f80546107a790612e83565b80601f01602080910402602001604051908101604052809291908181526020018280546107d390612e83565b801561081e5780601f106107f55761010080835404028352916020019161081e565b820191905f5260205f20905b81548152906001019060200180831161080157829003601f168201915b50505050509050919050565b6001600160a01b038516331480610846575061084685336105a6565b6108625760405162461bcd60e51b815260040161069790612ebb565b61086f858585858561116b565b5050505050565b5f6002610881611306565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000100981630036108d25760405162461bcd60e51b815260040161069790612f09565b7f00000000000000000000000001670000000000000000000000000000000100986001600160a01b0316610904611345565b6001600160a01b03161461092a5760405162461bcd60e51b815260040161069790612f55565b61093381611360565b604080515f8082526020820190925261094e91839190611368565b50565b5f61095d8484846114d2565b949350505050565b61096d6115bb565b610977335f61164b565b565b606081518351146109de5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610697565b5f83516001600160401b038111156109f8576109f8612819565b604051908082528060200260200182016040528015610a21578160200160208202803683370190505b5090505f5b8451811015610a9057610a6b858281518110610a4457610a44612fa1565b6020026020010151858381518110610a5e57610a5e612fa1565b6020026020010151610631565b828281518110610a7d57610a7d612fa1565b6020908102919091010152600101610a26565b509392505050565b6001600160a01b037f0000000000000000000000000167000000000000000000000000000000010098163003610ae05760405162461bcd60e51b815260040161069790612f09565b7f00000000000000000000000001670000000000000000000000000000000100986001600160a01b0316610b12611345565b6001600160a01b031614610b385760405162461bcd60e51b815260040161069790612f55565b610b4182611360565b610b4d82826001611368565b5050565b5f306001600160a01b037f00000000000000000000000001670000000000000000000000000000000100981614610bf05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610697565b505f805160206135858339815191525b90565b610c0b61164f565b6109775f6116a9565b60655433906001600160a01b03168114610c825760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610697565b61094e816116a9565b610c936116c2565b61097733600161164b565b5f610ca7611345565b905090565b610161805461071890612e83565b610b4d338383611733565b5f610cd14684846114d2565b9392505050565b610cec60c954610100900460ff1660021490565b15610d0a5760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610d26816001610cc5565b6001600160a01b0316336001600160a01b031614610d5757604051630d85cccf60e11b815260040160405180910390fd5b6002610d61611306565b60ff1603610d825760405163dfc60d8560e01b815260040160405180910390fd5b610d8c6002611813565b610d9733848461185b565b610da16001611813565b505050565b610dba60c954610100900460ff1660021490565b15610dd85760405163bae6e2a960e01b815260040160405180910390fd5b6c195c98cc4c4d4d57dd985d5b1d609a1b610df4816001610cc5565b6001600160a01b0316336001600160a01b031614610e2557604051630d85cccf60e11b815260040160405180910390fd5b6002610e2f611306565b60ff1603610e505760405163dfc60d8560e01b815260040160405180910390fd5b610e5a6002611813565b610ed4868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020808a028281018201909352898252909350899250889182918501908490808284375f920182905250604080516020810190915290815292506119ef915050565b610ede6001611813565b505050505050565b5f54610100900460ff1615808015610f0457505f54600160ff909116105b80610f1d5750303b158015610f1d57505f5460ff166001145b610f805760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610697565b5f805460ff191660011790558015610fa1575f805461ff0019166101001790555b610fab8787611b71565b610fb58989611bad565b610fd6610fd1888860405180602001604052805f815250611be7565b611c31565b61015f80546001600160a01b0319166001600160a01b038916179055610160869055610161611006858783612ff9565b50610162611015838583612ff9565b50801561105b575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b6001600160a01b038516331480611082575061108285336105a6565b61109e5760405162461bcd60e51b815260040161069790612ebb565b61086f8585858585611c60565b6110b361164f565b606580546001600160a01b0383166001600160a01b031990911681179091556110e46033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f6001600160e01b03198216636cdb3d1360e11b148061114c57506001600160e01b031982166303a24d0760e21b145b806106c557506301ffc9a760e01b6001600160e01b03198316146106c5565b815183511461118c5760405162461bcd60e51b8152600401610697906130b2565b6001600160a01b0384166111b25760405162461bcd60e51b8152600401610697906130fa565b336111c1818787878787611d8f565b5f5b84518110156112a0575f8582815181106111df576111df612fa1565b602002602001015190505f8583815181106111fc576111fc612fa1565b6020908102919091018101515f84815261012d835260408082206001600160a01b038e16835290935291909120549091508181101561124d5760405162461bcd60e51b81526004016106979061313f565b5f83815261012d602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061128c90849061319d565b9091555050600190930192506111c3915050565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516112f09291906131b0565b60405180910390a4610ede818787878787611dcf565b5f61131046611f29565b1561133b57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020613585833981519152546001600160a01b031690565b61094e61164f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561139b57610da183611f56565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156113f5575060408051601f3d908101601f191682019092526113f2918101906131dd565b60015b6114585760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610697565b5f8051602061358583398151915281146114c65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610697565b50610da1838383611ff1565b6097545f906001600160a01b0316806114fe57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611550573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157491906131f4565b91508215801561158b57506001600160a01b038216155b15610a9057604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610697565b6115cf60c954610100900460ff1660021490565b6115ec5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610b4d5b6033546001600160a01b031633146109775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b606580546001600160a01b031916905561094e8161201b565b6116d660c954610100900460ff1660021490565b156116f45760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611641565b816001600160a01b0316836001600160a01b0316036117a65760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610697565b6001600160a01b038381165f81815261012e6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61181c46611f29565b1561184757807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6001600160a01b0383166118bd5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610697565b335f6118c88461206c565b90505f6118d48461206c565b90506118f283875f858560405180602001604052805f815250611d8f565b5f85815261012d602090815260408083206001600160a01b038a168452909152902054848110156119715760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610697565b5f86815261012d602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091525f90525b50505050505050565b6001600160a01b038416611a4f5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610697565b8151835114611a705760405162461bcd60e51b8152600401610697906130b2565b33611a7f815f87878787611d8f565b5f5b8451811015611b0b57838181518110611a9c57611a9c612fa1565b602002602001015161012d5f878481518110611aba57611aba612fa1565b602002602001015181526020019081526020015f205f886001600160a01b03166001600160a01b031681526020019081526020015f205f828254611afe919061319d565b9091555050600101611a81565b50846001600160a01b03165f6001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611b5b9291906131b0565b60405180910390a461086f815f87878787611dcf565b6001600160a01b0382161580611b85575080155b80611b8f57504681145b15610b4d5760405163c118d2f360e01b815260040160405180910390fd5b806001600160a01b038116611bd55760405163538ba4f960e01b815260040160405180910390fd5b611bde836120b5565b610da182612113565b6060611bfd846001600160a01b03166014612183565b611c0684612318565b83604051602001611c199392919061320f565b60405160208183030381529060405290509392505050565b5f54610100900460ff16611c575760405162461bcd60e51b815260040161069790613293565b61094e816123a7565b6001600160a01b038416611c865760405162461bcd60e51b8152600401610697906130fa565b335f611c918561206c565b90505f611c9d8561206c565b9050611cad838989858589611d8f565b5f86815261012d602090815260408083206001600160a01b038c16845290915290205485811015611cf05760405162461bcd60e51b81526004016106979061313f565b5f87815261012d602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611d2f90849061319d565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461105b848a8a8a8a8a6123d6565b611da360c954610100900460ff1660021490565b15611dc15760405163bae6e2a960e01b815260040160405180910390fd5b611dca84612490565b610ede565b6001600160a01b0384163b15610ede5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611e1390899089908890889088906004016132de565b6020604051808303815f875af1925050508015611e4d575060408051601f3d908101601f19168201909252611e4a9181019061333b565b60015b611ef957611e59613356565b806308c379a003611e925750611e6d61336e565b80611e785750611e94565b8060405162461bcd60e51b815260040161069791906127f0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610697565b6001600160e01b0319811663bc197c8160e01b146119e65760405162461bcd60e51b8152600401610697906133f6565b5f6001821480611f3a575061426882145b80611f47575062aa36a782145b806106c557506106c5826124b9565b6001600160a01b0381163b611fc35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610697565b5f8051602061358583398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ffa836124d0565b5f825111806120065750805b15610da157612015838361250f565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106120a4576120a4612fa1565b602090810291909101015292915050565b5f54610100900460ff166120db5760405162461bcd60e51b815260040161069790613293565b6120e3612534565b6121016001600160a01b038216156120fb57816116a9565b336116a9565b5060c9805461ff001916610100179055565b5f54610100900460ff166121395760405162461bcd60e51b815260040161069790613293565b6001600160401b034611156121615760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b60605f61219183600261343e565b61219c90600261319d565b6001600160401b038111156121b3576121b3612819565b6040519080825280601f01601f1916602001820160405280156121dd576020820181803683370190505b509050600360fc1b815f815181106121f7576121f7612fa1565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061222557612225612fa1565b60200101906001600160f81b03191690815f1a9053505f61224784600261343e565b61225290600161319d565b90505b60018111156122c9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061228657612286612fa1565b1a60f81b82828151811061229c5761229c612fa1565b60200101906001600160f81b03191690815f1a90535060049490941c936122c281613455565b9050612255565b508315610cd15760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610697565b60605f6123248361255a565b60010190505f816001600160401b0381111561234257612342612819565b6040519080825280601f01601f19166020018201604052801561236c576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461237657509392505050565b5f54610100900460ff166123cd5760405162461bcd60e51b815260040161069790613293565b61094e81612631565b6001600160a01b0384163b15610ede5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061241a908990899088908890889060040161346a565b6020604051808303815f875af1925050508015612454575060408051601f3d908101601f191682019092526124519181019061333b565b60015b61246057611e59613356565b6001600160e01b0319811663f23a6e6160e01b146119e65760405162461bcd60e51b8152600401610697906133f6565b306001600160a01b0382160361094e57604051630c292c9d60e21b815260040160405180910390fd5b5f617e2c82101580156106c5575050617e90101590565b6124d981611f56565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610cd183836040518060600160405280602781526020016135a56027913961263e565b5f54610100900460ff166109775760405162461bcd60e51b815260040161069790613293565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106125985772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106125c4576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106125e257662386f26fc10000830492506010015b6305f5e10083106125fa576305f5e100830492506008015b612710831061260e57612710830492506004015b60648310612620576064830492506002015b600a83106106c55760010192915050565b61012f610b4d82826134ae565b60605f80856001600160a01b03168560405161265a9190613569565b5f60405180830381855af49150503d805f8114612692576040519150601f19603f3d011682016040523d82523d5f602084013e612697565b606091505b50915091506126a8868383876126b2565b9695505050505050565b606083156127205782515f03612719576001600160a01b0385163b6127195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610697565b508161095d565b61095d8383815115611e785781518083602001fd5b6001600160a01b038116811461094e575f80fd5b5f806040838503121561275a575f80fd5b823561276581612735565b946020939093013593505050565b6001600160e01b03198116811461094e575f80fd5b5f60208284031215612798575f80fd5b8135610cd181612773565b5f5b838110156127bd5781810151838201526020016127a5565b50505f910152565b5f81518084526127dc8160208601602086016127a3565b601f01601f19169290920160200192915050565b602081525f610cd160208301846127c5565b5f60208284031215612812575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b038111828210171561285257612852612819565b6040525050565b5f6001600160401b0382111561287157612871612819565b5060051b60200190565b5f82601f83011261288a575f80fd5b8135602061289782612859565b6040516128a4828261282d565b80915083815260208101915060208460051b8701019350868411156128c7575f80fd5b602086015b848110156128e357803583529183019183016128cc565b509695505050505050565b5f82601f8301126128fd575f80fd5b81356001600160401b0381111561291657612916612819565b60405161292d601f8301601f19166020018261282d565b818152846020838601011115612941575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215612971575f80fd5b853561297c81612735565b9450602086013561298c81612735565b935060408601356001600160401b03808211156129a7575f80fd5b6129b389838a0161287b565b945060608801359150808211156129c8575f80fd5b6129d489838a0161287b565b935060808801359150808211156129e9575f80fd5b506129f6888289016128ee565b9150509295509295909350565b5f60208284031215612a13575f80fd5b8135610cd181612735565b80358015158114612a2d575f80fd5b919050565b5f805f60608486031215612a44575f80fd5b83356001600160401b0381168114612a5a575f80fd5b925060208401359150612a6f60408501612a1e565b90509250925092565b5f8060408385031215612a89575f80fd5b82356001600160401b0380821115612a9f575f80fd5b818501915085601f830112612ab2575f80fd5b81356020612abf82612859565b604051612acc828261282d565b83815260059390931b8501820192828101915089841115612aeb575f80fd5b948201945b83861015612b12578535612b0381612735565b82529482019490820190612af0565b96505086013592505080821115612b27575f80fd5b50612b348582860161287b565b9150509250929050565b5f815180845260208085019450602084015f5b83811015612b6d57815187529582019590820190600101612b51565b509495945050505050565b602081525f610cd16020830184612b3e565b5f8060408385031215612b9b575f80fd5b8235612ba681612735565b915060208301356001600160401b03811115612bc0575f80fd5b612b34858286016128ee565b5f8060408385031215612bdd575f80fd5b8235612be881612735565b9150612bf660208401612a1e565b90509250929050565b5f8060408385031215612c10575f80fd5b82359150612bf660208401612a1e565b5f8060408385031215612c31575f80fd5b50508035926020909101359150565b5f8083601f840112612c50575f80fd5b5081356001600160401b03811115612c66575f80fd5b6020830191508360208260051b8501011115612c80575f80fd5b9250929050565b5f805f805f60608688031215612c9b575f80fd5b8535612ca681612735565b945060208601356001600160401b0380821115612cc1575f80fd5b612ccd89838a01612c40565b90965094506040880135915080821115612ce5575f80fd5b50612cf288828901612c40565b969995985093965092949392505050565b5f8060408385031215612d14575f80fd5b8235612d1f81612735565b91506020830135612d2f81612735565b809150509250929050565b5f8083601f840112612d4a575f80fd5b5081356001600160401b03811115612d60575f80fd5b602083019150836020828501011115612c80575f80fd5b5f805f805f805f8060c0898b031215612d8e575f80fd5b8835612d9981612735565b97506020890135612da981612735565b96506040890135612db981612735565b95506060890135945060808901356001600160401b0380821115612ddb575f80fd5b612de78c838d01612d3a565b909650945060a08b0135915080821115612dff575f80fd5b50612e0c8b828c01612d3a565b999c989b5096995094979396929594505050565b5f805f805f60a08688031215612e34575f80fd5b8535612e3f81612735565b94506020860135612e4f81612735565b9350604086013592506060860135915060808601356001600160401b03811115612e77575f80fd5b6129f6888289016128ee565b600181811c90821680612e9757607f821691505b602082108103612eb557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b601f821115610da157805f5260205f20601f840160051c81016020851015612fda5750805b601f840160051c820191505b8181101561086f575f8155600101612fe6565b6001600160401b0383111561301057613010612819565b6130248361301e8354612e83565b83612fb5565b5f601f841160018114613055575f851561303e5750838201355b5f19600387901b1c1916600186901b17835561086f565b5f83815260208120601f198716915b828110156130845786850135825560209485019460019092019101613064565b50868210156130a0575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106c5576106c5613189565b604081525f6131c26040830185612b3e565b82810360208401526131d48185612b3e565b95945050505050565b5f602082840312156131ed575f80fd5b5051919050565b5f60208284031215613204575f80fd5b8151610cd181612735565b6832ba3432b932bab69d60b91b81525f84516132328160098501602089016127a3565b600160fe1b600991840191820152845161325381600a8401602089016127a3565b712f746f6b656e5552493f75696e743235363d60701b600a9290910191820152835161328681601c8401602088016127a3565b01601c0195945050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190525f9061330990830186612b3e565b828103606084015261331b8186612b3e565b9050828103608084015261332f81856127c5565b98975050505050505050565b5f6020828403121561334b575f80fd5b8151610cd181612773565b5f60033d1115610c005760045f803e505f5160e01c90565b5f60443d101561337b5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156133aa57505050505090565b82850191508151818111156133c25750505050505090565b843d87010160208285010111156133dc5750505050505090565b6133eb6020828601018761282d565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b80820281158282048414176106c5576106c5613189565b5f8161346357613463613189565b505f190190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f906134a3908301846127c5565b979650505050505050565b81516001600160401b038111156134c7576134c7612819565b6134db816134d58454612e83565b84612fb5565b602080601f83116001811461350e575f84156134f75750858301515b5f19600386901b1c1916600185901b178555610ede565b5f85815260208120601f198616915b8281101561353c5788860151825594840194600190910190840161351d565b508582101561355957878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f825161357a8184602087016127a3565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122055e37acbf3a5af2b54294b59ba55be8878c05b123be43328bf9a1e511ae6410164736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000000005": { + "contractName": "SignalServiceImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x6080604052600436106101c5575f3560e01c806379ba5097116100f2578063a86f9d9e11610092578063e30c397811610062578063e30c39781461052f578063f09a40161461054c578063f2fde38b1461056b578063fe9fbb801461058a575f80fd5b8063a86f9d9e1461048e578063ce9d0820146104ad578063dfc8ff1d146104cc578063e07baba61461050a575f80fd5b80638da5cb5b116100cd5780638da5cb5b14610414578063910af6ed1461043157806391f3f74b146104505780639b527cfa1461046f575f80fd5b806379ba5097146103d85780638456cb59146103ec5780638abf607714610400575f80fd5b80633eb6b8cf1161016857806352d1902d1161013857806352d1902d146103715780635c975abb1461038557806366ca2bc0146103a5578063715018a6146103c4575f80fd5b80633eb6b8cf146102fe5780633f4ba83a1461031d5780634f1ef286146103315780634f90a67414610344575f80fd5b8063355bcc3d116101a3578063355bcc3d146102325780633659cfe6146102895780633ab76e9f146102a85780633ced0e08146102df575f80fd5b80632d1fb389146101c95780633075db56146101ea57806332676bc614610213575b5f80fd5b3480156101d4575f80fd5b506101e86101e3366004613ad5565b6105b8565b005b3480156101f5575f80fd5b506101fe61065e565b60405190151581526020015b60405180910390f35b34801561021e575f80fd5b506101fe61022d366004613b08565b610672565b34801561023d575f80fd5b5061027161024c366004613b48565b60fb60209081525f92835260408084209091529082529020546001600160401b031681565b6040516001600160401b03909116815260200161020a565b348015610294575f80fd5b506101e86102a3366004613b62565b610688565b3480156102b3575f80fd5b506097546102c7906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b3480156102ea575f80fd5b506101fe6102f9366004613b7d565b610758565b348015610309575f80fd5b506102c7610318366004613bbe565b61079f565b348015610328575f80fd5b506101e86107b5565b6101e861033f366004613cce565b6107c9565b34801561034f575f80fd5b5061036361035e366004613b7d565b610882565b60405190815260200161020a565b34801561037c575f80fd5b506103636108c8565b348015610390575f80fd5b506101fe60c954610100900460ff1660021490565b3480156103b0575f80fd5b506103636103bf366004613d1a565b610979565b3480156103cf575f80fd5b506101e8610985565b3480156103e3575f80fd5b506101e8610996565b3480156103f7575f80fd5b506101e8610a0d565b34801561040b575f80fd5b506102c7610a20565b34801561041f575f80fd5b506033546001600160a01b03166102c7565b34801561043c575f80fd5b5061036361044b366004613d31565b610a2e565b34801561045b575f80fd5b5061036361046a366004613dc5565b610afe565b34801561047a575f80fd5b50610363610489366004613e01565b610b69565b348015610499575f80fd5b506102c76104a8366004613e31565b610b95565b3480156104b8575f80fd5b506101e86104c7366004613d31565b610ba1565b3480156104d7575f80fd5b506104eb6104e6366004613e01565b610bb7565b604080516001600160401b03909316835260208301919091520161020a565b348015610515575f80fd5b5060c954610271906201000090046001600160401b031681565b34801561053a575f80fd5b506065546001600160a01b03166102c7565b348015610557575f80fd5b506101e8610566366004613e52565b610c4b565b348015610576575f80fd5b506101e8610585366004613b62565b610d5a565b348015610595575f80fd5b506101fe6105a4366004613b62565b60fc6020525f908152604090205460ff1681565b6105c0610dcb565b6001600160a01b0382165f90815260fc602052604090205481151560ff909116151503610600576040516398f26f4560e01b815260040160405180910390fd5b6001600160a01b0382165f81815260fc6020908152604091829020805460ff191685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b5f6002610669610e25565b60ff1614905090565b5f61067d8383610e64565b151590505b92915050565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000000051630036106d95760405162461bcd60e51b81526004016106d090613e89565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000000056001600160a01b031661070b610ec6565b6001600160a01b0316146107315760405162461bcd60e51b81526004016106d090613ed5565b61073a81610ee1565b604080515f8082526020820190925261075591839190610ee9565b50565b5f8180820361077a5760405163ec73295960e01b815260040160405180910390fd5b5f610786878787610b69565b9050836107933083610e64565b14979650505050505050565b5f6107ab848484611053565b90505b9392505050565b6107bd611144565b6107c7335f6111d4565b565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000000051630036108115760405162461bcd60e51b81526004016106d090613e89565b7f00000000000000000000000001670000000000000000000000000000000000056001600160a01b0316610843610ec6565b6001600160a01b0316146108695760405162461bcd60e51b81526004016106d090613ed5565b61087282610ee1565b61087e82826001610ee9565b5050565b335f90815260fc602052604081205460ff166108b157604051631f67751f60e01b815260040160405180910390fd5b6108bd858585856111ed565b90505b949350505050565b5f306001600160a01b037f000000000000000000000000016700000000000000000000000000000000000516146109675760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d0565b505f805160206144e883398151915290565b5f6106823383846112cf565b61098d610dcb565b6107c75f6113a8565b60655433906001600160a01b03168114610a045760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016106d0565b610755816113a8565b610a156113c1565b6107c73360016111d4565b5f610a29610ec6565b905090565b5f610a4360c954610100900460ff1660021490565b15610a615760405163bae6e2a960e01b815260040160405180910390fd5b6002610a6b610e25565b60ff1603610a8c5760405163dfc60d8560e01b815260040160405180910390fd5b610a966002611432565b5f610aa68787878787600161147a565b90505f5b8151811015610ae957610ad5828281518110610ac857610ac8613f21565b6020026020010151611936565b610adf9084613f49565b9250600101610aaa565b5050610af56001611432565b95945050505050565b6040516514d251d3905360d21b60208201526001600160c01b031960c085901b1660268201526bffffffffffffffffffffffff19606084901b16602e820152604281018290525f906062015b6040516020818303038152906040528051906020012090509392505050565b604080516001600160401b03808616602083015291810184905290821660608201525f90608001610b4a565b5f6107ae468484611053565b610baf85858585855f61147a565b505050505050565b5f80826001600160401b03165f03610bf3576001600160401b038086165f90815260fb6020908152604080832088845290915290205416610bf5565b825b91506001600160401b03821615610c43575f610c12868685610b69565b9050610c1e3082610e64565b91505f829003610c415760405163738afa0560e01b815260040160405180910390fd5b505b935093915050565b5f54610100900460ff1615808015610c6957505f54600160ff909116105b80610c825750303b158015610c8257505f5460ff166001145b610ce55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106d0565b5f805460ff191660011790558015610d06575f805461ff0019166101001790555b610d108383611a7a565b8015610d55575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610d62610dcb565b606580546001600160a01b0383166001600160a01b03199091168117909155610d936033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146107c75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d0565b5f610e2f46611ab4565b15610e5a57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f826001600160a01b038116610e8d5760405163538ba4f960e01b815260040160405180910390fd5b825f819003610eaf5760405163ec73295960e01b815260040160405180910390fd5b5f610ebb468787610afe565b549695505050505050565b5f805160206144e8833981519152546001600160a01b031690565b610755610dcb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f1c57610d5583611ae1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f76575060408051601f3d908101601f19168201909252610f7391810190613f5c565b60015b610fd95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106d0565b5f805160206144e883398151915281146110475760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106d0565b50610d55838383611b7c565b6097545f906001600160a01b03168061107f57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156110d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f59190613f73565b91508215801561110c57506001600160a01b038216155b1561113c57604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016106d0565b509392505050565b61115860c954610100900460ff1660021490565b6111755760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b5f6111f9858585610b69565b90506112063082846112cf565b506001600160401b038581165f90815260fb6020908152604080832088845290915290205481851691161015611270576001600160401b038581165f90815260fb602090815260408083208884529091529020805467ffffffffffffffff19169185169190911790555b83836001600160401b0316866001600160401b03167fde247c825b1fb2d7ff9e0e771cba6f9e757ad04479fcdc135d88ae91fd50b37d85856040516112bf929190918252602082015260400190565b60405180910390a4949350505050565b5f836001600160a01b0381166112f85760405163538ba4f960e01b815260040160405180910390fd5b835f81900361131a5760405163ec73295960e01b815260040160405180910390fd5b835f81900361133c5760405163ec73295960e01b815260040160405180910390fd5b611347468888610afe565b858155604080516001600160a01b038a16815260208101899052908101829052606081018790529094507f0ad2d108660a211f47bf7fb43a0443cae181624995d3d42b88ee6879d200e9739060800160405180910390a15050509392505050565b606580546001600160a01b031916905561075581611ba6565b6113d560c954610100900460ff1660021490565b156113f35760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016111ca565b61143b46611ab4565b1561146657807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6060856001600160a01b0381166114a45760405163538ba4f960e01b815260040160405180910390fd5b855f8190036114c65760405163ec73295960e01b815260040160405180910390fd5b5f6114d38688018861403d565b905080515f036114f657604051630b92daef60e21b815260040160405180910390fd5b5f60018251611505919061417b565b6001600160401b0381111561151c5761151c613bf7565b604051908082528060200260200182016040528015611545578160200160208202803683370190505b50905085156115d85781516001600160401b0381111561156757611567613bf7565b6040519080825280602002602001820160405280156115d457816020015b6115c16040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a081018290529060c082015290565b8152602001906001900390816115855790505b5094505b8a8a8a805f6115f9856d7369676e616c5f7365727669636560901b8361079f565b9050306001600160a01b0382160361162457604051637556223560e11b815260040160405180910390fd5b61165c6040805160c0810182525f80825260208201819052918101829052906060820190815260200160608152602001606081525090565b5f805f805b8b518110156118ea578b818151811061167c5761167c613f21565b602002602001015194505f5b818110156116e657855f01516001600160401b03168c82815181106116af576116af613f21565b60200260200101516001600160401b0316036116de576040516348362c2760e11b815260040160405180910390fd5b600101611688565b506116f58a8a8a8a898b611bf7565b93508a518114915081156117355784516001600160401b0316461461172d576040516338bf822760e21b815260040160405180910390fd5b3095506117e0565b845f01518b828151811061174b5761174b613f21565b6001600160401b0392831660209182029290920101528551161580611779575084516001600160401b031646145b1561179757604051637556223560e11b815260040160405180910390fd5b84516117b5906d7369676e616c5f7365727669636560901b5f61079f565b9550306001600160a01b038716036117e057604051637556223560e11b815260040160405180910390fd5b608085015151151592508f15611874576040518060e00160405280866040015181526020018581526020018b6001600160401b0316815260200186602001516001600160401b0316815260200184151581526020018315158152602001866060015160038111156118535761185361418e565b8152508f828151811061186857611868613f21565b60200260200101819052505b6118cf8a846118a3577fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf56118c5565b7f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1695b8760200151610b69565b604086015186519b5096995097509495508794600101611661565b5085158061190157506118fd3088610e64565b8614155b1561191f5760405163738afa0560e01b815260040160405180910390fd5b505050505050505050505050509695505050505050565b5f8060038360c0015160038111156119505761195061418e565b1480611971575060028360c00151600381111561196f5761196f61418e565b145b9050808015611981575082608001515b801561198f57508260a00151155b156119d157600191506119cf83604001517f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da1698560600151865f01516111ed565b505b5f60038460c0015160038111156119ea576119ea61418e565b1480611a0b575060018460c001516003811115611a0957611a0961418e565b145b9050808015611a275750836080015180611a2757508360a00151155b15611a7357611a37600184613f49565b9250611a7184604001517fc6cdc4f2acf13acb10f410085b821f7b7113b303e9a4799023f928317396aaf5866060015187602001516111ed565b505b5050919050565b806001600160a01b038116611aa25760405163538ba4f960e01b815260040160405180910390fd5b611aab83611c96565b610d5582611cf4565b5f6001821480611ac5575061426882145b80611ad2575062aa36a782145b80610682575061068282611d64565b6001600160a01b0381163b611b4e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106d0565b5f805160206144e883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b8583611d7b565b5f82511180611b915750805b15610d5557611ba08383611dba565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f856001600160a01b038116611c205760405163538ba4f960e01b815260040160405180910390fd5b855f819003611c425760405163ec73295960e01b815260040160405180910390fd5b855f819003611c645760405163ec73295960e01b815260040160405180910390fd5b611c88866040015186611c788d8d8d610afe565b8a8a608001518b60a00151611ddf565b9a9950505050505050505050565b5f54610100900460ff16611cbc5760405162461bcd60e51b81526004016106d0906141a2565b611cc4611eec565b611ce26001600160a01b03821615611cdc57816113a8565b336113a8565b5060c9805461ff001916610100179055565b5f54610100900460ff16611d1a5760405162461bcd60e51b81526004016106d0906141a2565b6001600160401b03461115611d425760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f617e2c8210158015610682575050617e90101590565b611d8481611ae1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606107ae838360405180606001604052806027815260200161450860279139611f12565b5f82515f14611e87576040516bffffffffffffffffffffffff19606088901b1660208201525f90611e2390603401604051602081830303815290604052858a611f86565b905080515f03611e4657604051630414cd5b60e31b815260040160405180910390fd5b5f611e5082611f9f565b9050611e7581600281518110611e6857611e68613f21565b6020026020010151611fb2565b611e7e906141ed565b92505050611e8a565b50855b5f611ec186604051602001611ea191815260200190565b60408051601f19818403018152919052611eba876120d2565b85856120e5565b905080611ee157604051638d9a4db360e01b815260040160405180910390fd5b509695505050505050565b5f54610100900460ff166107c75760405162461bcd60e51b81526004016106d0906141a2565b60605f80856001600160a01b031685604051611f2e9190614235565b5f60405180830381855af49150503d805f8114611f66576040519150601f19603f3d011682016040523d82523d5f602084013e611f6b565b606091505b5091509150611f7c868383876120fe565b9695505050505050565b60605f611f9285612176565b9050610af58185856121a8565b6060610682611fad83612a15565b612a66565b60605f805f611fc085612c83565b919450925090505f816001811115611fda57611fda61418e565b1461204d5760405162461bcd60e51b815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d0000000000000060648201526084016106d0565b6120578284613f49565b8551146120c35760405162461bcd60e51b815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527330b71034b73b30b634b2103932b6b0b4b73232b960611b60648201526084016106d0565b610af58560200151848461332a565b60606106826120e0836133ba565b6134cd565b5f806120f086612176565b9050611f7c81868686613525565b6060831561216c5782515f03612165576001600160a01b0385163b6121655760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d0565b50816108c0565b6108c0838361354b565b6060818051906020012060405160200161219291815260200190565b6040516020818303038152906040529050919050565b60605f8451116121f25760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b60448201526064016106d0565b5f6121fc84613575565b90505f61220886613658565b90505f8460405160200161221e91815260200190565b60405160208183030381529060405290505f805b84518110156129be575f85828151811061224e5761224e613f21565b6020026020010151905084518311156122c05760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b60648201526084016106d0565b825f0361235e578051805160209182012060405161230d926122e792910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6123595760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f74206861736800000060448201526064016106d0565b612454565b8051516020116123e45780518051602091820120604051612388926122e792910190815260200190565b6123595760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b60648201526084016106d0565b8051845160208087019190912082519190920120146124545760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b60648201526084016106d0565b61246060106001613f49565b816020015151036125f857845183036125925761248d8160200151601081518110611e6857611e68613f21565b96505f8751116125055760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e636829000000000060648201526084016106d0565b60018651612513919061417b565b82146125875760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e63682900000000000060648201526084016106d0565b5050505050506107ae565b5f8584815181106125a5576125a5613f21565b602001015160f81c60f81b60f81c90505f82602001518260ff16815181106125cf576125cf613f21565b602002602001015190506125e2816136b9565b95506125ef600186613f49565b945050506129b5565b60028160200151510361295c575f61260f826136dd565b90505f815f8151811061262457612624613f21565b016020015160f81c90505f61263a600283614264565b612645906002614285565b90505f612655848360ff16613700565b90505f6126628a89613700565b90505f61266f8383613735565b9050808351146126e75760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b657900000000000060648201526084016106d0565b60ff8516600214806126fc575060ff85166003145b1561289c57808251146127775760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e64657200000060648201526084016106d0565b6127918760200151600181518110611e6857611e68613f21565b9c505f8d51116128095760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c656166290000000000000060648201526084016106d0565b60018c51612817919061417b565b881461288b5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c65616629000000000000000060648201526084016106d0565b5050505050505050505050506107ae565b60ff851615806128af575060ff85166001145b156128ee576128db87602001516001815181106128ce576128ce613f21565b60200260200101516136b9565b99506128e7818a613f49565b9850612951565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b60648201526084016106d0565b5050505050506129b5565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b60648201526084016106d0565b50600101612232565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b60648201526084016106d0565b604080518082019091525f80825260208201525f825111612a485760405162461bcd60e51b81526004016106d09061429e565b50604080518082019091528151815260209182019181019190915290565b60605f805f612a7485612c83565b919450925090506001816001811115612a8f57612a8f61418e565b14612b025760405162461bcd60e51b815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d000000000000000060648201526084016106d0565b8451612b0e8385613f49565b14612b765760405162461bcd60e51b815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e76616044820152713634b2103230ba30903932b6b0b4b73232b960711b60648201526084016106d0565b604080516020808252610420820190925290816020015b604080518082019091525f8082526020820152815260200190600190039081612b8d5790505093505f835b8651811015612c77575f80612bfc6040518060400160405280858c5f0151612be0919061417b565b8152602001858c60200151612bf59190613f49565b9052612c83565b509150915060405180604001604052808383612c189190613f49565b8152602001848b60200151612c2d9190613f49565b815250888581518110612c4257612c42613f21565b6020908102919091010152612c58600185613f49565b9350612c648183613f49565b612c6e9084613f49565b92505050612bb8565b50845250919392505050565b5f805f80845f015111612ca85760405162461bcd60e51b81526004016106d09061429e565b602084015180515f1a607f8111612cca575f60015f9450945094505050613323565b60b78111612e23575f612cde60808361417b565b905080875f015111612d5c5760405162461bcd60e51b815260206004820152604e60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201526d2873686f727420737472696e672960901b608482015260a4016106d0565b6001838101516001600160f81b0319169082141580612d895750600160ff1b6001600160f81b0319821610155b612e115760405162461bcd60e51b815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201526c73686f727420737472696e672960981b608482015260a4016106d0565b506001955093505f9250613323915050565b60bf811161305c575f612e3760b78361417b565b905080875f015111612eb85760405162461bcd60e51b815260206004820152605160248201525f805160206144c883398151915260448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527067746820286c6f6e6720737472696e672960781b608482015260a4016106d0565b60018301516001600160f81b0319165f819003612f3d5760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152696e6720737472696e672960b01b608482015260a4016106d0565b600184015160088302610100031c60378111612fbf5760405162461bcd60e51b815260206004820152604860248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201526720737472696e672960c01b608482015260a4016106d0565b612fc98184613f49565b8951116130405760405162461bcd60e51b815260206004820152604c60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201526b6c6f6e6720737472696e672960a01b608482015260a4016106d0565b61304b836001613f49565b975095505f94506133239350505050565b60f781116130fb575f61307060c08361417b565b905080875f0151116130ea5760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e206c697374206c656e677468202873606482015269686f7274206c6973742960b01b608482015260a4016106d0565b600195509350849250613323915050565b5f61310760f78361417b565b905080875f0151116131845760405162461bcd60e51b815260206004820152604d60248201525f805160206144c883398151915260448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201526c6820286c6f6e67206c6973742960981b608482015260a4016106d0565b60018301516001600160f81b0319165f8190036132075760405162461bcd60e51b815260206004820152604860248201525f805160206144c883398151915260448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f6064820152676e67206c6973742960c01b608482015260a4016106d0565b600184015160088302610100031c603781116132875760405162461bcd60e51b815260206004820152604660248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20353520627974657320286c6f6e67606482015265206c6973742960d01b608482015260a4016106d0565b6132918184613f49565b8951116133065760405162461bcd60e51b815260206004820152604a60248201525f805160206144c883398151915260448201527f742062652067726561746572207468616e20746f74616c206c656e67746820286064820152696c6f6e67206c6973742960b01b608482015260a4016106d0565b613311836001613f49565b97509550600194506133239350505050565b9193909250565b6060816001600160401b0381111561334457613344613bf7565b6040519080825280601f01601f19166020018201604052801561336e576020820181803683370190505b50905081156107ae575f6133828486613f49565b9050602082015f5b848110156133a257828101518282015260200161338a565b848111156133b0575f858301525b5050509392505050565b60605f826040516020016133d091815260200190565b60405160208183030381529060405290505f5b602081101561341b578181815181106133fe576133fe613f21565b01602001516001600160f81b0319165f0361341b576001016133e3565b61342681602061417b565b6001600160401b0381111561343d5761343d613bf7565b6040519080825280601f01601f191660200182016040528015613467576020820181803683370190505b5092505f5b8351811015611a715782826134808161430e565b93508151811061349257613492613f21565b602001015160f81c60f81b8482815181106134af576134af613f21565b60200101906001600160f81b03191690815f1a90535060010161346c565b6060815160011480156134f957506080825f815181106134ef576134ef613f21565b016020015160f81c105b15613502575090565b61350e825160806137b8565b82604051602001612192929190614326565b919050565b5f6108bd846135358786866121a8565b8051602091820120825192909101919091201490565b81511561355b5781518083602001fd5b8060405162461bcd60e51b81526004016106d09190614354565b8051606090806001600160401b0381111561359257613592613bf7565b6040519080825280602002602001820160405280156135d757816020015b60408051808201909152606080825260208201528152602001906001900390816135b05790505b5091505f5b81811015611a7357604051806040016040528085838151811061360157613601613f21565b6020026020010151815260200161363086848151811061362357613623613f21565b6020026020010151611f9f565b81525083828151811061364557613645613f21565b60209081029190910101526001016135dc565b606080604051905082518060011b603f8101601f191683016040528083525060208401602083015f5b838110156136ae578060011b8201818401515f1a8060041c8253600f811660018301535050600101613681565b509295945050505050565b60606020825f0151106136d4576136cf82611fb2565b610682565b6106828261395d565b60606106826136fb83602001515f81518110611e6857611e68613f21565b613658565b60608251821061371e575060408051602081019091525f8152610682565b6107ae8383848651613730919061417b565b613971565b5f80825184511061374757825161374a565b83515b90505b80821080156137a1575082828151811061376957613769613f21565b602001015160f81c60f81b6001600160f81b03191684838151811061379057613790613f21565b01602001516001600160f81b031916145b156137b15781600101915061374d565b5092915050565b6060603883101561381c57604080516001808252818301909252906020820181803683370190505090506137ec8284614386565b60f81b815f8151811061380157613801613f21565b60200101906001600160f81b03191690815f1a905350610682565b5f60015b61382a818661439f565b1561385057816138398161430e565b92506138499050610100826143b2565b9050613820565b61385b826001613f49565b6001600160401b0381111561387257613872613bf7565b6040519080825280601f01601f19166020018201604052801561389c576020820181803683370190505b5092506138a98483614386565b6138b4906037614386565b60f81b835f815181106138c9576138c9613f21565b60200101906001600160f81b03191690815f1a905350600190505b818111613955576101006138f8828461417b565b613904906101006144a9565b61390e908761439f565b61391891906144b4565b60f81b83828151811061392d5761392d613f21565b60200101906001600160f81b03191690815f1a9053508061394d8161430e565b9150506138e4565b505092915050565b606061068282602001515f845f015161332a565b60608182601f0110156139b75760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d0565b8282840110156139fa5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016106d0565b81830184511015613a415760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016106d0565b606082158015613a5f5760405191505f825260208201604052613aa9565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015613a98578051835260209283019201613a80565b5050858452601f01601f1916604052505b50949350505050565b6001600160a01b0381168114610755575f80fd5b80358015158114613520575f80fd5b5f8060408385031215613ae6575f80fd5b8235613af181613ab2565b9150613aff60208401613ac6565b90509250929050565b5f8060408385031215613b19575f80fd5b8235613b2481613ab2565b946020939093013593505050565b80356001600160401b0381168114613520575f80fd5b5f8060408385031215613b59575f80fd5b613b2483613b32565b5f60208284031215613b72575f80fd5b81356107ae81613ab2565b5f805f8060808587031215613b90575f80fd5b613b9985613b32565b935060208501359250613bae60408601613b32565b9396929550929360600135925050565b5f805f60608486031215613bd0575f80fd5b613bd984613b32565b925060208401359150613bee60408501613ac6565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b0381118282101715613c2d57613c2d613bf7565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613c5b57613c5b613bf7565b604052919050565b5f82601f830112613c72575f80fd5b81356001600160401b03811115613c8b57613c8b613bf7565b613c9e601f8201601f1916602001613c33565b818152846020838601011115613cb2575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215613cdf575f80fd5b8235613cea81613ab2565b915060208301356001600160401b03811115613d04575f80fd5b613d1085828601613c63565b9150509250929050565b5f60208284031215613d2a575f80fd5b5035919050565b5f805f805f60808688031215613d45575f80fd5b613d4e86613b32565b94506020860135613d5e81613ab2565b93506040860135925060608601356001600160401b0380821115613d80575f80fd5b818801915088601f830112613d93575f80fd5b813581811115613da1575f80fd5b896020828501011115613db2575f80fd5b9699959850939650602001949392505050565b5f805f60608486031215613dd7575f80fd5b613de084613b32565b92506020840135613df081613ab2565b929592945050506040919091013590565b5f805f60608486031215613e13575f80fd5b613e1c84613b32565b925060208401359150613bee60408501613b32565b5f8060408385031215613e42575f80fd5b82359150613aff60208401613ac6565b5f8060408385031215613e63575f80fd5b8235613e6e81613ab2565b91506020830135613e7e81613ab2565b809150509250929050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561068257610682613f35565b5f60208284031215613f6c575f80fd5b5051919050565b5f60208284031215613f83575f80fd5b81516107ae81613ab2565b5f6001600160401b03821115613fa657613fa6613bf7565b5060051b60200190565b803560048110613520575f80fd5b5f82601f830112613fcd575f80fd5b81356020613fe2613fdd83613f8e565b613c33565b82815260059290921b84018101918181019086841115614000575f80fd5b8286015b84811015611ee15780356001600160401b03811115614021575f80fd5b61402f8986838b0101613c63565b845250918301918301614004565b5f602080838503121561404e575f80fd5b82356001600160401b0380821115614064575f80fd5b818501915085601f830112614077575f80fd5b8135614085613fdd82613f8e565b81815260059190911b830184019084810190888311156140a3575f80fd5b8585015b8381101561416e578035858111156140bd575f80fd5b860160c0818c03601f190112156140d2575f80fd5b6140da613c0b565b6140e5898301613b32565b815260406140f4818401613b32565b8a8301526060808401358284015260809150614111828501613fb0565b9083015260a08381013589811115614127575f80fd5b6141358f8d83880101613fbe565b838501525060c084013591508882111561414d575f80fd5b61415b8e8c84870101613fbe565b90830152508452509186019186016140a7565b5098975050505050505050565b8181038181111561068257610682613f35565b634e487b7160e01b5f52602160045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8051602080830151919081101561420d575f198160200360031b1b821691505b50919050565b5f5b8381101561422d578181015183820152602001614215565b50505f910152565b5f8251614246818460208701614213565b9190910192915050565b634e487b7160e01b5f52601260045260245ffd5b5f60ff83168061427657614276614250565b8060ff84160691505092915050565b60ff828116828216039081111561068257610682613f35565b6020808252604a908201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60408201527f206d7573742062652067726561746572207468616e207a65726f20746f206265606082015269206465636f6461626c6560b01b608082015260a00190565b5f6001820161431f5761431f613f35565b5060010190565b5f8351614337818460208801614213565b83519083019061434b818360208801614213565b01949350505050565b602081525f8251806020840152614372816040850160208701614213565b601f01601f19169190910160400192915050565b60ff818116838216019081111561068257610682613f35565b5f826143ad576143ad614250565b500490565b808202811582820484141761068257610682613f35565b600181815b8085111561440357815f19048211156143e9576143e9613f35565b808516156143f657918102915b93841c93908002906143ce565b509250929050565b5f8261441957506001610682565b8161442557505f610682565b816001811461443b576002811461444557614461565b6001915050610682565b60ff84111561445657614456613f35565b50506001821b610682565b5060208310610133831016604e8410600b8410161715614484575081810a610682565b61448e83836143c9565b805f19048211156144a1576144a1613f35565b029392505050565b5f6107ae838361440b565b5f826144c2576144c2614250565b50069056fe524c505265616465723a206c656e677468206f6620636f6e74656e74206d7573360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205659405515807d049e6589a2728fe0863d5c3072540f53ef4e8701e75661788864736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000000005": { + "contractName": "SignalService", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000000006", + "0xdf3a3dd9c4001d1115304f0841a31ee7b79b184f45ef381343fdf0ae529fbcb4": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000000005" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000010001": { + "contractName": "TaikoL2Impl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x6080604052600436106101c5575f3560e01c80638456cb59116100f2578063c3f909d411610092578063e30c397811610062578063e30c397814610524578063f2fde38b14610541578063f535bd5614610560578063f940e3851461057f575f80fd5b8063c3f909d414610493578063da69d3db146104cb578063dac5df78146104ea578063e07baba6146104ff575f80fd5b80638da5cb5b116100cd5780638da5cb5b146103f65780639ee512f214610413578063a7e022d114610438578063a86f9d9e14610474575f80fd5b80638456cb59146103a35780638551f41e146103b75780638abf6077146103e2575f80fd5b80633eb6b8cf116101685780635950f9f1116101385780635950f9f11461033c5780635c975abb1461035b578063715018a61461037b57806379ba50971461038f575f80fd5b80633eb6b8cf146102e25780633f4ba83a146103015780634f1ef2861461031557806352d1902d14610328575f80fd5b80633075db56116101a35780633075db561461025057806333d5ac9b146102645780633659cfe61461028a5780633ab76e9f146102ab575f80fd5b806312622e5b146101c957806323ac7136146102055780632f98047314610232575b5f80fd5b3480156101d4575f80fd5b5060fe546101e8906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b348015610210575f80fd5b5061022461021f366004611f62565b61059e565b6040519081526020016101fc565b34801561023d575f80fd5b505f5b60405190151581526020016101fc565b34801561025b575f80fd5b506102406105fa565b34801561026f575f80fd5b5060fd546101e890600160401b90046001600160401b031681565b348015610295575f80fd5b506102a96102a4366004611f8f565b61060e565b005b3480156102b6575f80fd5b506097546102ca906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b3480156102ed575f80fd5b506102ca6102fc366004611fbe565b6106de565b34801561030c575f80fd5b506102a96106f2565b6102a961032336600461200f565b610706565b348015610333575f80fd5b506102246107bf565b348015610347575f80fd5b506102a96103563660046120cc565b610870565b348015610366575f80fd5b5061024060c954610100900460ff1660021490565b348015610386575f80fd5b506102a9610a79565b34801561039a575f80fd5b506102a9610a8a565b3480156103ae575f80fd5b506102a9610b01565b3480156103c2575f80fd5b506102246103d1366004612121565b60fb6020525f908152604090205481565b3480156103ed575f80fd5b506102ca610b14565b348015610401575f80fd5b506033546001600160a01b03166102ca565b34801561041e575f80fd5b506102ca71777735367b36bc9b61c50022d9d0700db4ec81565b348015610443575f80fd5b5061045761045236600461214b565b610b22565b604080519283526001600160401b039091166020830152016101fc565b34801561047f575f80fd5b506102ca61048e36600461217c565b610b92565b34801561049e575f80fd5b506104a7610ba7565b60408051825163ffffffff16815260209283015160ff1692810192909252016101fc565b3480156104d6575f80fd5b506102a96104e53660046121aa565b610bd8565b3480156104f5575f80fd5b5061022460fc5481565b34801561050a575f80fd5b5060c9546101e8906201000090046001600160401b031681565b34801561052f575f80fd5b506065546001600160a01b03166102ca565b34801561054c575f80fd5b506102a961055b366004611f8f565b610ea2565b34801561056b575f80fd5b5060fd546101e8906001600160401b031681565b34801561058a575f80fd5b506102a96105993660046121e2565b610f13565b5f43826001600160401b0316106105b657505f919050565b436105c383610100612222565b6001600160401b0316106105df57506001600160401b03164090565b506001600160401b03165f90815260fb602052604090205490565b5f60026106056110ce565b60ff1614905090565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000001000116300361065f5760405162461bcd60e51b815260040161065690612249565b60405180910390fd5b7f00000000000000000000000001670000000000000000000000000000000100016001600160a01b031661069161110d565b6001600160a01b0316146106b75760405162461bcd60e51b815260040161065690612295565b6106c081611128565b604080515f808252602082019092526106db91839190611130565b50565b5f6106ea84848461129a565b949350505050565b6106fa61138b565b610704335f61141b565b565b6001600160a01b037f000000000000000000000000016700000000000000000000000000000001000116300361074e5760405162461bcd60e51b815260040161065690612249565b7f00000000000000000000000001670000000000000000000000000000000100016001600160a01b031661078061110d565b6001600160a01b0316146107a65760405162461bcd60e51b815260040161065690612295565b6107af82611128565b6107bb82826001611130565b5050565b5f306001600160a01b037f0000000000000000000000000167000000000000000000000000000000010001161461085e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610656565b505f805160206124bf83398151915290565b5f54610100900460ff161580801561088e57505f54600160ff909116105b806108a75750303b1580156108a757505f5460ff166001145b61090a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610656565b5f805460ff19166001179055801561092b575f805461ff0019166101001790555b6109358585611423565b6001600160401b0383161580610953575046836001600160401b0316145b15610971576040516308279a2560e31b815260040160405180910390fd5b60014611158061098757506001600160401b0346115b156109a557604051638f972ecb60e01b815260040160405180910390fd5b43156109ef57436001036109d6575f6109bf6001436122e1565b5f81815260fb6020526040902090409055506109ef565b604051635a0f9e4160e11b815260040160405180910390fd5b60fe80546001600160401b0380861667ffffffffffffffff199283161790925560fd805492851692909116919091179055610a294361145d565b5060fc558015610a72575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610a816114ed565b6107045f611547565b60655433906001600160a01b03168114610af85760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610656565b6106db81611547565b610b09611560565b61070433600161141b565b5f610b1d61110d565b905090565b5f805f610b2d610ba7565b805160fd549192505f9163ffffffff90911690610b5a90600160401b90046001600160401b0316886122f4565b610b649190612314565b8251602084015160fd54929350610b85926001600160401b031684896115d1565b9097909650945050505050565b5f610b9e46848461129a565b90505b92915050565b604080518082019091525f8082526020820152610b1d60408051808201909152630393870081526008602082015290565b6002610be26110ce565b60ff1603610c035760405163dfc60d8560e01b815260040160405180910390fd5b610c0d600261166c565b831580610c18575082155b80610c2a57506001600160401b038216155b80610c45575043600114158015610c45575063ffffffff8116155b15610c635760405163053fd54760e01b815260040160405180910390fd5b3371777735367b36bc9b61c50022d9d0700db4ec14610c9557604051636494e9f760e01b815260040160405180910390fd5b5f1943015f80610ca48361145d565b915091508160fc5414610cca5760405163d719258d60e01b815260040160405180910390fd5b5f80610cd68787610b22565b91509150610ce15f90565b158015610cee5750814814155b15610d0c576040516336d54d4f60e11b815260040160405180910390fd5b60fd546001600160401b03600160401b90910481169088161115610e1c57610d456d7369676e616c5f7365727669636560901b5f610b92565b60fe546040516313e4299d60e21b81526001600160401b0391821660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da16960248201529089166044820152606481018a90526001600160a01b039190911690634f90a674906084016020604051808303815f875af1158015610dcc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df0919061233f565b5060fd80546fffffffffffffffff00000000000000001916600160401b6001600160401b038a16021790555b5f85815260fb602090815260409182902087409081905560fc86905560fd805467ffffffffffffffff19166001600160401b038616908117909155835182815292830152917f41c3f410f5c8ac36bb46b1dccef0de0f964087c9e688795fa02ecfa2c20b3fe4910160405180910390a1505050505050610e9c600161166c565b50505050565b610eaa6114ed565b606580546001600160a01b0383166001600160a01b03199091168117909155610edb6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610f2760c954610100900460ff1660021490565b15610f455760405163bae6e2a960e01b815260040160405180910390fd5b693bb4ba34323930bbb2b960b11b610f656033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015610fa25750610f8c816001610b92565b6001600160a01b0316336001600160a01b031614155b15610fc057604051630d85cccf60e11b815260040160405180910390fd5b6002610fca6110ce565b60ff1603610feb5760405163dfc60d8560e01b815260040160405180910390fd5b610ff5600261166c565b6001600160a01b03821661101c5760405163053fd54760e01b815260040160405180910390fd5b6001600160a01b0383166110425761103d6001600160a01b038316476116b4565b6110bf565b6040516370a0823160e01b81523060048201526110bf9083906001600160a01b038616906370a0823190602401602060405180830381865afa15801561108a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ae919061233f565b6001600160a01b03861691906116bf565b6110c9600161166c565b505050565b5f6110d846611711565b1561110357507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f805160206124bf833981519152546001600160a01b031690565b6106db6114ed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611163576110c98361173e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111bd575060408051601f3d908101601f191682019092526111ba9181019061233f565b60015b6112205760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610656565b5f805160206124bf833981519152811461128e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610656565b506110c98383836117d9565b6097545f906001600160a01b0316806112c657604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611318573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061133c9190612356565b91508215801561135357506001600160a01b038216155b1561138357604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610656565b509392505050565b61139f60c954610100900460ff1660021490565b6113bc5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6107bb6114ed565b806001600160a01b03811661144b5760405163538ba4f960e01b815260040160405180910390fd5b611454836117fd565b6110c98261185b565b5f80611467611f27565b5f5b60ff8110801561147c5750806001018510155b156114ad575f198186030180408360ff8306610100811061149f5761149f612385565b602002015250600101611469565b5046611fe0820152612000812092508340816114ca60ff87612399565b61010081106114db576114db612385565b60200201526120009020919391925050565b6033546001600160a01b031633146107045760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610656565b606580546001600160a01b03191690556106db816118cb565b61157460c954610100900460ff1660021490565b156115925760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611411565b5f80806115ed63ffffffff85166001600160401b0388166123ac565b9050846001600160401b03168111611606576001611619565b6116196001600160401b038616826122e1565b905061162c816001600160401b0361191c565b91506116536001600160401b03831661164e63ffffffff8b1660ff8b166123bf565b611930565b9250825f0361166157600192505b509550959350505050565b61167546611711565b156116a057807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b6107bb82825a61196e565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110c99084906119b1565b5f6001821480611722575061426882145b8061172f575062aa36a782145b80610ba15750610ba182611a84565b6001600160a01b0381163b6117ab5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610656565b5f805160206124bf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6117e283611a9b565b5f825111806117ee5750805b156110c957610e9c8383611ada565b5f54610100900460ff166118235760405162461bcd60e51b8152600401610656906123d6565b61182b611aff565b6118496001600160a01b038216156118435781611547565b33611547565b5060c9805461ff001916610100179055565b5f54610100900460ff166118815760405162461bcd60e51b8152600401610656906123d6565b6001600160401b034611156118a95760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f81831161192a5782610b9e565b50919050565b5f815f0361195157604051636296f1b960e11b815260040160405180910390fd5b670de0b6b3a76400006119648484611b25565b610b9e9190612421565b815f0361197a57505050565b61199483838360405180602001604052805f815250611b6c565b6110c957604051634c67134d60e11b815260040160405180910390fd5b5f611a05826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611ba99092919063ffffffff16565b905080515f1480611a25575080806020019051810190611a259190612434565b6110c95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610656565b5f617e2c8210158015610ba1575050617e90101590565b611aa48161173e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610b9e83836040518060600160405280602781526020016124df60279139611bb7565b5f54610100900460ff166107045760405162461bcd60e51b8152600401610656906123d6565b5f8082611b3a670de0b6b3a7640000866123bf565b611b449190612421565b9050680755bf798b4a1bf1e4811115611b635750680755bf798b4a1bf1e45b6106ea81611c2b565b5f6001600160a01b038516611b9457604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b60606106ea84845f85611db3565b60605f80856001600160a01b031685604051611bd39190612471565b5f60405180830381855af49150503d805f8114611c0b576040519150601f19603f3d011682016040523d82523d5f602084013e611c10565b606091505b5091509150611c2186838387611e8a565b9695505050505050565b5f680248ce36a70cb26b3e198213611c4457505f919050565b680755bf798b4a1bf1e58212611c6d57604051631a93c68960e11b815260040160405180910390fd5b6503782dace9d9604e83901b0591505f60606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b606082471015611e145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610656565b5f80866001600160a01b03168587604051611e2f9190612471565b5f6040518083038185875af1925050503d805f8114611e69576040519150601f19603f3d011682016040523d82523d5f602084013e611e6e565b606091505b5091509150611e7f87838387611e8a565b979650505050505050565b60608315611ef85782515f03611ef1576001600160a01b0385163b611ef15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610656565b50816106ea565b6106ea8383815115611f0d5781518083602001fd5b8060405162461bcd60e51b8152600401610656919061248c565b604051806120000160405280610100906020820280368337509192915050565b80356001600160401b0381168114611f5d575f80fd5b919050565b5f60208284031215611f72575f80fd5b610b9e82611f47565b6001600160a01b03811681146106db575f80fd5b5f60208284031215611f9f575f80fd5b8135611faa81611f7b565b9392505050565b80151581146106db575f80fd5b5f805f60608486031215611fd0575f80fd5b611fd984611f47565b9250602084013591506040840135611ff081611fb1565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612020575f80fd5b823561202b81611f7b565b915060208301356001600160401b0380821115612046575f80fd5b818501915085601f830112612059575f80fd5b81358181111561206b5761206b611ffb565b604051601f8201601f19908116603f0116810190838211818310171561209357612093611ffb565b816040528281528860208487010111156120ab575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f80608085870312156120df575f80fd5b84356120ea81611f7b565b935060208501356120fa81611f7b565b925061210860408601611f47565b915061211660608601611f47565b905092959194509250565b5f60208284031215612131575f80fd5b5035919050565b803563ffffffff81168114611f5d575f80fd5b5f806040838503121561215c575f80fd5b61216583611f47565b915061217360208401612138565b90509250929050565b5f806040838503121561218d575f80fd5b82359150602083013561219f81611fb1565b809150509250929050565b5f805f80608085870312156121bd575f80fd5b84359350602085013592506121d460408601611f47565b915061211660608601612138565b5f80604083850312156121f3575f80fd5b82356121fe81611f7b565b9150602083013561219f81611f7b565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190808211156122425761224261220e565b5092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610ba157610ba161220e565b6001600160401b038281168282160390808211156122425761224261220e565b6001600160401b038181168382160280821691908281146123375761233761220e565b505092915050565b5f6020828403121561234f575f80fd5b5051919050565b5f60208284031215612366575f80fd5b8151611faa81611f7b565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f826123a7576123a7612371565b500690565b80820180821115610ba157610ba161220e565b8082028115828204841417610ba157610ba161220e565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8261242f5761242f612371565b500490565b5f60208284031215612444575f80fd5b8151611faa81611fb1565b5f5b83811015612469578181015183820152602001612451565b50505f910152565b5f825161248281846020870161244f565b9190910192915050565b602081525f82518060208401526124aa81604085016020870161244f565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220dd805646fbd402e3dd00f2e2ed2bf34ee8b6c44c1aee4f0ee9aaf88caab4582f64736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000010001": { + "contractName": "TaikoL2", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000001670000000000000000000000000000000010002", + "0x00000000000000000000000000000000000000000000000000000000000000fe": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000fd": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000000fc": "0xdb2606d8ecfcc6c05f4d0c0c5f74b41db74f437df333203711f8ff6e11190e8a", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000010001" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x0167000000000000000000000000000000010002": { + "contractName": "RollupAddressManagerImpl", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be" + }, + "code": "0x608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b146102d5578063a86f9d9e146102f2578063d8f4648f14610311578063e07baba614610330578063e30c39781461036f578063f2fde38b1461038c575f80fd5b80635c975abb14610265578063715018a61461028557806379ba5097146102995780638456cb59146102ad5780638abf6077146102c1575f80fd5b80633ab76e9f116100ee5780633ab76e9f146101de5780633eb6b8cf146101fd5780633f4ba83a1461021c5780634f1ef2861461023057806352d1902d14610243575f80fd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db561461019b5780633659cfe6146101bf575b5f80fd5b348015610135575f80fd5b5061013e6103ab565b005b34801561014b575f80fd5b5061013e61015a36600461118f565b61045b565b34801561016a575f80fd5b5061017e6101793660046111c6565b610533565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a6575f80fd5b506101af610567565b6040519015158152602001610192565b3480156101ca575f80fd5b5061013e6101d936600461118f565b61057b565b3480156101e9575f80fd5b5060975461017e906001600160a01b031681565b348015610208575f80fd5b5061017e6102173660046111fd565b610642565b348015610227575f80fd5b5061013e610656565b61013e61023e36600461124a565b61066a565b34801561024e575f80fd5b5061025761071f565b604051908152602001610192565b348015610270575f80fd5b506101af60c954610100900460ff1660021490565b348015610290575f80fd5b5061013e6107d0565b3480156102a4575f80fd5b5061013e6107e1565b3480156102b8575f80fd5b5061013e610858565b3480156102cc575f80fd5b5061017e61086b565b3480156102e0575f80fd5b506033546001600160a01b031661017e565b3480156102fd575f80fd5b5061017e61030c366004611308565b610879565b34801561031c575f80fd5b5061013e61032b366004611332565b61088c565b34801561033b575f80fd5b5060c9546103569062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610192565b34801561037a575f80fd5b506065546001600160a01b031661017e565b348015610397575f80fd5b5061013e6103a636600461118f565b61096a565b6103b36109db565b5f54600290610100900460ff161580156103d357505f5460ff8083169116105b6103f85760405162461bcd60e51b81526004016103ef9061136f565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff161580801561047957505f54600160ff909116105b806104925750303b15801561049257505f5460ff166001145b6104ae5760405162461bcd60e51b81526004016103ef9061136f565b5f805460ff1916600117905580156104cf575f805461ff0019166101001790555b6104d882610a35565b609780546001600160a01b03191630179055801561052f575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b67ffffffffffffffff82165f90815260fb602090815260408083208484529091529020546001600160a01b03165b92915050565b5f6002610572610a93565b60ff1614905090565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000100021630036105c35760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670000000000000000000000000000000100026001600160a01b03166105f5610ad2565b6001600160a01b03161461061b5760405162461bcd60e51b81526004016103ef90611409565b61062481610aed565b604080515f8082526020820190925261063f91839190610af5565b50565b5f61064e848484610c64565b949350505050565b61065e610d57565b610668335f610de8565b565b6001600160a01b037f00000000000000000000000001670000000000000000000000000000000100021630036106b25760405162461bcd60e51b81526004016103ef906113bd565b7f00000000000000000000000001670000000000000000000000000000000100026001600160a01b03166106e4610ad2565b6001600160a01b03161461070a5760405162461bcd60e51b81526004016103ef90611409565b61071382610aed565b61052f82826001610af5565b5f306001600160a01b037f000000000000000000000000016700000000000000000000000000000001000216146107be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ef565b505f8051602061154283398151915290565b6107d86109db565b6106685f610e01565b60655433906001600160a01b0316811461084f5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ef565b61063f81610e01565b610860610e1a565b610668336001610de8565b5f610874610ad2565b905090565b5f610885468484610c64565b9392505050565b6108946109db565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b039081169082168190036108e65760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b6109726109db565b606580546001600160a01b0383166001600160a01b031990911681179091556109a36033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ef565b5f54610100900460ff16610a5b5760405162461bcd60e51b81526004016103ef90611455565b610a63610e8b565b610a816001600160a01b03821615610a7b5781610e01565b33610e01565b5060c9805461ff001916610100179055565b5f610a9d46610eb1565b15610ac857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020611542833981519152546001600160a01b031690565b61063f6109db565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b2d57610b2883610ede565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610b87575060408051601f3d908101601f19168201909252610b84918101906114a0565b60015b610bea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ef565b5f805160206115428339815191528114610c585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ef565b50610b28838383610f79565b6097545f906001600160a01b031680610c9057604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610ce3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0791906114b7565b915082158015610d1e57506001600160a01b038216155b15610d4f57604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016103ef565b509392505050565b610d6b60c954610100900460ff1660021490565b610d885760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b031916905561063f81610fa3565b610e2e60c954610100900460ff1660021490565b15610e4c5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610dde565b5f54610100900460ff166106685760405162461bcd60e51b81526004016103ef90611455565b5f6001821480610ec2575061426882145b80610ecf575062aa36a782145b80610561575061056182610ff4565b6001600160a01b0381163b610f4b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ef565b5f8051602061154283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f828361100b565b5f82511180610f8e5750805b15610b2857610f9d838361104a565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c8210158015610561575050617e90101590565b61101481610ede565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061088583836040518060600160405280602781526020016115626027913960605f80856001600160a01b03168560405161108691906114f4565b5f60405180830381855af49150503d805f81146110be576040519150601f19603f3d011682016040523d82523d5f602084013e6110c3565b606091505b50915091506110d4868383876110de565b9695505050505050565b6060831561114c5782515f03611145576001600160a01b0385163b6111455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ef565b508161064e565b61064e83838151156111615781518083602001fd5b8060405162461bcd60e51b81526004016103ef919061150f565b6001600160a01b038116811461063f575f80fd5b5f6020828403121561119f575f80fd5b81356108858161117b565b803567ffffffffffffffff811681146111c1575f80fd5b919050565b5f80604083850312156111d7575f80fd5b6111e0836111aa565b946020939093013593505050565b803580151581146111c1575f80fd5b5f805f6060848603121561120f575f80fd5b611218846111aa565b92506020840135915061122d604085016111ee565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561125b575f80fd5b82356112668161117b565b9150602083013567ffffffffffffffff80821115611282575f80fd5b818501915085601f830112611295575f80fd5b8135818111156112a7576112a7611236565b604051601f8201601f19908116603f011681019083821181831017156112cf576112cf611236565b816040528281528860208487010111156112e7575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215611319575f80fd5b82359150611329602084016111ee565b90509250929050565b5f805f60608486031215611344575f80fd5b61134d846111aa565b92506020840135915060408401356113648161117b565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156114b0575f80fd5b5051919050565b5f602082840312156114c7575f80fd5b81516108858161117b565b5f5b838110156114ec5781810151838201526020016114d4565b50505f910152565b5f82516115058184602087016114d2565b9190910192915050565b602081525f825180602084015261152d8160408501602087016114d2565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220546acba5cf9d5840aa28144a5c5b7154e1fbe167d06f40edc368d12eba1367a264736f6c63430008180033", + "balance": "0x0" + }, + "0x1670000000000000000000000000000000010002": { + "contractName": "RollupAddressManager", + "storage": { + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x0000000000000000000000000000000000000000000000000000000000000101", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x000000000000000000000000f8ff2af0dc1d5ba4811f22acb02936a1529fd2be", + "0x3b299c7a6fafde8e6481885056b7ffa9d2e18f11aab95f34a53fbfc46c5beff4": "0x0000000000000000000000001670000000000000000000000000000000010001", + "0x64b0a7232218be95294a8bfd8a8f958623901c31d4ce8f421b3dd01d27f0bc86": "0x0000000000000000000000001670000000000000000000000000000000000001", + "0x8d8c812a6339da49d9820b2b8be4ab1418e11a25c28673c250614e6a14477ec3": "0x0000000000000000000000001670000000000000000000000000000000000005", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x0167000000000000000000000000000000010002" + }, + "code": "0x608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea26469706673582212202ab33c19ef73bba88d6c10c6990731f592afdeba0c87384fbaf36911918f5f4964736f6c63430008180033", + "balance": "0x0" + }, + "0x4b7Eb9638Fc8ADF32cc1bcb50d8247Db51b6AEb0": { + "contractName": "LibNetwork", + "storage": {}, + "code": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220ad97905b6ee404cdf1656836b4d2e0331e305effa06af1cec4854f3c71d96ae764736f6c63430008180033", + "balance": "0x0" + } +} \ No newline at end of file
diff --git ethereum/go-ethereum/core/taiko_genesis/snaefellsjokull.json taikoxyz/taiko-geth/core/taiko_genesis/snaefellsjokull.json new file mode 100644 index 0000000000000000000000000000000000000000..01ce4e45c7d785d860e9e73a0645ac95da4d1729 --- /dev/null +++ taikoxyz/taiko-geth/core/taiko_genesis/snaefellsjokull.json @@ -0,0 +1,98 @@ +{ + "0x26250179C8e8E12104e556C4Cd03bCF4dabd51b9": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x9D716db5fF59f8dd903D44a56C41BcbE99bA666c": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x11f080128e565c07caD6fF7ADbb50Be1f62B84DB": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x617138FAdFEeE2E57f87cCba7dd6D6902aB0427d": { + "balance": "0xfffffffffffffacbbb7ca13a7fffffff" + }, + "0x5fa99CB8C2201B2a8CFfe2edfbF11ed6B78cb069": { + "balance": "0x8ac7230489e80000" + }, + "0xC5d653E17c24928B788a17838F11d2AcF0c922A3": { + "contractName": "LibTrieProof", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063960304391461003a575b600080fd5b61004d6100483660046119a5565b61004f565b005b60008061005e83850185611b39565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608b901b166020820152919350915060009081906100b490603401604051602081830303815290604052858c6101d3565b915091508161010a5760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c6964206163636f756e742070726f6f660000000000000060448201526064015b60405180910390fd5b6000610115826101fc565b9050600061013c8260028151811061012f5761012f611b9d565b6020026020010151610235565b905060006101758b60405160200161015691815260200190565b60405160208183030381529060405261016e8c610338565b888561034b565b9050806101c45760405162461bcd60e51b815260206004820152601960248201527f4c54503a696e76616c69642073746f726167652070726f6f66000000000000006044820152606401610101565b50505050505050505050505050565b6000606060006101e286610365565b90506101ef818686610397565b9250925050935093915050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061022f90610472565b92915050565b600060218260000151111561028c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b600080600061029a85610671565b9194509250905060008160018111156102b5576102b5611bcc565b146103025760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610101565b60008386602001516103149190611c2a565b8051909150602084101561032e5760208490036101000a90045b9695505050505050565b606061022f610346836109c2565b610b2d565b60008061035786610365565b905061032e81868686610b9c565b6060818051906020012060405160200161038191815260200190565b6040516020818303038152906040529050919050565b6000606060006103a685610bd9565b905060008060006103b8848a89610cd4565b815192955090935091501580806103cc5750815b6104185760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610101565b6000816104345760405180602001604052806000815250610460565b61046086610443600188611c42565b8151811061045357610453611b9d565b602002602001015161116f565b919b919a509098505050505050505050565b606060008061048084610671565b9193509091506001905081600181111561049c5761049c611bcc565b146104e95760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610101565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816105025790505090506000835b865181101561066657602082106105ae5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610101565b6000806105eb6040518060400160405280858c600001516105cf9190611c42565b8152602001858c602001516105e49190611c2a565b9052610671565b5091509150604051806040016040528083836106079190611c2a565b8152602001848b6020015161061c9190611c2a565b81525085858151811061063157610631611b9d565b6020908102919091010152610647600185611c2a565b93506106538183611c2a565b61065d9084611c2a565b9250505061052f565b508152949350505050565b6000806000808460000151116106c95760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610101565b6020840151805160001a607f81116106ee5760006001600094509450945050506109bb565b60b7811161076a576000610703608083611c42565b9050808760000151116107585760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610101565b600195509350600092506109bb915050565b60bf811161085957600061077f60b783611c42565b9050808760000151116107d45760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610101565b600183015160208290036101000a90046107ee8183611c2a565b88511161083d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610101565b610848826001611c2a565b96509450600093506109bb92505050565b60f781116108d457600061086e60c083611c42565b9050808760000151116108c35760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610101565b6001955093508492506109bb915050565b60006108e160f783611c42565b9050808760000151116109365760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610101565b600183015160208290036101000a90046109508183611c2a565b88511161099f5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610101565b6109aa826001611c2a565b96509450600193506109bb92505050565b9193909250565b60606000826040516020016109d991815260200190565b604051602081830303815290604052905060005b6020811015610a4b57818181518110610a0857610a08611b9d565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615610a3957610a4b565b80610a4381611c59565b9150506109ed565b6000610a58826020611c42565b67ffffffffffffffff811115610a7057610a70611a5f565b6040519080825280601f01601f191660200182016040528015610a9a576020820181803683370190505b50905060005b8151811015610b24578383610ab481611c59565b945081518110610ac657610ac6611b9d565b602001015160f81c60f81b828281518110610ae357610ae3611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080610b1c81611c59565b915050610aa0565b50949350505050565b60608082516001148015610b5b5750608083600081518110610b5157610b51611b9d565b016020015160f81c105b15610b6757508161022f565b610b7383516080611199565b83604051602001610b85929190611ccd565b604051602081830303815290604052905092915050565b6000806000610bac878686610397565b91509150818015610bce57508051602080830191909120875191880191909120145b979650505050505050565b60606000610be6836101fc565b90506000815167ffffffffffffffff811115610c0457610c04611a5f565b604051908082528060200260200182016040528015610c4957816020015b6040805180820190915260608082526020820152815260200190600190039081610c225790505b50905060005b8251811015610ccc576000610c7c848381518110610c6f57610c6f611b9d565b6020026020010151611390565b90506040518060400160405280828152602001610c98836101fc565b815250838381518110610cad57610cad611b9d565b6020026020010181905250508080610cc490611c59565b915050610c4f565b509392505050565b60006060818080610ce487611420565b90506000869050600080610d0b604051806040016040528060608152602001606081525090565b60005b8c5181101561112b578c8181518110610d2957610d29611b9d565b602002602001015191508284610d3f9190611c2a565b9350610d4c600188611c2a565b965083610db057815180516020909101208514610dab5760405162461bcd60e51b815260206004820152601160248201527f496e76616c696420726f6f7420686173680000000000000000000000000000006044820152606401610101565b610e6d565b815151602011610e1257815180516020909101208514610dab5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610101565b84610e2083600001516115a3565b14610e6d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610101565b610e7960106001611c2a565b8260200151511415610ef2578551841415610e935761112b565b6000868581518110610ea757610ea7611b9d565b602001015160f81c60f81b60f81c9050600083602001518260ff1681518110610ed257610ed2611b9d565b60200260200101519050610ee5816115cb565b9650600194505050611119565b600282602001515114156110d1576000610f0b83611601565b9050600081600081518110610f2257610f22611b9d565b016020015160f81c90506000610f39600283611d19565b610f44906002611d3b565b90506000610f55848360ff16611625565b90506000610f638b8a611625565b90506000610f71838361165b565b905060ff851660021480610f88575060ff85166003145b15610fde57808351148015610f9d5750808251145b15610faf57610fac818b611c2a565b99505b507f8000000000000000000000000000000000000000000000000000000000000000995061112b945050505050565b60ff85161580610ff1575060ff85166001145b15611063578251811461102d57507f8000000000000000000000000000000000000000000000000000000000000000995061112b945050505050565b611054886020015160018151811061104757611047611b9d565b60200260200101516115cb565b9a509750611119945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e2060448201527f70726566697800000000000000000000000000000000000000000000000000006064820152608401610101565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610101565b8061112381611c59565b915050610d0e565b507f800000000000000000000000000000000000000000000000000000000000000084148661115a8786611625565b909e909d50909b509950505050505050505050565b6020810151805160609161022f9161118990600190611c42565b81518110610c6f57610c6f611b9d565b606080603884101561121857604080516001808252818301909252906020820181803683370190505090506111ce8385611d5e565b60f81b816000815181106111e4576111e4611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611389565b600060015b6112278187611d83565b1561124d578161123681611c59565b9250611246905061010082611d97565b905061121d565b611258826001611c2a565b67ffffffffffffffff81111561127057611270611a5f565b6040519080825280601f01601f19166020018201604052801561129a576020820181803683370190505b5092506112a78583611d5e565b6112b2906037611d5e565b60f81b836000815181106112c8576112c8611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611386576101006113108284611c42565b61131c90610100611ef4565b6113269088611d83565b6113309190611f00565b60f81b83828151811061134557611345611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061137e81611c59565b9150506112fc565b50505b9392505050565b606060008060006113a085610671565b9194509250905060008160018111156113bb576113bb611bcc565b146114085760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610101565b61141785602001518484611707565b95945050505050565b60606000825160026114329190611d97565b67ffffffffffffffff81111561144a5761144a611a5f565b6040519080825280601f01601f191660200182016040528015611474576020820181803683370190505b50905060005b835181101561159c57600484828151811061149757611497611b9d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c826114cc836002611d97565b815181106114dc576114dc611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350601084828151811061151f5761151f611b9d565b0160200151611531919060f81c611d19565b60f81b82611540836002611d97565b61154b906001611c2a565b8151811061155b5761155b611b9d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061159481611c59565b91505061147a565b5092915050565b60006020825110156115b757506020015190565b8180602001905181019061022f9190611f14565b600060606020836000015110156115ec576115e5836117e6565b90506115f8565b6115f583611390565b90505b611389816115a3565b606061022f6116208360200151600081518110610c6f57610c6f611b9d565b611420565b606082518210611644575060408051602081019091526000815261022f565b61138983838486516116569190611c42565b6117f1565b6000805b80845111801561166f5750808351115b80156116f0575082818151811061168857611688611b9d565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168482815181106116c7576116c7611b9d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561138957806116ff81611c59565b91505061165f565b606060008267ffffffffffffffff81111561172457611724611a5f565b6040519080825280601f01601f19166020018201604052801561174e576020820181803683370190505b509050805160001415611762579050611389565b600061176e8587611c2a565b90506020820160005b611782602087611d83565b8110156117b95782518252611798602084611c2a565b92506117a5602083611c2a565b9150806117b181611c59565b915050611777565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b606061022f8261198f565b6060816117ff81601f611c2a565b101561184d5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610101565b826118588382611c2a565b10156118a65760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610101565b6118b08284611c2a565b845110156119005760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610101565b60608215801561191f5760405191506000825260208201604052610b24565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611958578051835260209283019201611940565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166040525050949350505050565b606061022f826020015160008460000151611707565b60008060008060008060a087890312156119be57600080fd5b86359550602087013573ffffffffffffffffffffffffffffffffffffffff811681146119e957600080fd5b94506040870135935060608701359250608087013567ffffffffffffffff80821115611a1457600080fd5b818901915089601f830112611a2857600080fd5b813581811115611a3757600080fd5b8a6020828501011115611a4957600080fd5b6020830194508093505050509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611a9f57600080fd5b813567ffffffffffffffff80821115611aba57611aba611a5f565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611b0057611b00611a5f565b81604052838152866020858801011115611b1957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611b4c57600080fd5b823567ffffffffffffffff80821115611b6457600080fd5b611b7086838701611a8e565b93506020850135915080821115611b8657600080fd5b50611b9385828601611a8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611c3d57611c3d611bfb565b500190565b600082821015611c5457611c54611bfb565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611c8b57611c8b611bfb565b5060010190565b6000815160005b81811015611cb35760208185018101518683015201611c99565b81811115611cc2576000828601525b509290920192915050565b6000611ce2611cdc8386611c92565b84611c92565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060ff831680611d2c57611d2c611cea565b8060ff84160691505092915050565b600060ff821660ff841680821015611d5557611d55611bfb565b90039392505050565b600060ff821660ff84168060ff03821115611d7b57611d7b611bfb565b019392505050565b600082611d9257611d92611cea565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611dcf57611dcf611bfb565b500290565b600181815b80851115611e2d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611e1357611e13611bfb565b80851615611e2057918102915b93841c9390800290611dd9565b509250929050565b600082611e445750600161022f565b81611e515750600061022f565b8160018114611e675760028114611e7157611e8d565b600191505061022f565b60ff841115611e8257611e82611bfb565b50506001821b61022f565b5060208310610133831016604e8410600b8410161715611eb0575081810a61022f565b611eba8383611dd4565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115611eec57611eec611bfb565b029392505050565b60006113898383611e35565b600082611f0f57611f0f611cea565b500690565b600060208284031215611f2657600080fd5b505191905056fea2646970667358221220f7f04c88df651530a5c547edaa8d0ac57b5adf851950adbf06f8245338f8d71564736f6c63430008090033", + "balance": "0x0" + }, + "0x8A9E82Ebf0E219BBdB4fBBd50FEd45d098a8Ba1e": { + "contractName": "LibBridgeRetry", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806346eb9db51461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046107f9565b61005c565b005b610140820135158061006b5750805b156101195761008060a0830160808401610880565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a64656e69656400000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600061012c610127846109a8565b610432565b90506001600082815260018701602052604090205460ff16600381111561015557610155610aaa565b146101bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6e6f74466f756e64000000000000000000000000000000000000000000006044820152606401610110565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff86169063461a44789060640160206040518083038186803b15801561025257600080fd5b505afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a9190610ad9565b905073ffffffffffffffffffffffffffffffffffffffff81161561032d576040517f1efa4ec0000000000000000000000000000000000000000000000000000000008152610100850135600482015273ffffffffffffffffffffffffffffffffffffffff821690631efa4ec090602401600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b505050505b6103418661033a866109a8565b845a610462565b156103575761035286836002610634565b61042a565b82156103e95761036986836003610634565b60008061037c60e0870160c08801610880565b73ffffffffffffffffffffffffffffffffffffffff16146103ac576103a760e0860160c08701610880565b6103bc565b6103bc60a0860160808701610880565b90506103e373ffffffffffffffffffffffffffffffffffffffff8216610100870135610700565b5061042a565b73ffffffffffffffffffffffffffffffffffffffff81161561042a5761042a73ffffffffffffffffffffffffffffffffffffffff8216610100860135610700565b505050505050565b6000816040516020016104459190610b70565b604051602081830303815290604052805190602001209050919050565b60008082116104cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6761734c696d6974000000000000000000000000000000000000000000006044820152606401610110565b6040805160608101825284815260208681015173ffffffffffffffffffffffffffffffffffffffff90811691830182905287840151928401839052600389018790556004890180547fffffffffffffffffffffffff000000000000000000000000000000000000000016909217909155600588019190915560a08601516101008701516101608801519351919092169285929161056a9190610d04565b600060405180830381858888f193505050503d80600081146105a8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ad565b606091505b5050604080516060810182526001808252602082018190527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909201819052600388018290556004880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560059096019590955550929392505050565b80600381111561064657610646610aaa565b600083815260018501602052604090205460ff16600381111561066b5761066b610aaa565b146106fb57600082815260018085016020526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116908360038111156106bd576106bd610aaa565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b2575634826040516106f29190610d20565b60405180910390a25b505050565b80156107d05760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610760576040519150601f19603f3d011682016040523d82523d6000602084013e610765565b606091505b50509050806106fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610110565b5050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f657600080fd5b50565b6000806000806080858703121561080f57600080fd5b843593506020850135610821816107d4565b9250604085013567ffffffffffffffff81111561083d57600080fd5b85016101a0818803121561085057600080fd5b91506060850135801515811461086557600080fd5b939692955090935050565b803561087b816107d4565b919050565b60006020828403121561089257600080fd5b813561089d816107d4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156108f7576108f76108a4565b60405290565b600082601f83011261090e57600080fd5b813567ffffffffffffffff80821115610929576109296108a4565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561096f5761096f6108a4565b8160405283815286602085880101111561098857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a082360312156109bb57600080fd5b6109c36108d3565b823581526109d360208401610870565b602082015260408301356040820152606083013560608201526109f860808401610870565b6080820152610a0960a08401610870565b60a0820152610a1a60c08401610870565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115610a6757600080fd5b610a73368388016108fd565b83850152610180925082860135915080821115610a8f57600080fd5b50610a9c368287016108fd565b918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610aeb57600080fd5b815161089d816107d4565b60005b83811015610b11578181015183820152602001610af9565b83811115610b20576000848401525b50505050565b60008151808452610b3e816020860160208601610af6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601460408201527f5441494b4f5f4252494447455f4d4553534147450000000000000000000000006060820152608060208201528151608082015260006020830151610bd860a084018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160c0830152606083015160e08301526080830151610100610c168185018373ffffffffffffffffffffffffffffffffffffffff169052565b60a08501519150610120610c418186018473ffffffffffffffffffffffffffffffffffffffff169052565b60c08601519250610140610c6c8187018573ffffffffffffffffffffffffffffffffffffffff169052565b60e0870151610160878101919091529287015161018080880191909152918701516101a080880191909152908701516101c0870152918601516101e0860192909252909150610cbf610220850183610b26565b908501518482037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8001610200860152909150610cfb8282610b26565b95945050505050565b60008251610d16818460208701610af6565b9190910192915050565b6020810160048310610d5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9190529056fea2646970667358221220ef77fa8abe15893a91d42d96908d637a4ee0724e51d926aff79565effe20a22c64736f6c63430008090033", + "balance": "0x0" + }, + "0xf7c52068c40213E7C49313B0d6FCc11Cb2C45dbF": { + "contractName": "LibBridgeProcess", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063c0249e2d1461003a575b600080fd5b81801561004657600080fd5b5061005a6100553660046119c3565b61005c565b005b61014083013561010f5761007660a0840160808501611a8d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461010f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f423a666f7262696464656e00000000000000000000000000000000000000000060448201526064015b60405180910390fd5b4683606001351461017c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f423a64657374436861696e4964000000000000000000000000000000000000006044820152606401610106565b600061018f61018a85611bf5565b61073d565b905060008082815260018801602052604090205460ff1660038111156101b7576101b7611cf7565b1461021e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a7374617475730000000000000000000000000000000000000000000000006044820152606401610106565b604080517ff16c79340000000000000000000000000000000000000000000000000000000081528186013560048201526024810191909152600660448201527f6272696467650000000000000000000000000000000000000000000000000000606482015260009073ffffffffffffffffffffffffffffffffffffffff87169063f16c79349060840160206040518083038186803b1580156102bf57600080fd5b505afa1580156102d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f79190611d26565b905061030786828385888861076d565b61036d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f423a6e6f745265636569766564000000000000000000000000000000000000006044820152606401610106565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff88169063461a44789060640160206040518083038186803b15801561040357600080fd5b505afa158015610417573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043b9190611d26565b905073ffffffffffffffffffffffffffffffffffffffff8116156104e95773ffffffffffffffffffffffffffffffffffffffff8116631efa4ec061012088013561048e6101008a013560e08b0135611d72565b6104989190611d72565b6040518263ffffffff1660e01b81526004016104b691815260200190565b600060405180830381600087803b1580156104d057600080fd5b505af11580156104e4573d6000803e3d6000fd5b505050505b61051d60e087013561050160a0890160808a01611a8d565b73ffffffffffffffffffffffffffffffffffffffff1690610b33565b6000803061053160c08a0160a08b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff1614806105785750600061056060c08a0160a08b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff16145b1561058d57506002905061010087013561064f565b600061059f60a08a0160808b01611a8d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105dc578861014001356105de565b5a5b905060006105f68c6105ef8c611bf5565b8985610c09565b90508015610607576002935061064c565b6001935073ffffffffffffffffffffffffffffffffffffffff85161561064c5761064c73ffffffffffffffffffffffffffffffffffffffff86166101008c0135610b33565b50505b61065a8a8684610dbd565b60008061066d60e08b0160c08c01611a8d565b73ffffffffffffffffffffffffffffffffffffffff161461069d5761069860e08a0160c08b01611a8d565b6106ad565b6106ad60a08a0160808b01611a8d565b90503373ffffffffffffffffffffffffffffffffffffffff82161415610701576106fc6106df6101208b013584611d72565b73ffffffffffffffffffffffffffffffffffffffff831690610b33565b610730565b610710336101208b0135610b33565b61073073ffffffffffffffffffffffffffffffffffffffff821683610b33565b5050505050505050505050565b6000816040516020016107509190611e04565b604051602081830303815290604052805190602001209050919050565b6000848473ffffffffffffffffffffffffffffffffffffffff82166107ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610106565b80610855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610106565b73ffffffffffffffffffffffffffffffffffffffff88166108d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f423a7372634272696467650000000000000000000000000000000000000000006044820152606401610106565b60006108e08587018761203e565b905073C5d653E17c24928B788a17838F11d2AcF0c922A363960304398260000151606001518b6109108c8c610e88565b60208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152610953949392916001916004016121d7565b60006040518083038186803b15801561096b57600080fd5b505af415801561097f573d6000803e3d6000fd5b50506040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7461696b6f00000000000000000000000000000000000000000000000000000060448201526000925073ffffffffffffffffffffffffffffffffffffffff8d16915063461a44789060640160206040518083038186803b158015610a1957600080fd5b505afa158015610a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a519190611d26565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f29060240160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190612223565b90508015801590610b2457508151610b2190610ee3565b81145b9b9a5050505050505050505050565b8015610c055760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5050905080610c03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610106565b505b5050565b6000808211610c74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f423a6761734c696d6974000000000000000000000000000000000000000000006044820152606401610106565b6040805160608101825284815260208681015173ffffffffffffffffffffffffffffffffffffffff90811691830182905287840151928401839052600389018790556004890180547fffffffffffffffffffffffff000000000000000000000000000000000000000016909217909155600588019190915560a086015161010087015161016088015193519190921692859291610d11919061223c565b600060405180830381858888f193505050503d8060008114610d4f576040519150601f19603f3d011682016040523d82523d6000602084013e610d54565b606091505b50506040805160608101825260018082526020820181905260001991909201819052600388018290556004880180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690921790915560059096019590955550929392505050565b806003811115610dcf57610dcf611cf7565b600083815260018501602052604090205460ff166003811115610df457610df4611cf7565b14610c0357600082815260018085016020526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911690836003811115610e4657610e46611cf7565b0217905550817f6c51882bc2ed67617f77a1e9b9a25d2caad8448647ecb093b357a603b257563482604051610e7b9190612258565b60405180910390a2505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290526000906054016040516020818303038152906040528051906020012090505b92915050565b60006060826101e0015160001415610f285760408051600f808252610200820190925290816020015b6060815260200190600190039081610f0c579050509050610f57565b604080516010808252610220820190925290816020015b6060815260200190600190039081610f3f5790505090505b8251610f629061129d565b81600081518110610f7557610f75612299565b6020026020010181905250610f8d836020015161129d565b81600181518110610fa057610fa0612299565b6020026020010181905250610fb883604001516112b0565b81600281518110610fcb57610fcb612299565b6020026020010181905250610fe3836060015161129d565b81600381518110610ff657610ff6612299565b602002602001018190525061100e836080015161129d565b8160048151811061102157611021612299565b60200260200101819052506110398360a0015161129d565b8160058151811061104c5761104c612299565b60200260200101819052506110838360c0015160405160200161106f91906122c8565b6040516020818303038152906040526112ec565b8160068151811061109657611096612299565b60200260200101819052506110ae8360e0015161135b565b816007815181106110c1576110c1612299565b60200260200101819052506110ec8361010001516fffffffffffffffffffffffffffffffff1661135b565b816008815181106110ff576110ff612299565b6020026020010181905250611118836101200151611369565b8160098151811061112b5761112b612299565b6020026020010181905250611144836101400151611369565b81600a8151811061115757611157612299565b6020026020010181905250611170836101600151611369565b81600b8151811061118357611183612299565b602002602001018190525061119c8361018001516112ec565b81600c815181106111af576111af612299565b60200260200101819052506111c8836101a0015161129d565b81600d815181106111db576111db612299565b602002602001018190525061122a836101c0015160405160200161106f919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e8151811061123d5761123d612299565b6020026020010181905250826101e0015160001461128257611263836101e0015161135b565b81600f8151811061127657611276612299565b60200260200101819052505b600061128d82611381565b8051602090910120949350505050565b6060610edd6112ab836113c5565b6112ec565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602083015290610edd9060340161106f565b6060808251600114801561131a575060808360008151811061131057611310612299565b016020015160f81c105b15611326575081610edd565b611332835160806114b8565b836040516020016113449291906122fd565b604051602081830303815290604052905092915050565b6060610edd6112ab836116af565b6060610edd6112ab8367ffffffffffffffff166116af565b6060600061138e83611811565b905061139c815160c06114b8565b816040516020016113ae9291906122fd565b604051602081830303815290604052915050919050565b60606000826040516020016113dc91815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b81518110156114af57838361143f8161232c565b94508151811061145157611451612299565b602001015160f81c60f81b82828151811061146e5761146e612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806114a78161232c565b91505061142b565b50949350505050565b606080603884101561153757604080516001808252818301909252906020820181803683370190505090506114ed8385612347565b60f81b8160008151811061150357611503612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506116a8565b600060015b611546818761239b565b1561156c57816115558161232c565b92506115659050610100826123af565b905061153c565b611577826001611d72565b67ffffffffffffffff81111561158f5761158f611aaa565b6040519080825280601f01601f1916602001820160405280156115b9576020820181803683370190505b5092506115c68583612347565b6115d1906037612347565b60f81b836000815181106115e7576115e7612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116116a55761010061162f82846123ce565b61163b906101006124c9565b611645908861239b565b61164f91906124d5565b60f81b83828151811061166457611664612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061169d8161232c565b91505061161b565b50505b9392505050565b60606000826040516020016116c691815260200190565b604051602081830303815290604052905060005b6020811015611738578181815181106116f5576116f5612299565b01602001517fff00000000000000000000000000000000000000000000000000000000000000161561172657611738565b806117308161232c565b9150506116da565b60006117458260206123ce565b67ffffffffffffffff81111561175d5761175d611aaa565b6040519080825280601f01601f191660200182016040528015611787576020820181803683370190505b50905060005b81518110156114af5783836117a18161232c565b9450815181106117b3576117b3612299565b602001015160f81c60f81b8282815181106117d0576117d0612299565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806118098161232c565b91505061178d565b606081516000141561183157505060408051600081526020810190915290565b6000805b83518110156118785783818151811061185057611850612299565b602002602001015151826118649190611d72565b9150806118708161232c565b915050611835565b60008267ffffffffffffffff81111561189357611893611aaa565b6040519080825280601f01601f1916602001820160405280156118bd576020820181803683370190505b50600092509050602081015b85518310156114af5760008684815181106118e6576118e6612299565b60200260200101519050600060208201905061190483828451611941565b87858151811061191657611916612299565b6020026020010151518361192a9190611d72565b9250505082806119399061232c565b9350506118c9565b8282825b6020811061197d578151835261195c602084611d72565b9250611969602083611d72565b91506119766020826123ce565b9050611945565b905182516020929092036101000a6000190180199091169116179052505050565b73ffffffffffffffffffffffffffffffffffffffff811681146119c057600080fd5b50565b6000806000806000608086880312156119db57600080fd5b8535945060208601356119ed8161199e565b9350604086013567ffffffffffffffff80821115611a0a57600080fd5b908701906101a0828a031215611a1f57600080fd5b90935060608701359080821115611a3557600080fd5b818801915088601f830112611a4957600080fd5b813581811115611a5857600080fd5b896020828501011115611a6a57600080fd5b9699959850939650602001949392505050565b8035611a888161199e565b919050565b600060208284031215611a9f57600080fd5b81356116a88161199e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715611afd57611afd611aaa565b60405290565b6040805190810167ffffffffffffffff81118282101715611afd57611afd611aaa565b604051610200810167ffffffffffffffff81118282101715611afd57611afd611aaa565b600082601f830112611b5b57600080fd5b813567ffffffffffffffff80821115611b7657611b76611aaa565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611bbc57611bbc611aaa565b81604052838152866020858801011115611bd557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006101a08236031215611c0857600080fd5b611c10611ad9565b82358152611c2060208401611a7d565b60208201526040830135604082015260608301356060820152611c4560808401611a7d565b6080820152611c5660a08401611a7d565b60a0820152611c6760c08401611a7d565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115611cb457600080fd5b611cc036838801611b4a565b83850152610180925082860135915080821115611cdc57600080fd5b50611ce936828701611b4a565b918301919091525092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215611d3857600080fd5b81516116a88161199e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611d8557611d85611d43565b500190565b60005b83811015611da5578181015183820152602001611d8d565b83811115611db4576000848401525b50505050565b60008151808452611dd2816020860160208601611d8a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601460408201527f5441494b4f5f4252494447455f4d4553534147450000000000000000000000006060820152608060208201528151608082015260006020830151611e6c60a084018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160c0830152606083015160e08301526080830151610100611eaa8185018373ffffffffffffffffffffffffffffffffffffffff169052565b60a08501519150610120611ed58186018473ffffffffffffffffffffffffffffffffffffffff169052565b60c08601519250610140611f008187018573ffffffffffffffffffffffffffffffffffffffff169052565b60e0870151610160878101919091529287015161018080880191909152918701516101a080880191909152908701516101c0870152918601516101e0860192909252909150611f53610220850183611dba565b908501518482037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8001610200860152909150611f8f8282611dba565b95945050505050565b600082601f830112611fa957600080fd5b60405161010080820182811067ffffffffffffffff82111715611fce57611fce611aaa565b60405283018185821115611fe157600080fd5b845b82811015611ffb578035825260209182019101611fe3565b509195945050505050565b80356fffffffffffffffffffffffffffffffff81168114611a8857600080fd5b803567ffffffffffffffff81168114611a8857600080fd5b60006020828403121561205057600080fd5b813567ffffffffffffffff8082111561206857600080fd5b908301906040828603121561207c57600080fd5b612084611b03565b82358281111561209357600080fd5b83016102e081880312156120a657600080fd5b6120ae611b26565b81358152602082013560208201526120c860408301611a7d565b6040820152606082013560608201526080820135608082015260a082013560a08201526120f88860c08401611f98565b60c08201526101c08083013560e08301526101e0612117818501612006565b61010084015261212a6102008501612026565b61012084015261213d6102208501612026565b6101408401526121506102408501612026565b6101608401526102608401358681111561216957600080fd5b6121758b828701611b4a565b610180850152506102808401356101a08401526121956102a08501612026565b828401526102c084013581840152505080835250506020830135828111156121bc57600080fd5b6121c887828601611b4a565b60208301525095945050505050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061221860a0830184611dba565b979650505050505050565b60006020828403121561223557600080fd5b5051919050565b6000825161224e818460208701611d8a565b9190910192915050565b6020810160048310612293577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156122ed5781518352602092830192909101906001016122ce565b5050506101008201905092915050565b6000835161230f818460208801611d8a565b835190830190612323818360208801611d8a565b01949350505050565b600060001982141561234057612340611d43565b5060010190565b600060ff821660ff84168060ff0382111561236457612364611d43565b019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826123aa576123aa61236c565b500490565b60008160001904831182151516156123c9576123c9611d43565b500290565b6000828210156123e0576123e0611d43565b500390565b600181815b8085111561242057816000190482111561240657612406611d43565b8085161561241357918102915b93841c93908002906123ea565b509250929050565b60008261243757506001610edd565b8161244457506000610edd565b816001811461245a576002811461246457612480565b6001915050610edd565b60ff84111561247557612475611d43565b50506001821b610edd565b5060208310610133831016604e8410600b84101617156124a3575081810a610edd565b6124ad83836123e5565b80600019048211156124c1576124c1611d43565b029392505050565b60006116a88383612428565b6000826124e4576124e461236c565b50069056fea264697066735822122014b842a0757d4ec0c7768c8c29fec84d20bd7c03ad1a5e3376215194d1c9806464736f6c63430008090033", + "balance": "0x0" + }, + "0x1FEEE7d2A4da93fE4899fFf3ff844A224b1A143d": { + "contractName": "LibTxDecoder", + "storage": {}, + "code": "0x73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80632cb6101a14610045578063dae029d31461006e575b600080fd5b6100586100533660046117b8565b61008e565b6040516100659190611925565b60405180910390f35b61008161007c3660046119de565b610218565b6040516100659190611aad565b604080516020810190915260608152816100a757610212565b60006100e884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104e092505050565b90506000815167ffffffffffffffff811115610106576101066119af565b60405190808252806020026020018201604052801561019b57816020015b610188604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b8152602001906001900390816101245790505b50905060005b82518110156101ff576101cf61007c8483815181106101c2576101c2611ac0565b6020026020010151610513565b8282815181106101e1576101e1611ac0565b602002602001018190525080806101f790611b1e565b9150506101a1565b5060408051602081019091529081529150505b92915050565b61027c604051806101000160405280600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001600060ff1681526020016000815260200160008152602001606081525090565b602082015160e0820183905260001a60c081108015906102a0575060fe8160ff1611155b156103265760008083526102b3846104e0565b905060006102c0826105a3565b60408082015160608088019190915282015173ffffffffffffffffffffffffffffffffffffffff16602087015260c08083015160ff16608088015260e083015160a080890191909152610100840151918801919091529091015190850152506104da9050565b607f8160ff16116104925760ff81168252600061034c6103478560016107bd565b6104e0565b90508160ff16600114156103c4576000610365826107fa565b6060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff16602087015261010082015160ff169086015261012081015160a086015261014081015160c080870191909152015160408501525061048c565b826000015160ff166002141561043f5760006103df82610a3b565b608080820151606087015260a08083015173ffffffffffffffffffffffffffffffffffffffff16602088015261012083015160ff16918701919091526101408201519086015261016081015160c086015260e0015160408501525061048c565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064015b60405180910390fd5b506104da565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964207072656669780000000000000000000000000000000000006044820152606401610483565b50919050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061021290610c90565b6060600080600061052385610e8f565b91945092509050600081600181111561053e5761053e611b57565b1461058b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610483565b61059a856020015184846111e0565b95945050505050565b61060b604051806101200160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160608152602001600060ff16815260200160008152602001600081525090565b815160091461065c5760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b61067f8260008151811061067257610672611ac0565b60200260200101516112d9565b8152815161069a908390600190811061067257610672611ac0565b602082015281516106b8908390600290811061067257610672611ac0565b604082015281516106e390839060039081106106d6576106d6611ac0565b60200260200101516112e4565b73ffffffffffffffffffffffffffffffffffffffff1660608201528151610717908390600490811061067257610672611ac0565b6080820152815161073590839060059081106101c2576101c2611ac0565b60a082015261074862028c5b6002611b86565b61075e8360068151811061067257610672611ac0565b6107689190611bc3565b610773906023611bda565b60ff1660c08201528151610794908390600790811061067257610672611ac0565b60e082015281516107b2908390600890811061067257610672611ac0565b610100820152919050565b6060825182106107dc5750604080516020810190915260008152610212565b6107f383838486516107ee9190611bc3565b611353565b9392505050565b61087060405180610160016040528060008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600b146108c15760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b6108d78260008151811061067257610672611ac0565b815281516108f2908390600190811061067257610672611ac0565b60208201528151610910908390600290811061067257610672611ac0565b6040820152815161092e908390600390811061067257610672611ac0565b6060820152815161094c90839060049081106106d6576106d6611ac0565b73ffffffffffffffffffffffffffffffffffffffff1660808201528151610980908390600590811061067257610672611ac0565b60a0820152815161099e90839060069081106101c2576101c2611ac0565b8160c001819052506109d16109cc836007815181106109bf576109bf611ac0565b6020026020010151610c90565b6114f2565b8160e001819052506109ef8260088151811061067257610672611ac0565b60ff166101008201528151610a11908390600990811061067257610672611ac0565b6101208201528151610a30908390600a90811061067257610672611ac0565b610140820152919050565b610ab86040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016060815260200160608152602001600060ff16815260200160008152602001600081525090565b8151600c14610b095760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964206974656d73206c656e6774680000000000000000000000006044820152606401610483565b610b1f8260008151811061067257610672611ac0565b81528151610b3a908390600190811061067257610672611ac0565b60208201528151610b58908390600290811061067257610672611ac0565b60408201528151610b76908390600390811061067257610672611ac0565b60608201528151610b94908390600490811061067257610672611ac0565b60808201528151610bb290839060059081106106d6576106d6611ac0565b73ffffffffffffffffffffffffffffffffffffffff1660a08201528151610be6908390600690811061067257610672611ac0565b60c08201528151610c0490839060079081106101c2576101c2611ac0565b8160e00181905250610c256109cc836008815181106109bf576109bf611ac0565b816101000181905250610c448260098151811061067257610672611ac0565b60ff166101208201528151610c66908390600a90811061067257610672611ac0565b6101408201528151610c85908390600b90811061067257610672611ac0565b610160820152919050565b6060600080610c9e84610e8f565b91935090915060019050816001811115610cba57610cba611b57565b14610d075760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610483565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610d205790505090506000835b8651811015610e845760208210610dcc5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610483565b600080610e096040518060400160405280858c60000151610ded9190611bc3565b8152602001858c60200151610e029190611bda565b9052610e8f565b509150915060405180604001604052808383610e259190611bda565b8152602001848b60200151610e3a9190611bda565b815250858581518110610e4f57610e4f611ac0565b6020908102919091010152610e65600185611bda565b9350610e718183611bda565b610e7b9084611bda565b92505050610d4d565b508152949350505050565b600080600080846000015111610ee75760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610483565b6020840151805160001a607f8111610f0c5760006001600094509450945050506111d9565b60b78111610f88576000610f21608083611bc3565b905080876000015111610f765760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610483565b600195509350600092506111d9915050565b60bf8111611077576000610f9d60b783611bc3565b905080876000015111610ff25760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610483565b600183015160208290036101000a900461100c8183611bda565b88511161105b5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610483565b611066826001611bda565b96509450600093506111d992505050565b60f781116110f257600061108c60c083611bc3565b9050808760000151116110e15760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610483565b6001955093508492506111d9915050565b60006110ff60f783611bc3565b9050808760000151116111545760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610483565b600183015160208290036101000a900461116e8183611bda565b8851116111bd5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610483565b6111c8826001611bda565b96509450600193506111d992505050565b9193909250565b606060008267ffffffffffffffff8111156111fd576111fd6119af565b6040519080825280601f01601f191660200182016040528015611227576020820181803683370190505b50905080516000141561123b5790506107f3565b60006112478587611bda565b90506020820160005b61125b602087611bf2565b8110156112925782518252611271602084611bda565b925061127e602083611bda565b91508061128a81611b1e565b915050611250565b5080519151601f959095166020036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019182169119909416179092525092915050565b6000610212826116b5565b8051600090600114156112f957506000919050565b815160151461134a5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020616464726573732076616c75652e0000000000006044820152606401610483565b610212826112d9565b60608161136181601f611bda565b10156113af5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610483565b826113ba8382611bda565b10156114085760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610483565b6114128284611bda565b845110156114625760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610483565b60608215801561148157604051915060008252602082016040526114e9565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156114ba5780518352602092830192016114a2565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6060815167ffffffffffffffff81111561150e5761150e6119af565b60405190808252806020026020018201604052801561155457816020015b60408051808201909152600081526060602082015281526020019060019003908161152c5790505b50905060005b82518110156104da57600061157a8483815181106109bf576109bf611ac0565b90506000611594826000815181106106d6576106d6611ac0565b905060006115ae836001815181106109bf576109bf611ac0565b90506000815167ffffffffffffffff8111156115cc576115cc6119af565b6040519080825280602002602001820160405280156115f5578160200160208202803683370190505b50905060005b82518110156116555761162683828151811061161957611619611ac0565b60200260200101516116b5565b82828151811061163857611638611ac0565b60209081029190910101528061164d81611b1e565b9150506115fb565b5060405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018281525086868151811061169357611693611ac0565b60200260200101819052505050505080806116ad90611b1e565b91505061155a565b600060218260000151111561170c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610483565b600080600061171a85610e8f565b91945092509050600081600181111561173557611735611b57565b146117825760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610483565b60008386602001516117949190611bda565b805190915060208410156117ae5760208490036101000a90045b9695505050505050565b600080602083850312156117cb57600080fd5b823567ffffffffffffffff808211156117e357600080fd5b818501915085601f8301126117f757600080fd5b81358181111561180657600080fd5b86602082850101111561181857600080fd5b60209290920196919550909350505050565b6000815180845260005b8181101561185057602081850181015186830182015201611834565b81811115611862576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600061010060ff835116845273ffffffffffffffffffffffffffffffffffffffff602084015116602085015260408301518160408601526118d88286018261182a565b9150506060830151606085015260808301516118f9608086018260ff169052565b5060a083015160a085015260c083015160c085015260e083015184820360e086015261059a828261182a565b60006020808352604083018451828386015281815180845260608701915060608160051b8801019350848301925060005b818110156119a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888603018352611990858551611895565b94509285019291850191600101611956565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156119f057600080fd5b813567ffffffffffffffff80821115611a0857600080fd5b818401915084601f830112611a1c57600080fd5b813581811115611a2e57611a2e6119af565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611a7457611a746119af565b81604052828152876020848701011115611a8d57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6020815260006107f36020830184611895565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b5057611b50611aef565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611bbe57611bbe611aef565b500290565b600082821015611bd557611bd5611aef565b500390565b60008219821115611bed57611bed611aef565b500190565b600082611c28577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220ce05fa3cbf6e91edf039ea061baf84063d7d321bf9eb0101e512c682c93dd08f64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000006": { + "contractName": "AddressManager", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000033": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x9e150550d912c06ad86bcac5075c8239136cbee2772f59805934f638390787fd": "0x0000000000000000000000000000777700000000000000000000000000000001", + "0xdf0a4e0e7239b530f3a9e9f04f6a2a1d6919446d7589e04de0d7da7f18f5d05a": "0x0000000000000000000000000000777700000000000000000000000000000004", + "0x20beed59eb6fea4f4c6192069320a80e7e285095b80b0603151a98cc480424ce": "0x0000000000000000000000000000777700000000000000000000000000000002", + "0x3d81277ccd96113ddd1d87267c98b973367fd126e1b94b601a82a8474494f54f": "0x0000000000000000000000000000777700000000000000000000000000000003" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bf40fac111610050578063bf40fac1146100d7578063e1c7392a146100ea578063f2fde38b146100f257600080fd5b8063715018a6146100775780638da5cb5b146100815780639b2ea4bd146100c4575b600080fd5b61007f610105565b005b60335473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f6100d23660046107d8565b610119565b61009b6100e5366004610826565b6101ec565b61007f610228565b61007f610100366004610863565b6103bf565b61010d610473565b61011760006104f4565b565b610121610473565b600061012c8361056b565b60008181526065602052604090819020805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092559151929350169061018f908590610885565b6040805191829003822073ffffffffffffffffffffffffffffffffffffffff808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b6000606560006101fb8461056b565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1692915050565b600054610100900460ff16158080156102485750600054600160ff909116105b806102625750303b158015610262575060005460ff166001145b6102f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561035157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61035961059b565b80156103bc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6103c7610473565b73ffffffffffffffffffffffffffffffffffffffff811661046a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102ea565b6103bc816104f4565b60335473ffffffffffffffffffffffffffffffffffffffff163314610117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ea565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160405160200161057e9190610885565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16610632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ea565b610117600054610100900460ff166106cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016102ea565b610117336104f4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261071557600080fd5b813567ffffffffffffffff80821115610730576107306106d5565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610776576107766106d5565b8160405283815286602085880101111561078f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146107d357600080fd5b919050565b600080604083850312156107eb57600080fd5b823567ffffffffffffffff81111561080257600080fd5b61080e85828601610704565b92505061081d602084016107af565b90509250929050565b60006020828403121561083857600080fd5b813567ffffffffffffffff81111561084f57600080fd5b61085b84828501610704565b949350505050565b60006020828403121561087557600080fd5b61087e826107af565b9392505050565b6000825160005b818110156108a6576020818601810151858301520161088c565b818111156108b5576000828501525b50919091019291505056fea264697066735822122073e1836383d35ef46f9abd6688521406480eb2e7754e7387e4dd208fb4d7c6e464736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000001": { + "contractName": "TaikoL2", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000032": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000035": "0x7eb68e48c9bb3d707a9aba14662dab6ddd0a07c15abb07e83f02d11a86c15560" + }, + "code": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80639a295e7311610081578063dac5df781161005b578063dac5df78146101f2578063ee82ac5e146101fb578063f16c79341461020e57600080fd5b80639a295e7314610170578063a0ca2d08146101d6578063c8d772ab146101e957600080fd5b8063461a4478116100b2578063461a4478146101405780635155ce9f14610153578063975e09a01461015b57600080fd5b806325bf86f2146100ce5780633ab76e9f14610101575b600080fd5b6100ee6100dc366004611e7a565b60009081526034602052604090205490565b6040519081526020015b60405180910390f35b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f8565b61011b61014e366004611fbe565b610221565b6036546100ee565b61016e610169366004611ff3565b610233565b005b604080516001815262028c5b6020820152610801918101919091526014606082015260006080820152600560a0820152624c4b4060c0820152606460e0820152620927c06101008201526152086101208201526203d090610140820152610160016100f8565b61016e6101e4366004612080565b6102ec565b6100ee60365481565b6100ee60355481565b6100ee610209366004611e7a565b61034c565b61011b61021c3660046120a2565b610399565b600061022d4683610456565b92915050565b600061024185858585610531565b90506000816006811115610257576102576120e9565b14156102aa5760405162461bcd60e51b815260206004820152600960248201527f4c323a726561736f6e000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6102b261082f565b6102bc8585610952565b6040517f64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a290600090a25050505050565b6102f461082f565b60008281526034602052604090819020829055603682905551829043907f930c750845026c7bb04c0e3d9111d512b4c86981713c4944a35a10a4a7a854f3906103409085815260200190565b60405180910390a35050565b600043821061035d57506000919050565b4382108015610377575061037361010043612147565b8210155b1561038157504090565b5060009081526033602052604090205490565b919050565b60006103a58383610456565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661040f5760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f4164647265737300000000000000000000000000000000000060448201526064016102a1565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061046284610974565b8360405160200161047492919061218e565b60408051601f19818403018152908290526000547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906104d99084906004016121e6565b60206040518083038186803b1580156104f157600080fd5b505afa158015610505573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610529919061223d565b949350505050565b6000620927c084111561054657506001610529565b6040517f2cb6101a000000000000000000000000000000000000000000000000000000008152731FEEE7d2A4da93fE4899fFf3ff844A224b1A143d90632cb6101a906105989088908890600401612258565b60006040518083038186803b1580156105b057600080fd5b505af49250505080156105e557506040513d6000823e601f3d908101601f191682016040526105e291908101906122dd565b60015b610623573d808015610613576040519150601f19603f3d011682016040523d82523d6000602084013e610618565b606091505b506002915050610529565b80515160641015610638576003915050610529565b624c4b4061064582610aa6565b1115610655576004915050610529565b80515183106106a65760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642074784964780000000000000000000000000000000000000060448201526064016102a1565b6000816000015184815181106106be576106be61247d565b60200260200101519050600560068111156106db576106db6120e9565b8560068111156106ed576106ed6120e9565b141561076c5760006106fe82610afa565b73ffffffffffffffffffffffffffffffffffffffff16146107615760405162461bcd60e51b815260206004820152601760248201527f6261642068696e742054585f494e56414c49445f53494700000000000000000060448201526064016102a1565b600592505050610529565b6006856006811115610780576107806120e9565b14156107e757615208816060015110156107dc5760405162461bcd60e51b815260206004820152600860248201527f6261642068696e7400000000000000000000000000000000000000000000000060448201526064016102a1565b600692505050610529565b60405162461bcd60e51b815260206004820152601e60248201527f6661696c656420746f2070726f76652074786c69737420696e76616c6964000060448201526064016102a1565b610837611e5b565b434660025b610100811115801561084e5750808310155b1561089c5761085d8184612147565b408460ff61086b8487612147565b61087591906124db565b60ff81106108855761088561247d565b602002015280610894816124ef565b91505061083c565b5060006108aa600184612147565b905080406108bb8383600088610b89565b6035541461090b5760405162461bcd60e51b815260206004820152601260248201527f4c323a7075626c6963496e70757448617368000000000000000000000000000060448201526064016102a1565b808561091860ff856124db565b60ff81106109285761092861247d565b602002015261093a8385600088610b89565b60355560009182526033602052604090912055505050565b60008282604051610964929190612528565b6040518091039020905092915050565b6060816109b457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156109de57806109c8816124ef565b91506109d79050600a83612538565b91506109b8565b60008167ffffffffffffffff8111156109f9576109f9611e93565b6040519080825280601f01601f191660200182016040528015610a23576020820181803683370190505b5090505b841561052957610a38600183612147565b9150610a45600a866124db565b610a5090603061254c565b60f81b818381518110610a6557610a6561247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610a9f600a86612538565b9450610a27565b8051600090815b8151811015610af357818181518110610ac857610ac861247d565b60200260200101516060015183610adf919061254c565b925080610aeb816124ef565b915050610aad565b5050919050565b60006001610b0783610bc2565b6080840151610b1790601b612564565b60a085015160c0860151604080516000815260200190819052610b56949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015610b78573d6000803e3d6000fd5b5050604051601f1901519392505050565b600084848484604051602001610ba29493929190612589565b604051602081830303815290604052805190602001209050949350505050565b805160009060609060ff16610be557610bde8360e00151610fb5565b9050610bff565b610bfc610bf78460e001516001610fe8565b610fb5565b90505b825160ff16610c5e578051600914610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b610d68565b826000015160ff1660011415610cbf578051600b14610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b826000015160ff1660021415610d20578051600c14610c595760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726c70206974656d7300000000000000000000000000000060448201526064016102a1565b60405162461bcd60e51b815260206004820152600e60248201527f696e76616c69642074785479706500000000000000000000000000000000000060448201526064016102a1565b825160009060ff1615610d885760038251610d839190612147565b610d8b565b81515b67ffffffffffffffff811115610da357610da3611e93565b604051908082528060200260200182016040528015610dd657816020015b6060815260200190600190039081610dc15790505b50905060005b8151811015610f6357845160ff1615801590610e04575060018251610e019190612147565b81145b15610e4d57610e2b838281518110610e1e57610e1e61247d565b602002602001015161101e565b828281518110610e3d57610e3d61247d565b6020026020010181905250610f51565b610e77610e72848381518110610e6557610e6561247d565b6020026020010151611029565b6110b9565b828281518110610e8957610e8961247d565b6020908102919091010152845160ff16158015610eb2575060048251610eaf9190612147565b81145b15610f5157610ec362028c5b611128565b82610ecf83600161254c565b81518110610edf57610edf61247d565b6020026020010181905250610ef46000611136565b82610f0083600261254c565b81518110610f1057610f1061247d565b6020026020010181905250610f256000611136565b82610f3183600361254c565b81518110610f4157610f4161247d565b6020026020010181905250610f63565b80610f5b816124ef565b915050610ddc565b506000610f6f8261114e565b855190915060ff1615610fa5578451604051610f939160f81b9083906020016125d4565b60405160208183030381529060405290505b8051602090910120949350505050565b60408051808201825260008082526020918201528151808301909252825182528083019082015260609061022d90611192565b606082518210611007575060408051602081019091526000815261022d565b6103a583838486516110199190612147565b611391565b606061022d82611512565b6060600080600061103985611528565b919450925090506000816001811115611054576110546120e9565b146110a15760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e000000000000000060448201526064016102a1565b6110b085602001518484611879565b95945050505050565b606080825160011480156110e757506080836000815181106110dd576110dd61247d565b016020015160f81c105b156110f357508161022d565b6110ff83516080611958565b8360405160200161111192919061261c565b604051602081830303815290604052905092915050565b606061022d610e7283611b4e565b606061022d610e728367ffffffffffffffff16611b4e565b6060600061115b83611cb0565b9050611169815160c0611958565b8160405160200161117b92919061261c565b604051602081830303815290604052915050919050565b60606000806111a084611528565b919350909150600190508160018111156111bc576111bc6120e9565b146112095760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e00000000000000000060448201526064016102a1565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816112225790505090506000835b865181101561138657602082106112ce5760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e0000000000000000000000000000000000000000000060648201526084016102a1565b60008061130b6040518060400160405280858c600001516112ef9190612147565b8152602001858c60200151611304919061254c565b9052611528565b509150915060405180604001604052808383611327919061254c565b8152602001848b6020015161133c919061254c565b8152508585815181106113515761135161247d565b602090810291909101015261136760018561254c565b9350611373818361254c565b61137d908461254c565b9250505061124f565b508152949350505050565b60608161139f81601f61254c565b10156113ed5760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016102a1565b826113f8838261254c565b10156114465760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016102a1565b611450828461254c565b845110156114a05760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016102a1565b6060821580156114bf5760405191506000825260208201604052611509565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156114f85780518352602092830192016114e0565b5050858452601f01601f1916604052505b50949350505050565b606061022d826020015160008460000151611879565b6000806000808460000151116115805760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e000000000000000060448201526064016102a1565b6020840151805160001a607f81116115a5576000600160009450945094505050611872565b60b781116116215760006115ba608083612147565b90508087600001511161160f5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e0000000000000060448201526064016102a1565b60019550935060009250611872915050565b60bf811161171057600061163660b783612147565b90508087600001511161168b5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e0060448201526064016102a1565b600183015160208290036101000a90046116a5818361254c565b8851116116f45760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e000000000000000060448201526064016102a1565b6116ff82600161254c565b965094506000935061187292505050565b60f7811161178b57600061172560c083612147565b90508087600001511161177a5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e00000000000000000060448201526064016102a1565b600195509350849250611872915050565b600061179860f783612147565b9050808760000151116117ed5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e00000060448201526064016102a1565b600183015160208290036101000a9004611807818361254c565b8851116118565760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e0000000000000000000060448201526064016102a1565b61186182600161254c565b965094506001935061187292505050565b9193909250565b606060008267ffffffffffffffff81111561189657611896611e93565b6040519080825280601f01601f1916602001820160405280156118c0576020820181803683370190505b5090508051600014156118d45790506103a5565b60006118e0858761254c565b90506020820160005b6118f4602087612538565b81101561192b578251825261190a60208461254c565b925061191760208361254c565b915080611923816124ef565b9150506118e9565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60608060388410156119d7576040805160018082528183019092529060208201818036833701905050905061198d8385612564565b60f81b816000815181106119a3576119a361247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506103a5565b600060015b6119e68187612538565b15611a0c57816119f5816124ef565b9250611a0590506101008261264b565b90506119dc565b611a1782600161254c565b67ffffffffffffffff811115611a2f57611a2f611e93565b6040519080825280601f01601f191660200182016040528015611a59576020820181803683370190505b509250611a668583612564565b611a71906037612564565b60f81b83600081518110611a8757611a8761247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b818111611b4557610100611acf8284612147565b611adb906101006127a8565b611ae59088612538565b611aef91906124db565b60f81b838281518110611b0457611b0461247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611b3d816124ef565b915050611abb565b50509392505050565b6060600082604051602001611b6591815260200190565b604051602081830303815290604052905060005b6020811015611bd757818181518110611b9457611b9461247d565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615611bc557611bd7565b80611bcf816124ef565b915050611b79565b6000611be4826020612147565b67ffffffffffffffff811115611bfc57611bfc611e93565b6040519080825280601f01601f191660200182016040528015611c26576020820181803683370190505b50905060005b8151811015611509578383611c40816124ef565b945081518110611c5257611c5261247d565b602001015160f81c60f81b828281518110611c6f57611c6f61247d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611ca8816124ef565b915050611c2c565b6060815160001415611cd057505060408051600081526020810190915290565b6000805b8351811015611d1757838181518110611cef57611cef61247d565b60200260200101515182611d03919061254c565b915080611d0f816124ef565b915050611cd4565b60008267ffffffffffffffff811115611d3257611d32611e93565b6040519080825280601f01601f191660200182016040528015611d5c576020820181803683370190505b50600092509050602081015b8551831015611509576000868481518110611d8557611d8561247d565b602002602001015190506000602082019050611da383828451611de0565b878581518110611db557611db561247d565b60200260200101515183611dc9919061254c565b925050508280611dd8906124ef565b935050611d68565b8282825b60208110611e1c5781518352611dfb60208461254c565b9250611e0860208361254c565b9150611e15602082612147565b9050611de4565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b60405180611fe0016040528060ff906020820280368337509192915050565b600060208284031215611e8c57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516020810167ffffffffffffffff81118282101715611ee557611ee5611e93565b60405290565b604051610100810167ffffffffffffffff81118282101715611ee557611ee5611e93565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f3857611f38611e93565b604052919050565b600067ffffffffffffffff821115611f5a57611f5a611e93565b50601f01601f191660200190565b600082601f830112611f7957600080fd5b8135611f8c611f8782611f40565b611f0f565b818152846020838601011115611fa157600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611fd057600080fd5b813567ffffffffffffffff811115611fe757600080fd5b61052984828501611f68565b6000806000806060858703121561200957600080fd5b843567ffffffffffffffff8082111561202157600080fd5b818701915087601f83011261203557600080fd5b81358181111561204457600080fd5b88602082850101111561205657600080fd5b602092830196509450508501356007811061207057600080fd5b9396929550929360400135925050565b6000806040838503121561209357600080fd5b50508035926020909101359150565b600080604083850312156120b557600080fd5b82359150602083013567ffffffffffffffff8111156120d357600080fd5b6120df85828601611f68565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561215957612159612118565b500390565b60005b83811015612179578181015183820152602001612161565b83811115612188576000848401525b50505050565b600083516121a081846020880161215e565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516121da81600184016020880161215e565b01600101949350505050565b602081526000825180602084015261220581604085016020870161215e565b601f01601f19169190910160400192915050565b805173ffffffffffffffffffffffffffffffffffffffff8116811461039457600080fd5b60006020828403121561224f57600080fd5b6103a582612219565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b805160ff8116811461039457600080fd5b600082601f8301126122a957600080fd5b81516122b7611f8782611f40565b8181528460208386010111156122cc57600080fd5b61052982602083016020870161215e565b600060208083850312156122f057600080fd5b825167ffffffffffffffff8082111561230857600080fd5b818501915082828703121561231c57600080fd5b612324611ec2565b82518281111561233357600080fd5b80840193505086601f84011261234857600080fd5b82518281111561235a5761235a611e93565b8060051b612369868201611f0f565b918252848101860191868101908a84111561238357600080fd5b87870192505b8383101561246d578251868111156123a057600080fd5b8701610100818d03601f19018113156123b857600080fd5b6123c0611eeb565b6123cb8b8401612287565b81526123d960408401612219565b8b8201526060830151898111156123ef57600080fd5b6123fd8f8d83870101612298565b6040830152506080830151606082015260a061241a818501612287565b608083015260c0808501518284015260e091508185015181840152508284015192508983111561244a5760008081fd5b6124588f8d85870101612298565b90820152845250509187019190870190612389565b8452509198975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826124ea576124ea6124ac565b500690565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561252157612521612118565b5060010190565b8183823760009101908152919050565b600082612547576125476124ac565b500490565b6000821982111561255f5761255f612118565b500190565b600060ff821660ff84168060ff0382111561258157612581612118565b019392505050565b848152600060208581840152846040840152606083018460005b60ff8110156125c0578151835291830191908301906001016125a3565b505050506120408201905095945050505050565b7fff00000000000000000000000000000000000000000000000000000000000000831681526000825161260e81600185016020870161215e565b919091016001019392505050565b6000835161262e81846020880161215e565b83519083019061264281836020880161215e565b01949350505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561268357612683612118565b500290565b600181815b808511156126e157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156126c7576126c7612118565b808516156126d457918102915b93841c939080029061268d565b509250929050565b6000826126f85750600161022d565b816127055750600061022d565b816001811461271b576002811461272557612741565b600191505061022d565b60ff84111561273657612736612118565b50506001821b61022d565b5060208310610133831016604e8410600b8410161715612764575081810a61022d565b61276e8383612688565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156127a0576127a0612118565b029392505050565b60006103a583836126e956fea264697066735822122033da65b31403f3528dc6eca551c4217b5ea7512d6e8827e9af8f7449068335bf64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000004": { + "contractName": "Bridge", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106101485760003560e01c80636950f0de116100c0578063d0496d6a11610074578063f2fde38b11610059578063f2fde38b14610421578063f980391914610441578063fee99b221461046157600080fd5b8063d0496d6a14610385578063f16c79341461040157600080fd5b80638da5cb5b116100a55780638da5cb5b1461031957806396e1785214610344578063a4444efd1461036557600080fd5b80636950f0de146102e4578063715018a61461030457600080fd5b8063461a447811610117578063540be6a3116100fc578063540be6a3146102745780635d0bd9861461029457806366ca2bc0146102c457600080fd5b8063461a4478146102175780635075a9d41461023757600080fd5b806319ab453c1461015457806332676bc6146101765780633ab76e9f146101ab5780633aec8585146101f757600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5061017461016f36600461260a565b610481565b005b34801561018257600080fd5b50610196610191366004612627565b610600565b60405190151581526020015b60405180910390f35b3480156101b757600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a2565b34801561020357600080fd5b5061019661021236600461269c565b610615565b34801561022357600080fd5b506101d2610232366004612851565b610672565b34801561024357600080fd5b50610267610252366004612886565b600090815260ca602052604090205460ff1690565b6040516101a2919061289f565b34801561028057600080fd5b5061019661028f366004612886565b61067e565b3480156102a057600080fd5b506101966102af366004612886565b600090815260c9602052604090205460ff1690565b3480156102d057600080fd5b506101746102df366004612886565b61068a565b3480156102f057600080fd5b506101746102ff3660046128f0565b6106d0565b34801561031057600080fd5b5061017461073c565b34801561032557600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166101d2565b610357610352366004612935565b610750565b6040519081526020016101a2565b34801561037157600080fd5b5061019661038036600461296a565b6107c8565b34801561039157600080fd5b50604080516060808201835260008083526020808401829052928401528251808201845260cc5480825260cd5473ffffffffffffffffffffffffffffffffffffffff90811683860190815260ce5493870193845286519283525116938101939093525192820192909252016101a2565b34801561040d57600080fd5b506101d261041c3660046129bd565b610824565b34801561042d57600080fd5b5061017461043c36600461260a565b610830565b34801561044d57600080fd5b5061017461045c366004612a04565b6108cd565b34801561046d57600080fd5b5061017461047c366004612a49565b6109b4565b600054610100900460ff16158080156104a15750600054600160ff909116105b806104bb5750303b1580156104bb575060005460ff166001145b6105325760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561059057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61059982610a9e565b80156105fc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600061060c8383610ab7565b90505b92915050565b600080610657866040518060400160405280600681526020017f6272696467650000000000000000000000000000000000000000000000000000815250610824565b90506106673082878a8888610bc9565b979650505050505050565b600061060f4683610f96565b600061060f3083610ab7565b610694338261108f565b60408051338152602081018390527ff0958489d2a32db2b0faf27a72a31fdf28f2636ca5532f1b077ddc2f51b20d1d910160405180910390a150565b600260015414156107235760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b600260015561073460c9838361119d565b505060018055565b61074461126d565b61074e60006112d4565b565b6000600260015414156107a55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556107be60c9306107b985612ab2565b61134b565b6001805592915050565b60008061080a856040518060400160405280600681526020017f6272696467650000000000000000000000000000000000000000000000000000815250610824565b905061081a308283898888610bc9565b9695505050505050565b600061060c8383610f96565b61083861126d565b73ffffffffffffffffffffffffffffffffffffffff81166108c15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610529565b6108ca816112d4565b50565b600260015414156109205760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556040517f46eb9db5000000000000000000000000000000000000000000000000000000008152738A9E82Ebf0E219BBdB4fBBd50FEd45d098a8Ba1e906346eb9db59061097c9060c990309087908790600401612d8e565b60006040518083038186803b15801561099457600080fd5b505af41580156109a8573d6000803e3d6000fd5b50505050505060018055565b60026001541415610a075760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610529565b60026001556040517fc0249e2d00000000000000000000000000000000000000000000000000000000815273f7c52068c40213E7C49313B0d6FCc11Cb2C45dbF9063c0249e2d90610a659060c9903090889088908890600401612dd6565b60006040518083038186803b158015610a7d57600080fd5b505af4158015610a91573d6000803e3d6000fd5b5050505050506001805550565b610aa6611626565b610aae6116ab565b6108ca81611730565b6000828273ffffffffffffffffffffffffffffffffffffffff8216610b1e5760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b80610b6b5760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b50506040805160609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208086019190915260348086019490945281518086039094018452605490940190525080519101205460011490565b6000848473ffffffffffffffffffffffffffffffffffffffff8216610c305760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b80610c7d5760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b73ffffffffffffffffffffffffffffffffffffffff8816610ce05760405162461bcd60e51b815260206004820152600b60248201527f423a7372634272696467650000000000000000000000000000000000000000006044820152606401610529565b6000610cee85870187612ed0565b905073C5d653E17c24928B788a17838F11d2AcF0c922A363960304398260000151606001518b610d738c8c6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b60208601516040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b168152610db6949392916001916004016130e3565b60006040518083038186803b158015610dce57600080fd5b505af4158015610de2573d6000803e3d6000fd5b50506040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7461696b6f00000000000000000000000000000000000000000000000000000060448201526000925073ffffffffffffffffffffffffffffffffffffffff8d16915063461a44789060640160206040518083038186803b158015610e7c57600080fd5b505afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb49190613124565b825161010001516040517f25bf86f20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff91909116906325bf86f29060240160206040518083038186803b158015610f3557600080fd5b505afa158015610f49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6d9190613141565b90508015801590610f8757508151610f84906117da565b81145b9b9a5050505050505050505050565b600080610fa284611b94565b83604051602001610fb492919061315a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906110379084906004016131b2565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190613124565b949350505050565b818173ffffffffffffffffffffffffffffffffffffffff82166110f45760405162461bcd60e51b815260206004820152600860248201527f423a73656e6465720000000000000000000000000000000000000000000000006044820152606401610529565b806111415760405162461bcd60e51b815260206004820152600860248201527f423a7369676e616c0000000000000000000000000000000000000000000000006044820152606401610529565b50506040805160609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020808501919091526034808501939093528151808503909301835260549093019052805191012060019055565b6000821180156111ad5750468214155b6111f95760405162461bcd60e51b815260206004820152600960248201527f423a636861696e496400000000000000000000000000000000000000000000006044820152606401610529565b6000828152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515908117909155915191825283917f9f391218c06d4fc365ceb15f340bb3d77306b28ac0b8d4e519aec2654794536d910160405180910390a2505050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461074e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610529565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b608081015160009073ffffffffffffffffffffffffffffffffffffffff166113b55760405162461bcd60e51b815260206004820152600760248201527f423a6f776e6572000000000000000000000000000000000000000000000000006044820152606401610529565b468260600151141580156113dc5750606082015160009081526020859052604090205460ff165b6114285760405162461bcd60e51b815260206004820152600d60248201527f423a64657374436861696e4964000000000000000000000000000000000000006044820152606401610529565b60008261012001518361010001518460e0015161144591906131f4565b61144f91906131f4565b90503481146114a05760405162461bcd60e51b815260206004820152600760248201527f423a76616c7565000000000000000000000000000000000000000000000000006044820152606401610529565b6040517f461a447800000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f65746865725f7661756c74000000000000000000000000000000000000000000604482015260009073ffffffffffffffffffffffffffffffffffffffff86169063461a44789060640160206040518083038186803b15801561153657600080fd5b505afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190613124565b905073ffffffffffffffffffffffffffffffffffffffff8116156115ac576115ac73ffffffffffffffffffffffffffffffffffffffff821683611cc6565b6002860180549060006115be8361320c565b9091555084523360208501524660408501526115d984611d81565b92506115e5308461108f565b827f47866f7dacd4a276245be6ed543cae03c9c17eb17e6980cee28e3dd168b7f9f3856040516116159190613362565b60405180910390a250509392505050565b600054610100900460ff166116a35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e611db1565b600054610100900460ff166117285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e611e34565b73ffffffffffffffffffffffffffffffffffffffff81166117935760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f416464726573730000000000000000000000000000000000006044820152606401610529565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006060826101e001516000141561181f5760408051600f808252610200820190925290816020015b606081526020019060019003908161180357905050905061184e565b604080516010808252610220820190925290816020015b60608152602001906001900390816118365790505090505b825161185990611eba565b8160008151811061186c5761186c613375565b60200260200101819052506118848360200151611eba565b8160018151811061189757611897613375565b60200260200101819052506118af8360400151611ecd565b816002815181106118c2576118c2613375565b60200260200101819052506118da8360600151611eba565b816003815181106118ed576118ed613375565b60200260200101819052506119058360800151611eba565b8160048151811061191857611918613375565b60200260200101819052506119308360a00151611eba565b8160058151811061194357611943613375565b602002602001018190525061197a8360c0015160405160200161196691906133a4565b604051602081830303815290604052611f09565b8160068151811061198d5761198d613375565b60200260200101819052506119a58360e00151611f78565b816007815181106119b8576119b8613375565b60200260200101819052506119e38361010001516fffffffffffffffffffffffffffffffff16611f78565b816008815181106119f6576119f6613375565b6020026020010181905250611a0f836101200151611f86565b81600981518110611a2257611a22613375565b6020026020010181905250611a3b836101400151611f86565b81600a81518110611a4e57611a4e613375565b6020026020010181905250611a67836101600151611f86565b81600b81518110611a7a57611a7a613375565b6020026020010181905250611a93836101800151611f09565b81600c81518110611aa657611aa6613375565b6020026020010181905250611abf836101a00151611eba565b81600d81518110611ad257611ad2613375565b6020026020010181905250611b21836101c00151604051602001611966919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b81600e81518110611b3457611b34613375565b6020026020010181905250826101e00151600014611b7957611b5a836101e00151611f78565b81600f81518110611b6d57611b6d613375565b60200260200101819052505b6000611b8482611f9e565b8051602090910120949350505050565b606081611bd457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611bfe5780611be88161320c565b9150611bf79050600a83613408565b9150611bd8565b60008167ffffffffffffffff811115611c1957611c19612706565b6040519080825280601f01601f191660200182016040528015611c43576020820181803683370190505b5090505b841561108757611c5860018361341c565b9150611c65600a86613433565b611c709060306131f4565b60f81b818381518110611c8557611c85613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611cbf600a86613408565b9450611c47565b80156105fc5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611d26576040519150601f19603f3d011682016040523d82523d6000602084013e611d2b565b606091505b5050905080611d7c5760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610529565b505050565b600081604051602001611d949190613447565b604051602081830303815290604052805190602001209050919050565b600054610100900460ff16611e2e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b60018055565b600054610100900460ff16611eb15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610529565b61074e336112d4565b606061060f611ec883611fe2565b611f09565b604051606082811b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208301529061060f90603401611966565b60608082516001148015611f375750608083600081518110611f2d57611f2d613375565b016020015160f81c105b15611f4357508161060f565b611f4f835160806120d5565b83604051602001611f6192919061348e565b604051602081830303815290604052905092915050565b606061060f611ec8836122cb565b606061060f611ec88367ffffffffffffffff166122cb565b60606000611fab8361242d565b9050611fb9815160c06120d5565b81604051602001611fcb92919061348e565b604051602081830303815290604052915050919050565b6060600082604051602001611ff991815260200190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260208084528383019092529250600091829160208201818036833701905050905060005b81518110156120cc57838361205c8161320c565b94508151811061206e5761206e613375565b602001015160f81c60f81b82828151811061208b5761208b613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806120c48161320c565b915050612048565b50949350505050565b6060806038841015612154576040805160018082528183019092529060208201818036833701905050905061210a83856134bd565b60f81b8160008151811061212057612120613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061060c565b600060015b6121638187613408565b1561218957816121728161320c565b92506121829050610100826134e2565b9050612159565b6121948260016131f4565b67ffffffffffffffff8111156121ac576121ac612706565b6040519080825280601f01601f1916602001820160405280156121d6576020820181803683370190505b5092506121e385836134bd565b6121ee9060376134bd565b60f81b8360008151811061220457612204613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190505b8181116122c25761010061224c828461341c565b6122589061010061363f565b6122629088613408565b61226c9190613433565b60f81b83828151811061228157612281613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806122ba8161320c565b915050612238565b50509392505050565b60606000826040516020016122e291815260200190565b604051602081830303815290604052905060005b60208110156123545781818151811061231157612311613375565b01602001517fff00000000000000000000000000000000000000000000000000000000000000161561234257612354565b8061234c8161320c565b9150506122f6565b600061236182602061341c565b67ffffffffffffffff81111561237957612379612706565b6040519080825280601f01601f1916602001820160405280156123a3576020820181803683370190505b50905060005b81518110156120cc5783836123bd8161320c565b9450815181106123cf576123cf613375565b602001015160f81c60f81b8282815181106123ec576123ec613375565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806124258161320c565b9150506123a9565b606081516000141561244d57505060408051600081526020810190915290565b6000805b83518110156124945783818151811061246c5761246c613375565b6020026020010151518261248091906131f4565b91508061248c8161320c565b915050612451565b60008267ffffffffffffffff8111156124af576124af612706565b6040519080825280601f01601f1916602001820160405280156124d9576020820181803683370190505b50600092509050602081015b85518310156120cc57600086848151811061250257612502613375565b6020026020010151905060006020820190506125208382845161255d565b87858151811061253257612532613375565b6020026020010151518361254691906131f4565b9250505082806125559061320c565b9350506124e5565b8282825b6020811061259957815183526125786020846131f4565b92506125856020836131f4565b915061259260208261341c565b9050612561565b905182516020929092036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052505050565b73ffffffffffffffffffffffffffffffffffffffff811681146108ca57600080fd5b8035612605816125d8565b919050565b60006020828403121561261c57600080fd5b813561060c816125d8565b6000806040838503121561263a57600080fd5b8235612645816125d8565b946020939093013593505050565b60008083601f84011261266557600080fd5b50813567ffffffffffffffff81111561267d57600080fd5b60208301915083602082850101111561269557600080fd5b9250929050565b6000806000806000608086880312156126b457600080fd5b853594506020860135935060408601356126cd816125d8565b9250606086013567ffffffffffffffff8111156126e957600080fd5b6126f588828901612653565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561275957612759612706565b60405290565b6040805190810167ffffffffffffffff8111828210171561275957612759612706565b604051610200810167ffffffffffffffff8111828210171561275957612759612706565b600082601f8301126127b757600080fd5b813567ffffffffffffffff808211156127d2576127d2612706565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561281857612818612706565b8160405283815286602085880101111561283157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561286357600080fd5b813567ffffffffffffffff81111561287a57600080fd5b611087848285016127a6565b60006020828403121561289857600080fd5b5035919050565b60208101600483106128da577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b8035801515811461260557600080fd5b6000806040838503121561290357600080fd5b82359150612913602084016128e0565b90509250929050565b60006101a0828403121561292f57600080fd5b50919050565b60006020828403121561294757600080fd5b813567ffffffffffffffff81111561295e57600080fd5b6110878482850161291c565b6000806000806060858703121561298057600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156129a557600080fd5b6129b187828801612653565b95989497509550505050565b600080604083850312156129d057600080fd5b82359150602083013567ffffffffffffffff8111156129ee57600080fd5b6129fa858286016127a6565b9150509250929050565b60008060408385031215612a1757600080fd5b823567ffffffffffffffff811115612a2e57600080fd5b612a3a8582860161291c565b925050612913602084016128e0565b600080600060408486031215612a5e57600080fd5b833567ffffffffffffffff80821115612a7657600080fd5b612a828783880161291c565b94506020860135915080821115612a9857600080fd5b50612aa586828701612653565b9497909650939450505050565b60006101a08236031215612ac557600080fd5b612acd612735565b82358152612add602084016125fa565b60208201526040830135604082015260608301356060820152612b02608084016125fa565b6080820152612b1360a084016125fa565b60a0820152612b2460c084016125fa565b60c082015260e083810135908201526101008084013590820152610120808401359082015261014080840135908201526101608084013567ffffffffffffffff80821115612b7157600080fd5b612b7d368388016127a6565b83850152610180925082860135915080821115612b9957600080fd5b50612ba6368287016127a6565b918301919091525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612be957600080fd5b830160208101925035905067ffffffffffffffff811115612c0957600080fd5b80360383131561269557600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101a082358452612c76602084016125fa565b73ffffffffffffffffffffffffffffffffffffffff81166020860152506040830135604085015260608301356060850152612cb3608084016125fa565b73ffffffffffffffffffffffffffffffffffffffff166080850152612cda60a084016125fa565b73ffffffffffffffffffffffffffffffffffffffff1660a0850152612d0160c084016125fa565b73ffffffffffffffffffffffffffffffffffffffff1660c085015260e08381013590850152610100808401359085015261012080840135908501526101408084013590850152610160612d5681850185612bb4565b8383880152612d688488018284612c18565b9350505050610180612d7c81850185612bb4565b86840383880152610667848284612c18565b84815273ffffffffffffffffffffffffffffffffffffffff84166020820152608060408201526000612dc36080830185612c61565b9050821515606083015295945050505050565b85815273ffffffffffffffffffffffffffffffffffffffff85166020820152608060408201526000612e0b6080830186612c61565b8281036060840152612e1e818587612c18565b98975050505050505050565b600082601f830112612e3b57600080fd5b60405161010080820182811067ffffffffffffffff82111715612e6057612e60612706565b60405283018185821115612e7357600080fd5b845b82811015612e8d578035825260209182019101612e75565b509195945050505050565b80356fffffffffffffffffffffffffffffffff8116811461260557600080fd5b803567ffffffffffffffff8116811461260557600080fd5b600060208284031215612ee257600080fd5b813567ffffffffffffffff80821115612efa57600080fd5b9083019060408286031215612f0e57600080fd5b612f1661275f565b823582811115612f2557600080fd5b83016102e08188031215612f3857600080fd5b612f40612782565b8135815260208201356020820152612f5a604083016125fa565b6040820152606082013560608201526080820135608082015260a082013560a0820152612f8a8860c08401612e2a565b60c08201526101c08083013560e08301526101e0612fa9818501612e98565b610100840152612fbc6102008501612eb8565b610120840152612fcf6102208501612eb8565b610140840152612fe26102408501612eb8565b61016084015261026084013586811115612ffb57600080fd5b6130078b8287016127a6565b610180850152506102808401356101a08401526130276102a08501612eb8565b828401526102c0840135818401525050808352505060208301358281111561304e57600080fd5b61305a878286016127a6565b60208301525095945050505050565b60005b8381101561308457818101518382015260200161306c565b83811115613093576000848401525b50505050565b600081518084526130b1816020860160208601613069565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015282606082015260a06080820152600061066760a0830184613099565b60006020828403121561313657600080fd5b815161060c816125d8565b60006020828403121561315357600080fd5b5051919050565b6000835161316c818460208801613069565b7f2e0000000000000000000000000000000000000000000000000000000000000090830190815283516131a6816001840160208801613069565b01600101949350505050565b60208152600061060c6020830184613099565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613207576132076131c5565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561323e5761323e6131c5565b5060010190565b60006101a0825184526020830151613275602086018273ffffffffffffffffffffffffffffffffffffffff169052565b50604083015160408501526060830151606085015260808301516132b1608086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060a08301516132d960a086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c083015161330160c086018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083810151908501526101008084015190850152610120808401519085015261014080840151908501526101608084015181860183905261334683870182613099565b92505050610180808401518583038287015261081a8382613099565b60208152600061060c6020830184613245565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008183825b60088110156133c95781518352602092830192909101906001016133aa565b5050506101008201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613417576134176133d9565b500490565b60008282101561342e5761342e6131c5565b500390565b600082613442576134426133d9565b500690565b60408152601460408201527f5441494b4f5f4252494447455f4d455353414745000000000000000000000000606082015260806020820152600061060c6080830184613245565b600083516134a0818460208801613069565b8351908301906134b4818360208801613069565b01949350505050565b600060ff821660ff84168060ff038211156134da576134da6131c5565b019392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561351a5761351a6131c5565b500290565b600181815b8085111561357857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561355e5761355e6131c5565b8085161561356b57918102915b93841c9390800290613524565b509250929050565b60008261358f5750600161060f565b8161359c5750600061060f565b81600181146135b257600281146135bc576135d8565b600191505061060f565b60ff8411156135cd576135cd6131c5565b50506001821b61060f565b5060208310610133831016604e8410600b84101617156135fb575081810a61060f565b613605838361351f565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613637576136376131c5565b029392505050565b600061060c838361358056fea2646970667358221220d5e1fe055176dc14480cf9170f5a503d79f8793c534119929c5bbb34db12f54764736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000002": { + "contractName": "TokenVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006" + }, + "code": "0x6080604052600436106100d25760003560e01c8063715018a61161007f578063c287e57811610059578063c287e57814610228578063ee1490b214610268578063f16c79341461027b578063f2fde38b1461029b57600080fd5b8063715018a6146101c45780638da5cb5b146101d95780639aa8605c146101f757600080fd5b80633ab76e9f116100b05780633ab76e9f1461012c578063461a44781461016357806367090ccf1461018357600080fd5b80630c6fab82146100d757806319ab453c146100f957806339da33ba14610119575b600080fd5b3480156100e357600080fd5b506100f76100f2366004612459565b6102bb565b005b34801561010557600080fd5b506100f76101143660046124c8565b6105f9565b6100f76101273660046125c3565b610773565b34801561013857600080fd5b506097546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016f57600080fd5b5061014661017e366004612641565b610ad1565b34801561018f57600080fd5b5061014661019e366004612676565b60cb6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156101d057600080fd5b506100f7610ae3565b3480156101e557600080fd5b506065546001600160a01b0316610146565b34801561020357600080fd5b506102176102123660046124c8565b610af7565b60405161015a9594939291906126fe565b34801561023457600080fd5b506102586102433660046124c8565b60c96020526000908152604090205460ff1681565b604051901515815260200161015a565b6100f761027636600461274d565b610c59565b34801561028757600080fd5b506101466102963660046127e9565b611682565b3480156102a757600080fd5b506100f76102b63660046124c8565b611695565b600260015414156103135760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260015560408051808201909152600681527f6272696467650000000000000000000000000000000000000000000000000000602082015261035581610ad1565b6001600160a01b0316336001600160a01b0316146103b55760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161030a565b6000336001600160a01b031663d0496d6a6040518163ffffffff1660e01b815260040160606040518083038186803b1580156103f057600080fd5b505afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190612830565b905061046d81604001516040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b031681602001516001600160a01b0316146104d15760405162461bcd60e51b815260206004820152600860248201527f563a73656e646572000000000000000000000000000000000000000000000000604482015260640161030a565b60008635461415610507576104ec60408801602089016124c8565b90506105026001600160a01b0382168686611725565b610590565b610510876117d3565b6040517f42e91bb30000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052919250908216906342e91bb390604401600060405180830381600087803b15801561057757600080fd5b505af115801561058b573d6000803e3d6000fd5b505050505b60408281015181516001600160a01b038981168252602082019290925283821681840152606081018790529151908716917f485a7041eaecffd5ef478f291c05a2a47a1e6af7e7780e46578f18bf03e1bf3f919081900360800190a25050600180555050505050565b600054610100900460ff16158080156106195750600054600160ff909116105b806106335750303b158015610633575060005460ff166001145b6106a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161030a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561070357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61070c8261182c565b801561076f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600260015414156107c65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161030a565b60026001556001600160a01b03851615801590610833575061081d866040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b0316856001600160a01b031614155b6108815760405162461bcd60e51b815260040161030a9060208082526004908201527f563a746f00000000000000000000000000000000000000000000000000000000604082015260600190565b8234116108d05760405162461bcd60e51b815260206004820152600a60248201527f563a6d736756616c756500000000000000000000000000000000000000000000604482015260640161030a565b61095f604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018790523360808201526001600160a01b03861660a08201526101408101859052610120810184905261099584346128c1565b60e08201526001600160a01b03831660c0820152610180810182905260408051808201909152600681527f627269646765000000000000000000000000000000000000000000000000000060208201526000906109f190610ad1565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b8152600401610a1d91906128d8565b6020604051808303818588803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6f91906129d2565b60e0830151604080518b8152602081019290925281018290529091506001600160a01b038816907fc4f150c33b1c9146a833662318b1e72e3d07a471886bb6f3a547a8e0bc3a7cfa9060600160405180910390a2505060018055505050505050565b6000610add4683611845565b92915050565b610aeb611913565b610af5600061196d565b565b60ca6020526000908152604090208054600182015460028301805492936001600160a01b038316937401000000000000000000000000000000000000000090930460ff1692909190610b48906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b74906129eb565b8015610bc15780601f10610b9657610100808354040283529160200191610bc1565b820191906000526020600020905b815481529060010190602001808311610ba457829003601f168201915b505050505090806003018054610bd6906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c02906129eb565b8015610c4f5780601f10610c2457610100808354040283529160200191610c4f565b820191906000526020600020905b815481529060010190602001808311610c3257829003601f168201915b5050505050905085565b60026001541415610cac5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161030a565b60026001556001600160a01b03871615801590610d195750610d03886040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250611682565b6001600160a01b0316876001600160a01b031614155b610d675760405162461bcd60e51b815260040161030a9060208082526004908201527f563a746f00000000000000000000000000000000000000000000000000000000604082015260600190565b6001600160a01b038616610dbd5760405162461bcd60e51b815260206004820152600760248201527f563a746f6b656e00000000000000000000000000000000000000000000000000604482015260640161030a565b60008511610e0d5760405162461bcd60e51b815260206004820152600860248201527f563a616d6f756e74000000000000000000000000000000000000000000000000604482015260640161030a565b6040805160a08101825260008082526020820181905291810191909152606080820181905260808201526001600160a01b038716600090815260c9602052604081205460ff16156110bd576040517f77be18a8000000000000000000000000000000000000000000000000000000008152336004820152602481018890526001600160a01b038916906377be18a890604401600060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506001600160a01b03888116600090815260ca6020908152604091829020825160a081018452815481526001820154948516928101929092527401000000000000000000000000000000000000000090930460ff1691810191909152600282018054919291606084019190610f44906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610f70906129eb565b8015610fbd5780601f10610f9257610100808354040283529160200191610fbd565b820191906000526020600020905b815481529060010190602001808311610fa057829003601f168201915b50505050508152602001600382018054610fd6906129eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611002906129eb565b801561104f5780601f106110245761010080835404028352916020019161104f565b820191906000526020600020905b81548152906001019060200180831161103257829003601f168201915b5050509190925250505060208101519092506001600160a01b03166110b65760405162461bcd60e51b815260206004820152601060248201527f563a63616e6f6e6963616c546f6b656e00000000000000000000000000000000604482015260640161030a565b508561139a565b60008890506040518060a001604052804681526020018a6001600160a01b03168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561111b57600080fd5b505afa15801561112f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111539190612a4e565b60ff168152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d09190810190612a6b565b8152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261124a9190810190612a6b565b90526040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529093506000906001600160a01b038316906370a082319060240160206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e291906129d2565b90506112f96001600160a01b03831633308c6119d7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b15801561135357600080fd5b505afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b91906129d2565b61139591906128c1565b925050505b611429604051806101a001604052806000815260200160006001600160a01b03168152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b606081018b905233608082015260408051808201909152600b81527f746f6b656e5f7661756c740000000000000000000000000000000000000000006020820152611475908c90611682565b6001600160a01b031660a082015260808101516040517f0c6fab8200000000000000000000000000000000000000000000000000000000916114c0918691908e908790602401612ae2565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526101608201526101408101879052610120810186905261153f86346128c1565b60e08201526001600160a01b03851660c0820152610180810184905260408051808201909152600681527f6272696467650000000000000000000000000000000000000000000000000000602082015260009061159b90610ad1565b6001600160a01b03166396e1785234846040518363ffffffff1660e01b81526004016115c791906128d8565b6020604051808303818588803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061161991906129d2565b604080518e81526001600160a01b038d81166020830152918101869052606081018390529192508c16907ffd41c851d9a68cdf761055c8f7cb21010b653b27f89f6e3fa224a75eb82a40ac9060800160405180910390a250506001805550505050505050505050565b600061168e8383611845565b9392505050565b61169d611913565b6001600160a01b0381166117195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161030a565b6117228161196d565b50565b6040516001600160a01b0383166024820152604481018290526117ce9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611a2e565b505050565b8035600090815260cb602090815260408083208392909183916117fa9187019087016124c8565b6001600160a01b03908116825260208201929092526040016000205416905080610add5761182783611b13565b61168e565b611834611dd0565b61183c611e55565b61172281611eda565b60008061185184611f6a565b83604051602001611863929190612b99565b60408051601f19818403018152908290526097547fbf40fac10000000000000000000000000000000000000000000000000000000083529092506001600160a01b03169063bf40fac1906118bb908490600401612bf1565b60206040518083038186803b1580156118d357600080fd5b505afa1580156118e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190b9190612c04565b949350505050565b6065546001600160a01b03163314610af55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161030a565b606580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a289085907f23b872dd000000000000000000000000000000000000000000000000000000009060840161176a565b50505050565b6000611a83826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661209c9092919063ffffffff16565b8051909150156117ce5780806020019051810190611aa19190612c21565b6117ce5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161030a565b6000808235611b2860408501602086016124c8565b604051602001611b6792919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b604051602081830303815290604052805190602001209050611bad60008260405180602001611b9590612437565b601f1982820381018352601f909101166040526120ab565b6097549092506001600160a01b0380841691636c0db62b9116611bd660408701602088016124c8565b8635611be86060890160408a01612c43565b611bf560608a018a612c60565b611c0260808c018c612c60565b604051611c169291908e3590602001612ccc565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401611c479796959493929190612d7a565b600060405180830381600087803b158015611c6157600080fd5b505af1158015611c75573d6000803e3d6000fd5b5050506001600160a01b038316600090815260c96020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560ca9091529020849150611cd08282612f21565b50508235600090815260cb60209081526040808320859390929091611cfa919088019088016124c8565b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316836020016020810190611d5b91906124c8565b6001600160a01b031684357f9e465b29e576a3e01584e31d607353f21b80c055e813af907c0a495f6cf4f7bc611d946060880188612c60565b611da160808a018a612c60565b611db160608c0160408d01612c43565b604051611dc2959493929190612ff9565b60405180910390a450919050565b600054610100900460ff16611e4d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af56121ad565b600054610100900460ff16611ed25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af5612230565b6001600160a01b038116611f305760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161030a565b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b606081611faa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611fd45780611fbe81613036565b9150611fcd9050600a8361309e565b9150611fae565b60008167ffffffffffffffff811115611fef57611fef6124e5565b6040519080825280601f01601f191660200182016040528015612019576020820181803683370190505b5090505b841561190b5761202e6001836128c1565b915061203b600a866130b2565b6120469060306130c6565b60f81b81838151811061205b5761205b6130de565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350612095600a8661309e565b945061201d565b606061190b84846000856122b6565b600080844710156120fe5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161030a565b825161214c5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161030a565b8383516020850187f590506001600160a01b03811661190b5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161030a565b600054610100900460ff1661222a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b60018055565b600054610100900460ff166122ad5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161030a565b610af53361196d565b60608247101561232e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161030a565b6001600160a01b0385163b6123855760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161030a565b600080866001600160a01b031685876040516123a1919061310d565b60006040518083038185875af1925050503d80600081146123de576040519150601f19603f3d011682016040523d82523d6000602084013e6123e3565b606091505b50915091506123f38282866123fe565b979650505050505050565b6060831561240d57508161168e565b82511561241d5782518084602001fd5b8160405162461bcd60e51b815260040161030a9190612bf1565b6120a08061312a83390190565b6001600160a01b038116811461172257600080fd5b6000806000806080858703121561246f57600080fd5b843567ffffffffffffffff81111561248657600080fd5b850160a0818803121561249857600080fd5b935060208501356124a881612444565b925060408501356124b881612444565b9396929550929360600135925050565b6000602082840312156124da57600080fd5b813561168e81612444565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561253d5761253d6124e5565b604052919050565b600067ffffffffffffffff82111561255f5761255f6124e5565b50601f01601f191660200190565b600082601f83011261257e57600080fd5b813561259161258c82612545565b612514565b8181528460208386010111156125a657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060c087890312156125dc57600080fd5b8635955060208701356125ee81612444565b94506040870135935060608701359250608087013561260c81612444565b915060a087013567ffffffffffffffff81111561262857600080fd5b61263489828a0161256d565b9150509295509295509295565b60006020828403121561265357600080fd5b813567ffffffffffffffff81111561266a57600080fd5b61190b8482850161256d565b6000806040838503121561268957600080fd5b82359150602083013561269b81612444565b809150509250929050565b60005b838110156126c15781810151838201526020016126a9565b83811115611a285750506000910152565b600081518084526126ea8160208601602086016126a6565b601f01601f19169290920160200192915050565b8581526001600160a01b038516602082015260ff8416604082015260a06060820152600061272f60a08301856126d2565b828103608084015261274181856126d2565b98975050505050505050565b600080600080600080600080610100898b03121561276a57600080fd5b88359750602089013561277c81612444565b9650604089013561278c81612444565b9550606089013594506080890135935060a0890135925060c08901356127b181612444565b915060e089013567ffffffffffffffff8111156127cd57600080fd5b6127d98b828c0161256d565b9150509295985092959890939650565b600080604083850312156127fc57600080fd5b82359150602083013567ffffffffffffffff81111561281a57600080fd5b6128268582860161256d565b9150509250929050565b60006060828403121561284257600080fd5b6040516060810181811067ffffffffffffffff82111715612865576128656124e5565b60405282518152602083015161287a81612444565b60208201526040928301519281019290925250919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156128d3576128d3612892565b500390565b6020815281516020820152600060208301516128ff60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015161292e60a08401826001600160a01b03169052565b5060a08301516001600160a01b03811660c08401525060c08301516001600160a01b03811660e08401525060e0830151610100838101919091528301516101208084019190915283015161014080840191909152830151610160808401919091528301516101a06101808085018290526129ac6101c08601846126d2565b90860151858203601f1901838701529092506129c883826126d2565b9695505050505050565b6000602082840312156129e457600080fd5b5051919050565b600181811c908216806129ff57607f821691505b60208210811415612a39577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60ff8116811461172257600080fd5b600060208284031215612a6057600080fd5b815161168e81612a3f565b600060208284031215612a7d57600080fd5b815167ffffffffffffffff811115612a9457600080fd5b8201601f81018413612aa557600080fd5b8051612ab361258c82612545565b818152856020838501011115612ac857600080fd5b612ad98260208301602086016126a6565b95945050505050565b6080815284516080820152600060208601516001600160a01b0380821660a085015260ff60408901511660c08501526060880151915060a060e0850152612b2d6101208501836126d2565b915060808801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8085840301610100860152612b6983826126d2565b9188166020860152506001600160a01b03861660408501529150612b8a9050565b82606083015295945050505050565b60008351612bab8184602088016126a6565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351612be58160018401602088016126a6565b01600101949350505050565b60208152600061168e60208301846126d2565b600060208284031215612c1657600080fd5b815161168e81612444565b600060208284031215612c3357600080fd5b8151801515811461168e57600080fd5b600060208284031215612c5557600080fd5b813561168e81612a3f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c9557600080fd5b83018035915067ffffffffffffffff821115612cb057600080fd5b602001915036819003821315612cc557600080fd5b9250929050565b828482377f286272696467656400000000000000000000000000000000000000000000000092019182527ff09f8c88000000000000000000000000000000000000000000000000000000006008830152600c8201527f2900000000000000000000000000000000000000000000000000000000000000602c820152602d01919050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60006001600160a01b03808a16835280891660208401525086604083015260ff8616606083015260c06080830152612db660c083018587612d4f565b82810360a0840152612dc881856126d2565b9a9950505050505050505050565b601f8211156117ce57600081815260208120601f850160051c81016020861015612dfd5750805b601f850160051c820191505b81811015612e1c57828155600101612e09565b505050505050565b67ffffffffffffffff831115612e3c57612e3c6124e5565b612e5083612e4a83546129eb565b83612dd6565b6000601f841160018114612ea25760008515612e6c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355612f1a565b600083815260209020601f19861690835b82811015612ed35786850135825560209485019460019092019101612eb3565b5086821015612f0e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b81358155600181016020830135612f3781612444565b6001600160a01b03811690508154817fffffffffffffffffffffffff000000000000000000000000000000000000000082161783556040850135612f7a81612a3f565b74ff00000000000000000000000000000000000000008160a01b16837fffffffffffffffffffffff00000000000000000000000000000000000000000084161717845550505050612fce6060830183612c60565b612fdc818360028601612e24565b5050612feb6080830183612c60565b611a28818360038601612e24565b60608152600061300d606083018789612d4f565b8281036020840152613020818688612d4f565b91505060ff831660408301529695505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561306857613068612892565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826130ad576130ad61306f565b500490565b6000826130c1576130c161306f565b500690565b600082198211156130d9576130d9612892565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000825161311f8184602087016126a6565b919091019291505056fe608060405234801561001057600080fd5b50612080806100206000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636c0db62b116100e357806395d89b411161008c578063dd62ed3e11610066578063dd62ed3e146103b0578063f16c7934146103f6578063f2fde38b1461040957600080fd5b806395d89b4114610382578063a457c2d71461038a578063a9059cbb1461039d57600080fd5b806377be18a8116100bd57806377be18a8146103315780637cf8ed0d146103445780638da5cb5b1461036457600080fd5b80636c0db62b146102e057806370a08231146102f3578063715018a61461032957600080fd5b80633950935111610145578063461a44781161011f578063461a44781461027457806349d126051461028757806367e828bf1461029057600080fd5b8063395093511461020d5780633ab76e9f1461022057806342e91bb31461025f57600080fd5b806318160ddd1161017657806318160ddd146101d357806323b872dd146101e5578063313ce567146101f857600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a61041c565b6040516101a79190611b2e565b60405180910390f35b6101c36101be366004611ba1565b6104ae565b60405190151581526020016101a7565b60cb545b6040519081526020016101a7565b6101c36101f3366004611bcd565b6104c6565b60ce5460405160ff90911681526020016101a7565b6101c361021b366004611ba1565b610546565b60975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61027261026d366004611ba1565b610592565b005b61023a610282366004611ce8565b6106aa565b6101d760fc5481565b6102b460fb5460fc5473ffffffffffffffffffffffffffffffffffffffff90911691565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016101a7565b6102726102ee366004611d1d565b6106bc565b6101d7610301366004611dc7565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b610272610921565b61027261033f366004611ba1565b610935565b60fb5461023a9073ffffffffffffffffffffffffffffffffffffffff1681565b60655473ffffffffffffffffffffffffffffffffffffffff1661023a565b61019a610a40565b6101c3610398366004611ba1565b610a4f565b6101c36103ab366004611ba1565b610b11565b6101d76103be366004611de4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ca6020908152604080832093909416825291909152205490565b61023a610404366004611e1d565b610b8a565b610272610417366004611dc7565b610b96565b606060cc805461042b90611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461045790611e64565b80156104a45780601f10610479576101008083540402835291602001916104a4565b820191906000526020600020905b81548152906001019060200180831161048757829003601f168201915b5050505050905090565b6000336104bc818585610c33565b5060019392505050565b600073ffffffffffffffffffffffffffffffffffffffff83163014156105335760405162461bcd60e51b815260206004820152600560248201527f42453a746f00000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61053e848484610db2565b949350505050565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104bc908290869061058d908790611ee7565b610c33565b6040518060400160405280600b81526020017f746f6b656e5f7661756c740000000000000000000000000000000000000000008152506105d1816106aa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461064b5760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161052a565b6106558383610dcb565b8273ffffffffffffffffffffffffffffffffffffffff167f397b33b307fc137878ebfc75b295289ec0ee25a31bb5bf034f33256fe8ea2aa68360405161069d91815260200190565b60405180910390a2505050565b60006106b64683610e89565b92915050565b600054610100900460ff16158080156106dc5750600054600160ff909116105b806106f65750303b1580156106f6575060005460ff166001145b6107685760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156107c657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8616158015906107ea57508415155b80156107f65750468514155b8015610803575060008351115b8015610810575060008251115b61085c5760405162461bcd60e51b815260206004820152600960248201527f42453a706172616d730000000000000000000000000000000000000000000000604482015260640161052a565b61086587610f7a565b610870828486610f93565b60fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905560fc859055801561091857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610929611020565b6109336000611087565b565b6040518060400160405280600b81526020017f746f6b656e5f7661756c74000000000000000000000000000000000000000000815250610974816106aa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109ee5760405162461bcd60e51b815260206004820152600960248201527f41523a64656e6965640000000000000000000000000000000000000000000000604482015260640161052a565b6109f883836110fe565b8273ffffffffffffffffffffffffffffffffffffffff167f9b5b9a05e4726d8bb959f1440e05c6b8109443f2083bc4e386237d76545265538360405161069d91815260200190565b606060cd805461042b90611e64565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610af95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161052a565b610b068286868403610c33565b506001949350505050565b600073ffffffffffffffffffffffffffffffffffffffff8316301415610b795760405162461bcd60e51b815260206004820152600560248201527f42453a746f000000000000000000000000000000000000000000000000000000604482015260640161052a565b610b83838361126f565b9392505050565b6000610b838383610e89565b610b9e611020565b73ffffffffffffffffffffffffffffffffffffffff8116610c275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052a565b610c3081611087565b50565b73ffffffffffffffffffffffffffffffffffffffff8316610cbb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216610d445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600033610dc085828561127d565b610b0685858561133a565b73ffffffffffffffffffffffffffffffffffffffff8216610e2e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161052a565b8060cb6000828254610e409190611ee7565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604081208054839290610e7a908490611ee7565b90915550610e859050565b5050565b600080610e958461159f565b83604051602001610ea7929190611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac190610f2a908490600401611b2e565b60206040518083038186803b158015610f4257600080fd5b505afa158015610f56573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e9190611f57565b610f826116d1565b610f8a611756565b610c30816117db565b600054610100900460ff166110105760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b61101b838383611885565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff1633146109335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052a565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff82166111875760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260c96020526040902054818110156112235760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c960205260408120838303905560cb805484929061125f908490611f74565b9091555061101b90508360008483565b6000336104bc81858561133a565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260ca60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461133457818110156113275760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161052a565b6113348484848403610c33565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166113c35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff821661144c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c96020526040902054818110156114e85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161052a565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260c9602052604080822085850390559185168152908120805484929061152c908490611ee7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161159291815260200190565b60405180910390a3611334565b6060816115df57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561160957806115f381611f8b565b91506116029050600a83611ff3565b91506115e3565b60008167ffffffffffffffff81111561162457611624611c0e565b6040519080825280601f01601f19166020018201604052801561164e576020820181803683370190505b5090505b841561053e57611663600183611f74565b9150611670600a86612007565b61167b906030611ee7565b60f81b8183815181106116905761169061201b565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506116ca600a86611ff3565b9450611652565b600054610100900460ff1661174e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b610933611960565b600054610100900460ff166117d35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b6109336119e3565b73ffffffffffffffffffffffffffffffffffffffff811661183e5760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161052a565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff166119025760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b82516119159060cc906020860190611a69565b5081516119299060cd906020850190611a69565b5060ce80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790555050565b600054610100900460ff166119dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b60018055565b600054610100900460ff16611a605760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052a565b61093333611087565b828054611a7590611e64565b90600052602060002090601f016020900481019282611a975760008555611add565b82601f10611ab057805160ff1916838001178555611add565b82800160010185558215611add579182015b82811115611add578251825591602001919060010190611ac2565b50611ae9929150611aed565b5090565b5b80821115611ae95760008155600101611aee565b60005b83811015611b1d578181015183820152602001611b05565b838111156113345750506000910152565b6020815260008251806020840152611b4d816040850160208701611b02565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610c3057600080fd5b60008060408385031215611bb457600080fd5b8235611bbf81611b7f565b946020939093013593505050565b600080600060608486031215611be257600080fd5b8335611bed81611b7f565b92506020840135611bfd81611b7f565b929592945050506040919091013590565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112611c4e57600080fd5b813567ffffffffffffffff80821115611c6957611c69611c0e565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611caf57611caf611c0e565b81604052838152866020858801011115611cc857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611cfa57600080fd5b813567ffffffffffffffff811115611d1157600080fd5b61053e84828501611c3d565b60008060008060008060c08789031215611d3657600080fd5b8635611d4181611b7f565b95506020870135611d5181611b7f565b945060408701359350606087013560ff81168114611d6e57600080fd5b9250608087013567ffffffffffffffff80821115611d8b57600080fd5b611d978a838b01611c3d565b935060a0890135915080821115611dad57600080fd5b50611dba89828a01611c3d565b9150509295509295509295565b600060208284031215611dd957600080fd5b8135610b8381611b7f565b60008060408385031215611df757600080fd5b8235611e0281611b7f565b91506020830135611e1281611b7f565b809150509250929050565b60008060408385031215611e3057600080fd5b82359150602083013567ffffffffffffffff811115611e4e57600080fd5b611e5a85828601611c3d565b9150509250929050565b600181811c90821680611e7857607f821691505b60208210811415611eb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611efa57611efa611eb8565b500190565b60008351611f11818460208801611b02565b7f2e000000000000000000000000000000000000000000000000000000000000009083019081528351611f4b816001840160208801611b02565b01600101949350505050565b600060208284031215611f6957600080fd5b8151610b8381611b7f565b600082821015611f8657611f86611eb8565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611fbd57611fbd611eb8565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261200257612002611fc4565b500490565b60008261201657612016611fc4565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220f24dcb708d1867134df56fe5efc5ccc3a875e0deca527b2af220b5bde7e6b93664736f6c63430008090033a2646970667358221220abf8c5a35e42ce1f54480f59a3b073492445c3fe339322ddb4639465be6e49ee64736f6c63430008090033", + "balance": "0x0" + }, + "0x0000777700000000000000000000000000000003": { + "contractName": "EtherVault", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x00000000000000000000000026250179c8e8e12104e556c4cd03bcf4dabd51b9", + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x0000000000000000000000000000777700000000000000000000000000000006", + "0x029ae2e2f1d6964720a0fa7e6ffa902f995c156242f4f5a930aa9d9765d167d0": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "code": "0x6080604052600436106100b55760003560e01c8063715018a611610069578063f16c79341161004e578063f16c79341461023f578063f2fde38b1461025f578063fe9fbb801461027f57600080fd5b8063715018a6146101ff5780638da5cb5b1461021457600080fd5b80632d1fb3891161009a5780632d1fb3891461016e5780633ab76e9f1461018e578063461a4478146101df57600080fd5b806319ab453c1461012e5780631efa4ec01461014e57600080fd5b36610129574715806100d6575033600090815260c9602052604090205460ff165b6101275760405162461bcd60e51b815260206004820152600960248201527f45563a64656e696564000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b005b600080fd5b34801561013a57600080fd5b50610127610149366004610dd8565b6102d5565b34801561015a57600080fd5b50610127610169366004610df5565b61044f565b34801561017a57600080fd5b50610127610189366004610e0e565b610517565b34801561019a57600080fd5b5060975473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101eb57600080fd5b506101b56101fa366004610f26565b610646565b34801561020b57600080fd5b50610127610658565b34801561022057600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166101b5565b34801561024b57600080fd5b506101b561025a366004610f5b565b61066c565b34801561026b57600080fd5b5061012761027a366004610dd8565b61067f565b34801561028b57600080fd5b506102c561029a366004610dd8565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205460ff1690565b60405190151581526020016101d6565b600054610100900460ff16158080156102f55750600054600160ff909116105b8061030f5750303b15801561030f575060005460ff166001145b6103815760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161011e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156103df57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6103e88261071c565b801561044b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b33600090815260c9602052604090205460ff166104ae5760405162461bcd60e51b815260206004820152600960248201527f45563a64656e6965640000000000000000000000000000000000000000000000604482015260640161011e565b600260015414156105015760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161011e565b60026001556105103382610735565b5060018055565b61051f6107f0565b73ffffffffffffffffffffffffffffffffffffffff821615801590610570575073ffffffffffffffffffffffffffffffffffffffff8216600090815260c9602052604090205460ff16151581151514155b6105bc5760405162461bcd60e51b815260206004820152600860248201527f45563a706172616d000000000000000000000000000000000000000000000000604482015260640161011e565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260c9602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f4c0079b9bcd37cd5d29a13938effd97c881798cbc6bd52a3026a29d94b27d1bf910160405180910390a25050565b60006106524683610857565b92915050565b6106606107f0565b61066a6000610950565b565b60006106788383610857565b9392505050565b6106876107f0565b73ffffffffffffffffffffffffffffffffffffffff81166107105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161011e565b61071981610950565b50565b6107246109c7565b61072c610a4c565b61071981610ad1565b801561044b5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610795576040519150601f19603f3d011682016040523d82523d6000602084013e61079a565b606091505b50509050806107eb5760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c656400000000000000000000000000604482015260640161011e565b505050565b60655473ffffffffffffffffffffffffffffffffffffffff16331461066a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161011e565b60008061086384610b7b565b83604051602001610875929190610fd2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526097547fbf40fac100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff169063bf40fac1906108f890849060040161102a565b60206040518083038186803b15801561091057600080fd5b505afa158015610924573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610948919061107b565b949350505050565b6065805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610a445760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a610cad565b600054610100900460ff16610ac95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a610d30565b73ffffffffffffffffffffffffffffffffffffffff8116610b345760405162461bcd60e51b815260206004820152600e60248201527f41523a7a65726f41646472657373000000000000000000000000000000000000604482015260640161011e565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b606081610bbb57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610be55780610bcf816110c7565b9150610bde9050600a8361112f565b9150610bbf565b60008167ffffffffffffffff811115610c0057610c00610e4c565b6040519080825280601f01601f191660200182016040528015610c2a576020820181803683370190505b5090505b841561094857610c3f600183611143565b9150610c4c600a8661115a565b610c5790603061116e565b60f81b818381518110610c6c57610c6c611186565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610ca6600a8661112f565b9450610c2e565b600054610100900460ff16610d2a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b60018055565b600054610100900460ff16610dad5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161011e565b61066a33610950565b73ffffffffffffffffffffffffffffffffffffffff8116811461071957600080fd5b600060208284031215610dea57600080fd5b813561067881610db6565b600060208284031215610e0757600080fd5b5035919050565b60008060408385031215610e2157600080fd5b8235610e2c81610db6565b915060208301358015158114610e4157600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610e8c57600080fd5b813567ffffffffffffffff80821115610ea757610ea7610e4c565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610eed57610eed610e4c565b81604052838152866020858801011115610f0657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610f3857600080fd5b813567ffffffffffffffff811115610f4f57600080fd5b61094884828501610e7b565b60008060408385031215610f6e57600080fd5b82359150602083013567ffffffffffffffff811115610f8c57600080fd5b610f9885828601610e7b565b9150509250929050565b60005b83811015610fbd578181015183820152602001610fa5565b83811115610fcc576000848401525b50505050565b60008351610fe4818460208801610fa2565b7f2e00000000000000000000000000000000000000000000000000000000000000908301908152835161101e816001840160208801610fa2565b01600101949350505050565b6020815260008251806020840152611049816040850160208701610fa2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60006020828403121561108d57600080fd5b815161067881610db6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156110f9576110f9611098565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261113e5761113e611100565b500490565b60008282101561115557611155611098565b500390565b60008261116957611169611100565b500690565b6000821982111561118157611181611098565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220a9a80c6d09a8fe0110adcdabd6682b37ae15ded4282fed28d917343fa3f34e2564736f6c63430008090033", + "balance": "0xffffffffffffffc87d2531626fffffff" + } +}