ETH Price: $2,512.33 (-0.41%)

Contract

0xFb33Af0Cc65d5dE71399c0A395846F53Fff76D71
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

SiloFacet

Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled
Yes with 100 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"int96","name":"stem","type":"int96"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bdv","type":"uint256"}],"name":"AddDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"plenty","type":"uint256"}],"name":"ClaimPlenty","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"beans","type":"uint256"}],"name":"Plant","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"int96","name":"stem","type":"int96"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bdv","type":"uint256"}],"name":"RemoveDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"int96[]","name":"stems","type":"int96[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"bdvs","type":"uint256[]"}],"name":"RemoveDeposits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint32","name":"season","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RemoveWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint32[]","name":"seasons","type":"uint32[]"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RemoveWithdrawals","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"int256","name":"delta","type":"int256"},{"indexed":false,"internalType":"int256","name":"deltaRoots","type":"int256"}],"name":"StalkBalanceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"depositId","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"depositIds","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"balanceOfDepositedBdv","outputs":[{"internalType":"uint256","name":"depositedBdv","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfEarnedBeans","outputs":[{"internalType":"uint256","name":"beans","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfEarnedStalk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"balanceOfGrownStalk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfPlenty","outputs":[{"internalType":"uint256","name":"plenty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfRainRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfSop","outputs":[{"components":[{"internalType":"uint32","name":"lastRain","type":"uint32"},{"internalType":"uint32","name":"lastSop","type":"uint32"},{"internalType":"uint256","name":"roots","type":"uint256"},{"internalType":"uint256","name":"plentyPerRoot","type":"uint256"},{"internalType":"uint256","name":"plenty","type":"uint256"}],"internalType":"struct SiloExit.AccountSeasonOfPlenty","name":"sop","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOfStalk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"bdv","outputs":[{"internalType":"uint256","name":"_bdv","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimPlenty","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"enum LibTransfer.From","name":"mode","type":"uint8"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"_bdv","type":"uint256"},{"internalType":"int96","name":"stem","type":"int96"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"stem","type":"int96"}],"name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"stem","type":"int96"}],"name":"getDepositId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"getLastMowedStem","outputs":[{"internalType":"int96","name":"lastStem","type":"int96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"getMowStatus","outputs":[{"components":[{"internalType":"int96","name":"lastStem","type":"int96"},{"internalType":"uint128","name":"bdv","type":"uint128"}],"internalType":"struct Account.MowStatus","name":"mowStatus","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getSeedsPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTotalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTotalDepositedBdv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"stem","type":"int96"}],"name":"grownStalkForDeposit","outputs":[{"internalType":"uint256","name":"grownStalk","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inVestingPeriod","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastSeasonOfPlenty","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"lastUpdate","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"migrationNeeded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"mow","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"mowMultiple","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"plant","outputs":[{"internalType":"uint256","name":"beans","type":"uint256"},{"internalType":"int96","name":"stem","type":"int96"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"depositIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"depositId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint32","name":"season","type":"uint32"}],"name":"seasonToStem","outputs":[{"internalType":"int96","name":"stem","type":"int96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stemStartSeason","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"stemTipForToken","outputs":[{"internalType":"int96","name":"_stemTip","type":"int96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"tokenSettings","outputs":[{"components":[{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"uint32","name":"stalkEarnedPerSeason","type":"uint32"},{"internalType":"uint32","name":"stalkIssuedPerBdv","type":"uint32"},{"internalType":"uint32","name":"milestoneSeason","type":"uint32"},{"internalType":"int96","name":"milestoneStem","type":"int96"},{"internalType":"bytes1","name":"encodeType","type":"bytes1"}],"internalType":"struct Storage.SiloSettings","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEarnedBeans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStalk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"stem","type":"int96"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferDeposit","outputs":[{"internalType":"uint256","name":"_bdv","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int96[]","name":"stem","type":"int96[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"transferDeposits","outputs":[{"internalType":"uint256[]","name":"bdvs","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int96","name":"stem","type":"int96"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"enum LibTransfer.To","name":"mode","type":"uint8"}],"name":"withdrawDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int96[]","name":"stems","type":"int96[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"enum LibTransfer.To","name":"mode","type":"uint8"}],"name":"withdrawDeposits","outputs":[],"stateMutability":"payable","type":"function"}]
608060405234801561001057600080fd5b5061518d806100206000396000f3fe6080604052600436106102505760003560e01c8063896ab1c611610139578063bc8514cf116100b6578063dc25a6501161007a578063dc25a650146106af578063e348f82b146106dc578063e923e8d4146106ef578063f19ed6be1461071c578063f242432a1461073e578063fd9de1661461075e57610250565b8063bc8514cf1461061a578063be6547d21461063a578063c38b3c181461065c578063c56411f61461067c578063cb03fb1e1461068f57610250565b80639f9962e4116100fd5780639f9962e41461056b578063a7bf680f1461058b578063abed2d41146105b8578063ba39dc02146105d8578063bc771977146105f857610250565b8063896ab1c6146104cb5780638c1e6f22146104eb5780638eeae3101461050b57806398f2b8ad1461052b5780639d6a924e1461054b57610250565b806345947ba9116101d2578063779b3c5c11610196578063779b3c5c146104205780637b52fadf146104365780637d44f5bb1461044b5780637fc06e121461045e5780638915ba241461048b578063896651e8146104ab57610250565b806345947ba91461038857806346544166146103905780634e1273f4146103a557806361449212146103d257806369fbad941461040057610250565b806327e047f11161021957806327e047f1146102f55780632eb2c2d614610308578063341b94d5146103285780633a1b0606146103485780633e465a2e1461036857610250565b8062fdd58e14610255578063081d77ba1461028b5780630b2939d11461029e5780630c9c31bd146102c0578063150d5173146102e0575b600080fd5b34801561026157600080fd5b506102756102703660046147d5565b610773565b6040516102829190614aa7565b60405180910390f35b6102756102993660046144bc565b6107aa565b3480156102aa57600080fd5b506102b361082a565b6040516102829190614a9c565b3480156102cc57600080fd5b506102756102db3660046143d2565b610839565b6102f36102ee3660046143ec565b610861565b005b6102f36103033660046146d4565b61086f565b34801561031457600080fd5b506102f3610323366004614517565b6108f4565b34801561033457600080fd5b506102756103433660046143d2565b61099c565b34801561035457600080fd5b506102756103633660046145cd565b6109b3565b34801561037457600080fd5b506102756103833660046143d2565b6109ca565b6102f36109f1565b34801561039c57600080fd5b506102756109fc565b3480156103b157600080fd5b506103c56103c036600461487e565b610a02565b6040516102829190614a63565b3480156103de57600080fd5b506103f26103ed3660046145cd565b610b1c565b604051610282929190614ab0565b34801561040c57600080fd5b5061027561041b3660046143d2565b610b37565b610428610b55565b604051610282929190614fb0565b34801561044257600080fd5b50610275610b69565b6102f3610459366004614684565b610b6f565b34801561046a57600080fd5b5061047e6104793660046143ec565b610bb2565b6040516102829190614abe565b34801561049757600080fd5b506102756104a63660046143ec565b610be4565b3480156104b757600080fd5b506102756104c63660046143d2565b610c5f565b3480156104d757600080fd5b5061047e6104e6366004614840565b610c6a565b3480156104f757600080fd5b506102756105063660046147d5565b610c82565b34801561051757600080fd5b506102756105263660046143d2565b610c8e565b34801561053757600080fd5b50610275610546366004614760565b610cbe565b34801561055757600080fd5b506102756105663660046143d2565b610cca565b34801561057757600080fd5b506102756105863660046143d2565b610cf5565b34801561059757600080fd5b506105ab6105a63660046143d2565b610d00565b6040516102829190614ed4565b3480156105c457600080fd5b5061047e6105d33660046143d2565b610d87565b3480156105e457600080fd5b506102756105f33660046143d2565b610d92565b34801561060457600080fd5b5061060d610db0565b6040516102829190614fa1565b34801561062657600080fd5b506102756106353660046143ec565b610dc1565b34801561064657600080fd5b5061064f610e00565b6040516102829190614fda565b34801561066857600080fd5b506102b36106773660046143d2565b610e13565b6103c561068a36600461441e565b610e1e565b34801561069b57600080fd5b5061064f6106aa3660046143d2565b610f0e565b3480156106bb57600080fd5b506106cf6106ca3660046143ec565b610f39565b6040516102829190614f18565b6102f36106ea366004614789565b610f99565b3480156106fb57600080fd5b5061070f61070a3660046143d2565b611015565b6040516102829190614f3b565b61072f61072a3660046147fe565b6110bb565b60405161028293929190614fc1565b34801561074a57600080fd5b506102f361075936600461460f565b611124565b34801561076a57600080fd5b50610275611172565b6001600160a01b03821660009081526031602090815260408083208484526019019091529020546001600160801b03165b92915050565b601e54600090600214156107d95760405162461bcd60e51b81526004016107d090614e3a565b60405180910390fd5b6002601e556001600160a01b03861633146107fa576107fa86338685611178565b61080486856111c5565b61080e85856111c5565b61081b8686868686611306565b6001601e559695505050505050565b6000610834611381565b905090565b6001600160a01b0381166000908152603860205260409020546001600160801b03165b919050565b61086b82826111c5565b5050565b8561087a33826111c5565b601e546002141561089d5760405162461bcd60e51b81526004016107d090614e3a565b6002601e556108aa611381565b156108c75760405162461bcd60e51b81526004016107d090614ae7565b60006108d73389898989896113aa565b90506108e588823386611402565b50506001601e55505050505050565b8483146109135760405162461bcd60e51b81526004016107d090614b7e565b6001600160a01b0387166109395760405162461bcd60e51b81526004016107d090614cc6565b60008060005b8781101561098f5761096289898381811061095657fe5b90506020020135611444565b90935091506109868b8b85858b8b8781811061097a57fe5b905060200201356107aa565b5060010161093f565b5050505050505050505050565b60006107a46127106109ad846109ca565b90611450565b60006109c08484846114a9565b90505b9392505050565b6001600160a01b0381166000908152603160205260408120600801546107a4908390611518565b6109fa336115a3565b565b601d5490565b6060838214610a235760405162461bcd60e51b81526004016107d090614df2565b6000846001600160401b0381118015610a3b57600080fd5b50604051908082528060200260200182016040528015610a65578160200160208202803683370190505b50905060005b85811015610b105760316000888884818110610a8357fe5b9050602002016020810190610a9891906143d2565b6001600160a01b03166001600160a01b031681526020019081526020016000206019016000868684818110610ac957fe5b602090810292909201358352508101919091526040016000205482516001600160801b0390911690839083908110610afd57fe5b6020908102919091010152600101610a6b565b5090505b949350505050565b600080610b2a858585611636565b915091505b935093915050565b6001600160a01b031660009081526031602052604090206012015490565b600080610b613361169f565b915091509091565b601b5490565b60005b81811015610bac57610ba484848484818110610b8a57fe5b9050602002016020810190610b9f91906143d2565b6111c5565b600101610b72565b50505050565b6001600160a01b039182166000908152603160209081526040808320939094168252601a9092019091522054600b0b90565b6001600160a01b0380831660009081526031602090815260408083209385168352601a9093019052908120546109c390600b0b610c2084611849565b6001600160a01b0386811660009081526031602090815260408083209389168352601a90930190522054600160601b90046001600160801b0316611913565b60006107a482611920565b600080610c7684610cf5565b9050610b148184611b3d565b60006109c38383611ba0565b60006107a4610c9c8361099c565b6001600160a01b03841660009081526031602052604090206008015490611ca2565b60006109c38383611cfa565b6001600160a01b0316600090815260386020526040902054600160801b90046001600160801b031690565b60006107a482611d17565b610d0861426b565b6001600160a01b0382166000818152603160208181526040808420600a81015463ffffffff600160601b820481168952600160401b9091041687840152949093525260129091015490820152610d5d82610c5f565b60808201526001600160a01b03909116600090815260316020526040902060130154606082015290565b60006107a482611849565b6001600160a01b03166000908152603160205260409020600e015490565b600354600160c01b900461ffff1690565b6001600160a01b039182166000908152603160209081526040808320939094168252601a9092019091522054600160601b90046001600160801b031690565b600354600160201b900463ffffffff1690565b60006107a482611dd5565b601e5460609060021415610e445760405162461bcd60e51b81526004016107d090614e3a565b6002601e5581610e665760405162461bcd60e51b81526004016107d090614b47565b60005b82811015610ed9576000848483818110610e7f57fe5b9050602002013511610ea35760405162461bcd60e51b81526004016107d090614bdb565b6001600160a01b0389163314610ed157610ed1893389878786818110610ec557fe5b90506020020135611178565b600101610e69565b50610ee488876111c5565b610eee87876111c5565b610efd88888888888888611e5c565b6001601e5598975050505050505050565b6001600160a01b03166000908152603160205260409020600a0154600160201b900463ffffffff1690565b610f416142a6565b506001600160a01b039182166000908152603160209081526040808320939094168252601a9092018252829020825180840190935254600b81810b810b900b8352600160601b90046001600160801b03169082015290565b83610fa433826111c5565b601e5460021415610fc75760405162461bcd60e51b81526004016107d090614e3a565b6002601e55610fd4611381565b15610ff15760405162461bcd60e51b81526004016107d090614ae7565b610ffd338686866121a0565b61100985843385611402565b50506001601e55505050565b61101d6142bd565b506001600160a01b0316600090815260396020908152604091829020825160c081018452905460e081901b6001600160e01b0319168252600160201b810463ffffffff90811693830193909352600160401b8104831693820193909352600160601b83049091166060820152600160801b8204600b90810b810b900b6080820152600160e01b90910460f81b6001600160f81b03191660a082015290565b600080600060026000601e015414156110e65760405162461bcd60e51b81526004016107d090614e3a565b6002601e55856110f633826111c5565b611102878733886121ca565b935061110f33888661235e565b6001601e559498909750939550929350505050565b6001600160a01b03851661114a5760405162461bcd60e51b81526004016107d090614cc6565b60008061115686611444565b9150915061116788888484896107aa565b505050505050505050565b60225490565b6000611185858585612384565b905060001981146111be57818110156111b05760405162461bcd60e51b81526004016107d090614c12565b6111be8585858585036123d0565b5050505050565b6111ce82611dd5565b156111eb5760405162461bcd60e51b81526004016107d090614e71565b60006111f561245c565b6003810154909150600160c01b810461ffff16600160681b90910463ffffffff1611156112b257600061122784612461565b600383015490915063ffffffff600160681b90910481169082161180159061125d5750600382015463ffffffff90811690821611155b156112b05761126c84826124a0565b60038201546001600160a01b03851660009081526031840160205260409020600a01805467ffffffff00000000191663ffffffff909216600160201b029190911790555b505b6112bc83836126f0565b60038101546001600160a01b03939093166000908152603190910160205260409020600a01805467ffffffff00000000191663ffffffff909316600160201b029290921790915550565b60008060006113198887878760016127d4565b9150915061132c878787878560016128f5565b611337888884612b51565b6001600160a01b0380881690891633600080516020614fec83398151915261135f8a8a611cfa565b8860405161136e929190614ab0565b60405180910390a4979650505050505050565b60008061138c61245c565b60030154600a600160981b90910463ffffffff164303111592915050565b60008382146113cb5760405162461bcd60e51b81526004016107d090614dab565b60006113db888888888888612d2a565b90506113f68888836000015184604001518560200151612faf565b51979650505050505050565b8261140c57610bac565b600181600181111561141a57fe5b14156114305761142b828585612fc4565b610bac565b610bac6001600160a01b0385168385612ff4565b606081901c815b915091565b60008261145f575060006107a4565b8282028284828161146c57fe5b04146109c35760405162461bcd60e51b815260040180806020018281038252602181526020018061507a6021913960400191505060405180910390fd5b6000806114b584611849565b905080600b0b83600b0b13156114dd5760405162461bcd60e51b81526004016107d090614b18565b60006114ed600b83900b85613046565b600b0b905060006114ff878787611636565b915061150d90508282611450565b979650505050505050565b601d5460009061152a575060006107a4565b601d546001600160a01b0384166000908152603160205260408120600e0154601b54919261156492909161155e9190611450565b906130be565b90508281116115775760009150506107a4565b6115858382036127106130be565b60225490925082111561159c5750506022546107a4565b5092915050565b6001600160a01b0381166000908152603160205260409020601401546115dc82826115cc613125565b6001600160a01b03169190612ff4565b6001600160a01b03821660008181526031602052604080822060140191909155517f3ff94a43ca7e8ba19ce3ea7fdfbbe377ec2941bfb7745c1fc3dc075a5e2d84029061162a908490614aa7565b60405180910390a25050565b600080600061164361245c565b905060006116518686611cfa565b6001600160a01b0397909716600090815260319290920160209081526040808420988452601990980190525094909420546001600160801b0380821696600160801b90920416945092505050565b6000806116c08373bea0000029ad1c77d3d5d23ba2d8893db9d1efab6111c5565b6001600160a01b0383166000908152603160205260409020600801546116e68482611518565b925061170573bea0000029ad1c77d3d5d23ba2d8893db9d1efab611849565b6001600160a01b0385166000908152603160205260409020600a0180546001600160801b0316905591508261173e57600092505061144b565b602254611754906001600160801b03851661313d565b60225561177a8473bea0000029ad1c77d3d5d23ba2d8893db9d1efab84868060006128f5565b6001600160a01b0384166000908152603160205260408120600a0180546001600160801b031690556117ae84612710611450565b90506117ba8282611ca2565b6001600160a01b0386166000818152603160205260408082206008019390935591519091600080516020615138833981519152916117f9918591614ab0565b60405180910390a2846001600160a01b03167fa5b32e50fecda2ccbfc130436ca7957154138f097b2a834f19ce579afd2d84278560405161183a9190614aa7565b60405180910390a25050915091565b60008061185461245c565b6001600160a01b038416600090815260398201602052604090205460038201549192506118e391620f4240916118da916118a59163ffffffff918216600b0b91600160601b90910481169061304616565b6001600160a01b038716600090815260398601602052604090205463ffffffff600160201b9091048116600b0b919061319a16565b600b0b90613265565b6001600160a01b03909316600090815260399091016020526040902054600160801b9004600b0b91909101919050565b60006109c0848484613335565b60008061192b61245c565b6001600160a01b038416600090815260318201602052604081206014810154600a82015490955092935091600160601b900463ffffffff1615611a5357600a820154600160401b810463ffffffff908116600160601b909204161415611996575060138101546119bb565b50600a810154600160401b900463ffffffff166000908152603d830160205260409020545b6001600160a01b03851660009081526031840160209081526040808320600a0154600160601b900463ffffffff168352603d860190915290205481811115611a4d576001600160a01b03861660009081526031850160205260409020601201549091829190820390611a4990611a429069d3c21bcecceda10000009061155e908590611450565b8790611ca2565b9550505b50611a8f565b506001600160a01b03841660009081526031830160209081526040808320600a0154600160401b900463ffffffff168352603d85019091529020545b611a9885612461565b600384015463ffffffff918216600160201b9091049091161115611b3557600383015463ffffffff600160201b90910481166000908152603d850160205260408120549091611aea9190849061313d16565b6001600160a01b03871660009081526031860160205260409020600e0154909150611b3190611b2a9069d3c21bcecceda10000009061155e908590611450565b8690611ca2565b9450505b505050919050565b600080611b4861245c565b905060008411611b6a5760405162461bcd60e51b81526004016107d090614ea1565b6003810154610b14908590611b979063ffffffff878116600b0b91600160c01b900461ffff169061304616565b600b0b9061319a565b600080611bab61245c565b6001600160a01b038516600090815260398201602052604090205490915060e01b6001600160e01b031916611bf25760405162461bcd60e51b81526004016107d090614d74565b6001600160a01b038416600090815260398201602052604081205481903090611c2b908890600160e01b810460f81b9060e01b8961335f565b604051611c389190614986565b600060405180830381855afa9150503d8060008114611c73576040519150601f19603f3d011682016040523d82523d6000602084013e611c78565b606091505b509150915081611c95578051611c8d57600080fd5b805181602001fd5b6020015195945050505050565b6000828201838110156109c3576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b6001600160601b031660609190911b6001600160601b0319161790565b60006001600160a01b03821673bea0000029ad1c77d3d5d23ba2d8893db9d1efab1415611d465750600261085c565b6001600160a01b038216731bea0050e63e05fbb5d8ba2f10cf5800b62244491415611d735750600261085c565b6001600160a01b038216731bea3ccd22f4ebd3d37d731ba31eeca95713716d1415611da05750600461085c565b6001600160a01b03821673c9c32cd16bf7efb85ff14e0c8603cc90f6f2ee491415611dcd5750600461085c565b506000919050565b600080611de061245c565b6001600160a01b03841660009081526031820160205260409020600a0154909150600160201b900463ffffffff16158015906109c3575060038101546001600160a01b03841660009081526031830160205260409020600a0154600160c01b90910461ffff16600160201b90910463ffffffff16109392505050565b6060838214611e7d5760405162461bcd60e51b81526004016107d090614dab565b611e856142f2565b6000856001600160401b0381118015611e9d57600080fd5b50604051908082528060200260200182016040528015611ec7578160200160208202803683370190505b5090506000866001600160401b0381118015611ee257600080fd5b50604051908082528060200260200182016040528015611f0c578160200160208202803683370190505b50905060005b8781101561208d576000611f468b8b8b85818110611f2c57fe5b9050602002016020810190611f4191906148e6565b611cfa565b90506000611f888e8d8d8d87818110611f5b57fe5b9050602002016020810190611f7091906148e6565b8c8c88818110611f7c57fe5b905060200201356133fd565b9050611fcb8d8d8d8d87818110611f9b57fe5b9050602002016020810190611fb091906148e6565b8c8c88818110611fbc57fe5b905060200201358560016128f5565b6040860151611fda9082611ca2565b6040870152611fff898985818110611fee57fe5b895192602090910201359050611ca2565b865261204a61203f8c8c8681811061201357fe5b905060200201602081019061202891906148e6565b6120318f611849565b61203a856136c1565b613335565b602088015190611ca2565b60208701528451819086908590811061205f57fe5b6020026020010181815250508184848151811061207857fe5b60209081029190910101525050600101611f12565b506001600160a01b0389166000908152603960205260409081902054908401516120d7916120cc919063ffffffff600160401b90910481169061145016565b602085015190611ca2565b60208401526040516001600160a01b03808c1691908d169033907f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb906121229086908c908c90614a76565b60405180910390a4886001600160a01b03168b6001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8a8a8a8a89600001518960405161217b969594939291906149ec565b60405180910390a36121928b8b8560200151612b51565b509998505050505050505050565b6000806121b18686868660006127d4565b915091506121c28686858486612faf565b505050505050565b6000836121d957506000610b14565b60008260038111156121e757fe5b1461222c57612207838686600186600381111561220057fe5b1415613709565b9050808414806122225750600382600381111561222057fe5b145b1561222c57610b14565b6040516370a0823160e01b81526000906001600160a01b038716906370a082319061225b9030906004016149bf565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ab9190614900565b90506122c46001600160a01b0387168530858903613770565b61235461234d82886001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016122f791906149bf565b60206040518083038186803b15801561230f57600080fd5b505afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123479190614900565b9061313d565b8390611ca2565b9695505050505050565b600080612378858561236f87611849565b935083866137ca565b9150610b2f85836137e6565b60008061238f61245c565b6001600160a01b0380871660009081526031909201602090815260408084208884168552601501825280842092871684529190529020549150509392505050565b60006123da61245c565b6001600160a01b03808716600081815260318401602090815260408083208a861680855260159091018352818420958a16845294909152908190208690555192935090917f57af359a90b4c2b3ac79e2bcbd856c43c584ce131ade6a61cfc33d519613de8f9061244d90879087906149d3565b60405180910390a35050505050565b600090565b60008061246c61245c565b6001600160a01b03939093166000908152603193909301602052505060409020600a0154600160201b900463ffffffff1690565b60006124aa61245c565b6001600160a01b03841660009081526031820160205260409020600e01549091506125285760038101546001600160a01b038416600090815260319092016020526040909120600a01805463ffffffff60401b1916600160681b90920463ffffffff16600160401b029190911763ffffffff60601b1916905561086b565b600381015463ffffffff808416600160481b9092041611156125a05761254d83611920565b6001600160a01b0384166000908152603183016020526040902060148101919091556003820154600a909101805463ffffffff60401b1916600160201b90920463ffffffff16600160401b029190911790555b6003810154600160881b900460ff161561268f57600381015463ffffffff808416600160681b9092041611156126265760038101546001600160a01b03841660009081526031830160205260409020600a8101805463ffffffff60601b1916600160681b90930463ffffffff16600160601b0292909217909155600e8101546012909101555b6003810154600160201b810463ffffffff908116600160681b90920416141561268a576003810154600160201b900463ffffffff166000908152603d820160209081526040808320546001600160a01b038716845260318501909252909120601301555b6126eb565b6001600160a01b03831660009081526031820160205260409020600a0154600160601b900463ffffffff16156126eb576001600160a01b03831660009081526031820160205260409020600a01805463ffffffff60601b191690555b505050565b60006126fa61245c565b9050600061270783611849565b6001600160a01b03858116600090815260318501602090815260408083209388168352601a90930190522054909150600b81900b90600160601b90046001600160801b0316801561277d5782600b0b82600b0b1415612769575050505061086b565b61277d86612778848685611913565b6137e6565b50506001600160a01b0380851660009081526031909301602090815260408085209286168552601a90920190529091208054600b9290920b6001600160601b03166001600160601b03199092169190911790555050565b60008060006127e161245c565b90506127ef888888886133fd565b915061284761280a876128018a611849565b61203a866136c1565b6001600160a01b038916600090815260398401602052604090205461284190859063ffffffff600160401b90910481169061145016565b90611ca2565b9250600084600181111561285757fe5b141561289b5760006001600160a01b03891633600080516020614fec8339815191526128838b8b611cfa565b89604051612892929190614ab0565b60405180910390a45b866001600160a01b0316886001600160a01b03167f153f0425cb9f489d8ca1232a9a790fb1ee212c4d80bb8cf8c83b0f5b203bab1c8888866040516128e293929190614acc565b60405180910390a3509550959350505050565b60006128ff61245c565b9050600061290d8787611cfa565b905061295361291b866136c1565b6001600160a01b038a16600090815260318501602090815260408083208684526019019091529020546001600160801b03169061391a565b6001600160a01b03891660009081526031840160209081526040808320858452601901909152902080546001600160801b0319166001600160801b03929092169190911790556129e46129a5856136c1565b6001600160a01b038a1660009081526031850160209081526040808320868452601901909152902054600160801b90046001600160801b03169061391a565b6001600160a01b03808a166000908152603185016020908152604080832086845260198101835281842080546001600160801b03978816600160801b02908816179055938c168352601a90930190522054612a4891600160601b909104168561391a565b6001600160a01b03808a1660009081526031850160209081526040808320938c168352601a909301905290812080546001600160801b0393909316600160601b02600160601b600160e01b031990931692909217909155836001811115612aab57fe5b1415612af857876001600160a01b031660006001600160a01b0316336001600160a01b0316600080516020614fec8339815191528489604051612aef929190614ab0565b60405180910390a45b866001600160a01b0316886001600160a01b03167ff4d42fc7416f300569832aee6989201c613d31d64b823327915a6a33fe7afa55888888604051612b3f93929190614acc565b60405180910390a35050505050505050565b6000612b5b61245c565b6001600160a01b0385166000908152603182016020526040812060080154919250908314612bb757612bb2600161284184601b016000015461155e876109ad600189601b016002015461313d90919063ffffffff16565b612bd6565b6001600160a01b03851660009081526031830160205260409020600e01545b6001600160a01b0386166000908152603184016020526040902060080154909150612c01908461313d565b6001600160a01b038616600090815260318401602052604090206008810191909155600e0154612c31908261313d565b6001600160a01b0386166000818152603185016020526040808220600e01939093559151909160008051602061513883398151915291612c7991878103919086900390614ab0565b60405180910390a26001600160a01b0384166000908152603183016020526040902060080154612ca99084611ca2565b6001600160a01b038516600090815260318401602052604090206008810191909155600e0154612cd99082611ca2565b6001600160a01b038516600081815260318501602052604090819020600e0192909255905160008051602061513883398151915290612d1b9086908590614ab0565b60405180910390a25050505050565b612d326142f2565b6000612d3c61245c565b90506000856001600160401b0381118015612d5657600080fd5b50604051908082528060200260200182016040528015612d80578160200160208202803683370190505b5090506000866001600160401b0381118015612d9b57600080fd5b50604051908082528060200260200182016040528015612dc5578160200160208202803683370190505b50905060005b87811015612eac576000612e078c8c8c8c86818110612de657fe5b9050602002016020810190612dfb91906148e6565b8b8b87818110611f7c57fe5b905080848381518110612e1657fe5b602002602001018181525050612e328b8b8b85818110611f2c57fe5b838381518110612e3e57fe5b60209081029190910101526040860151612e589082611ca2565b6040870152612e6c888884818110611fee57fe5b8652612e9e61203f8b8b85818110612e8057fe5b9050602002016020810190612e9591906148e6565b6120318e611849565b602087015250600101612dcb565b506001600160a01b0389166000908152603984016020526040908190205490850151612ef891612eed919063ffffffff600160401b90910481169061145016565b602086015190611ca2565b60208501526040516000906001600160a01b038c169033907f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb90612f419086908c908c90614a76565b60405180910390a4886001600160a01b03168a6001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8a8a8a8a8a6000015189604051612f9a969594939291906149ec565b60405180910390a35050509695505050505050565b612fba84848461397e565b6111be8582613a71565b6000612fd08484613c1c565b90506000612fde8284611ca2565b90506111be858583612fef87613c57565b613c9b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126eb908490613d07565b6000818303600b83900b8213801590613065575083600b0b81600b0b13155b806130835750600083600b0b128015613083575083600b0b81600b0b135b6109c35760405162461bcd60e51b81526004018080602001828103825260248152602001806150ea6024913960400191505060405180910390fd5b6000808211613114576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161311d57fe5b049392505050565b736c3f90f043a72fa612cbac8115ee7e52bde6e49090565b600082821115613194576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082600b0b600014156131b0575060006107a4565b82600b0b6000191480156131cf5750600b82900b60016001605f1b0319145b1561320b5760405162461bcd60e51b815260040180806020018281038252602781526020018061509b6027913960400191505060405180910390fd5b6000828402905082600b0b84600b0b82600b0b8161322557fe5b05600b0b146109c35760405162461bcd60e51b815260040180806020018281038252602781526020018061509b6027913960400191505060405180910390fd5b600081600b0b600014156132c0576040805162461bcd60e51b815260206004820181905260248201527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604482015290519081900360640190fd5b81600b0b6000191480156132df5750600b83900b60016001605f1b0319145b1561331b5760405162461bcd60e51b81526004018080602001828103825260218152602001806150596021913960400191505060405180910390fd5b600082600b0b84600b0b8161332c57fe5b05949350505050565b60008061334a83611b97600b87900b88613046565b600b0b6001600160801b031695945050505050565b60606001600160f81b031984166133bb5782826040516024016133829190614aa7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610b14565b600160f81b6001600160f81b0319851614156133e5578285836040516024016133829291906149d3565b60405162461bcd60e51b81526004016107d090614d0b565b60008061340861245c565b905060006134168686611cfa565b6001600160a01b038816600090815260318401602090815260408083208484526019019091529020546001600160801b03600160801b82048116955091925016808511156134765760405162461bcd60e51b81526004016107d090614d3d565b808510156135e957600061348e8261155e8888611450565b9050600061349c868361313d565b905060006134aa848961313d565b6001600160a01b038c1660009081526031880160209081526040808320898452601901909152902080546001600160801b03858116600160801b028482166001600160801b03199093169290921716179055905061358561350a846136c1565b8760310160008e6001600160a01b03166001600160a01b03168152602001908152602001600020601a0160008d6001600160a01b03166001600160a01b03168152602001908152602001600020600001600c9054906101000a90046001600160801b03166001600160801b0316613db890919063ffffffff16565b6001600160a01b03808d166000908152603190980160209081526040808a20928e168a52601a909201905290962080546001600160801b0397909716600160601b02600160601b600160e01b031990971696909617909555509350610b1492505050565b8015613619576001600160a01b038816600090815260318401602090815260408083208584526019019091528120555b6001600160a01b0388811660009081526031850160209081526040808320938b168352601a9093019052205461365f90600160601b90046001600160801b031685613db8565b6001600160a01b03808a166000908152603190950160209081526040808720928b168752601a909201905290932080546001600160801b0394909416600160601b02600160601b600160e01b0319909416939093179092555050949350505050565b6000600160801b82106137055760405162461bcd60e51b815260040180806020018281038252602781526020018061500c6027913960400191505060405180910390fd5b5090565b6000806137168686613c1c565b905082806137245750838110155b6137405760405162461bcd60e51b81526004016107d090614c80565b61374a8185613e21565b915081810361376687878361375e87613c57565b600003613c9b565b5050949350505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610bac908590613d07565b6000806137d78584611ba0565b90506123548686868685613e37565b60006137f061245c565b601d8101549091506000906138185761381161380a613eb5565b8490611450565b9050613834565b601b820154601d830154613831919061155e9086611450565b90505b601b8201546138439084611ca2565b601b8301556001600160a01b03841660009081526031830160205260409020600801546138709084611ca2565b6001600160a01b0385166000908152603184016020526040902060080155601d82015461389d9082611ca2565b601d8301556001600160a01b03841660009081526031830160205260409020600e01546138ca9082611ca2565b6001600160a01b038516600081815260318501602052604090819020600e019290925590516000805160206151388339815191529061390c9086908590614ab0565b60405180910390a250505050565b60008282016001600160801b0380851690821610156109c3576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600061398861245c565b90506139c0613996846136c1565b6001600160a01b03861660009081526038840160205260409020546001600160801b031690613db8565b6001600160a01b0385166000908152603883016020526040902080546001600160801b0319166001600160801b0392909216919091179055613a35613a04836136c1565b6001600160a01b0386166000908152603884016020526040902054600160801b90046001600160801b031690613db8565b6001600160a01b03909416600090815260389091016020526040902080546001600160801b03948516600160801b029416939093179092555050565b6000613a7b61245c565b905081613a88575061086b565b601b810154601d820154600091613aa3919085906001613ebe565b6001600160a01b03851660009081526031840160205260409020600e0154909150811115613aeb57506001600160a01b03831660009081526031820160205260409020600e01545b601b820154613afa908461313d565b601b8301556001600160a01b0384166000908152603183016020526040902060080154613b27908461313d565b6001600160a01b0385166000908152603184016020526040902060080155601d820154613b54908261313d565b601d8301556001600160a01b03841660009081526031830160205260409020600e0154613b81908261313d565b6001600160a01b03851660009081526031840160205260409020600e01556003820154600160881b900460ff1615613bed57601a820154613bc2908261313d565b601a8301556001600160a01b03841660009081526031830160205260409020600e8101546012909101555b836001600160a01b0316600080516020615138833981519152846000038360000360405161390c929190614ab0565b600080613c2761245c565b6001600160a01b039485166000908152603e90910160209081526040808320959096168252939093525050205490565b6000600160ff1b82106137055760405162461bcd60e51b81526004018080602001828103825260288152602001806150c26028913960400191505060405180910390fd5b6000613ca561245c565b6001600160a01b038087166000818152603e840160209081526040808320948a1680845294909152908190208790555192935090917f18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c429061244d908690614aa7565b6000613d5c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613f059092919063ffffffff16565b8051909150156126eb57808060200190516020811015613d7b57600080fd5b50516126eb5760405162461bcd60e51b815260040180806020018281038252602a81526020018061510e602a913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b03161115613194576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b6000818310613e3057816109c3565b5090919050565b6000808211613e585760405162461bcd60e51b81526004016107d090614c49565b6000613e6261245c565b9050613e6f868585613f14565b613e7e878787878760006128f5565b6001600160a01b038616600090815260398201602052604090205461150d90849063ffffffff600160401b90910481169061145016565b64e8d4a5100090565b600080613ecc868686613fcb565b90506001836002811115613edc57fe5b148015613ef3575060008480613eee57fe5b868809115b15613efc576001015b95945050505050565b60606109c08484600085614071565b6000613f1e61245c565b9050613f56613f2c846136c1565b6001600160a01b03861660009081526038840160205260409020546001600160801b03169061391a565b6001600160a01b0385166000908152603883016020526040902080546001600160801b0319166001600160801b0392909216919091179055613a35613f9a836136c1565b6001600160a01b0386166000908152603884016020526040902054600160801b90046001600160801b03169061391a565b6000808060001985870986860292508281109083900303905080613ffc57838281613ff257fe5b04925050506109c3565b80841161400857600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060824710156140b25760405162461bcd60e51b81526004018080602001828103825260268152602001806150336026913960400191505060405180910390fd5b6140bb856141c1565b61410c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061414a5780518252601f19909201916020918201910161412b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146141ac576040519150601f19603f3d011682016040523d82523d6000602084013e6141b1565b606091505b509150915061150d8282866141c7565b3b151590565b606083156141d65750816109c3565b8251156141e65782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614230578181015183820152602001614218565b50505050905090810190601f16801561425d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a00160405280600063ffffffff168152602001600063ffffffff1681526020016000815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461085c57600080fd5b60008083601f84011261433b578182fd5b5081356001600160401b03811115614351578182fd5b602083019150836020808302850101111561436b57600080fd5b9250929050565b60008083601f840112614383578182fd5b5081356001600160401b03811115614399578182fd5b60208301915083602082850101111561436b57600080fd5b80356002811061085c57600080fd5b8035600b81900b811461085c57600080fd5b6000602082840312156143e3578081fd5b6109c382614313565b600080604083850312156143fe578081fd5b61440783614313565b915061441560208401614313565b90509250929050565b600080600080600080600060a0888a031215614438578283fd5b61444188614313565b965061444f60208901614313565b955061445d60408901614313565b945060608801356001600160401b0380821115614478578485fd5b6144848b838c0161432a565b909650945060808a013591508082111561449c578384fd5b506144a98a828b0161432a565b989b979a50959850939692959293505050565b600080600080600060a086880312156144d3578081fd5b6144dc86614313565b94506144ea60208701614313565b93506144f860408701614313565b9250614506606087016143c0565b949793965091946080013592915050565b60008060008060008060008060a0898b031215614532578081fd5b61453b89614313565b975061454960208a01614313565b965060408901356001600160401b0380821115614564578283fd5b6145708c838d0161432a565b909850965060608b0135915080821115614588578283fd5b6145948c838d0161432a565b909650945060808b01359150808211156145ac578283fd5b506145b98b828c01614372565b999c989b5096995094979396929594505050565b6000806000606084860312156145e1578283fd5b6145ea84614313565b92506145f860208501614313565b9150614606604085016143c0565b90509250925092565b60008060008060008060a08789031215614627578182fd5b61463087614313565b955061463e60208801614313565b9450604087013593506060870135925060808701356001600160401b03811115614666578283fd5b61467289828a01614372565b979a9699509497509295939492505050565b600080600060408486031215614698578283fd5b6146a184614313565b925060208401356001600160401b038111156146bb578283fd5b6146c78682870161432a565b9497909650939450505050565b600080600080600080608087890312156146ec578384fd5b6146f587614313565b955060208701356001600160401b0380821115614710578586fd5b61471c8a838b0161432a565b90975095506040890135915080821115614734578384fd5b5061474189828a0161432a565b90945092506147549050606088016143b1565b90509295509295509295565b60008060408385031215614772578182fd5b61477b83614313565b9150614415602084016143c0565b6000806000806080858703121561479e578182fd5b6147a785614313565b93506147b5602086016143c0565b9250604085013591506147ca606086016143b1565b905092959194509250565b600080604083850312156147e7578182fd5b6147f083614313565b946020939093013593505050565b600080600060608486031215614812578081fd5b61481b84614313565b925060208401359150604084013560048110614835578182fd5b809150509250925092565b60008060408385031215614852578182fd5b61485b83614313565b9150602083013563ffffffff81168114614873578182fd5b809150509250929050565b60008060008060408587031215614893578182fd5b84356001600160401b03808211156148a9578384fd5b6148b58883890161432a565b909650945060208701359150808211156148cd578384fd5b506148da8782880161432a565b95989497509550505050565b6000602082840312156148f7578081fd5b6109c3826143c0565b600060208284031215614911578081fd5b5051919050565b81835260006001600160fb1b03831115614930578081fd5b6020830280836020870137939093016020019283525090919050565b6000815180845260208085019450808401835b8381101561497b5781518752958201959082019060010161495f565b509495945050505050565b60008251815b818110156149a6576020818601810151858301520161498c565b818111156149b45782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6080808252810186905260008760a08301825b89811015614a2757614a10836143c0565b600b0b8252602092830192909101906001016149ff565b508381036020850152614a3b81888a614918565b9150508460408401528281036060840152614a56818561494c565b9998505050505050505050565b6000602082526109c3602083018461494c565b600060408252614a89604083018661494c565b8281036020840152612354818587614918565b901515815260200190565b90815260200190565b918252602082015260400190565b600b9190910b815260200190565b600b9390930b83526020830191909152604082015260600190565b60208082526017908201527614da5b1bce88125b881d995cdd1a5b99c81c195c9a5bd9604a1b604082015260600190565b60208082526015908201527414da5b1bce88125b9d985b1a590811195c1bdcda5d605a1b604082015260600190565b6020808252601c908201527f53696c6f3a20616d6f756e747320617272617920697320656d70747900000000604082015260600190565b6020808252603b908201527f53696c6f3a206465706f73697449447320616e6420616d6f756e74732061727260408201527f617973206d757374206265207468652073616d65206c656e6774680000000000606082015260800190565b6020808252601a908201527f53696c6f3a20616d6f756e7420696e2061727261792069732030000000000000604082015260600190565b6020808252601c908201527f53696c6f3a20696e73756666696369656e7420616c6c6f77616e636500000000604082015260600190565b6020808252601b908201527f53696c6f3a204e6f204265616e7320756e64657220546f6b656e2e0000000000604082015260600190565b60208082526026908201527f42616c616e63653a20496e73756666696369656e7420696e7465726e616c2062604082015265616c616e636560d01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526018908201527753696c6f3a20496e76616c696420656e636f64655479706560401b604082015260600190565b6020808252601c908201527f53696c6f3a2043726174652062616c616e636520746f6f206c6f772e00000000604082015260600190565b6020808252601b908201527f53696c6f3a20546f6b656e206e6f742077686974656c69737465640000000000604082015260600190565b60208082526027908201527f53696c6f3a204372617465732c20616d6f756e7473206172652064696666206c60408201526632b733ba34399760c91b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526016908201527514da5b1bce88135a59dc985d1a5bdb881b995959195960521b604082015260600190565b60208082526019908201527814da5b1bce88151bdad95b881b9bdd081cdd5c1c1bdc9d1959603a1b604082015260600190565b600060a08201905063ffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015292915050565b8151600b0b81526020918201516001600160801b03169181019190915260400190565b81516001600160e01b031916815260208083015163ffffffff9081169183019190915260408084015182169083015260608084015190911690820152608080830151600b0b9082015260a0918201516001600160f81b0319169181019190915260c00190565b61ffff91909116815260200190565b918252600b0b602082015260400190565b9283526020830191909152600b0b604082015260600190565b63ffffffff9190911681526020019056fec3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6253616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f77536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564b2d61db64b8ad7535308d2111c78934bc32baf9b7cd3a2e58cba25730003cd58a2646970667358221220784c8a9614677cc27a715e97603250513156792bc105a7a69904fc0d83ebcc1564736f6c63430007060033
Deployed Bytecode
0x6080604052600436106102505760003560e01c8063896ab1c611610139578063bc8514cf116100b6578063dc25a6501161007a578063dc25a650146106af578063e348f82b146106dc578063e923e8d4146106ef578063f19ed6be1461071c578063f242432a1461073e578063fd9de1661461075e57610250565b8063bc8514cf1461061a578063be6547d21461063a578063c38b3c181461065c578063c56411f61461067c578063cb03fb1e1461068f57610250565b80639f9962e4116100fd5780639f9962e41461056b578063a7bf680f1461058b578063abed2d41146105b8578063ba39dc02146105d8578063bc771977146105f857610250565b8063896ab1c6146104cb5780638c1e6f22146104eb5780638eeae3101461050b57806398f2b8ad1461052b5780639d6a924e1461054b57610250565b806345947ba9116101d2578063779b3c5c11610196578063779b3c5c146104205780637b52fadf146104365780637d44f5bb1461044b5780637fc06e121461045e5780638915ba241461048b578063896651e8146104ab57610250565b806345947ba91461038857806346544166146103905780634e1273f4146103a557806361449212146103d257806369fbad941461040057610250565b806327e047f11161021957806327e047f1146102f55780632eb2c2d614610308578063341b94d5146103285780633a1b0606146103485780633e465a2e1461036857610250565b8062fdd58e14610255578063081d77ba1461028b5780630b2939d11461029e5780630c9c31bd146102c0578063150d5173146102e0575b600080fd5b34801561026157600080fd5b506102756102703660046147d5565b610773565b6040516102829190614aa7565b60405180910390f35b6102756102993660046144bc565b6107aa565b3480156102aa57600080fd5b506102b361082a565b6040516102829190614a9c565b3480156102cc57600080fd5b506102756102db3660046143d2565b610839565b6102f36102ee3660046143ec565b610861565b005b6102f36103033660046146d4565b61086f565b34801561031457600080fd5b506102f3610323366004614517565b6108f4565b34801561033457600080fd5b506102756103433660046143d2565b61099c565b34801561035457600080fd5b506102756103633660046145cd565b6109b3565b34801561037457600080fd5b506102756103833660046143d2565b6109ca565b6102f36109f1565b34801561039c57600080fd5b506102756109fc565b3480156103b157600080fd5b506103c56103c036600461487e565b610a02565b6040516102829190614a63565b3480156103de57600080fd5b506103f26103ed3660046145cd565b610b1c565b604051610282929190614ab0565b34801561040c57600080fd5b5061027561041b3660046143d2565b610b37565b610428610b55565b604051610282929190614fb0565b34801561044257600080fd5b50610275610b69565b6102f3610459366004614684565b610b6f565b34801561046a57600080fd5b5061047e6104793660046143ec565b610bb2565b6040516102829190614abe565b34801561049757600080fd5b506102756104a63660046143ec565b610be4565b3480156104b757600080fd5b506102756104c63660046143d2565b610c5f565b3480156104d757600080fd5b5061047e6104e6366004614840565b610c6a565b3480156104f757600080fd5b506102756105063660046147d5565b610c82565b34801561051757600080fd5b506102756105263660046143d2565b610c8e565b34801561053757600080fd5b50610275610546366004614760565b610cbe565b34801561055757600080fd5b506102756105663660046143d2565b610cca565b34801561057757600080fd5b506102756105863660046143d2565b610cf5565b34801561059757600080fd5b506105ab6105a63660046143d2565b610d00565b6040516102829190614ed4565b3480156105c457600080fd5b5061047e6105d33660046143d2565b610d87565b3480156105e457600080fd5b506102756105f33660046143d2565b610d92565b34801561060457600080fd5b5061060d610db0565b6040516102829190614fa1565b34801561062657600080fd5b506102756106353660046143ec565b610dc1565b34801561064657600080fd5b5061064f610e00565b6040516102829190614fda565b34801561066857600080fd5b506102b36106773660046143d2565b610e13565b6103c561068a36600461441e565b610e1e565b34801561069b57600080fd5b5061064f6106aa3660046143d2565b610f0e565b3480156106bb57600080fd5b506106cf6106ca3660046143ec565b610f39565b6040516102829190614f18565b6102f36106ea366004614789565b610f99565b3480156106fb57600080fd5b5061070f61070a3660046143d2565b611015565b6040516102829190614f3b565b61072f61072a3660046147fe565b6110bb565b60405161028293929190614fc1565b34801561074a57600080fd5b506102f361075936600461460f565b611124565b34801561076a57600080fd5b50610275611172565b6001600160a01b03821660009081526031602090815260408083208484526019019091529020546001600160801b03165b92915050565b601e54600090600214156107d95760405162461bcd60e51b81526004016107d090614e3a565b60405180910390fd5b6002601e556001600160a01b03861633146107fa576107fa86338685611178565b61080486856111c5565b61080e85856111c5565b61081b8686868686611306565b6001601e559695505050505050565b6000610834611381565b905090565b6001600160a01b0381166000908152603860205260409020546001600160801b03165b919050565b61086b82826111c5565b5050565b8561087a33826111c5565b601e546002141561089d5760405162461bcd60e51b81526004016107d090614e3a565b6002601e556108aa611381565b156108c75760405162461bcd60e51b81526004016107d090614ae7565b60006108d73389898989896113aa565b90506108e588823386611402565b50506001601e55505050505050565b8483146109135760405162461bcd60e51b81526004016107d090614b7e565b6001600160a01b0387166109395760405162461bcd60e51b81526004016107d090614cc6565b60008060005b8781101561098f5761096289898381811061095657fe5b90506020020135611444565b90935091506109868b8b85858b8b8781811061097a57fe5b905060200201356107aa565b5060010161093f565b5050505050505050505050565b60006107a46127106109ad846109ca565b90611450565b60006109c08484846114a9565b90505b9392505050565b6001600160a01b0381166000908152603160205260408120600801546107a4908390611518565b6109fa336115a3565b565b601d5490565b6060838214610a235760405162461bcd60e51b81526004016107d090614df2565b6000846001600160401b0381118015610a3b57600080fd5b50604051908082528060200260200182016040528015610a65578160200160208202803683370190505b50905060005b85811015610b105760316000888884818110610a8357fe5b9050602002016020810190610a9891906143d2565b6001600160a01b03166001600160a01b031681526020019081526020016000206019016000868684818110610ac957fe5b602090810292909201358352508101919091526040016000205482516001600160801b0390911690839083908110610afd57fe5b6020908102919091010152600101610a6b565b5090505b949350505050565b600080610b2a858585611636565b915091505b935093915050565b6001600160a01b031660009081526031602052604090206012015490565b600080610b613361169f565b915091509091565b601b5490565b60005b81811015610bac57610ba484848484818110610b8a57fe5b9050602002016020810190610b9f91906143d2565b6111c5565b600101610b72565b50505050565b6001600160a01b039182166000908152603160209081526040808320939094168252601a9092019091522054600b0b90565b6001600160a01b0380831660009081526031602090815260408083209385168352601a9093019052908120546109c390600b0b610c2084611849565b6001600160a01b0386811660009081526031602090815260408083209389168352601a90930190522054600160601b90046001600160801b0316611913565b60006107a482611920565b600080610c7684610cf5565b9050610b148184611b3d565b60006109c38383611ba0565b60006107a4610c9c8361099c565b6001600160a01b03841660009081526031602052604090206008015490611ca2565b60006109c38383611cfa565b6001600160a01b0316600090815260386020526040902054600160801b90046001600160801b031690565b60006107a482611d17565b610d0861426b565b6001600160a01b0382166000818152603160208181526040808420600a81015463ffffffff600160601b820481168952600160401b9091041687840152949093525260129091015490820152610d5d82610c5f565b60808201526001600160a01b03909116600090815260316020526040902060130154606082015290565b60006107a482611849565b6001600160a01b03166000908152603160205260409020600e015490565b600354600160c01b900461ffff1690565b6001600160a01b039182166000908152603160209081526040808320939094168252601a9092019091522054600160601b90046001600160801b031690565b600354600160201b900463ffffffff1690565b60006107a482611dd5565b601e5460609060021415610e445760405162461bcd60e51b81526004016107d090614e3a565b6002601e5581610e665760405162461bcd60e51b81526004016107d090614b47565b60005b82811015610ed9576000848483818110610e7f57fe5b9050602002013511610ea35760405162461bcd60e51b81526004016107d090614bdb565b6001600160a01b0389163314610ed157610ed1893389878786818110610ec557fe5b90506020020135611178565b600101610e69565b50610ee488876111c5565b610eee87876111c5565b610efd88888888888888611e5c565b6001601e5598975050505050505050565b6001600160a01b03166000908152603160205260409020600a0154600160201b900463ffffffff1690565b610f416142a6565b506001600160a01b039182166000908152603160209081526040808320939094168252601a9092018252829020825180840190935254600b81810b810b900b8352600160601b90046001600160801b03169082015290565b83610fa433826111c5565b601e5460021415610fc75760405162461bcd60e51b81526004016107d090614e3a565b6002601e55610fd4611381565b15610ff15760405162461bcd60e51b81526004016107d090614ae7565b610ffd338686866121a0565b61100985843385611402565b50506001601e55505050565b61101d6142bd565b506001600160a01b0316600090815260396020908152604091829020825160c081018452905460e081901b6001600160e01b0319168252600160201b810463ffffffff90811693830193909352600160401b8104831693820193909352600160601b83049091166060820152600160801b8204600b90810b810b900b6080820152600160e01b90910460f81b6001600160f81b03191660a082015290565b600080600060026000601e015414156110e65760405162461bcd60e51b81526004016107d090614e3a565b6002601e55856110f633826111c5565b611102878733886121ca565b935061110f33888661235e565b6001601e559498909750939550929350505050565b6001600160a01b03851661114a5760405162461bcd60e51b81526004016107d090614cc6565b60008061115686611444565b9150915061116788888484896107aa565b505050505050505050565b60225490565b6000611185858585612384565b905060001981146111be57818110156111b05760405162461bcd60e51b81526004016107d090614c12565b6111be8585858585036123d0565b5050505050565b6111ce82611dd5565b156111eb5760405162461bcd60e51b81526004016107d090614e71565b60006111f561245c565b6003810154909150600160c01b810461ffff16600160681b90910463ffffffff1611156112b257600061122784612461565b600383015490915063ffffffff600160681b90910481169082161180159061125d5750600382015463ffffffff90811690821611155b156112b05761126c84826124a0565b60038201546001600160a01b03851660009081526031840160205260409020600a01805467ffffffff00000000191663ffffffff909216600160201b029190911790555b505b6112bc83836126f0565b60038101546001600160a01b03939093166000908152603190910160205260409020600a01805467ffffffff00000000191663ffffffff909316600160201b029290921790915550565b60008060006113198887878760016127d4565b9150915061132c878787878560016128f5565b611337888884612b51565b6001600160a01b0380881690891633600080516020614fec83398151915261135f8a8a611cfa565b8860405161136e929190614ab0565b60405180910390a4979650505050505050565b60008061138c61245c565b60030154600a600160981b90910463ffffffff164303111592915050565b60008382146113cb5760405162461bcd60e51b81526004016107d090614dab565b60006113db888888888888612d2a565b90506113f68888836000015184604001518560200151612faf565b51979650505050505050565b8261140c57610bac565b600181600181111561141a57fe5b14156114305761142b828585612fc4565b610bac565b610bac6001600160a01b0385168385612ff4565b606081901c815b915091565b60008261145f575060006107a4565b8282028284828161146c57fe5b04146109c35760405162461bcd60e51b815260040180806020018281038252602181526020018061507a6021913960400191505060405180910390fd5b6000806114b584611849565b905080600b0b83600b0b13156114dd5760405162461bcd60e51b81526004016107d090614b18565b60006114ed600b83900b85613046565b600b0b905060006114ff878787611636565b915061150d90508282611450565b979650505050505050565b601d5460009061152a575060006107a4565b601d546001600160a01b0384166000908152603160205260408120600e0154601b54919261156492909161155e9190611450565b906130be565b90508281116115775760009150506107a4565b6115858382036127106130be565b60225490925082111561159c5750506022546107a4565b5092915050565b6001600160a01b0381166000908152603160205260409020601401546115dc82826115cc613125565b6001600160a01b03169190612ff4565b6001600160a01b03821660008181526031602052604080822060140191909155517f3ff94a43ca7e8ba19ce3ea7fdfbbe377ec2941bfb7745c1fc3dc075a5e2d84029061162a908490614aa7565b60405180910390a25050565b600080600061164361245c565b905060006116518686611cfa565b6001600160a01b0397909716600090815260319290920160209081526040808420988452601990980190525094909420546001600160801b0380821696600160801b90920416945092505050565b6000806116c08373bea0000029ad1c77d3d5d23ba2d8893db9d1efab6111c5565b6001600160a01b0383166000908152603160205260409020600801546116e68482611518565b925061170573bea0000029ad1c77d3d5d23ba2d8893db9d1efab611849565b6001600160a01b0385166000908152603160205260409020600a0180546001600160801b0316905591508261173e57600092505061144b565b602254611754906001600160801b03851661313d565b60225561177a8473bea0000029ad1c77d3d5d23ba2d8893db9d1efab84868060006128f5565b6001600160a01b0384166000908152603160205260408120600a0180546001600160801b031690556117ae84612710611450565b90506117ba8282611ca2565b6001600160a01b0386166000818152603160205260408082206008019390935591519091600080516020615138833981519152916117f9918591614ab0565b60405180910390a2846001600160a01b03167fa5b32e50fecda2ccbfc130436ca7957154138f097b2a834f19ce579afd2d84278560405161183a9190614aa7565b60405180910390a25050915091565b60008061185461245c565b6001600160a01b038416600090815260398201602052604090205460038201549192506118e391620f4240916118da916118a59163ffffffff918216600b0b91600160601b90910481169061304616565b6001600160a01b038716600090815260398601602052604090205463ffffffff600160201b9091048116600b0b919061319a16565b600b0b90613265565b6001600160a01b03909316600090815260399091016020526040902054600160801b9004600b0b91909101919050565b60006109c0848484613335565b60008061192b61245c565b6001600160a01b038416600090815260318201602052604081206014810154600a82015490955092935091600160601b900463ffffffff1615611a5357600a820154600160401b810463ffffffff908116600160601b909204161415611996575060138101546119bb565b50600a810154600160401b900463ffffffff166000908152603d830160205260409020545b6001600160a01b03851660009081526031840160209081526040808320600a0154600160601b900463ffffffff168352603d860190915290205481811115611a4d576001600160a01b03861660009081526031850160205260409020601201549091829190820390611a4990611a429069d3c21bcecceda10000009061155e908590611450565b8790611ca2565b9550505b50611a8f565b506001600160a01b03841660009081526031830160209081526040808320600a0154600160401b900463ffffffff168352603d85019091529020545b611a9885612461565b600384015463ffffffff918216600160201b9091049091161115611b3557600383015463ffffffff600160201b90910481166000908152603d850160205260408120549091611aea9190849061313d16565b6001600160a01b03871660009081526031860160205260409020600e0154909150611b3190611b2a9069d3c21bcecceda10000009061155e908590611450565b8690611ca2565b9450505b505050919050565b600080611b4861245c565b905060008411611b6a5760405162461bcd60e51b81526004016107d090614ea1565b6003810154610b14908590611b979063ffffffff878116600b0b91600160c01b900461ffff169061304616565b600b0b9061319a565b600080611bab61245c565b6001600160a01b038516600090815260398201602052604090205490915060e01b6001600160e01b031916611bf25760405162461bcd60e51b81526004016107d090614d74565b6001600160a01b038416600090815260398201602052604081205481903090611c2b908890600160e01b810460f81b9060e01b8961335f565b604051611c389190614986565b600060405180830381855afa9150503d8060008114611c73576040519150601f19603f3d011682016040523d82523d6000602084013e611c78565b606091505b509150915081611c95578051611c8d57600080fd5b805181602001fd5b6020015195945050505050565b6000828201838110156109c3576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b6001600160601b031660609190911b6001600160601b0319161790565b60006001600160a01b03821673bea0000029ad1c77d3d5d23ba2d8893db9d1efab1415611d465750600261085c565b6001600160a01b038216731bea0050e63e05fbb5d8ba2f10cf5800b62244491415611d735750600261085c565b6001600160a01b038216731bea3ccd22f4ebd3d37d731ba31eeca95713716d1415611da05750600461085c565b6001600160a01b03821673c9c32cd16bf7efb85ff14e0c8603cc90f6f2ee491415611dcd5750600461085c565b506000919050565b600080611de061245c565b6001600160a01b03841660009081526031820160205260409020600a0154909150600160201b900463ffffffff16158015906109c3575060038101546001600160a01b03841660009081526031830160205260409020600a0154600160c01b90910461ffff16600160201b90910463ffffffff16109392505050565b6060838214611e7d5760405162461bcd60e51b81526004016107d090614dab565b611e856142f2565b6000856001600160401b0381118015611e9d57600080fd5b50604051908082528060200260200182016040528015611ec7578160200160208202803683370190505b5090506000866001600160401b0381118015611ee257600080fd5b50604051908082528060200260200182016040528015611f0c578160200160208202803683370190505b50905060005b8781101561208d576000611f468b8b8b85818110611f2c57fe5b9050602002016020810190611f4191906148e6565b611cfa565b90506000611f888e8d8d8d87818110611f5b57fe5b9050602002016020810190611f7091906148e6565b8c8c88818110611f7c57fe5b905060200201356133fd565b9050611fcb8d8d8d8d87818110611f9b57fe5b9050602002016020810190611fb091906148e6565b8c8c88818110611fbc57fe5b905060200201358560016128f5565b6040860151611fda9082611ca2565b6040870152611fff898985818110611fee57fe5b895192602090910201359050611ca2565b865261204a61203f8c8c8681811061201357fe5b905060200201602081019061202891906148e6565b6120318f611849565b61203a856136c1565b613335565b602088015190611ca2565b60208701528451819086908590811061205f57fe5b6020026020010181815250508184848151811061207857fe5b60209081029190910101525050600101611f12565b506001600160a01b0389166000908152603960205260409081902054908401516120d7916120cc919063ffffffff600160401b90910481169061145016565b602085015190611ca2565b60208401526040516001600160a01b03808c1691908d169033907f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb906121229086908c908c90614a76565b60405180910390a4886001600160a01b03168b6001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8a8a8a8a89600001518960405161217b969594939291906149ec565b60405180910390a36121928b8b8560200151612b51565b509998505050505050505050565b6000806121b18686868660006127d4565b915091506121c28686858486612faf565b505050505050565b6000836121d957506000610b14565b60008260038111156121e757fe5b1461222c57612207838686600186600381111561220057fe5b1415613709565b9050808414806122225750600382600381111561222057fe5b145b1561222c57610b14565b6040516370a0823160e01b81526000906001600160a01b038716906370a082319061225b9030906004016149bf565b60206040518083038186803b15801561227357600080fd5b505afa158015612287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ab9190614900565b90506122c46001600160a01b0387168530858903613770565b61235461234d82886001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016122f791906149bf565b60206040518083038186803b15801561230f57600080fd5b505afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123479190614900565b9061313d565b8390611ca2565b9695505050505050565b600080612378858561236f87611849565b935083866137ca565b9150610b2f85836137e6565b60008061238f61245c565b6001600160a01b0380871660009081526031909201602090815260408084208884168552601501825280842092871684529190529020549150509392505050565b60006123da61245c565b6001600160a01b03808716600081815260318401602090815260408083208a861680855260159091018352818420958a16845294909152908190208690555192935090917f57af359a90b4c2b3ac79e2bcbd856c43c584ce131ade6a61cfc33d519613de8f9061244d90879087906149d3565b60405180910390a35050505050565b600090565b60008061246c61245c565b6001600160a01b03939093166000908152603193909301602052505060409020600a0154600160201b900463ffffffff1690565b60006124aa61245c565b6001600160a01b03841660009081526031820160205260409020600e01549091506125285760038101546001600160a01b038416600090815260319092016020526040909120600a01805463ffffffff60401b1916600160681b90920463ffffffff16600160401b029190911763ffffffff60601b1916905561086b565b600381015463ffffffff808416600160481b9092041611156125a05761254d83611920565b6001600160a01b0384166000908152603183016020526040902060148101919091556003820154600a909101805463ffffffff60401b1916600160201b90920463ffffffff16600160401b029190911790555b6003810154600160881b900460ff161561268f57600381015463ffffffff808416600160681b9092041611156126265760038101546001600160a01b03841660009081526031830160205260409020600a8101805463ffffffff60601b1916600160681b90930463ffffffff16600160601b0292909217909155600e8101546012909101555b6003810154600160201b810463ffffffff908116600160681b90920416141561268a576003810154600160201b900463ffffffff166000908152603d820160209081526040808320546001600160a01b038716845260318501909252909120601301555b6126eb565b6001600160a01b03831660009081526031820160205260409020600a0154600160601b900463ffffffff16156126eb576001600160a01b03831660009081526031820160205260409020600a01805463ffffffff60601b191690555b505050565b60006126fa61245c565b9050600061270783611849565b6001600160a01b03858116600090815260318501602090815260408083209388168352601a90930190522054909150600b81900b90600160601b90046001600160801b0316801561277d5782600b0b82600b0b1415612769575050505061086b565b61277d86612778848685611913565b6137e6565b50506001600160a01b0380851660009081526031909301602090815260408085209286168552601a90920190529091208054600b9290920b6001600160601b03166001600160601b03199092169190911790555050565b60008060006127e161245c565b90506127ef888888886133fd565b915061284761280a876128018a611849565b61203a866136c1565b6001600160a01b038916600090815260398401602052604090205461284190859063ffffffff600160401b90910481169061145016565b90611ca2565b9250600084600181111561285757fe5b141561289b5760006001600160a01b03891633600080516020614fec8339815191526128838b8b611cfa565b89604051612892929190614ab0565b60405180910390a45b866001600160a01b0316886001600160a01b03167f153f0425cb9f489d8ca1232a9a790fb1ee212c4d80bb8cf8c83b0f5b203bab1c8888866040516128e293929190614acc565b60405180910390a3509550959350505050565b60006128ff61245c565b9050600061290d8787611cfa565b905061295361291b866136c1565b6001600160a01b038a16600090815260318501602090815260408083208684526019019091529020546001600160801b03169061391a565b6001600160a01b03891660009081526031840160209081526040808320858452601901909152902080546001600160801b0319166001600160801b03929092169190911790556129e46129a5856136c1565b6001600160a01b038a1660009081526031850160209081526040808320868452601901909152902054600160801b90046001600160801b03169061391a565b6001600160a01b03808a166000908152603185016020908152604080832086845260198101835281842080546001600160801b03978816600160801b02908816179055938c168352601a90930190522054612a4891600160601b909104168561391a565b6001600160a01b03808a1660009081526031850160209081526040808320938c168352601a909301905290812080546001600160801b0393909316600160601b02600160601b600160e01b031990931692909217909155836001811115612aab57fe5b1415612af857876001600160a01b031660006001600160a01b0316336001600160a01b0316600080516020614fec8339815191528489604051612aef929190614ab0565b60405180910390a45b866001600160a01b0316886001600160a01b03167ff4d42fc7416f300569832aee6989201c613d31d64b823327915a6a33fe7afa55888888604051612b3f93929190614acc565b60405180910390a35050505050505050565b6000612b5b61245c565b6001600160a01b0385166000908152603182016020526040812060080154919250908314612bb757612bb2600161284184601b016000015461155e876109ad600189601b016002015461313d90919063ffffffff16565b612bd6565b6001600160a01b03851660009081526031830160205260409020600e01545b6001600160a01b0386166000908152603184016020526040902060080154909150612c01908461313d565b6001600160a01b038616600090815260318401602052604090206008810191909155600e0154612c31908261313d565b6001600160a01b0386166000818152603185016020526040808220600e01939093559151909160008051602061513883398151915291612c7991878103919086900390614ab0565b60405180910390a26001600160a01b0384166000908152603183016020526040902060080154612ca99084611ca2565b6001600160a01b038516600090815260318401602052604090206008810191909155600e0154612cd99082611ca2565b6001600160a01b038516600081815260318501602052604090819020600e0192909255905160008051602061513883398151915290612d1b9086908590614ab0565b60405180910390a25050505050565b612d326142f2565b6000612d3c61245c565b90506000856001600160401b0381118015612d5657600080fd5b50604051908082528060200260200182016040528015612d80578160200160208202803683370190505b5090506000866001600160401b0381118015612d9b57600080fd5b50604051908082528060200260200182016040528015612dc5578160200160208202803683370190505b50905060005b87811015612eac576000612e078c8c8c8c86818110612de657fe5b9050602002016020810190612dfb91906148e6565b8b8b87818110611f7c57fe5b905080848381518110612e1657fe5b602002602001018181525050612e328b8b8b85818110611f2c57fe5b838381518110612e3e57fe5b60209081029190910101526040860151612e589082611ca2565b6040870152612e6c888884818110611fee57fe5b8652612e9e61203f8b8b85818110612e8057fe5b9050602002016020810190612e9591906148e6565b6120318e611849565b602087015250600101612dcb565b506001600160a01b0389166000908152603984016020526040908190205490850151612ef891612eed919063ffffffff600160401b90910481169061145016565b602086015190611ca2565b60208501526040516000906001600160a01b038c169033907f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb90612f419086908c908c90614a76565b60405180910390a4886001600160a01b03168a6001600160a01b03167f6008478fd0513693018a0ac8771ada053137941c0d833295a27629af7a3ab56b8a8a8a8a8a6000015189604051612f9a969594939291906149ec565b60405180910390a35050509695505050505050565b612fba84848461397e565b6111be8582613a71565b6000612fd08484613c1c565b90506000612fde8284611ca2565b90506111be858583612fef87613c57565b613c9b565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526126eb908490613d07565b6000818303600b83900b8213801590613065575083600b0b81600b0b13155b806130835750600083600b0b128015613083575083600b0b81600b0b135b6109c35760405162461bcd60e51b81526004018080602001828103825260248152602001806150ea6024913960400191505060405180910390fd5b6000808211613114576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161311d57fe5b049392505050565b736c3f90f043a72fa612cbac8115ee7e52bde6e49090565b600082821115613194576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082600b0b600014156131b0575060006107a4565b82600b0b6000191480156131cf5750600b82900b60016001605f1b0319145b1561320b5760405162461bcd60e51b815260040180806020018281038252602781526020018061509b6027913960400191505060405180910390fd5b6000828402905082600b0b84600b0b82600b0b8161322557fe5b05600b0b146109c35760405162461bcd60e51b815260040180806020018281038252602781526020018061509b6027913960400191505060405180910390fd5b600081600b0b600014156132c0576040805162461bcd60e51b815260206004820181905260248201527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604482015290519081900360640190fd5b81600b0b6000191480156132df5750600b83900b60016001605f1b0319145b1561331b5760405162461bcd60e51b81526004018080602001828103825260218152602001806150596021913960400191505060405180910390fd5b600082600b0b84600b0b8161332c57fe5b05949350505050565b60008061334a83611b97600b87900b88613046565b600b0b6001600160801b031695945050505050565b60606001600160f81b031984166133bb5782826040516024016133829190614aa7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610b14565b600160f81b6001600160f81b0319851614156133e5578285836040516024016133829291906149d3565b60405162461bcd60e51b81526004016107d090614d0b565b60008061340861245c565b905060006134168686611cfa565b6001600160a01b038816600090815260318401602090815260408083208484526019019091529020546001600160801b03600160801b82048116955091925016808511156134765760405162461bcd60e51b81526004016107d090614d3d565b808510156135e957600061348e8261155e8888611450565b9050600061349c868361313d565b905060006134aa848961313d565b6001600160a01b038c1660009081526031880160209081526040808320898452601901909152902080546001600160801b03858116600160801b028482166001600160801b03199093169290921716179055905061358561350a846136c1565b8760310160008e6001600160a01b03166001600160a01b03168152602001908152602001600020601a0160008d6001600160a01b03166001600160a01b03168152602001908152602001600020600001600c9054906101000a90046001600160801b03166001600160801b0316613db890919063ffffffff16565b6001600160a01b03808d166000908152603190980160209081526040808a20928e168a52601a909201905290962080546001600160801b0397909716600160601b02600160601b600160e01b031990971696909617909555509350610b1492505050565b8015613619576001600160a01b038816600090815260318401602090815260408083208584526019019091528120555b6001600160a01b0388811660009081526031850160209081526040808320938b168352601a9093019052205461365f90600160601b90046001600160801b031685613db8565b6001600160a01b03808a166000908152603190950160209081526040808720928b168752601a909201905290932080546001600160801b0394909416600160601b02600160601b600160e01b0319909416939093179092555050949350505050565b6000600160801b82106137055760405162461bcd60e51b815260040180806020018281038252602781526020018061500c6027913960400191505060405180910390fd5b5090565b6000806137168686613c1c565b905082806137245750838110155b6137405760405162461bcd60e51b81526004016107d090614c80565b61374a8185613e21565b915081810361376687878361375e87613c57565b600003613c9b565b5050949350505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610bac908590613d07565b6000806137d78584611ba0565b90506123548686868685613e37565b60006137f061245c565b601d8101549091506000906138185761381161380a613eb5565b8490611450565b9050613834565b601b820154601d830154613831919061155e9086611450565b90505b601b8201546138439084611ca2565b601b8301556001600160a01b03841660009081526031830160205260409020600801546138709084611ca2565b6001600160a01b0385166000908152603184016020526040902060080155601d82015461389d9082611ca2565b601d8301556001600160a01b03841660009081526031830160205260409020600e01546138ca9082611ca2565b6001600160a01b038516600081815260318501602052604090819020600e019290925590516000805160206151388339815191529061390c9086908590614ab0565b60405180910390a250505050565b60008282016001600160801b0380851690821610156109c3576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600061398861245c565b90506139c0613996846136c1565b6001600160a01b03861660009081526038840160205260409020546001600160801b031690613db8565b6001600160a01b0385166000908152603883016020526040902080546001600160801b0319166001600160801b0392909216919091179055613a35613a04836136c1565b6001600160a01b0386166000908152603884016020526040902054600160801b90046001600160801b031690613db8565b6001600160a01b03909416600090815260389091016020526040902080546001600160801b03948516600160801b029416939093179092555050565b6000613a7b61245c565b905081613a88575061086b565b601b810154601d820154600091613aa3919085906001613ebe565b6001600160a01b03851660009081526031840160205260409020600e0154909150811115613aeb57506001600160a01b03831660009081526031820160205260409020600e01545b601b820154613afa908461313d565b601b8301556001600160a01b0384166000908152603183016020526040902060080154613b27908461313d565b6001600160a01b0385166000908152603184016020526040902060080155601d820154613b54908261313d565b601d8301556001600160a01b03841660009081526031830160205260409020600e0154613b81908261313d565b6001600160a01b03851660009081526031840160205260409020600e01556003820154600160881b900460ff1615613bed57601a820154613bc2908261313d565b601a8301556001600160a01b03841660009081526031830160205260409020600e8101546012909101555b836001600160a01b0316600080516020615138833981519152846000038360000360405161390c929190614ab0565b600080613c2761245c565b6001600160a01b039485166000908152603e90910160209081526040808320959096168252939093525050205490565b6000600160ff1b82106137055760405162461bcd60e51b81526004018080602001828103825260288152602001806150c26028913960400191505060405180910390fd5b6000613ca561245c565b6001600160a01b038087166000818152603e840160209081526040808320948a1680845294909152908190208790555192935090917f18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c429061244d908690614aa7565b6000613d5c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613f059092919063ffffffff16565b8051909150156126eb57808060200190516020811015613d7b57600080fd5b50516126eb5760405162461bcd60e51b815260040180806020018281038252602a81526020018061510e602a913960400191505060405180910390fd5b6000826001600160801b0316826001600160801b03161115613194576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b6000818310613e3057816109c3565b5090919050565b6000808211613e585760405162461bcd60e51b81526004016107d090614c49565b6000613e6261245c565b9050613e6f868585613f14565b613e7e878787878760006128f5565b6001600160a01b038616600090815260398201602052604090205461150d90849063ffffffff600160401b90910481169061145016565b64e8d4a5100090565b600080613ecc868686613fcb565b90506001836002811115613edc57fe5b148015613ef3575060008480613eee57fe5b868809115b15613efc576001015b95945050505050565b60606109c08484600085614071565b6000613f1e61245c565b9050613f56613f2c846136c1565b6001600160a01b03861660009081526038840160205260409020546001600160801b03169061391a565b6001600160a01b0385166000908152603883016020526040902080546001600160801b0319166001600160801b0392909216919091179055613a35613f9a836136c1565b6001600160a01b0386166000908152603884016020526040902054600160801b90046001600160801b03169061391a565b6000808060001985870986860292508281109083900303905080613ffc57838281613ff257fe5b04925050506109c3565b80841161400857600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060824710156140b25760405162461bcd60e51b81526004018080602001828103825260268152602001806150336026913960400191505060405180910390fd5b6140bb856141c1565b61410c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061414a5780518252601f19909201916020918201910161412b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146141ac576040519150601f19603f3d011682016040523d82523d6000602084013e6141b1565b606091505b509150915061150d8282866141c7565b3b151590565b606083156141d65750816109c3565b8251156141e65782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614230578181015183820152602001614218565b50505050905090810190601f16801561425d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a00160405280600063ffffffff168152602001600063ffffffff1681526020016000815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180606001604052806000815260200160008152602001600081525090565b80356001600160a01b038116811461085c57600080fd5b60008083601f84011261433b578182fd5b5081356001600160401b03811115614351578182fd5b602083019150836020808302850101111561436b57600080fd5b9250929050565b60008083601f840112614383578182fd5b5081356001600160401b03811115614399578182fd5b60208301915083602082850101111561436b57600080fd5b80356002811061085c57600080fd5b8035600b81900b811461085c57600080fd5b6000602082840312156143e3578081fd5b6109c382614313565b600080604083850312156143fe578081fd5b61440783614313565b915061441560208401614313565b90509250929050565b600080600080600080600060a0888a031215614438578283fd5b61444188614313565b965061444f60208901614313565b955061445d60408901614313565b945060608801356001600160401b0380821115614478578485fd5b6144848b838c0161432a565b909650945060808a013591508082111561449c578384fd5b506144a98a828b0161432a565b989b979a50959850939692959293505050565b600080600080600060a086880312156144d3578081fd5b6144dc86614313565b94506144ea60208701614313565b93506144f860408701614313565b9250614506606087016143c0565b949793965091946080013592915050565b60008060008060008060008060a0898b031215614532578081fd5b61453b89614313565b975061454960208a01614313565b965060408901356001600160401b0380821115614564578283fd5b6145708c838d0161432a565b909850965060608b0135915080821115614588578283fd5b6145948c838d0161432a565b909650945060808b01359150808211156145ac578283fd5b506145b98b828c01614372565b999c989b5096995094979396929594505050565b6000806000606084860312156145e1578283fd5b6145ea84614313565b92506145f860208501614313565b9150614606604085016143c0565b90509250925092565b60008060008060008060a08789031215614627578182fd5b61463087614313565b955061463e60208801614313565b9450604087013593506060870135925060808701356001600160401b03811115614666578283fd5b61467289828a01614372565b979a9699509497509295939492505050565b600080600060408486031215614698578283fd5b6146a184614313565b925060208401356001600160401b038111156146bb578283fd5b6146c78682870161432a565b9497909650939450505050565b600080600080600080608087890312156146ec578384fd5b6146f587614313565b955060208701356001600160401b0380821115614710578586fd5b61471c8a838b0161432a565b90975095506040890135915080821115614734578384fd5b5061474189828a0161432a565b90945092506147549050606088016143b1565b90509295509295509295565b60008060408385031215614772578182fd5b61477b83614313565b9150614415602084016143c0565b6000806000806080858703121561479e578182fd5b6147a785614313565b93506147b5602086016143c0565b9250604085013591506147ca606086016143b1565b905092959194509250565b600080604083850312156147e7578182fd5b6147f083614313565b946020939093013593505050565b600080600060608486031215614812578081fd5b61481b84614313565b925060208401359150604084013560048110614835578182fd5b809150509250925092565b60008060408385031215614852578182fd5b61485b83614313565b9150602083013563ffffffff81168114614873578182fd5b809150509250929050565b60008060008060408587031215614893578182fd5b84356001600160401b03808211156148a9578384fd5b6148b58883890161432a565b909650945060208701359150808211156148cd578384fd5b506148da8782880161432a565b95989497509550505050565b6000602082840312156148f7578081fd5b6109c3826143c0565b600060208284031215614911578081fd5b5051919050565b81835260006001600160fb1b03831115614930578081fd5b6020830280836020870137939093016020019283525090919050565b6000815180845260208085019450808401835b8381101561497b5781518752958201959082019060010161495f565b509495945050505050565b60008251815b818110156149a6576020818601810151858301520161498c565b818111156149b45782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6080808252810186905260008760a08301825b89811015614a2757614a10836143c0565b600b0b8252602092830192909101906001016149ff565b508381036020850152614a3b81888a614918565b9150508460408401528281036060840152614a56818561494c565b9998505050505050505050565b6000602082526109c3602083018461494c565b600060408252614a89604083018661494c565b8281036020840152612354818587614918565b901515815260200190565b90815260200190565b918252602082015260400190565b600b9190910b815260200190565b600b9390930b83526020830191909152604082015260600190565b60208082526017908201527614da5b1bce88125b881d995cdd1a5b99c81c195c9a5bd9604a1b604082015260600190565b60208082526015908201527414da5b1bce88125b9d985b1a590811195c1bdcda5d605a1b604082015260600190565b6020808252601c908201527f53696c6f3a20616d6f756e747320617272617920697320656d70747900000000604082015260600190565b6020808252603b908201527f53696c6f3a206465706f73697449447320616e6420616d6f756e74732061727260408201527f617973206d757374206265207468652073616d65206c656e6774680000000000606082015260800190565b6020808252601a908201527f53696c6f3a20616d6f756e7420696e2061727261792069732030000000000000604082015260600190565b6020808252601c908201527f53696c6f3a20696e73756666696369656e7420616c6c6f77616e636500000000604082015260600190565b6020808252601b908201527f53696c6f3a204e6f204265616e7320756e64657220546f6b656e2e0000000000604082015260600190565b60208082526026908201527f42616c616e63653a20496e73756666696369656e7420696e7465726e616c2062604082015265616c616e636560d01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526018908201527753696c6f3a20496e76616c696420656e636f64655479706560401b604082015260600190565b6020808252601c908201527f53696c6f3a2043726174652062616c616e636520746f6f206c6f772e00000000604082015260600190565b6020808252601b908201527f53696c6f3a20546f6b656e206e6f742077686974656c69737465640000000000604082015260600190565b60208082526027908201527f53696c6f3a204372617465732c20616d6f756e7473206172652064696666206c60408201526632b733ba34399760c91b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526016908201527514da5b1bce88135a59dc985d1a5bdb881b995959195960521b604082015260600190565b60208082526019908201527814da5b1bce88151bdad95b881b9bdd081cdd5c1c1bdc9d1959603a1b604082015260600190565b600060a08201905063ffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015292915050565b8151600b0b81526020918201516001600160801b03169181019190915260400190565b81516001600160e01b031916815260208083015163ffffffff9081169183019190915260408084015182169083015260608084015190911690820152608080830151600b0b9082015260a0918201516001600160f81b0319169181019190915260c00190565b61ffff91909116815260200190565b918252600b0b602082015260400190565b9283526020830191909152600b0b604082015260600190565b63ffffffff9190911681526020019056fec3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6253616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f77536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e743235365369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564b2d61db64b8ad7535308d2111c78934bc32baf9b7cd3a2e58cba25730003cd58a2646970667358221220784c8a9614677cc27a715e97603250513156792bc105a7a69904fc0d83ebcc1564736f6c63430007060033
🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Custom Contract ABI

                            

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

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.