Source Code
Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Increment Nonce | 18780393 | 1002 days ago | IN | 0 ETH | 0.00226702 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"delegate","type":"address"},{"internalType":"address","name":"pool","type":"address"},{"internalType":"address","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ETHTransferFailed","type":"error"},{"inputs":[],"name":"ExpiredOracleSignature","type":"error"},{"inputs":[],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidDomain","type":"error"},{"inputs":[],"name":"InvalidOracleSignature","type":"error"},{"inputs":[],"name":"InvalidOrder","type":"error"},{"inputs":[],"name":"OrderFulfilled","type":"error"},{"inputs":[],"name":"PoolDepositFailed","type":"error"},{"inputs":[],"name":"PoolTransferFailed","type":"error"},{"inputs":[],"name":"PoolWithdrawFromFailed","type":"error"},{"inputs":[],"name":"ProtocolFeeTooHigh","type":"error"},{"inputs":[],"name":"TokenTransferFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnauthorizedOracle","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"CancelTrade","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"}],"indexed":false,"internalType":"struct Transfer","name":"transfer","type":"tuple"},{"indexed":false,"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"listingIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"indexed":false,"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"components":[{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"protocolFee","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"}],"indexed":false,"internalType":"struct Fees","name":"fees","type":"tuple"},{"indexed":false,"internalType":"enum OrderType","name":"orderType","type":"uint8"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"tokenIdListingIndexTrader","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collectionPriceSide","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"makerFeeRecipientRate","type":"uint256"}],"name":"Execution721MakerFeePacked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"tokenIdListingIndexTrader","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collectionPriceSide","type":"uint256"}],"name":"Execution721Packed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"orderHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"tokenIdListingIndexTrader","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"collectionPriceSide","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"takerFeeRecipientRate","type":"uint256"}],"name":"Execution721TakerFeePacked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"blockRange","type":"uint256"}],"name":"NewBlockRange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"governor","type":"address"}],"name":"NewGovernor","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"uint16","name":"rate","type":"uint16"}],"name":"NewProtocolFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"newNonce","type":"uint256"}],"name":"NonceIncremented","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"SetOracle","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"amountTaken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockRange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Cancel[]","name":"cancels","type":"tuple[]"}],"name":"cancelTrades","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"}],"name":"hashListing","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"internalType":"enum OrderType","name":"orderType","type":"uint8"}],"name":"hashOrder","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order[]","name":"orders","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange[]","name":"exchanges","type":"tuple[]"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAsk","name":"inputs","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"hashTakeAsk","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange","name":"exchange","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAskSingle","name":"inputs","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"hashTakeAskSingle","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order[]","name":"orders","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange[]","name":"exchanges","type":"tuple[]"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"internalType":"struct TakeBid","name":"inputs","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"hashTakeBid","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange","name":"exchange","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct TakeBidSingle","name":"inputs","type":"tuple"},{"internalType":"address","name":"_caller","type":"address"}],"name":"hashTakeBidSingle","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"incrementNonce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"information","outputs":[{"internalType":"string","name":"version","type":"string"},{"internalType":"bytes32","name":"domainSeparator","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"oracles","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFee","outputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blockRange","type":"uint256"}],"name":"setBlockRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governor","type":"address"}],"name":"setGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"oracle","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"name":"setProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order[]","name":"orders","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange[]","name":"exchanges","type":"tuple[]"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAsk","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"}],"name":"takeAsk","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order[]","name":"orders","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange[]","name":"exchanges","type":"tuple[]"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAsk","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"},{"internalType":"uint256","name":"amountToWithdraw","type":"uint256"}],"name":"takeAskPool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange","name":"exchange","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAskSingle","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"}],"name":"takeAskSingle","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange","name":"exchange","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"address","name":"tokenRecipient","type":"address"}],"internalType":"struct TakeAskSingle","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"},{"internalType":"uint256","name":"amountToWithdraw","type":"uint256"}],"name":"takeAskSinglePool","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order[]","name":"orders","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange[]","name":"exchanges","type":"tuple[]"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"internalType":"struct TakeBid","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"}],"name":"takeBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"address","name":"collection","type":"address"},{"internalType":"bytes32","name":"listingsRoot","type":"bytes32"},{"internalType":"uint256","name":"numberOfListings","type":"uint256"},{"internalType":"uint256","name":"expirationTime","type":"uint256"},{"internalType":"enum AssetType","name":"assetType","type":"uint8"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"makerFee","type":"tuple"},{"internalType":"uint256","name":"salt","type":"uint256"}],"internalType":"struct Order","name":"order","type":"tuple"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes32[]","name":"proof","type":"bytes32[]"},{"components":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"}],"internalType":"struct Listing","name":"listing","type":"tuple"},{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Taker","name":"taker","type":"tuple"}],"internalType":"struct Exchange","name":"exchange","type":"tuple"},{"components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint16","name":"rate","type":"uint16"}],"internalType":"struct FeeRate","name":"takerFee","type":"tuple"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct TakeBidSingle","name":"inputs","type":"tuple"},{"internalType":"bytes","name":"oracleSignature","type":"bytes"}],"name":"takeBidSingle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"verifyDomain","outputs":[],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
610140604052306080523480156200001657600080fd5b50604051620062b3380380620062b3833981016040819052620000399162000330565b828282808062000049816200007c565b60e05260c05260a0525050506001600160a01b039182166101005216610120526200007362000251565b50505062000502565b6000806000806040516020016200011c906c08a92a06e626488dedac2d2dc5609b1b81526b1cdd1c9a5b99c81b985b594b60a21b600d8201526e1cdd1c9a5b99c81d995c9cda5bdb8b608a1b60198201526f1d5a5b9d0c8d4d8818da185a5b92590b60821b60288201527f6164647265737320766572696679696e67436f6e7472616374000000000000006038820152602960f81b605182015260520190565b60405160208183030381529060405280519060200120905060006040518060600160405280602681526020016200628d60269139905080604051602001620001659190620003ac565b60408051808303601f1901815282825280516020918201208451858301208484018452600d85526c426c75722045786368616e676560981b948301949094528251808401845260038152620312e360ec1b9083015282518083018790527fa6bc598dcd11f5828a3f69fa224d3a8ef75a327fa851a1085f35a5213d2139ad818501527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201526001600160a01b038b1660a0808301919091528451808303909101815260c09091019093528251929091019190912091965094509496939550505050565b600054610100900460ff1615620002be5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000311576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b03811681146200032b57600080fd5b919050565b6000806000606084860312156200034657600080fd5b620003518462000313565b9250620003616020850162000313565b9150620003716040850162000313565b90509250925092565b6000815160005b818110156200039d576020818501810151868301520162000381565b50600093019283525090919050565b6509ee4c8cae4560d31b81526e1859191c995cdcc81d1c9859195c8b608a1b60068201527f6164647265737320636f6c6c656374696f6e2c0000000000000000000000000060158201527f62797465733332206c697374696e6773526f6f742c000000000000000000000060288201527f75696e74323536206e756d6265724f664c697374696e67732c00000000000000603d8201527f75696e743235362065787069726174696f6e54696d652c00000000000000000060568201526f1d5a5b9d0e08185cdcd95d151e5c194b60821b606d8201527011995954985d19481b585ad95c9199594b607a1b607d8201526c1d5a5b9d0c8d4d881cd85b1d0b609a1b608e8201526f1d5a5b9d0e081bdc99195c951e5c194b60821b609b8201526c75696e74323536206e6f6e636560981b60ab820152602960f81b60b88201526000620004fb60b98301846200037a565b9392505050565b60805160a05160c05160e0516101005161012051615d036200058a6000396000818161025501528181611eb60152613db501526000613af7015260008181610793015281816116d40152614a36015260006110200152600061242c0152600081816107ff015281816108b401528181610e3d01528181610eed01526110ed0152615d036000f3fe6080604052600436106102385760003560e01c806370bce2d611610138578063abe3bb66116100b0578063cf6b0f521161007f578063e30c397811610064578063e30c3978146106ff578063f2fde38b1461072a578063f47b77401461074a57600080fd5b8063cf6b0f52146106c4578063da815cb5146106df57600080fd5b8063abe3bb66146105e0578063addd5099146105fb578063b0e21e8a14610629578063c42cf535146106a457600080fd5b80638129fc1c116101075780638da5cb5b116100ec5780638da5cb5b1461058357806391bea840146105ae578063a4b2c674146105c957600080fd5b80638129fc1c1461054e57806387cc694d1461056357600080fd5b806370bce2d6146104e3578063715018a6146104f657806379ba50971461050b5780637ecebe001461052057600080fd5b80634f1ef286116101cb578063627cdcb91161019a5780636992aa361161017f5780636992aa361461048e5780637034d120146104ae578063708ef9aa146104ce57600080fd5b8063627cdcb914610459578063653608431461046e57600080fd5b80634f1ef286146103f157806351114ffa1461040457806352d1902d14610424578063579077b81461043957600080fd5b80633925c3c3116102075780633925c3c3146103515780633a16b768146103645780633c2ab6bf146103845780633f8fc233146103d157600080fd5b80630c340a24146102b3578063133ba9a61461030b578063336d82061461031e5780633659cfe61461033157600080fd5b366102ae573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102ac576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b3480156102bf57600080fd5b506101c4546102e19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102ac61031936600461520d565b6107b8565b6102ac61032c36600461531b565b6107d3565b34801561033d57600080fd5b506102ac61034c366004615355565b6107e8565b6102ac61035f366004615370565b6109f2565b34801561037057600080fd5b506102ac61037f3660046153d9565b610c29565b34801561039057600080fd5b506103c361039f36600461540c565b61016060209081526000938452604080852082529284528284209052825290205481565b604051908152602001610302565b3480156103dd57600080fd5b506102ac6103ec36600461543f565b610d5d565b6102ac6103ff3660046154fd565b610e26565b34801561041057600080fd5b506103c361041f36600461554b565b61101c565b34801561043057600080fd5b506103c36110d3565b34801561044557600080fd5b506103c3610454366004615585565b6111bf565b34801561046557600080fd5b506102ac6111f5565b34801561047a57600080fd5b506102ac6104893660046155ca565b61124b565b34801561049a57600080fd5b506102ac6104a93660046155fb565b611306565b3480156104ba57600080fd5b506102ac6104c93660046156ba565b61134b565b3480156104da57600080fd5b506102ac6114e9565b6102ac6104f13660046156f3565b61172a565b34801561050257600080fd5b506102ac611931565b34801561051757600080fd5b506102ac611945565b34801561052c57600080fd5b506103c361053b366004615355565b61012e6020526000908152604090205481565b34801561055a57600080fd5b506102ac6119f7565b34801561056f57600080fd5b506103c361057e36600461572c565b611b9c565b34801561058f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e1565b3480156105ba57600080fd5b506103c36104543660046157c6565b3480156105d557600080fd5b506103c361012f5481565b3480156105ec57600080fd5b506103c36104543660046157fc565b34801561060757600080fd5b506103c3610616366004615355565b61012d6020526000908152604090205481565b34801561063557600080fd5b5061015f546106759073ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900461ffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835261ffff909116602083015201610302565b3480156106b057600080fd5b506102ac6106bf366004615355565b611bf8565b3480156106d057600080fd5b506103c3610454366004615832565b3480156106eb57600080fd5b506102ac6106fa366004615868565b611c70565b34801561070b57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166102e1565b34801561073657600080fd5b506102ac610745366004615355565b611e01565b34801561075657600080fd5b50604080518082018252600381527f312e3000000000000000000000000000000000000000000000000000000000006020820152905161030291907f00000000000000000000000000000000000000000000000000000000000000009061590f565b6107c23382611eb1565b6107cd8484846109f2565b50505050565b6107dd3382611eb1565b6107cd84848461172a565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109277f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b6109d381611f54565b604080516000808252602082019092526109ef91839190611f5c565b50565b60fb54600114610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390610ac69084615960565b1015610afe576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003610b5d576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bc0818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012085888861215b565b610bf6576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f60800151612240565b5050600160fb55505050505050505050565b6101c45473ffffffffffffffffffffffffffffffffffffffff163314610c7b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fa8161ffff161115610cba576040517f499fddb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201825273ffffffffffffffffffffffffffffffffffffffff841680825261ffff8416602090920182905261015f80547fffffffffffffffffffff0000000000000000000000000000000000000000000016821774010000000000000000000000000000000000000000840217905591519091907f1d9e390a0f55a4e3251a1de541b3da1cb012fd85d9b4f0098bcffb70c4f4032d90600090a35050565b805160005b81811015610e21576000838281518110610d7e57610d7e615973565b6020908102919091018101516040808201513360009081526101608552828120845182528552828120848601518252909452908320805492945090929091610dc7908490615960565b9091555050805160208083015160408085015181519485529284019190915282015233907ff4092a7c54e135dc5f273d6675327b7b7838392537d2f7b63f7acbec8c7cd2969060600160405180910390a250600101610d62565b505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108a9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610f607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611003576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b61100c82611f54565b61101882826001611f5c565b5050565b60007f0000000000000000000000000000000000000000000000000000000000000000836000015184602001518560400151866060015187608001518860a0015161106a8a60c00151612418565b60e08b01518b5173ffffffffffffffffffffffffffffffffffffffff16600090815261012e60209081526040918290205491516110b49b9a99989796959493928e92909101615a15565b6040516020818303038152906040528051906020012090505b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6040518181527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0016080206000905b9392505050565b33600081815261012e6020526040812080547fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b929061123390615a96565b918290555060405190815260200160405180910390a2565b61125361247f565b80156112885773ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260409020600190556112b0565b73ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260408120555b8173ffffffffffffffffffffffffffffffffffffffff167fcc852792b7afae13c99037685c90dd3be44073d4bc32aa8c1b72fd07a2ac537c826040516112fa911515815260200190565b60405180910390a25050565b61130e61247f565b61012f8190556040518181527f7706177c541ba1b858371bfc568aa77450b4713bbdbba62c730d4484ab6c1251906020015b60405180910390a150565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906113ae9084615960565b10156113e6576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611445576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61148a818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6114c0576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612500565b5050505050505050505050565b604080517f454950373132446f6d61696e28000000000000000000000000000000000000006020808301919091527f737472696e67206e616d652c0000000000000000000000000000000000000000602d8301527f737472696e672076657273696f6e2c000000000000000000000000000000000060398301527f75696e7432353620636861696e49642c0000000000000000000000000000000060488301527f6164647265737320766572696679696e67436f6e74726163740000000000000060588301527f29000000000000000000000000000000000000000000000000000000000000006071830152825160528184030181526072830180855281519183019190912060b284018552600d9091527f426c75722045786368616e67650000000000000000000000000000000000000060929093019290925282518084018452600381527f312e3000000000000000000000000000000000000000000000000000000000009082015282518082018390527fa6bc598dcd11f5828a3f69fa224d3a8ef75a327fa851a1085f35a5213d2139ad818501527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a0808301919091528451808303909101815260c09091019093528251920191909120807f000000000000000000000000000000000000000000000000000000000000000014611018576040517feb12798200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54600114611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906117fe9084615960565b1015611836576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611895576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118da818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611910576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f608001516126bd565b61193961247f565b61194360006128f0565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146119ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016108a9565b6109ef816128f0565b600054610100900460ff1615808015611a175750600054600160ff909116105b80611a315750303b158015611a31575060005460ff166001145b611abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108a9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611b1b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611b23612921565b611b2b6129b8565b611b35600160fb55565b611b3d6114e9565b80156109ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611340565b60008160000151826020015183604001518460600151604051602001611bdb949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b611c0061247f565b6101c480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c90600090a250565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390611cd39084615960565b1015611d0b576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611d6a576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611daf818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611de5576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612a57565b611e0961247f565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611e6c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000807f000000000000000000000000000000000000000000000000000000000000000090506040517f9555a9420000000000000000000000000000000000000000000000000000000081528460048201523060248201528360448201526000806064836000865af1925050816107cd576040517fbcfdca5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ef61247f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f8f57610e2183612c86565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612014575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261201191810190615ace565b60015b6120a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461214f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108a9565b50610e21838383612d90565b6040805160008082526020820180845287905260ff8616928201929092526060810184905260808101839052819060019060a0016020604051602081039080840390855afa1580156121b1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061222c57508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561223657600191505b5095945050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018490526000806122a588828786612db5565b885191935091506000806122ba838289612f33565b91509150612315604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b61231d614ae8565b4760005b868110156123f0578d818151811061233b5761233b615973565b602002602001015192508e83600001518151811061235b5761235b615973565b60200260200101519350612373846000858c8c6131e5565b156123e8576000612388878787878f886132d2565b909350905080156123e657836060015160200151898560000151815181106123b2576123b2615973565b6020026020010151856040015160000151815181106123d3576123d3615973565b6020026020010181815101915081815250505b505b600101612321565b506123fe85858b600061338b565b61240833476138f8565b5050505050505050505050505050565b8051602080830151604051600093611bdb937f00000000000000000000000000000000000000000000000000000000000000009391920192835273ffffffffffffffffffffffffffffffffffffffff91909116602083015261ffff16604082015260600190565b60335473ffffffffffffffffffffffffffffffffffffffff163314611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a9565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018390526000806125668760018686612db5565b8751919350915060008061257c83600133612f33565b915091506125d7604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b6125df614ae8565b60005b858110156126a1578b81815181106125fc576125fc615973565b602002602001015191508c82600001518151811061261c5761261c615973565b60200260200101519250612634836001848b8b6131e5565b1561269957612646858585858d613943565b8160600151602001518783600001518151811061266557612665615973565b60200260200101518360400151600001518151811061268657612686615973565b6020026020010181815101915081815250505b6001016125e2565b506126af84848a600161338b565b505050505050505050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff1660608084019190915290825260208083018790529287015190870151909201519091906127368860008988876139b6565b61276c576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061278089600085602001518589613a4d565b895173ffffffffffffffffffffffffffffffffffffffff1660009081526101606020908152604080832060e08e0151845282528083208751845290915281208054850190559091506127d3826001613ae7565b9050806000815181106127e8576127e8615973565b6020026020010151612826576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000806000806128418760600151878f60c001518b613bac565b9350935093509350808401471015612885576040517f356680b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87515161289290846138f8565b6020880151516128a290826138f8565b60c08d0151516128b290836138f8565b6128c48d6000015184848703036138f8565b6128d7858e8960000151878c6000613c37565b6128e133476138f8565b50505050505050505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556109ef81613c93565b600054610100900460ff16611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b600054610100900460ff16612a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943613d0a565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff166060808401919091529082526020808301869052928601519086015190920151909190612ad08760018887876139b6565b612b06576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612b1e8860018960600151600001518533613a4d565b90506000612b2d826001613ae7565b905080600081518110612b4257612b42615973565b6020026020010151612b80576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080600080612b9b8760600151878e60c001518b613bac565b935093509350935060008c600001519050612bbf818e60c001516000015185613daa565b612bd2818a602001516000015184613daa565b885151612be190829086613daa565b612bf081338685890303613daa565b8b606001516020015161016060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f60e0015160001b815260200190815260200160002060008a600001518152602001908152602001600020600082825401925050819055506128e1868e8a60000151888d6001613c37565b73ffffffffffffffffffffffffffffffffffffffff81163b612d2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612d9983613e53565b600082511180612da65750805b15610e21576107cd8383613ea0565b835160609081908067ffffffffffffffff811115612dd557612dd5614bd3565b604051908082528060200260200182016040528015612dfe578160200160208202803683370190505b5092508067ffffffffffffffff811115612e1a57612e1a614bd3565b604051908082528060200260200182016040528015612e4d57816020015b6060815260200190600190039081612e385790505b50915060005b81811015612f2857878181518110612e6d57612e6d615973565b60200260200101516060015167ffffffffffffffff811115612e9157612e91614bd3565b604051908082528060200260200182016040528015612eba578160200160208202803683370190505b50838281518110612ecd57612ecd615973565b6020026020010181905250612efe888281518110612eed57612eed615973565b602002602001015188888885613fdf565b848281518110612f1057612f10615973565b91151560209283029190910190910152600101612e53565b505094509492505050565b6060612f8b604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081525090565b60006020612f9a8760a0615ae7565b612fa49190615960565b90506000612fb38260a0615960565b90508067ffffffffffffffff811115612fce57612fce614bd3565b6040519080825280601f01601f191660200182016040528015612ff8576020820181803683370190505b50604081018690526060810187905260808082015260c08101889052935060008767ffffffffffffffff81111561303157613031614bd3565b60405190808252806020026020018201604052801561306a57816020015b613057614b53565b81526020019060019003908161304f5790505b50905060008867ffffffffffffffff81111561308857613088614bd3565b6040519080825280602002602001820160405280156130b1578160200160208202803683370190505b50905060008967ffffffffffffffff8111156130cf576130cf614bd3565b6040519080825280602002602001820160405280156130f8578160200160208202803683370190505b50905060008a67ffffffffffffffff81111561311657613116614bd3565b60405190808252806020026020018201604052801561313f578160200160208202803683370190505b50905060008b67ffffffffffffffff81111561315d5761315d614bd3565b604051908082528060200260200182016040528015613186578160200160208202803683370190505b509050604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200185815260200184815260200183815260200182815260200186815250975050505050505050935093915050565b6040808401518051875173ffffffffffffffffffffffffffffffffffffffff166000908152610160602090815284822060e08b0151835281528482208383529052928320548651855185918791811061324057613240615973565b6020026020010151838151811061325957613259615973565b60200260200101519050600088606001516020015190508789600001518151811061328657613286615973565b602002602001015180156132a057506132a08b8b8b614033565b80156132af5750821982820111155b80156132c357508460400151818385010111155b9b9a5050505050505050505050565b600080600085606001516020015190506000806000806133008a6040015160600151868d60c001518c613bac565b935093509350935080846133149190615960565b8810613373578084890303975061332b8c8c614123565b60006133418e8d8d604001516020015189614365565b90506133618d878d604001518f60e0015160001b858a8a8a8a60016143ce565b88600197509750505050505050613380565b8760009650965050505050505b965096945050505050565b60a084015180156138f15760006133a28683613ae7565b805190915060005b818110156136d1578281815181106133c4576133c4615973565b6020026020010151156136c957600087610120015182815181106133ea576133ea615973565b6020026020010151905061342b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600061ffff1681525090565b600080886001811115613440576134406159a2565b0361348b57602083015160e08b015184518151811061346157613461615973565b60200260200101818151019150818152505082606001518360a001518460200151010190506134e2565b8260200151836080015184606001518560a001510101018a60e001518460000151815181106134bc576134bc615973565b60200260200101818151019150818152505082608001518360a001518460200151010190505b602080840151908b018051909101905260a08301518a51018a5260808301516040808c01805190920190915260608401516101008c0151918501518251919291811061353057613530615973565b60200260200101818151019150818152505060405180604001604052808b60a0015185604001518151811061356757613567615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16815260200182612710866060015102816135a1576135a1615afe565b0461ffff16815250915060008a610120015185815181106135c4576135c4615973565b60209081029190910181015160c0015180518183015160408084015173ffffffffffffffffffffffffffffffffffffffff841660009081526101608752828120848252875282812082825290965290852054606085015194965092949193909291906136309083615960565b90508560800151811161367e5773ffffffffffffffffffffffffffffffffffffffff8516600090815261016060209081526040808320878452825280832086845290915290208190556136b0565b6040517f56f1733f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050506136c48c83858d858e8b614599565b505050505b6001016133aa565b5060008460018111156136e6576136e66159a2565b036137e5576000866080015160016136fe9190615960565b905060005b818110156137575761374f8860c00151828151811061372457613724615973565b60200260200101518960e00151838151811061374257613742615973565b60200260200101516138f8565b600101613703565b5060008760600151600161376b9190615960565b905060005b818110156137b8576137b08960a00151828151811061379157613791615973565b60200260200101518a6101000151838151811061374257613742615973565b600101613770565b5086515188516137c891906138f8565b6137de87602001516000015189604001516138f8565b50506138ee565b6000866080015160016137f89190615960565b905060005b818110156138525761384a8860c00151828151811061381e5761381e615973565b6020026020010151308a60e00151848151811061383d5761383d615973565b6020026020010151613daa565b6001016137fd565b5061386230338960200151613daa565b6000876060015160016138759190615960565b905060005b818110156138c3576138bb308a60a00151838151811061389c5761389c615973565b60200260200101518b6101000151848151811061383d5761383d615973565b60010161387a565b5086515188516138d4913091613daa565b6138eb308860200151600001518a60400151613daa565b50505b50505b5050505050565b801561101857600080600080600085875af1905080610e21576040517fb12d13eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826060015160200151905060008060008061396e876040015160600151868a60c0015189613bac565b93509350935093506139808989614123565b60006139968b8a8a606001516000015189614365565b90506114dc8a878a604001518c60e0015160001b858a8a8a8a60006143ce565b60408301518051600091906139ce8888878787613fdf565b80156139e057506139e0888888614033565b8015613a41575060408083015160608801516020908101518b5173ffffffffffffffffffffffffffffffffffffffff166000908152610160835284812060e08e015182528352848120868252909252929020549091613a3e91615960565b11155b98975050505050505050565b60606000613a5d602060a0615960565b90506000613a6c8260a0615960565b90508067ffffffffffffffff811115613a8757613a87614bd3565b6040519080825280601f01601f191660200182016040528015613ab1576020820181803683370190505b506040810185905260608101889052608080820152600160c08201529250613adb83898888614365565b50505095945050505050565b60408051602081019091526060907f00000000000000000000000000000000000000000000000000000000000000009060008467ffffffffffffffff811115613b3257613b32614bd3565b604051908082528060200260200182016040528015613b5b578160200160208202803683370190505b5090508551602087017fa1ccb98e0000000000000000000000000000000000000000000000000000000060e01c81526020870260400184601c8403601c84016000895af15091979650505050505050565b6000808080613bbb8789615ae7565b9350612710866020015161ffff1685613bd49190615ae7565b613bde9190615b2d565b915061271085602001516020015161ffff1685613bfb9190615ae7565b613c059190615b2d565b85516020015190915061271090613c209061ffff1686615ae7565b613c2a9190615b2d565b9250945094509450949050565b613c666040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b604087016040810151602081018201925050506138ee818760e0015160001b87878a60c0015188886145ef565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16613da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943336128f0565b8015610e21576000807f000000000000000000000000000000000000000000000000000000000000000090506040517f23b872dd0000000000000000000000000000000000000000000000000000000081528560048201528460248201528360448201526000806064836000865af1925050816138f1576040517febf03b8300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613e5c81612c86565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b613f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108a9565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051613f6e9190615b68565b600060405180830381855af49150503d8060008114613fa9576040519150601f19603f3d011682016040523d82523d6000602084013e613fae565b606091505b5091509150613fd68282604051806060016040528060278152602001615cd0602791396148da565b95945050505050565b600080613fec878761101c565b60e088018190528751909150614004908287866148f3565b80156140135750608087015142105b801561402857506140288760c0015185614936565b979650505050505050565b600080826040015190506140588360200151866040015161405384611b9c565b614973565b60608401519092506000856001811115614074576140746159a2565b036140d25760008660a001516001811115614091576140916159a2565b036140ba578280156140a7575080602001516001145b80156140b7575081604001516001145b92505b8280156140cb575080516020830151145b925061411a565b60008660a0015160018111156140ea576140ea6159a2565b03614106578280156140cb57508060200151600114925061411a565b828015614117575080516020830151145b92505b50509392505050565b60c081015151606083015160a08401518051600091908390811061414957614149615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146142415773ffffffffffffffffffffffffffffffffffffffff81166141f757828560a0015183815181106141b8576141b8615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614241565b828560a00151836001019350838151811061421457614214615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152606085018290525b8351608086015160c08701518051600091908390811061426357614263615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461435b5773ffffffffffffffffffffffffffffffffffffffff811661431157828860c0015183815181106142d2576142d2615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061435b565b828860c00151836001019350838151811061432e5761432e615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152608088018290525b5050505050505050565b60006040850160608101519150604081015160a08302602082018301019050600086015160008201528460208201526020860151606082015260a08601516080820152600183016060830152600160a0870151036143c4578360408201525b5050949350505050565b60008a608001519050808b610120015188815181106143ef576143ef615973565b60209081029190910101515260608b01516101208c015180518990811061441857614418615973565b602002602001015160400181815250506040518060a001604052808c60c00151838151811061444957614449615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018a6000015181526020018b81526020018a604001518152508b610120015188815181106144a1576144a1615973565b602002602001015160c0018190525081156144e75783858703038b610120015188815181106144d2576144d2615973565b60200260200101516020018181525050614514565b82858703038b6101200151888151811061450357614503615973565b602002602001015160200181815250505b838b6101200151888151811061452c5761452c615973565b60200260200101516060018181525050828b6101200151888151811061455457614554615973565b60200260200101516080018181525050848b6101200151888151811061457c5761457c615973565b602002602001015160a00181815250505050505050505050505050565b6145c86040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b5060808701516020840151604085015191890160a08402016060019161435b9183918a8a8a895b600087608001516001811115614607576146076159a2565b14801561461b575081516020015161ffff16155b801561463657506b0100000000000000000000008760200151105b8015614643575061010085105b801561465a57506b01000000000000000000000084105b1561488e57602083015161ffff1615801561467e5750602080830151015161ffff16155b1561470657602087015187517f1d5e12b51dee5e4d34434576c3fb99714a85f57b0fd546ada4b0bddd736d12b291889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff909116176146e284888c60600151614989565b604080519384526020840192909252908201526060015b60405180910390a16138ee565b826020015161ffff166000036147d857602087015187517f0fcf17fac114131b10f37b183c6a60f905911e52802caeeb3e6ea210398b81ab91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761477584888c60600151614989565b602080870151805191015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016175b6040805194855260208501939093529183015260608201526080016146f9565b81602001516020015161ffff1660000361488e57602087015187517f7dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686e91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761484b84888c60600151614989565b8651602088015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016176147b8565b7ff2f66294df6fae7ac681cbe2f6d91c6904485929679dce263e8f6539b7d5c559878787878787876040516148c99796959493929190615be4565b60405180910390a150505050505050565b606083156148e95750816111ee565b6111ee83836149c7565b6000806148ff85614a0b565b604184028501602081015160408201516060909201519293509160f81c614929898583868661215b565b9998505050505050505050565b6000612710826000015160200151836020015160200151856020015161495c9190615c9a565b6149669190615c9a565b61ffff1611159392505050565b6000826149808584614a6c565b14949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660a084901b60f88660018111156149bb576149bb6159a2565b901b1717949350505050565b8151156149d75781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a99190615cbc565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000602282015260428101829052600090606201611bdb565b600081815b8451811015614ab157614a9d82868381518110614a9057614a90615973565b6020026020010151614ab9565b915080614aa981615a96565b915050614a71565b509392505050565b6000818310614ad55760008281526020849052604090206111ee565b60008381526020839052604090206111ee565b60405180608001604052806000815260200160608152602001614b2c6040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001614b4e604051806040016040528060008152602001600081525090565b905290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001614b4e6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600080191681526020016000815260200160008152602001600081525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405290565b604051610100810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516080810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405160a0810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516060810167ffffffffffffffff81118282101715614c2557614c25614bd3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614cff57614cff614bd3565b604052919050565b600067ffffffffffffffff821115614d2157614d21614bd3565b5060051b60200190565b803573ffffffffffffffffffffffffffffffffffffffff81168114614d4f57600080fd5b919050565b600281106109ef57600080fd5b803561ffff81168114614d4f57600080fd5b600060408284031215614d8557600080fd5b614d8d614c02565b9050614d9882614d2b565b8152614da660208301614d61565b602082015292915050565b60006101208284031215614dc457600080fd5b614dcc614c2b565b9050614dd782614d2b565b8152614de560208301614d2b565b602082015260408201356040820152606082013560608201526080820135608082015260a0820135614e1681614d54565b60a0820152614e288360c08401614d73565b60c082015261010082013560e082015292915050565b600082601f830112614e4f57600080fd5b81356020614e64614e5f83614d07565b614cb8565b8281526101209283028501820192828201919087851115614e8457600080fd5b8387015b85811015614ea757614e9a8982614db1565b8452928401928101614e88565b5090979650505050505050565b600060808284031215614ec657600080fd5b614ece614c4f565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b600060408284031215614f0a57600080fd5b614f12614c02565b9050813581526020820135602082015292915050565b60006101008284031215614f3b57600080fd5b614f43614c4f565b90508135815260208083013567ffffffffffffffff811115614f6457600080fd5b8301601f81018513614f7557600080fd5b8035614f83614e5f82614d07565b81815260059190911b82018301908381019087831115614fa257600080fd5b928401925b82841015614fc057833582529284019290840190614fa7565b80858701525050505050614fd78360408401614eb4565b6040820152614fe98360c08401614ef8565b606082015292915050565b600082601f83011261500557600080fd5b81356020615015614e5f83614d07565b82815260059290921b8401810191818101908684111561503457600080fd5b8286015b8481101561507457803567ffffffffffffffff8111156150585760008081fd5b6150668986838b0101614f28565b845250918301918301615038565b509695505050505050565b600082601f83011261509057600080fd5b813567ffffffffffffffff8111156150aa576150aa614bd3565b6150db60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614cb8565b8181528460208386010111156150f057600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561511f57600080fd5b615127614c72565b9050813567ffffffffffffffff8082111561514157600080fd5b61514d85838601614e3e565b8352602084013591508082111561516357600080fd5b61516f85838601614ff4565b60208401526151818560408601614d73565b6040840152608084013591508082111561519a57600080fd5b506151a78482850161507f565b6060830152506151b960a08301614d2b565b608082015292915050565b60008083601f8401126151d657600080fd5b50813567ffffffffffffffff8111156151ee57600080fd5b60208301915083602082850101111561520657600080fd5b9250929050565b6000806000806060858703121561522357600080fd5b843567ffffffffffffffff8082111561523b57600080fd5b6152478883890161510d565b9550602087013591508082111561525d57600080fd5b5061526a878288016151c4565b9598909750949560400135949350505050565b60006101c0828403121561529057600080fd5b615298614c72565b90506152a48383614db1565b815261012082013567ffffffffffffffff808211156152c257600080fd5b6152ce85838601614f28565b60208401526152e1856101408601614d73565b60408401526101808401359150808211156152fb57600080fd5b506153088482850161507f565b6060830152506151b96101a08301614d2b565b6000806000806060858703121561533157600080fd5b843567ffffffffffffffff8082111561534957600080fd5b6152478883890161527d565b60006020828403121561536757600080fd5b6111ee82614d2b565b60008060006040848603121561538557600080fd5b833567ffffffffffffffff8082111561539d57600080fd5b6153a98783880161510d565b945060208601359150808211156153bf57600080fd5b506153cc868287016151c4565b9497909650939450505050565b600080604083850312156153ec57600080fd5b6153f583614d2b565b915061540360208401614d61565b90509250929050565b60008060006060848603121561542157600080fd5b61542a84614d2b565b95602085013595506040909401359392505050565b6000602080838503121561545257600080fd5b823567ffffffffffffffff81111561546957600080fd5b8301601f8101851361547a57600080fd5b8035615488614e5f82614d07565b818152606091820283018401918482019190888411156154a757600080fd5b938501935b838510156154f15780858a0312156154c45760008081fd5b6154cc614c95565b85358152868601358782015260408087013590820152835293840193918501916154ac565b50979650505050505050565b6000806040838503121561551057600080fd5b61551983614d2b565b9150602083013567ffffffffffffffff81111561553557600080fd5b6155418582860161507f565b9150509250929050565b600080610140838503121561555f57600080fd5b6155698484614db1565b915061012083013561557a81614d54565b809150509250929050565b6000806040838503121561559857600080fd5b823567ffffffffffffffff8111156155af57600080fd5b6155bb8582860161527d565b92505061540360208401614d2b565b600080604083850312156155dd57600080fd5b6155e683614d2b565b91506020830135801515811461557a57600080fd5b60006020828403121561560d57600080fd5b5035919050565b600060a0828403121561562657600080fd5b61562e614c4f565b9050813567ffffffffffffffff8082111561564857600080fd5b61565485838601614e3e565b8352602084013591508082111561566a57600080fd5b61567685838601614ff4565b60208401526156888560408601614d73565b604084015260808401359150808211156156a157600080fd5b506156ae8482850161507f565b60608301525092915050565b6000806000604084860312156156cf57600080fd5b833567ffffffffffffffff808211156156e757600080fd5b6153a987838801615614565b60008060006040848603121561570857600080fd5b833567ffffffffffffffff8082111561572057600080fd5b6153a98783880161527d565b60006080828403121561573e57600080fd5b6111ee8383614eb4565b60006101a0828403121561575b57600080fd5b615763614c4f565b905061576f8383614db1565b815261012082013567ffffffffffffffff8082111561578d57600080fd5b61579985838601614f28565b60208401526157ac856101408601614d73565b60408401526101808401359150808211156156a157600080fd5b600080604083850312156157d957600080fd5b823567ffffffffffffffff8111156157f057600080fd5b6155bb85828601615748565b6000806040838503121561580f57600080fd5b823567ffffffffffffffff81111561582657600080fd5b6155bb85828601615614565b6000806040838503121561584557600080fd5b823567ffffffffffffffff81111561585c57600080fd5b6155bb8582860161510d565b60008060006040848603121561587d57600080fd5b833567ffffffffffffffff8082111561589557600080fd5b6153a987838801615748565b60005b838110156158bc5781810151838201526020016158a4565b50506000910152565b600081518084526158dd8160208601602086016158a1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061592260408301856158c5565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106109ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b615a11816159d1565b9052565b8b815273ffffffffffffffffffffffffffffffffffffffff8b811660208301528a166040820152606081018990526080810188905260a081018790526101608101615a5f876159d1565b8660c08301528560e083015284610100830152615a7b846159d1565b61012082019390935261014001529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615ac757615ac7615931565b5060010190565b600060208284031215615ae057600080fd5b5051919050565b80820281158282048414176110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615b63577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008251615b7a8184602087016158a1565b9190910192915050565b615bb3828251805173ffffffffffffffffffffffffffffffffffffffff16825260209081015161ffff16910152565b602090810151805173ffffffffffffffffffffffffffffffffffffffff166040840152015161ffff16606090910152565b60006101e08201905073ffffffffffffffffffffffffffffffffffffffff808a5116835260208a0151602084015260408a015160408401528060608b0151166060840152506080890151615c37816159d1565b608083015260a0820188905260c0820187905260e08201869052845173ffffffffffffffffffffffffffffffffffffffff16610100830152602085015161ffff16610120830152615c8c610140830185615b84565b613a416101c0830184615a08565b61ffff818116838216019080821115615cb557615cb5615931565b5092915050565b6020815260006111ee60208301846158c556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a46656552617465286164647265737320726563697069656e742c75696e7431362072617465290000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb0000000000000000000000000000000000a39bb272e79075ade125fd351887ac000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5
Deployed Bytecode
0x6080604052600436106102385760003560e01c806370bce2d611610138578063abe3bb66116100b0578063cf6b0f521161007f578063e30c397811610064578063e30c3978146106ff578063f2fde38b1461072a578063f47b77401461074a57600080fd5b8063cf6b0f52146106c4578063da815cb5146106df57600080fd5b8063abe3bb66146105e0578063addd5099146105fb578063b0e21e8a14610629578063c42cf535146106a457600080fd5b80638129fc1c116101075780638da5cb5b116100ec5780638da5cb5b1461058357806391bea840146105ae578063a4b2c674146105c957600080fd5b80638129fc1c1461054e57806387cc694d1461056357600080fd5b806370bce2d6146104e3578063715018a6146104f657806379ba50971461050b5780637ecebe001461052057600080fd5b80634f1ef286116101cb578063627cdcb91161019a5780636992aa361161017f5780636992aa361461048e5780637034d120146104ae578063708ef9aa146104ce57600080fd5b8063627cdcb914610459578063653608431461046e57600080fd5b80634f1ef286146103f157806351114ffa1461040457806352d1902d14610424578063579077b81461043957600080fd5b80633925c3c3116102075780633925c3c3146103515780633a16b768146103645780633c2ab6bf146103845780633f8fc233146103d157600080fd5b80630c340a24146102b3578063133ba9a61461030b578063336d82061461031e5780633659cfe61461033157600080fd5b366102ae573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac16146102ac576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b3480156102bf57600080fd5b506101c4546102e19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102ac61031936600461520d565b6107b8565b6102ac61032c36600461531b565b6107d3565b34801561033d57600080fd5b506102ac61034c366004615355565b6107e8565b6102ac61035f366004615370565b6109f2565b34801561037057600080fd5b506102ac61037f3660046153d9565b610c29565b34801561039057600080fd5b506103c361039f36600461540c565b61016060209081526000938452604080852082529284528284209052825290205481565b604051908152602001610302565b3480156103dd57600080fd5b506102ac6103ec36600461543f565b610d5d565b6102ac6103ff3660046154fd565b610e26565b34801561041057600080fd5b506103c361041f36600461554b565b61101c565b34801561043057600080fd5b506103c36110d3565b34801561044557600080fd5b506103c3610454366004615585565b6111bf565b34801561046557600080fd5b506102ac6111f5565b34801561047a57600080fd5b506102ac6104893660046155ca565b61124b565b34801561049a57600080fd5b506102ac6104a93660046155fb565b611306565b3480156104ba57600080fd5b506102ac6104c93660046156ba565b61134b565b3480156104da57600080fd5b506102ac6114e9565b6102ac6104f13660046156f3565b61172a565b34801561050257600080fd5b506102ac611931565b34801561051757600080fd5b506102ac611945565b34801561052c57600080fd5b506103c361053b366004615355565b61012e6020526000908152604090205481565b34801561055a57600080fd5b506102ac6119f7565b34801561056f57600080fd5b506103c361057e36600461572c565b611b9c565b34801561058f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e1565b3480156105ba57600080fd5b506103c36104543660046157c6565b3480156105d557600080fd5b506103c361012f5481565b3480156105ec57600080fd5b506103c36104543660046157fc565b34801561060757600080fd5b506103c3610616366004615355565b61012d6020526000908152604090205481565b34801561063557600080fd5b5061015f546106759073ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900461ffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835261ffff909116602083015201610302565b3480156106b057600080fd5b506102ac6106bf366004615355565b611bf8565b3480156106d057600080fd5b506103c3610454366004615832565b3480156106eb57600080fd5b506102ac6106fa366004615868565b611c70565b34801561070b57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166102e1565b34801561073657600080fd5b506102ac610745366004615355565b611e01565b34801561075657600080fd5b50604080518082018252600381527f312e3000000000000000000000000000000000000000000000000000000000006020820152905161030291907fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c99061590f565b6107c23382611eb1565b6107cd8484846109f2565b50505050565b6107dd3382611eb1565b6107cd84848461172a565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a78371630036108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a783773ffffffffffffffffffffffffffffffffffffffff166109277f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b6109d381611f54565b604080516000808252602082019092526109ef91839190611f5c565b50565b60fb54600114610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390610ac69084615960565b1015610afe576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003610b5d576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bc0818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012085888861215b565b610bf6576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f60800151612240565b5050600160fb55505050505050505050565b6101c45473ffffffffffffffffffffffffffffffffffffffff163314610c7b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fa8161ffff161115610cba576040517f499fddb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201825273ffffffffffffffffffffffffffffffffffffffff841680825261ffff8416602090920182905261015f80547fffffffffffffffffffff0000000000000000000000000000000000000000000016821774010000000000000000000000000000000000000000840217905591519091907f1d9e390a0f55a4e3251a1de541b3da1cb012fd85d9b4f0098bcffb70c4f4032d90600090a35050565b805160005b81811015610e21576000838281518110610d7e57610d7e615973565b6020908102919091018101516040808201513360009081526101608552828120845182528552828120848601518252909452908320805492945090929091610dc7908490615960565b9091555050805160208083015160408085015181519485529284019190915282015233907ff4092a7c54e135dc5f273d6675327b7b7838392537d2f7b63f7acbec8c7cd2969060600160405180910390a250600101610d62565b505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a7837163003610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108a9565b7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a783773ffffffffffffffffffffffffffffffffffffffff16610f607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611003576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b61100c82611f54565b61101882826001611f5c565b5050565b60007faf92fd8295121c3ba2d0dc4f6af18edcd0b3aaeff05fc72c591de6d457ee0c05836000015184602001518560400151866060015187608001518860a0015161106a8a60c00151612418565b60e08b01518b5173ffffffffffffffffffffffffffffffffffffffff16600090815261012e60209081526040918290205491516110b49b9a99989796959493928e92909101615a15565b6040516020818303038152906040528051906020012090505b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a7837161461119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6040518181527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0016080206000905b9392505050565b33600081815261012e6020526040812080547fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b929061123390615a96565b918290555060405190815260200160405180910390a2565b61125361247f565b80156112885773ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260409020600190556112b0565b73ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260408120555b8173ffffffffffffffffffffffffffffffffffffffff167fcc852792b7afae13c99037685c90dd3be44073d4bc32aa8c1b72fd07a2ac537c826040516112fa911515815260200190565b60405180910390a25050565b61130e61247f565b61012f8190556040518181527f7706177c541ba1b858371bfc568aa77450b4713bbdbba62c730d4484ab6c1251906020015b60405180910390a150565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906113ae9084615960565b10156113e6576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611445576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61148a818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6114c0576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612500565b5050505050505050505050565b604080517f454950373132446f6d61696e28000000000000000000000000000000000000006020808301919091527f737472696e67206e616d652c0000000000000000000000000000000000000000602d8301527f737472696e672076657273696f6e2c000000000000000000000000000000000060398301527f75696e7432353620636861696e49642c0000000000000000000000000000000060488301527f6164647265737320766572696679696e67436f6e74726163740000000000000060588301527f29000000000000000000000000000000000000000000000000000000000000006071830152825160528184030181526072830180855281519183019190912060b284018552600d9091527f426c75722045786368616e67650000000000000000000000000000000000000060929093019290925282518084018452600381527f312e3000000000000000000000000000000000000000000000000000000000009082015282518082018390527fa6bc598dcd11f5828a3f69fa224d3a8ef75a327fa851a1085f35a5213d2139ad818501527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a0808301919091528451808303909101815260c09091019093528251920191909120807fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c914611018576040517feb12798200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54600114611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906117fe9084615960565b1015611836576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611895576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118da818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611910576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f608001516126bd565b61193961247f565b61194360006128f0565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146119ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016108a9565b6109ef816128f0565b600054610100900460ff1615808015611a175750600054600160ff909116105b80611a315750303b158015611a31575060005460ff166001145b611abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108a9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611b1b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611b23612921565b611b2b6129b8565b611b35600160fb55565b611b3d6114e9565b80156109ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611340565b60008160000151826020015183604001518460600151604051602001611bdb949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b611c0061247f565b6101c480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c90600090a250565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390611cd39084615960565b1015611d0b576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611d6a576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611daf818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611de5576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612a57565b611e0961247f565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611e6c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000807f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac90506040517f9555a9420000000000000000000000000000000000000000000000000000000081528460048201523060248201528360448201526000806064836000865af1925050816107cd576040517fbcfdca5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ef61247f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f8f57610e2183612c86565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612014575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261201191810190615ace565b60015b6120a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461214f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108a9565b50610e21838383612d90565b6040805160008082526020820180845287905260ff8616928201929092526060810184905260808101839052819060019060a0016020604051602081039080840390855afa1580156121b1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061222c57508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561223657600191505b5095945050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018490526000806122a588828786612db5565b885191935091506000806122ba838289612f33565b91509150612315604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b61231d614ae8565b4760005b868110156123f0578d818151811061233b5761233b615973565b602002602001015192508e83600001518151811061235b5761235b615973565b60200260200101519350612373846000858c8c6131e5565b156123e8576000612388878787878f886132d2565b909350905080156123e657836060015160200151898560000151815181106123b2576123b2615973565b6020026020010151856040015160000151815181106123d3576123d3615973565b6020026020010181815101915081815250505b505b600101612321565b506123fe85858b600061338b565b61240833476138f8565b5050505050505050505050505050565b8051602080830151604051600093611bdb937fa192ca867b0af2744eab247871e1a6c69fcaeef80ace07b70395b60f43c0f4899391920192835273ffffffffffffffffffffffffffffffffffffffff91909116602083015261ffff16604082015260600190565b60335473ffffffffffffffffffffffffffffffffffffffff163314611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a9565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018390526000806125668760018686612db5565b8751919350915060008061257c83600133612f33565b915091506125d7604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b6125df614ae8565b60005b858110156126a1578b81815181106125fc576125fc615973565b602002602001015191508c82600001518151811061261c5761261c615973565b60200260200101519250612634836001848b8b6131e5565b1561269957612646858585858d613943565b8160600151602001518783600001518151811061266557612665615973565b60200260200101518360400151600001518151811061268657612686615973565b6020026020010181815101915081815250505b6001016125e2565b506126af84848a600161338b565b505050505050505050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff1660608084019190915290825260208083018790529287015190870151909201519091906127368860008988876139b6565b61276c576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061278089600085602001518589613a4d565b895173ffffffffffffffffffffffffffffffffffffffff1660009081526101606020908152604080832060e08e0151845282528083208751845290915281208054850190559091506127d3826001613ae7565b9050806000815181106127e8576127e8615973565b6020026020010151612826576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000806000806128418760600151878f60c001518b613bac565b9350935093509350808401471015612885576040517f356680b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87515161289290846138f8565b6020880151516128a290826138f8565b60c08d0151516128b290836138f8565b6128c48d6000015184848703036138f8565b6128d7858e8960000151878c6000613c37565b6128e133476138f8565b50505050505050505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556109ef81613c93565b600054610100900460ff16611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b600054610100900460ff16612a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943613d0a565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff166060808401919091529082526020808301869052928601519086015190920151909190612ad08760018887876139b6565b612b06576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612b1e8860018960600151600001518533613a4d565b90506000612b2d826001613ae7565b905080600081518110612b4257612b42615973565b6020026020010151612b80576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080600080612b9b8760600151878e60c001518b613bac565b935093509350935060008c600001519050612bbf818e60c001516000015185613daa565b612bd2818a602001516000015184613daa565b885151612be190829086613daa565b612bf081338685890303613daa565b8b606001516020015161016060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f60e0015160001b815260200190815260200160002060008a600001518152602001908152602001600020600082825401925050819055506128e1868e8a60000151888d6001613c37565b73ffffffffffffffffffffffffffffffffffffffff81163b612d2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612d9983613e53565b600082511180612da65750805b15610e21576107cd8383613ea0565b835160609081908067ffffffffffffffff811115612dd557612dd5614bd3565b604051908082528060200260200182016040528015612dfe578160200160208202803683370190505b5092508067ffffffffffffffff811115612e1a57612e1a614bd3565b604051908082528060200260200182016040528015612e4d57816020015b6060815260200190600190039081612e385790505b50915060005b81811015612f2857878181518110612e6d57612e6d615973565b60200260200101516060015167ffffffffffffffff811115612e9157612e91614bd3565b604051908082528060200260200182016040528015612eba578160200160208202803683370190505b50838281518110612ecd57612ecd615973565b6020026020010181905250612efe888281518110612eed57612eed615973565b602002602001015188888885613fdf565b848281518110612f1057612f10615973565b91151560209283029190910190910152600101612e53565b505094509492505050565b6060612f8b604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081525090565b60006020612f9a8760a0615ae7565b612fa49190615960565b90506000612fb38260a0615960565b90508067ffffffffffffffff811115612fce57612fce614bd3565b6040519080825280601f01601f191660200182016040528015612ff8576020820181803683370190505b50604081018690526060810187905260808082015260c08101889052935060008767ffffffffffffffff81111561303157613031614bd3565b60405190808252806020026020018201604052801561306a57816020015b613057614b53565b81526020019060019003908161304f5790505b50905060008867ffffffffffffffff81111561308857613088614bd3565b6040519080825280602002602001820160405280156130b1578160200160208202803683370190505b50905060008967ffffffffffffffff8111156130cf576130cf614bd3565b6040519080825280602002602001820160405280156130f8578160200160208202803683370190505b50905060008a67ffffffffffffffff81111561311657613116614bd3565b60405190808252806020026020018201604052801561313f578160200160208202803683370190505b50905060008b67ffffffffffffffff81111561315d5761315d614bd3565b604051908082528060200260200182016040528015613186578160200160208202803683370190505b509050604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200185815260200184815260200183815260200182815260200186815250975050505050505050935093915050565b6040808401518051875173ffffffffffffffffffffffffffffffffffffffff166000908152610160602090815284822060e08b0151835281528482208383529052928320548651855185918791811061324057613240615973565b6020026020010151838151811061325957613259615973565b60200260200101519050600088606001516020015190508789600001518151811061328657613286615973565b602002602001015180156132a057506132a08b8b8b614033565b80156132af5750821982820111155b80156132c357508460400151818385010111155b9b9a5050505050505050505050565b600080600085606001516020015190506000806000806133008a6040015160600151868d60c001518c613bac565b935093509350935080846133149190615960565b8810613373578084890303975061332b8c8c614123565b60006133418e8d8d604001516020015189614365565b90506133618d878d604001518f60e0015160001b858a8a8a8a60016143ce565b88600197509750505050505050613380565b8760009650965050505050505b965096945050505050565b60a084015180156138f15760006133a28683613ae7565b805190915060005b818110156136d1578281815181106133c4576133c4615973565b6020026020010151156136c957600087610120015182815181106133ea576133ea615973565b6020026020010151905061342b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600061ffff1681525090565b600080886001811115613440576134406159a2565b0361348b57602083015160e08b015184518151811061346157613461615973565b60200260200101818151019150818152505082606001518360a001518460200151010190506134e2565b8260200151836080015184606001518560a001510101018a60e001518460000151815181106134bc576134bc615973565b60200260200101818151019150818152505082608001518360a001518460200151010190505b602080840151908b018051909101905260a08301518a51018a5260808301516040808c01805190920190915260608401516101008c0151918501518251919291811061353057613530615973565b60200260200101818151019150818152505060405180604001604052808b60a0015185604001518151811061356757613567615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16815260200182612710866060015102816135a1576135a1615afe565b0461ffff16815250915060008a610120015185815181106135c4576135c4615973565b60209081029190910181015160c0015180518183015160408084015173ffffffffffffffffffffffffffffffffffffffff841660009081526101608752828120848252875282812082825290965290852054606085015194965092949193909291906136309083615960565b90508560800151811161367e5773ffffffffffffffffffffffffffffffffffffffff8516600090815261016060209081526040808320878452825280832086845290915290208190556136b0565b6040517f56f1733f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050506136c48c83858d858e8b614599565b505050505b6001016133aa565b5060008460018111156136e6576136e66159a2565b036137e5576000866080015160016136fe9190615960565b905060005b818110156137575761374f8860c00151828151811061372457613724615973565b60200260200101518960e00151838151811061374257613742615973565b60200260200101516138f8565b600101613703565b5060008760600151600161376b9190615960565b905060005b818110156137b8576137b08960a00151828151811061379157613791615973565b60200260200101518a6101000151838151811061374257613742615973565b600101613770565b5086515188516137c891906138f8565b6137de87602001516000015189604001516138f8565b50506138ee565b6000866080015160016137f89190615960565b905060005b818110156138525761384a8860c00151828151811061381e5761381e615973565b6020026020010151308a60e00151848151811061383d5761383d615973565b6020026020010151613daa565b6001016137fd565b5061386230338960200151613daa565b6000876060015160016138759190615960565b905060005b818110156138c3576138bb308a60a00151838151811061389c5761389c615973565b60200260200101518b6101000151848151811061383d5761383d615973565b60010161387a565b5086515188516138d4913091613daa565b6138eb308860200151600001518a60400151613daa565b50505b50505b5050505050565b801561101857600080600080600085875af1905080610e21576040517fb12d13eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826060015160200151905060008060008061396e876040015160600151868a60c0015189613bac565b93509350935093506139808989614123565b60006139968b8a8a606001516000015189614365565b90506114dc8a878a604001518c60e0015160001b858a8a8a8a60006143ce565b60408301518051600091906139ce8888878787613fdf565b80156139e057506139e0888888614033565b8015613a41575060408083015160608801516020908101518b5173ffffffffffffffffffffffffffffffffffffffff166000908152610160835284812060e08e015182528352848120868252909252929020549091613a3e91615960565b11155b98975050505050505050565b60606000613a5d602060a0615960565b90506000613a6c8260a0615960565b90508067ffffffffffffffff811115613a8757613a87614bd3565b6040519080825280601f01601f191660200182016040528015613ab1576020820181803683370190505b506040810185905260608101889052608080820152600160c08201529250613adb83898888614365565b50505095945050505050565b60408051602081019091526060907f0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb9060008467ffffffffffffffff811115613b3257613b32614bd3565b604051908082528060200260200182016040528015613b5b578160200160208202803683370190505b5090508551602087017fa1ccb98e0000000000000000000000000000000000000000000000000000000060e01c81526020870260400184601c8403601c84016000895af15091979650505050505050565b6000808080613bbb8789615ae7565b9350612710866020015161ffff1685613bd49190615ae7565b613bde9190615b2d565b915061271085602001516020015161ffff1685613bfb9190615ae7565b613c059190615b2d565b85516020015190915061271090613c209061ffff1686615ae7565b613c2a9190615b2d565b9250945094509450949050565b613c666040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b604087016040810151602081018201925050506138ee818760e0015160001b87878a60c0015188886145ef565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16613da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943336128f0565b8015610e21576000807f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac90506040517f23b872dd0000000000000000000000000000000000000000000000000000000081528560048201528460248201528360448201526000806064836000865af1925050816138f1576040517febf03b8300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613e5c81612c86565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b613f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108a9565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051613f6e9190615b68565b600060405180830381855af49150503d8060008114613fa9576040519150601f19603f3d011682016040523d82523d6000602084013e613fae565b606091505b5091509150613fd68282604051806060016040528060278152602001615cd0602791396148da565b95945050505050565b600080613fec878761101c565b60e088018190528751909150614004908287866148f3565b80156140135750608087015142105b801561402857506140288760c0015185614936565b979650505050505050565b600080826040015190506140588360200151866040015161405384611b9c565b614973565b60608401519092506000856001811115614074576140746159a2565b036140d25760008660a001516001811115614091576140916159a2565b036140ba578280156140a7575080602001516001145b80156140b7575081604001516001145b92505b8280156140cb575080516020830151145b925061411a565b60008660a0015160018111156140ea576140ea6159a2565b03614106578280156140cb57508060200151600114925061411a565b828015614117575080516020830151145b92505b50509392505050565b60c081015151606083015160a08401518051600091908390811061414957614149615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146142415773ffffffffffffffffffffffffffffffffffffffff81166141f757828560a0015183815181106141b8576141b8615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614241565b828560a00151836001019350838151811061421457614214615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152606085018290525b8351608086015160c08701518051600091908390811061426357614263615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461435b5773ffffffffffffffffffffffffffffffffffffffff811661431157828860c0015183815181106142d2576142d2615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061435b565b828860c00151836001019350838151811061432e5761432e615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152608088018290525b5050505050505050565b60006040850160608101519150604081015160a08302602082018301019050600086015160008201528460208201526020860151606082015260a08601516080820152600183016060830152600160a0870151036143c4578360408201525b5050949350505050565b60008a608001519050808b610120015188815181106143ef576143ef615973565b60209081029190910101515260608b01516101208c015180518990811061441857614418615973565b602002602001015160400181815250506040518060a001604052808c60c00151838151811061444957614449615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018a6000015181526020018b81526020018a604001518152508b610120015188815181106144a1576144a1615973565b602002602001015160c0018190525081156144e75783858703038b610120015188815181106144d2576144d2615973565b60200260200101516020018181525050614514565b82858703038b6101200151888151811061450357614503615973565b602002602001015160200181815250505b838b6101200151888151811061452c5761452c615973565b60200260200101516060018181525050828b6101200151888151811061455457614554615973565b60200260200101516080018181525050848b6101200151888151811061457c5761457c615973565b602002602001015160a00181815250505050505050505050505050565b6145c86040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b5060808701516020840151604085015191890160a08402016060019161435b9183918a8a8a895b600087608001516001811115614607576146076159a2565b14801561461b575081516020015161ffff16155b801561463657506b0100000000000000000000008760200151105b8015614643575061010085105b801561465a57506b01000000000000000000000084105b1561488e57602083015161ffff1615801561467e5750602080830151015161ffff16155b1561470657602087015187517f1d5e12b51dee5e4d34434576c3fb99714a85f57b0fd546ada4b0bddd736d12b291889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff909116176146e284888c60600151614989565b604080519384526020840192909252908201526060015b60405180910390a16138ee565b826020015161ffff166000036147d857602087015187517f0fcf17fac114131b10f37b183c6a60f905911e52802caeeb3e6ea210398b81ab91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761477584888c60600151614989565b602080870151805191015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016175b6040805194855260208501939093529183015260608201526080016146f9565b81602001516020015161ffff1660000361488e57602087015187517f7dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686e91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761484b84888c60600151614989565b8651602088015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016176147b8565b7ff2f66294df6fae7ac681cbe2f6d91c6904485929679dce263e8f6539b7d5c559878787878787876040516148c99796959493929190615be4565b60405180910390a150505050505050565b606083156148e95750816111ee565b6111ee83836149c7565b6000806148ff85614a0b565b604184028501602081015160408201516060909201519293509160f81c614929898583868661215b565b9998505050505050505050565b6000612710826000015160200151836020015160200151856020015161495c9190615c9a565b6149669190615c9a565b61ffff1611159392505050565b6000826149808584614a6c565b14949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660a084901b60f88660018111156149bb576149bb6159a2565b901b1717949350505050565b8151156149d75781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a99190615cbc565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201527fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c9602282015260428101829052600090606201611bdb565b600081815b8451811015614ab157614a9d82868381518110614a9057614a90615973565b6020026020010151614ab9565b915080614aa981615a96565b915050614a71565b509392505050565b6000818310614ad55760008281526020849052604090206111ee565b60008381526020839052604090206111ee565b60405180608001604052806000815260200160608152602001614b2c6040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001614b4e604051806040016040528060008152602001600081525090565b905290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001614b4e6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600080191681526020016000815260200160008152602001600081525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405290565b604051610100810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516080810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405160a0810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516060810167ffffffffffffffff81118282101715614c2557614c25614bd3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614cff57614cff614bd3565b604052919050565b600067ffffffffffffffff821115614d2157614d21614bd3565b5060051b60200190565b803573ffffffffffffffffffffffffffffffffffffffff81168114614d4f57600080fd5b919050565b600281106109ef57600080fd5b803561ffff81168114614d4f57600080fd5b600060408284031215614d8557600080fd5b614d8d614c02565b9050614d9882614d2b565b8152614da660208301614d61565b602082015292915050565b60006101208284031215614dc457600080fd5b614dcc614c2b565b9050614dd782614d2b565b8152614de560208301614d2b565b602082015260408201356040820152606082013560608201526080820135608082015260a0820135614e1681614d54565b60a0820152614e288360c08401614d73565b60c082015261010082013560e082015292915050565b600082601f830112614e4f57600080fd5b81356020614e64614e5f83614d07565b614cb8565b8281526101209283028501820192828201919087851115614e8457600080fd5b8387015b85811015614ea757614e9a8982614db1565b8452928401928101614e88565b5090979650505050505050565b600060808284031215614ec657600080fd5b614ece614c4f565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b600060408284031215614f0a57600080fd5b614f12614c02565b9050813581526020820135602082015292915050565b60006101008284031215614f3b57600080fd5b614f43614c4f565b90508135815260208083013567ffffffffffffffff811115614f6457600080fd5b8301601f81018513614f7557600080fd5b8035614f83614e5f82614d07565b81815260059190911b82018301908381019087831115614fa257600080fd5b928401925b82841015614fc057833582529284019290840190614fa7565b80858701525050505050614fd78360408401614eb4565b6040820152614fe98360c08401614ef8565b606082015292915050565b600082601f83011261500557600080fd5b81356020615015614e5f83614d07565b82815260059290921b8401810191818101908684111561503457600080fd5b8286015b8481101561507457803567ffffffffffffffff8111156150585760008081fd5b6150668986838b0101614f28565b845250918301918301615038565b509695505050505050565b600082601f83011261509057600080fd5b813567ffffffffffffffff8111156150aa576150aa614bd3565b6150db60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614cb8565b8181528460208386010111156150f057600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561511f57600080fd5b615127614c72565b9050813567ffffffffffffffff8082111561514157600080fd5b61514d85838601614e3e565b8352602084013591508082111561516357600080fd5b61516f85838601614ff4565b60208401526151818560408601614d73565b6040840152608084013591508082111561519a57600080fd5b506151a78482850161507f565b6060830152506151b960a08301614d2b565b608082015292915050565b60008083601f8401126151d657600080fd5b50813567ffffffffffffffff8111156151ee57600080fd5b60208301915083602082850101111561520657600080fd5b9250929050565b6000806000806060858703121561522357600080fd5b843567ffffffffffffffff8082111561523b57600080fd5b6152478883890161510d565b9550602087013591508082111561525d57600080fd5b5061526a878288016151c4565b9598909750949560400135949350505050565b60006101c0828403121561529057600080fd5b615298614c72565b90506152a48383614db1565b815261012082013567ffffffffffffffff808211156152c257600080fd5b6152ce85838601614f28565b60208401526152e1856101408601614d73565b60408401526101808401359150808211156152fb57600080fd5b506153088482850161507f565b6060830152506151b96101a08301614d2b565b6000806000806060858703121561533157600080fd5b843567ffffffffffffffff8082111561534957600080fd5b6152478883890161527d565b60006020828403121561536757600080fd5b6111ee82614d2b565b60008060006040848603121561538557600080fd5b833567ffffffffffffffff8082111561539d57600080fd5b6153a98783880161510d565b945060208601359150808211156153bf57600080fd5b506153cc868287016151c4565b9497909650939450505050565b600080604083850312156153ec57600080fd5b6153f583614d2b565b915061540360208401614d61565b90509250929050565b60008060006060848603121561542157600080fd5b61542a84614d2b565b95602085013595506040909401359392505050565b6000602080838503121561545257600080fd5b823567ffffffffffffffff81111561546957600080fd5b8301601f8101851361547a57600080fd5b8035615488614e5f82614d07565b818152606091820283018401918482019190888411156154a757600080fd5b938501935b838510156154f15780858a0312156154c45760008081fd5b6154cc614c95565b85358152868601358782015260408087013590820152835293840193918501916154ac565b50979650505050505050565b6000806040838503121561551057600080fd5b61551983614d2b565b9150602083013567ffffffffffffffff81111561553557600080fd5b6155418582860161507f565b9150509250929050565b600080610140838503121561555f57600080fd5b6155698484614db1565b915061012083013561557a81614d54565b809150509250929050565b6000806040838503121561559857600080fd5b823567ffffffffffffffff8111156155af57600080fd5b6155bb8582860161527d565b92505061540360208401614d2b565b600080604083850312156155dd57600080fd5b6155e683614d2b565b91506020830135801515811461557a57600080fd5b60006020828403121561560d57600080fd5b5035919050565b600060a0828403121561562657600080fd5b61562e614c4f565b9050813567ffffffffffffffff8082111561564857600080fd5b61565485838601614e3e565b8352602084013591508082111561566a57600080fd5b61567685838601614ff4565b60208401526156888560408601614d73565b604084015260808401359150808211156156a157600080fd5b506156ae8482850161507f565b60608301525092915050565b6000806000604084860312156156cf57600080fd5b833567ffffffffffffffff808211156156e757600080fd5b6153a987838801615614565b60008060006040848603121561570857600080fd5b833567ffffffffffffffff8082111561572057600080fd5b6153a98783880161527d565b60006080828403121561573e57600080fd5b6111ee8383614eb4565b60006101a0828403121561575b57600080fd5b615763614c4f565b905061576f8383614db1565b815261012082013567ffffffffffffffff8082111561578d57600080fd5b61579985838601614f28565b60208401526157ac856101408601614d73565b60408401526101808401359150808211156156a157600080fd5b600080604083850312156157d957600080fd5b823567ffffffffffffffff8111156157f057600080fd5b6155bb85828601615748565b6000806040838503121561580f57600080fd5b823567ffffffffffffffff81111561582657600080fd5b6155bb85828601615614565b6000806040838503121561584557600080fd5b823567ffffffffffffffff81111561585c57600080fd5b6155bb8582860161510d565b60008060006040848603121561587d57600080fd5b833567ffffffffffffffff8082111561589557600080fd5b6153a987838801615748565b60005b838110156158bc5781810151838201526020016158a4565b50506000910152565b600081518084526158dd8160208601602086016158a1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061592260408301856158c5565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106109ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b615a11816159d1565b9052565b8b815273ffffffffffffffffffffffffffffffffffffffff8b811660208301528a166040820152606081018990526080810188905260a081018790526101608101615a5f876159d1565b8660c08301528560e083015284610100830152615a7b846159d1565b61012082019390935261014001529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615ac757615ac7615931565b5060010190565b600060208284031215615ae057600080fd5b5051919050565b80820281158282048414176110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615b63577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008251615b7a8184602087016158a1565b9190910192915050565b615bb3828251805173ffffffffffffffffffffffffffffffffffffffff16825260209081015161ffff16910152565b602090810151805173ffffffffffffffffffffffffffffffffffffffff166040840152015161ffff16606090910152565b60006101e08201905073ffffffffffffffffffffffffffffffffffffffff808a5116835260208a0151602084015260408a015160408401528060608b0151166060840152506080890151615c37816159d1565b608083015260a0820188905260c0820187905260e08201869052845173ffffffffffffffffffffffffffffffffffffffff16610100830152602085015161ffff16610120830152615c8c610140830185615b84565b613a416101c0830184615a08565b61ffff818116838216019080821115615cb557615cb5615931565b5092915050565b6020815260006111ee60208301846158c556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb0000000000000000000000000000000000a39bb272e79075ade125fd351887ac000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5
-----Decoded View---------------
Arg [0] : delegate (address): 0x2f18F339620a63e43f0839Eeb18D7de1e1Be4DfB
Arg [1] : pool (address): 0x0000000000A39bb272e79075ade125fd351887Ac
Arg [2] : proxy (address): 0xb2ecfE4E4D61f8790bbb9DE2D1259B9e2410CEA5
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb
Arg [1] : 0000000000000000000000000000000000a39bb272e79075ade125fd351887ac
Arg [2] : 000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5
🤖 Code Reader
Generate instant answers for your smart contract questions using AI Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
Tokens
| 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.


