Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x60806040 | 18413069 | 909 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ErrorAccountIsZeroAddress","type":"error"},{"inputs":[],"name":"ErrorAlreadyInitialized","type":"error"},{"inputs":[],"name":"ErrorDepositsDisabled","type":"error"},{"inputs":[],"name":"ErrorDepositsEnabled","type":"error"},{"inputs":[],"name":"ErrorUnsupportedL1Token","type":"error"},{"inputs":[],"name":"ErrorUnsupportedL2Token","type":"error"},{"inputs":[],"name":"ErrorWithdrawalsDisabled","type":"error"},{"inputs":[],"name":"ErrorWithdrawalsEnabled","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"l1Token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimedFailedDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"l2DepositTxHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"address","name":"l1Token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"refundRecipient","type":"address"}],"name":"DepositInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"disabler","type":"address"}],"name":"DepositsDisabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"enabler","type":"address"}],"name":"DepositsEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"InitializedBridgingManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"l1Token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawalFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"disabler","type":"address"}],"name":"WithdrawalsDisabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"enabler","type":"address"}],"name":"WithdrawalsEnabled","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSITS_DISABLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSITS_ENABLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAWALS_DISABLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAWALS_ENABLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_depositSender","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"bytes32","name":"_l2TxHash","type":"bytes32"},{"internalType":"uint256","name":"_l2BlockNumber","type":"uint256"},{"internalType":"uint256","name":"_l2MessageIndex","type":"uint256"},{"internalType":"uint16","name":"_l2TxNumberInBlock","type":"uint16"},{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"claimFailedDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_l2Receiver","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasLimit","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasPerPubdataByte","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bytes32","name":"l2TxHash","type":"bytes32"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_l2Receiver","type":"address"},{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasLimit","type":"uint256"},{"internalType":"uint256","name":"_l2TxGasPerPubdataByte","type":"uint256"},{"internalType":"address","name":"_refundRecipient","type":"address"}],"name":"deposit","outputs":[{"internalType":"bytes32","name":"l2TxHash","type":"bytes32"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"depositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableWithdrawals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableWithdrawals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_l2BlockNumber","type":"uint256"},{"internalType":"uint256","name":"_l2MessageIndex","type":"uint256"},{"internalType":"uint16","name":"_l2TxNumberInBlock","type":"uint16"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"finalizeWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"_factoryDeps","type":"bytes[]"},{"components":[{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"address","name":"_l2Token","type":"address"},{"internalType":"address","name":"_governor","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_zkSync","type":"address"}],"internalType":"struct IL1ERC20Bridge.InitializeAddressesParams","name":"addresses","type":"tuple"},{"internalType":"uint256","name":"_deployBridgeImplementationFee","type":"uint256"},{"internalType":"uint256","name":"_deployBridgeProxyFee","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"isDepositsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"isWithdrawalFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isWithdrawalsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l1Token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Bridge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"l2Token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_l1Token","type":"address"}],"name":"l2TokenAddress","outputs":[{"internalType":"address","name":"l2TokenAddr","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zkSync","outputs":[{"internalType":"contract IZkSync","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b613e9f80620000f36000396000f3fe6080604052600436106101cd5760003560e01c80638d7601c0116100f7578063c01e1bd611610095578063e8bac93b11610064578063e8bac93b146105e1578063f0191021146105f6578063f5f1516814610609578063fadcc54a1461062957600080fd5b8063c01e1bd614610547578063d547741f1461057a578063e3b523e31461059a578063e8b99b1b146105ce57600080fd5b8063a217fddf116100d1578063a217fddf146104db578063ac67e1af146104f0578063ad960ce114610505578063ae1f6aaf1461051a57600080fd5b80638d7601c01461044157806391d1485414610475578063933999fb146104c857600080fd5b8063392e53cd1161016f5780635e4c57a41161013e5780635e4c57a4146103b65780635ed2c220146103cb5780636f18bd22146103e05780637c19f0051461041457600080fd5b8063392e53cd146102ff5780634bed82121461031457806356eff2671461034f5780635777bf50146103a157600080fd5b806319fa7f62116101ab57806319fa7f621461026f578063248a9ca31461028f5780632f2ff15d146102bf57806336568abe146102df57600080fd5b806301ffc9a7146101d25780630c9f05871461020757806311a2ccc11461024d575b600080fd5b3480156101de57600080fd5b506101f26101ed36600461335e565b61065d565b60405190151581526020015b60405180910390f35b34801561021357600080fd5b5061023f6102223660046133c9565b60cc60209081526000928352604080842090915290825290205481565b6040519081526020016101fe565b34801561025957600080fd5b5061026d610268366004613451565b6106f6565b005b34801561027b57600080fd5b5061026d61028a366004613513565b610b6a565b34801561029b57600080fd5b5061023f6102aa3660046135a5565b60009081526098602052604090206001015490565b3480156102cb57600080fd5b5061026d6102da3660046135be565b610e96565b3480156102eb57600080fd5b5061026d6102fa3660046135be565b610ec0565b34801561030b57600080fd5b506101f2610f73565b34801561032057600080fd5b506101f261032f3660046135ea565b60cb60209081526000928352604080842090915290825290205460ff1681565b34801561035b57600080fd5b5060015461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fe565b3480156103ad57600080fd5b506101f2610f86565b3480156103c257600080fd5b5061026d610f9e565b3480156103d757600080fd5b506101f2611072565b3480156103ec57600080fd5b5061023f7f63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d681565b34801561042057600080fd5b5060ca5461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561044d57600080fd5b5061023f7f94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c81565b34801561048157600080fd5b506101f26104903660046135be565b600091825260986020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61023f6104d636600461360c565b61108b565b3480156104e757600080fd5b5061023f600081565b3480156104fc57600080fd5b5061026d6110a6565b34801561051157600080fd5b5061026d611179565b34801561052657600080fd5b5060cd5461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561055357600080fd5b5060005461037c9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058657600080fd5b5061026d6105953660046135be565b61124d565b3480156105a657600080fd5b5061023f7f9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d81565b61023f6105dc366004613659565b611272565b3480156105ed57600080fd5b5061026d611837565b61026d6106043660046136b8565b61190c565b34801561061557600080fd5b5061037c610624366004613746565b611fad565b34801561063557600080fd5b5061023f7f4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a81565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806106f057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460018114610787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f723100000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4556107b3611072565b6107e9576040517f77d195b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088815260cb602090815260408083208a845290915290205460ff161561086d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5769746864726177616c20697320616c72656164792066696e616c697a656400604482015260640161077e565b60008060006108b188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ffb92505050565b925092509250600060405180606001604052808b61ffff16815260200160cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509050600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e4948f438e8e858c8c6040518663ffffffff1660e01b81526004016109bb959493929190613826565b602060405180830381865afa1580156109d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc919061389d565b905080610a65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f50726f76696e67206d65737361676520696e636c7573696f6e206661696c6564604482015260640161077e565b5060008c815260cb602090815260408083208e8452909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905554610ad19073ffffffffffffffffffffffffffffffffffffffff6201000090910416858461213f565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fac1b18083978656d557d6e91c88203585cfda1031bdb14538327121ef140d38384604051610b3091815260200190565b60405180910390a35050505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4555050505050505050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460018114610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7231000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45560ca546040517f042901c700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063042901c790610c7d908b908b908b908b908b908b908a906004016138bf565b602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe919061389d565b905080610d27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5468652070726f6f66206973206e6f742076616c696400000000000000000000604482015260640161077e565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260cc602090815260408083208b845290915290205480610dbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f54686520636c61696d656420616d6f756e742063616e2774206265207a65726f604482015260640161077e565b73ffffffffffffffffffffffffffffffffffffffff808c16600090815260cc602090815260408083208d8452909152812055610dfe908b168c8361213f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fbe066dc591f4a444f75176d387c3e6c775e5706d9ea9a91d11eb49030c66cf6083604051610e5d91815260200190565b60405180910390a3505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf455505050505050505050565b600082815260986020526040902060010154610eb181612213565b610ebb8383612220565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610f65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c660000000000000000000000000000000000606482015260840161077e565b610f6f8282612314565b5050565b6000610f7d6123cf565b5460ff16919050565b6000610f906123cf565b54610100900460ff16919050565b7f4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a610fc881612213565b610fd0610f86565b15611007576040517f4f2c8be200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016110116123cf565b8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905560405133907fc36a428b063177e3f28b3b5d340c08f77827847b2ee30114ccf0c40e519c420a90600090a250565b600061107c6123cf565b5462010000900460ff16919050565b600061109c86868686866000611272565b9695505050505050565b6110ae610f86565b6110e4576040517fa185a6b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d661110e81612213565b60006111186123cf565b8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905560405133907f9ca4d309bbfd23c65db3dc38c1712862f5812c7139937e2655de86e803f73bb990600090a250565b611181611072565b6111b7576040517f77d195b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c6111e181612213565b60006111eb6123cf565b805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905560405133907f644eeba8ede48fefc32ada09fb240c5f6c0f06507ab1d296d5af41f1521d9fcb90600090a250565b60008281526098602052604090206001015461126881612213565b610ebb8383612314565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460009060018114611301576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7231000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45561132d610f86565b611363576040517fa185a6b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054879073ffffffffffffffffffffffffffffffffffffffff8083166201000090920416146113bf576040517ffe15603f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8916611462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f546865205f6c32526563656976657220616464726573732063616e277420626560448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161077e565b866000036114cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f546865206465706f73697420616d6f756e742063616e2774206265207a65726f604482015260640161077e565b60006114d9338a8a6123fd565b905087811461156a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f54686520746f6b656e20686173206e6f6e2d7374616e64617264207472616e7360448201527f666572206c6f6769630000000000000000000000000000000000000000000000606482015260840161077e565b6040805133602482015273ffffffffffffffffffffffffffffffffffffffff8c811660448301528b1660648201526084810183905260a060a4820152600060c48083018290528351808403909101815260e49092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcfe7af7c0000000000000000000000000000000000000000000000000000000017905290508573ffffffffffffffffffffffffffffffffffffffff811661165057323303611635573361164d565b73111100000000000000000000000000000000111133015b90505b60ca5460cd5473ffffffffffffffffffffffffffffffffffffffff9182169163eb672419913491166000868e8e836040519080825280602002602001820160405280156116b157816020015b606081526020019060019003908161169c5790505b50896040518963ffffffff1660e01b81526004016116d59796959493929190613969565b60206040518083038185885af11580156116f3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117189190613a42565b95508260cc60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000888152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16877fd08378fce93dcb824c01a820d7bedc830e372181ff1c094cde090729f65fca758e87866040516117fc9392919073ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b60405180910390a45050505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf455509695505050505050565b7f9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d61186181612213565b611869611072565b156118a0576040517ff74ad25400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016118aa6123cf565b805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905560405133907fb2ed3603bd9051f0182ebfb75f12a21059b4d31b578a2a05c8d0245e9e2d320490600090a250565b600054610100900460ff161580801561192c5750600054600160ff909116105b806119465750303b158015611946575060005460ff166001145b6119d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161077e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a3057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a3861255d565b6000611a4a6060860160408701613746565b73ffffffffffffffffffffffffffffffffffffffff1603611aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f54686520676f7665726e6f7220616464726573732063616e2774206265207a6560448201527f726f000000000000000000000000000000000000000000000000000000000000606482015260840161077e565b60028514611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e76616c696420666163746f72792064657073206c656e6774682070726f7660448201527f6964656400000000000000000000000000000000000000000000000000000000606482015260840161077e565b611b868284613a8a565b3414611c14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5468652063616c6c6572206d697363616c63756c61746564206465706c6f792060448201527f7472616e73616374696f6e732066656573000000000000000000000000000000606482015260840161077e565b611c2460a0850160808601613746565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611c8e611c796020860186613746565b611c896040870160208801613746565b6125ed565b611ca6611ca16080860160608701613746565b6126f9565b6000611d0a87876000818110611cbe57611cbe613aa2565b9050602002810190611cd09190613ad1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061285c92505050565b90506000611d2488886001818110611cbe57611cbe613aa2565b60ca5460408051602081019091526000808252929350611d689173ffffffffffffffffffffffffffffffffffffffff169088908690611d638d8f613b85565b612a65565b60008054600154929350606092309173ffffffffffffffffffffffffffffffffffffffff6201000090910481169116611da660808d018d8701613746565b60405173ffffffffffffffffffffffffffffffffffffffff948516602482015292841660448401529083166064830152909116608482015260a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff8c8765e000000000000000000000000000000000000000000000000000000001790529091508390611e6c9060608c01908c01613746565b82604051602001611e7f93929190613c78565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260ca54600080855260208501909352909450611efe935073ffffffffffffffffffffffffffffffffffffffff1691899187918691611ef8565b6060815260200190600190039081611ee35790505b50612a65565b60cd60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050508015611fa557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff838116620100009092041614611fdd5760006106f0565b505060015473ffffffffffffffffffffffffffffffffffffffff1690565b60008060008351604c1461206b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c6964206c656e677468206f6620746865206d657373616765000000604482015260640161077e565b600484810151907f11a2ccc1000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1614612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e2d6d61746368696e672066756e6374696f6e2073656c6563746f727300604482015260640161077e565b60149501948501516028860151604890960151909690945092505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610ebb9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612c3f565b61221d8133612d4b565b50565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610f6f57600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556122b63390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610f6f57600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000806106f060017f013e929b381f2fbbac854bd18fb8231dc73c4a2eab0d4cbb4db9436b6ff9b2ba613cba565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa15801561246c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124909190613a42565b90506124b473ffffffffffffffffffffffffffffffffffffffff8516863086612e05565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190613a42565b90506125518282613cba565b925050505b9392505050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf480546001909155801561221d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f3142000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b600054610100900460ff16612684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff94851602179055600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b600054610100900460ff16612790576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b600061279a6123cf565b805490915060ff16156127d9576040517f66a02dea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127e1612e69565b6127ec600083612f02565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166201010117815560405173ffffffffffffffffffffffffffffffffffffffff8316907f928acf4de6d218210cf7cf8a48e10169605c37ff5617f9691605c1896d2b7f6190600090a25050565b60006020825161286c9190613d00565b156128d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f626c000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b6000602083516128e39190613d14565b9050620100008110612951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7070000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b61295c600282613d00565b6001146129c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7072000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b6002836040516129d59190613d28565b602060405180830381855afa1580156129f2573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190612a159190613a42565b60e09190911b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909116177f01000000000000000000000000000000000000000000000000000000000000001792915050565b6000806000801b8585604051602401612a8093929190613d44565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3cda335100000000000000000000000000000000000000000000000000000000179052517feb67241900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff88169063eb672419908890612b5f906180069060009087906298968090610320908c903390600401613969565b60206040518083038185885af1158015612b7d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ba29190613a42565b508351602080860191909120604080517f2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca4948185015273ffffffffffffffffffffffffffffffffffffffff30731111000000000000000000000000000000001111011681830152600060608201526080810189905260a0808201939093528151808203909301835260c001905280519101205b979650505050505050565b6000612ca1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612f0c9092919063ffffffff16565b805190915015610ebb5780806020019051810190612cbf919061389d565b610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161077e565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610f6f57612d8b81612f23565b612d96836020612f42565b604051602001612da7929190613d63565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261077e91600401613de4565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052612e639085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612191565b50505050565b600054610100900460ff16612f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b565b610f6f8282612220565b6060612f1b8484600085613185565b949350505050565b60606106f073ffffffffffffffffffffffffffffffffffffffff831660145b60606000612f51836002613df7565b612f5c906002613a8a565b67ffffffffffffffff811115612f7457612f7461393a565b6040519080825280601f01601f191660200182016040528015612f9e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612fd557612fd5613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061303857613038613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000613074846002613df7565b61307f906001613a8a565b90505b600181111561311c577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106130c0576130c0613aa2565b1a60f81b8282815181106130d6576130d6613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361311581613e34565b9050613082565b508315612556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161077e565b606082471015613217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161077e565b73ffffffffffffffffffffffffffffffffffffffff85163b613295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161077e565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516132be9190613d28565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b5091509150612c348282866060831561331a575081612556565b82511561332a5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077e9190613de4565b60006020828403121561337057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461255657600080fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146133c457600080fd5b919050565b600080604083850312156133dc57600080fd5b6133e5836133a0565b946020939093013593505050565b803561ffff811681146133c457600080fd5b60008083601f84011261341757600080fd5b50813567ffffffffffffffff81111561342f57600080fd5b6020830191508360208260051b850101111561344a57600080fd5b9250929050565b600080600080600080600060a0888a03121561346c57600080fd5b8735965060208801359550613483604089016133f3565b9450606088013567ffffffffffffffff808211156134a057600080fd5b818a0191508a601f8301126134b457600080fd5b8135818111156134c357600080fd5b8b60208285010111156134d557600080fd5b6020830196508095505060808a01359150808211156134f357600080fd5b506135008a828b01613405565b989b979a50959850939692959293505050565b60008060008060008060008060e0898b03121561352f57600080fd5b613538896133a0565b975061354660208a016133a0565b965060408901359550606089013594506080890135935061356960a08a016133f3565b925060c089013567ffffffffffffffff81111561358557600080fd5b6135918b828c01613405565b999c989b5096995094979396929594505050565b6000602082840312156135b757600080fd5b5035919050565b600080604083850312156135d157600080fd5b823591506135e1602084016133a0565b90509250929050565b600080604083850312156135fd57600080fd5b50508035926020909101359150565b600080600080600060a0868803121561362457600080fd5b61362d866133a0565b945061363b602087016133a0565b94979496505050506040830135926060810135926080909101359150565b60008060008060008060c0878903121561367257600080fd5b61367b876133a0565b9550613689602088016133a0565b94506040870135935060608701359250608087013591506136ac60a088016133a0565b90509295509295509295565b60008060008060008587036101008112156136d257600080fd5b863567ffffffffffffffff8111156136e957600080fd5b6136f589828a01613405565b90975095505060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561372b57600080fd5b5093969295505050602083019260c0810135925060e0013590565b60006020828403121561375857600080fd5b612556826133a0565b60005b8381101561377c578181015183820152602001613764565b83811115612e635750506000910152565b600081518084526137a5816020860160208601613761565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561380957600080fd5b8260051b8083602087013760009401602001938452509192915050565b8581528460208201526080604082015261ffff845116608082015273ffffffffffffffffffffffffffffffffffffffff60208501511660a082015260006040850151606060c084015261387c60e084018261378d565b905082810360608401526138918185876137d7565b98975050505050505050565b6000602082840312156138af57600080fd5b8151801515811461255657600080fd5b87815286602082015285604082015261ffff8516606082015260c0608082015260006138ef60c0830185876137d7565b905060028310613928577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260a083015298975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8816815260006020888184015260e0604084015261399f60e084018961378d565b87606085015286608085015283810360a08501528086518083528383019150838160051b84010184890160005b83811015613a18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018552613a0683835161378d565b948701949250908601906001016139cc565b505073ffffffffffffffffffffffffffffffffffffffff881660c088015294506138919350505050565b600060208284031215613a5457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613a9d57613a9d613a5b565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b0657600080fd5b83018035915067ffffffffffffffff821115613b2157600080fd5b60200191503681900382131561344a57600080fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b7d57613b7d61393a565b604052919050565b600067ffffffffffffffff80841115613ba057613ba061393a565b8360051b6020613bb1818301613b36565b868152918501918181019036841115613bc957600080fd5b865b84811015613c6c57803586811115613be35760008081fd5b8801601f3681830112613bf65760008081fd5b813588811115613c0857613c0861393a565b613c37877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08484011601613b36565b91508082523687828501011115613c4e5760008081fd5b80878401888401376000908201870152845250918301918301613bcb565b50979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152613cb1606083018461378d565b95945050505050565b600082821015613ccc57613ccc613a5b565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613d0f57613d0f613cd1565b500690565b600082613d2357613d23613cd1565b500490565b60008251613d3a818460208701613761565b9190910192915050565b838152826020820152606060408201526000613cb1606083018461378d565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613d9b816017850160208801613761565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613dd8816028840160208801613761565b01602801949350505050565b602081526000612556602083018461378d565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613e2f57613e2f613a5b565b500290565b600081613e4357613e43613a5b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202b51e8503268f54cb378e98fab94cccc519e12010cbac8b1323073320be0e87464736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101cd5760003560e01c80638d7601c0116100f7578063c01e1bd611610095578063e8bac93b11610064578063e8bac93b146105e1578063f0191021146105f6578063f5f1516814610609578063fadcc54a1461062957600080fd5b8063c01e1bd614610547578063d547741f1461057a578063e3b523e31461059a578063e8b99b1b146105ce57600080fd5b8063a217fddf116100d1578063a217fddf146104db578063ac67e1af146104f0578063ad960ce114610505578063ae1f6aaf1461051a57600080fd5b80638d7601c01461044157806391d1485414610475578063933999fb146104c857600080fd5b8063392e53cd1161016f5780635e4c57a41161013e5780635e4c57a4146103b65780635ed2c220146103cb5780636f18bd22146103e05780637c19f0051461041457600080fd5b8063392e53cd146102ff5780634bed82121461031457806356eff2671461034f5780635777bf50146103a157600080fd5b806319fa7f62116101ab57806319fa7f621461026f578063248a9ca31461028f5780632f2ff15d146102bf57806336568abe146102df57600080fd5b806301ffc9a7146101d25780630c9f05871461020757806311a2ccc11461024d575b600080fd5b3480156101de57600080fd5b506101f26101ed36600461335e565b61065d565b60405190151581526020015b60405180910390f35b34801561021357600080fd5b5061023f6102223660046133c9565b60cc60209081526000928352604080842090915290825290205481565b6040519081526020016101fe565b34801561025957600080fd5b5061026d610268366004613451565b6106f6565b005b34801561027b57600080fd5b5061026d61028a366004613513565b610b6a565b34801561029b57600080fd5b5061023f6102aa3660046135a5565b60009081526098602052604090206001015490565b3480156102cb57600080fd5b5061026d6102da3660046135be565b610e96565b3480156102eb57600080fd5b5061026d6102fa3660046135be565b610ec0565b34801561030b57600080fd5b506101f2610f73565b34801561032057600080fd5b506101f261032f3660046135ea565b60cb60209081526000928352604080842090915290825290205460ff1681565b34801561035b57600080fd5b5060015461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fe565b3480156103ad57600080fd5b506101f2610f86565b3480156103c257600080fd5b5061026d610f9e565b3480156103d757600080fd5b506101f2611072565b3480156103ec57600080fd5b5061023f7f63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d681565b34801561042057600080fd5b5060ca5461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561044d57600080fd5b5061023f7f94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c81565b34801561048157600080fd5b506101f26104903660046135be565b600091825260986020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61023f6104d636600461360c565b61108b565b3480156104e757600080fd5b5061023f600081565b3480156104fc57600080fd5b5061026d6110a6565b34801561051157600080fd5b5061026d611179565b34801561052657600080fd5b5060cd5461037c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561055357600080fd5b5060005461037c9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058657600080fd5b5061026d6105953660046135be565b61124d565b3480156105a657600080fd5b5061023f7f9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d81565b61023f6105dc366004613659565b611272565b3480156105ed57600080fd5b5061026d611837565b61026d6106043660046136b8565b61190c565b34801561061557600080fd5b5061037c610624366004613746565b611fad565b34801561063557600080fd5b5061023f7f4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a81565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806106f057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460018114610787576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f723100000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4556107b3611072565b6107e9576040517f77d195b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088815260cb602090815260408083208a845290915290205460ff161561086d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5769746864726177616c20697320616c72656164792066696e616c697a656400604482015260640161077e565b60008060006108b188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ffb92505050565b925092509250600060405180606001604052808b61ffff16815260200160cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508152509050600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e4948f438e8e858c8c6040518663ffffffff1660e01b81526004016109bb959493929190613826565b602060405180830381865afa1580156109d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc919061389d565b905080610a65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f50726f76696e67206d65737361676520696e636c7573696f6e206661696c6564604482015260640161077e565b5060008c815260cb602090815260408083208e8452909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905554610ad19073ffffffffffffffffffffffffffffffffffffffff6201000090910416858461213f565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fac1b18083978656d557d6e91c88203585cfda1031bdb14538327121ef140d38384604051610b3091815260200190565b60405180910390a35050505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4555050505050505050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460018114610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7231000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45560ca546040517f042901c700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063042901c790610c7d908b908b908b908b908b908b908a906004016138bf565b602060405180830381865afa158015610c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbe919061389d565b905080610d27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5468652070726f6f66206973206e6f742076616c696400000000000000000000604482015260640161077e565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260cc602090815260408083208b845290915290205480610dbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f54686520636c61696d656420616d6f756e742063616e2774206265207a65726f604482015260640161077e565b73ffffffffffffffffffffffffffffffffffffffff808c16600090815260cc602090815260408083208d8452909152812055610dfe908b168c8361213f565b8973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fbe066dc591f4a444f75176d387c3e6c775e5706d9ea9a91d11eb49030c66cf6083604051610e5d91815260200190565b60405180910390a3505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf455505050505050505050565b600082815260986020526040902060010154610eb181612213565b610ebb8383612220565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610f65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c660000000000000000000000000000000000606482015260840161077e565b610f6f8282612314565b5050565b6000610f7d6123cf565b5460ff16919050565b6000610f906123cf565b54610100900460ff16919050565b7f4b43b36766bde12c5e9cbbc37d15f8d1f769f08f54720ab370faeb4ce893753a610fc881612213565b610fd0610f86565b15611007576040517f4f2c8be200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016110116123cf565b8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905560405133907fc36a428b063177e3f28b3b5d340c08f77827847b2ee30114ccf0c40e519c420a90600090a250565b600061107c6123cf565b5462010000900460ff16919050565b600061109c86868686866000611272565b9695505050505050565b6110ae610f86565b6110e4576040517fa185a6b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f63f736f21cb2943826cd50b191eb054ebbea670e4e962d0527611f830cd399d661110e81612213565b60006111186123cf565b8054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff90921691909117905560405133907f9ca4d309bbfd23c65db3dc38c1712862f5812c7139937e2655de86e803f73bb990600090a250565b611181611072565b6111b7576040517f77d195b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f94a954c0bc99227eddbc0715a62a7e1056ed8784cd719c2303b685683908857c6111e181612213565b60006111eb6123cf565b805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905560405133907f644eeba8ede48fefc32ada09fb240c5f6c0f06507ab1d296d5af41f1521d9fcb90600090a250565b60008281526098602052604090206001015461126881612213565b610ebb8383612314565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45460009060018114611301576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7231000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf45561132d610f86565b611363576040517fa185a6b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054879073ffffffffffffffffffffffffffffffffffffffff8083166201000090920416146113bf576040517ffe15603f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8916611462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f546865205f6c32526563656976657220616464726573732063616e277420626560448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161077e565b866000036114cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f546865206465706f73697420616d6f756e742063616e2774206265207a65726f604482015260640161077e565b60006114d9338a8a6123fd565b905087811461156a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f54686520746f6b656e20686173206e6f6e2d7374616e64617264207472616e7360448201527f666572206c6f6769630000000000000000000000000000000000000000000000606482015260840161077e565b6040805133602482015273ffffffffffffffffffffffffffffffffffffffff8c811660448301528b1660648201526084810183905260a060a4820152600060c48083018290528351808403909101815260e49092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcfe7af7c0000000000000000000000000000000000000000000000000000000017905290508573ffffffffffffffffffffffffffffffffffffffff811661165057323303611635573361164d565b73111100000000000000000000000000000000111133015b90505b60ca5460cd5473ffffffffffffffffffffffffffffffffffffffff9182169163eb672419913491166000868e8e836040519080825280602002602001820160405280156116b157816020015b606081526020019060019003908161169c5790505b50896040518963ffffffff1660e01b81526004016116d59796959493929190613969565b60206040518083038185885af11580156116f3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117189190613a42565b95508260cc60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000888152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16877fd08378fce93dcb824c01a820d7bedc830e372181ff1c094cde090729f65fca758e87866040516117fc9392919073ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b60405180910390a45050505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf455509695505050505050565b7f9ab8816a3dc0b3849ec1ac00483f6ec815b07eee2fd766a353311c823ad59d0d61186181612213565b611869611072565b156118a0576040517ff74ad25400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016118aa6123cf565b805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff90921691909117905560405133907fb2ed3603bd9051f0182ebfb75f12a21059b4d31b578a2a05c8d0245e9e2d320490600090a250565b600054610100900460ff161580801561192c5750600054600160ff909116105b806119465750303b158015611946575060005460ff166001145b6119d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161077e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a3057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a3861255d565b6000611a4a6060860160408701613746565b73ffffffffffffffffffffffffffffffffffffffff1603611aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f54686520676f7665726e6f7220616464726573732063616e2774206265207a6560448201527f726f000000000000000000000000000000000000000000000000000000000000606482015260840161077e565b60028514611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e76616c696420666163746f72792064657073206c656e6774682070726f7660448201527f6964656400000000000000000000000000000000000000000000000000000000606482015260840161077e565b611b868284613a8a565b3414611c14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5468652063616c6c6572206d697363616c63756c61746564206465706c6f792060448201527f7472616e73616374696f6e732066656573000000000000000000000000000000606482015260840161077e565b611c2460a0850160808601613746565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611c8e611c796020860186613746565b611c896040870160208801613746565b6125ed565b611ca6611ca16080860160608701613746565b6126f9565b6000611d0a87876000818110611cbe57611cbe613aa2565b9050602002810190611cd09190613ad1565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061285c92505050565b90506000611d2488886001818110611cbe57611cbe613aa2565b60ca5460408051602081019091526000808252929350611d689173ffffffffffffffffffffffffffffffffffffffff169088908690611d638d8f613b85565b612a65565b60008054600154929350606092309173ffffffffffffffffffffffffffffffffffffffff6201000090910481169116611da660808d018d8701613746565b60405173ffffffffffffffffffffffffffffffffffffffff948516602482015292841660448401529083166064830152909116608482015260a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff8c8765e000000000000000000000000000000000000000000000000000000001790529091508390611e6c9060608c01908c01613746565b82604051602001611e7f93929190613c78565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815260ca54600080855260208501909352909450611efe935073ffffffffffffffffffffffffffffffffffffffff1691899187918691611ef8565b6060815260200190600190039081611ee35790505b50612a65565b60cd60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050508015611fa557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff838116620100009092041614611fdd5760006106f0565b505060015473ffffffffffffffffffffffffffffffffffffffff1690565b60008060008351604c1461206b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c6964206c656e677468206f6620746865206d657373616765000000604482015260640161077e565b600484810151907f11a2ccc1000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1614612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e2d6d61746368696e672066756e6374696f6e2073656c6563746f727300604482015260640161077e565b60149501948501516028860151604890960151909690945092505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610ebb9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612c3f565b61221d8133612d4b565b50565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610f6f57600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556122b63390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610f6f57600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000806106f060017f013e929b381f2fbbac854bd18fb8231dc73c4a2eab0d4cbb4db9436b6ff9b2ba613cba565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa15801561246c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124909190613a42565b90506124b473ffffffffffffffffffffffffffffffffffffffff8516863086612e05565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190613a42565b90506125518282613cba565b925050505b9392505050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf480546001909155801561221d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f3142000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b600054610100900460ff16612684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff94851602179055600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b600054610100900460ff16612790576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b600061279a6123cf565b805490915060ff16156127d9576040517f66a02dea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127e1612e69565b6127ec600083612f02565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000166201010117815560405173ffffffffffffffffffffffffffffffffffffffff8316907f928acf4de6d218210cf7cf8a48e10169605c37ff5617f9691605c1896d2b7f6190600090a25050565b60006020825161286c9190613d00565b156128d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f626c000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b6000602083516128e39190613d14565b9050620100008110612951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7070000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b61295c600282613d00565b6001146129c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f7072000000000000000000000000000000000000000000000000000000000000604482015260640161077e565b6002836040516129d59190613d28565b602060405180830381855afa1580156129f2573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190612a159190613a42565b60e09190911b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909116177f01000000000000000000000000000000000000000000000000000000000000001792915050565b6000806000801b8585604051602401612a8093929190613d44565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3cda335100000000000000000000000000000000000000000000000000000000179052517feb67241900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff88169063eb672419908890612b5f906180069060009087906298968090610320908c903390600401613969565b60206040518083038185885af1158015612b7d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ba29190613a42565b508351602080860191909120604080517f2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca4948185015273ffffffffffffffffffffffffffffffffffffffff30731111000000000000000000000000000000001111011681830152600060608201526080810189905260a0808201939093528151808203909301835260c001905280519101205b979650505050505050565b6000612ca1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612f0c9092919063ffffffff16565b805190915015610ebb5780806020019051810190612cbf919061389d565b610ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161077e565b600082815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610f6f57612d8b81612f23565b612d96836020612f42565b604051602001612da7929190613d63565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261077e91600401613de4565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052612e639085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612191565b50505050565b600054610100900460ff16612f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161077e565b565b610f6f8282612220565b6060612f1b8484600085613185565b949350505050565b60606106f073ffffffffffffffffffffffffffffffffffffffff831660145b60606000612f51836002613df7565b612f5c906002613a8a565b67ffffffffffffffff811115612f7457612f7461393a565b6040519080825280601f01601f191660200182016040528015612f9e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612fd557612fd5613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061303857613038613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000613074846002613df7565b61307f906001613a8a565b90505b600181111561311c577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106130c0576130c0613aa2565b1a60f81b8282815181106130d6576130d6613aa2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361311581613e34565b9050613082565b508315612556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161077e565b606082471015613217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161077e565b73ffffffffffffffffffffffffffffffffffffffff85163b613295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161077e565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516132be9190613d28565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b5091509150612c348282866060831561331a575081612556565b82511561332a5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077e9190613de4565b60006020828403121561337057600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461255657600080fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146133c457600080fd5b919050565b600080604083850312156133dc57600080fd5b6133e5836133a0565b946020939093013593505050565b803561ffff811681146133c457600080fd5b60008083601f84011261341757600080fd5b50813567ffffffffffffffff81111561342f57600080fd5b6020830191508360208260051b850101111561344a57600080fd5b9250929050565b600080600080600080600060a0888a03121561346c57600080fd5b8735965060208801359550613483604089016133f3565b9450606088013567ffffffffffffffff808211156134a057600080fd5b818a0191508a601f8301126134b457600080fd5b8135818111156134c357600080fd5b8b60208285010111156134d557600080fd5b6020830196508095505060808a01359150808211156134f357600080fd5b506135008a828b01613405565b989b979a50959850939692959293505050565b60008060008060008060008060e0898b03121561352f57600080fd5b613538896133a0565b975061354660208a016133a0565b965060408901359550606089013594506080890135935061356960a08a016133f3565b925060c089013567ffffffffffffffff81111561358557600080fd5b6135918b828c01613405565b999c989b5096995094979396929594505050565b6000602082840312156135b757600080fd5b5035919050565b600080604083850312156135d157600080fd5b823591506135e1602084016133a0565b90509250929050565b600080604083850312156135fd57600080fd5b50508035926020909101359150565b600080600080600060a0868803121561362457600080fd5b61362d866133a0565b945061363b602087016133a0565b94979496505050506040830135926060810135926080909101359150565b60008060008060008060c0878903121561367257600080fd5b61367b876133a0565b9550613689602088016133a0565b94506040870135935060608701359250608087013591506136ac60a088016133a0565b90509295509295509295565b60008060008060008587036101008112156136d257600080fd5b863567ffffffffffffffff8111156136e957600080fd5b6136f589828a01613405565b90975095505060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561372b57600080fd5b5093969295505050602083019260c0810135925060e0013590565b60006020828403121561375857600080fd5b612556826133a0565b60005b8381101561377c578181015183820152602001613764565b83811115612e635750506000910152565b600081518084526137a5816020860160208601613761565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561380957600080fd5b8260051b8083602087013760009401602001938452509192915050565b8581528460208201526080604082015261ffff845116608082015273ffffffffffffffffffffffffffffffffffffffff60208501511660a082015260006040850151606060c084015261387c60e084018261378d565b905082810360608401526138918185876137d7565b98975050505050505050565b6000602082840312156138af57600080fd5b8151801515811461255657600080fd5b87815286602082015285604082015261ffff8516606082015260c0608082015260006138ef60c0830185876137d7565b905060028310613928577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260a083015298975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8816815260006020888184015260e0604084015261399f60e084018961378d565b87606085015286608085015283810360a08501528086518083528383019150838160051b84010184890160005b83811015613a18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018552613a0683835161378d565b948701949250908601906001016139cc565b505073ffffffffffffffffffffffffffffffffffffffff881660c088015294506138919350505050565b600060208284031215613a5457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115613a9d57613a9d613a5b565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b0657600080fd5b83018035915067ffffffffffffffff821115613b2157600080fd5b60200191503681900382131561344a57600080fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b7d57613b7d61393a565b604052919050565b600067ffffffffffffffff80841115613ba057613ba061393a565b8360051b6020613bb1818301613b36565b868152918501918181019036841115613bc957600080fd5b865b84811015613c6c57803586811115613be35760008081fd5b8801601f3681830112613bf65760008081fd5b813588811115613c0857613c0861393a565b613c37877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08484011601613b36565b91508082523687828501011115613c4e5760008081fd5b80878401888401376000908201870152845250918301918301613bcb565b50979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525060606040830152613cb1606083018461378d565b95945050505050565b600082821015613ccc57613ccc613a5b565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082613d0f57613d0f613cd1565b500690565b600082613d2357613d23613cd1565b500490565b60008251613d3a818460208701613761565b9190910192915050565b838152826020820152606060408201526000613cb1606083018461378d565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613d9b816017850160208801613761565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613dd8816028840160208801613761565b01602801949350505050565b602081526000612556602083018461378d565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613e2f57613e2f613a5b565b500290565b600081613e4357613e43613a5b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea26469706673582212202b51e8503268f54cb378e98fab94cccc519e12010cbac8b1323073320be0e87464736f6c634300080f0033
🤖 Code Reader Beta
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


