ETH Price: $2,491.99 (+0.07%)

Contract

0x5078080686AC9381E18eEC8cA0e05d4eE2d52484
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x096431763aa71728ac4d2b0008b3eb60350d4853a8c017b61ab77460167a6efc Claim Rewards(pending)2026-08-30 2:30:389 days ago1788057038IN
Cashmere: NFT Lock
0 ETH(Pending)(Pending)
0x82bdfd57d646016f9dc701f2a17fe6d029f290299a721c91334051d6d142c200 Claim Rewards(pending)2026-08-30 2:02:599 days ago1788055379IN
Cashmere: NFT Lock
0 ETH(Pending)(Pending)
0x67999bf63c33800f0d49b03da306a4210fd9889fbb34bc4b260af4134b7cc84f Claim Rewards(pending)2026-08-30 1:51:029 days ago1788054662IN
Cashmere: NFT Lock
0 ETH(Pending)(Pending)
Claim Rewards259318012026-09-08 9:37:592 mins ago1788860279IN
Cashmere: NFT Lock
0 ETH0.000018880.25058506
Claim Rewards259317912026-09-08 9:35:594 mins ago1788860159IN
Cashmere: NFT Lock
0 ETH0.000020240.2686297
Claim Rewards259317852026-09-08 9:34:476 mins ago1788860087IN
Cashmere: NFT Lock
0 ETH0.000053270.70694023
Claim Rewards259317372026-09-08 9:24:5915 mins ago1788859499IN
Cashmere: NFT Lock
0 ETH0.000023270.308919
Claim Rewards259317362026-09-08 9:24:4716 mins ago1788859487IN
Cashmere: NFT Lock
0 ETH0.000017830.2366485
Claim Rewards259316502026-09-08 9:07:2333 mins ago1788858443IN
Cashmere: NFT Lock
0 ETH0.000054360.5880242
Claim Rewards259316362026-09-08 9:04:3536 mins ago1788858275IN
Cashmere: NFT Lock
0 ETH0.000022410.2974973
Claim Rewards259316282026-09-08 9:02:5937 mins ago1788858179IN
Cashmere: NFT Lock
0 ETH0.000022030.29245252
Claim Rewards259316102026-09-08 8:59:2341 mins ago1788857963IN
Cashmere: NFT Lock
0 ETH0.000068870.74495518
Claim Rewards259316052026-09-08 8:58:2342 mins ago1788857903IN
Cashmere: NFT Lock
0 ETH0.000020960.27822448
Claim Rewards259316052026-09-08 8:58:2342 mins ago1788857903IN
Cashmere: NFT Lock
0 ETH0.000054870.72822448
Stake259315872026-09-08 8:54:4746 mins ago1788857687IN
Cashmere: NFT Lock
0 ETH0.000060350.30319556
Claim Rewards259315792026-09-08 8:53:1147 mins ago1788857591IN
Cashmere: NFT Lock
0 ETH0.000008770.11640297
Claim Rewards259315462026-09-08 8:46:3554 mins ago1788857195IN
Cashmere: NFT Lock
0 ETH0.000017390.23084333
Claim Rewards259313942026-09-08 8:16:111 hr ago1788855371IN
Cashmere: NFT Lock
0 ETH0.000017310.22980567
Claim Rewards259313552026-09-08 8:08:231 hr ago1788854903IN
Cashmere: NFT Lock
0 ETH0.000062420.67517421
Claim Rewards259312872026-09-08 7:54:471 hr ago1788854087IN
Cashmere: NFT Lock
0 ETH0.000155842.06811757
Claim Rewards259312252026-09-08 7:42:231 hr ago1788853343IN
Cashmere: NFT Lock
0 ETH0.000016370.21730111
Claim Rewards259310312026-09-08 7:03:232 hrs ago1788851003IN
Cashmere: NFT Lock
0 ETH0.000004990.05407294
Claim Rewards259309172026-09-08 6:40:353 hrs ago1788849635IN
Cashmere: NFT Lock
0 ETH0.000003810.05057986
Claim Rewards259306462026-09-08 5:46:233 hrs ago1788846383IN
Cashmere: NFT Lock
0 ETH0.000014410.19129918
Claim Rewards259306082026-09-08 5:38:474 hrs ago1788845927IN
Cashmere: NFT Lock
0 ETH0.000003970.05272873
View all transactions

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

PermanentNFTStaking

Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled
No with 200 runs
Other Settings
cancun EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_defaultAdmin","type":"address"},{"internalType":"uint256","name":"_timeUnit","type":"uint256"},{"internalType":"uint256","name":"_rewardsPerUnitTime","type":"uint256"},{"internalType":"address","name":"_stakingToken","type":"address"},{"internalType":"address","name":"_rewardToken","type":"address"},{"internalType":"address","name":"_nativeTokenWrapper","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ContractMetadataUnauthorized","type":"error"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"name":"CurrencyTransferLibMismatchedValue","type":"error"},{"inputs":[],"name":"OwnableUnauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"prevURI","type":"string"},{"indexed":false,"internalType":"string","name":"newURI","type":"string"}],"name":"ContractURIUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"prevOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":false,"internalType":"uint256","name":"rewardAmount","type":"uint256"}],"name":"RewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"TokensStaked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"TokensWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldRewardsPerUnitTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newRewardsPerUnitTime","type":"uint256"}],"name":"UpdatedRewardsPerUnitTime","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldTimeUnit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTimeUnit","type":"uint256"}],"name":"UpdatedTimeUnit","type":"event"},{"inputs":[],"name":"MAX_EMERGENCY_WITHDRAW_BATCH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"depositRewardTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"address","name":"_recipient","type":"address"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRewardTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsPerUnitTime","outputs":[{"internalType":"uint256","name":"_rewardsPerUnitTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staker","type":"address"}],"name":"getStakeInfo","outputs":[{"internalType":"uint256[]","name":"_tokensStaked","type":"uint256[]"},{"internalType":"uint256","name":"_rewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeUnit","outputs":[{"internalType":"uint256","name":"_timeUnit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"indexedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"isIndexed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nativeTokenWrapper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_uri","type":"string"}],"name":"setContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardsPerUnitTime","type":"uint256"}],"name":"setRewardsPerUnitTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_timeUnit","type":"uint256"}],"name":"setTimeUnit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakers","outputs":[{"internalType":"uint64","name":"amountStaked","type":"uint64"},{"internalType":"uint64","name":"conditionIdOflastUpdate","type":"uint64"},{"internalType":"uint128","name":"timeOfLastUpdate","type":"uint128"},{"internalType":"uint256","name":"unclaimedRewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stakersArray","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60e0604052600160035f6101000a81548160ff021916908360ff16021790555034801561002a575f5ffd5b506040516159a43803806159a4833981810160405281019061004c919061042a565b8585858585858260016002819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100c09061050d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505061010d8661019660201b60201c565b61011d858561025960201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050505050505050505050610641565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a35050565b5f820361029b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029290610575565b60405180910390fd5b5f600360019054906101000a900467ffffffffffffffff1667ffffffffffffffff1690506001600360018282829054906101000a900467ffffffffffffffff166102e591906105d3565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060405180608001604052808481526020018381526020014281526020015f81525060095f8381526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301559050505f811115610394574260095f60018461037f919061060e565b81526020019081526020015f20600301819055505b505050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103c68261039d565b9050919050565b6103d6816103bc565b81146103e0575f5ffd5b50565b5f815190506103f1816103cd565b92915050565b5f819050919050565b610409816103f7565b8114610413575f5ffd5b50565b5f8151905061042481610400565b92915050565b5f5f5f5f5f5f60c0878903121561044457610443610399565b5b5f61045189828a016103e3565b965050602061046289828a01610416565b955050604061047389828a01610416565b945050606061048489828a016103e3565b935050608061049589828a016103e3565b92505060a06104a689828a016103e3565b9150509295509295509295565b5f82825260208201905092915050565b7f636f6c6c656374696f6e206164647265737320300000000000000000000000005f82015250565b5f6104f76014836104b3565b9150610502826104c3565b602082019050919050565b5f6020820190508181035f830152610524816104eb565b9050919050565b7f74696d652d756e69742063616e277420626520300000000000000000000000005f82015250565b5f61055f6014836104b3565b915061056a8261052b565b602082019050919050565b5f6020820190508181035f83015261058c81610553565b9050919050565b5f67ffffffffffffffff82169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6105dd82610593565b91506105e883610593565b9250828201905067ffffffffffffffff811115610608576106076105a6565b5b92915050565b5f610618826103f7565b9150610623836103f7565b925082820390508181111561063b5761063a6105a6565b5b92915050565b60805160a05160c0516152e56106bf5f395f81816101c101528181611b0d01528181612329015281816123ef01528181612d4b015261325901525f8181611ae9015281816122c701528181612303015281816123cb01528181612d27015261323501525f8181610e41015281816113be0152611c0b01526152e55ff3fe6080604052600436106101ba575f3560e01c80639168ae72116100eb578063c345315311610089578063e8a3d48511610063578063e8a3d485146106a5578063f7c618c1146106cf578063f9ea29cb146106f9578063fd48ba17146107235761024f565b8063c345315314610616578063cb43b2dd14610653578063d68124c71461067b5761024f565b806394067045116100c5578063940670451461053a578063961004d314610576578063983d95ce146105b2578063ac9650d8146105da5761024f565b80639168ae72146104a9578063938e3d7b146104e857806393ce5343146105105761024f565b806323ef2580116101585780636360106f116101325780636360106f146104055780636c60d9e71461042d57806372f702f3146104555780638da5cb5b1461047f5761024f565b806323ef25801461038b578063372500ab146103b35780635357e916146103c95761024f565b80630fbf0a93116101945780630fbf0a93146102e357806313af40351461030b578063150b7a021461033357806316c621e01461036f5761024f565b806301ffc9a714610253578063080cd2791461028f5780630e8b229b146102b95761024f565b3661024f577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461024d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024490613938565b60405180910390fd5b005b5f5ffd5b34801561025e575f5ffd5b50610279600480360381019061027491906139bc565b61075f565b6040516102869190613a01565b60405180910390f35b34801561029a575f5ffd5b506102a36107d8565b6040516102b09190613a32565b60405180910390f35b3480156102c4575f5ffd5b506102cd6107de565b6040516102da9190613a32565b60405180910390f35b3480156102ee575f5ffd5b5061030960048036038101906103049190613aac565b610825565b005b348015610316575f5ffd5b50610331600480360381019061032c9190613b51565b610886565b005b34801561033e575f5ffd5b5061035960048036038101906103549190613bfb565b6108d0565b6040516103669190613c8e565b60405180910390f35b61038960048036038101906103849190613ca7565b610938565b005b348015610396575f5ffd5b506103b160048036038101906103ac9190613ca7565b610997565b005b3480156103be575f5ffd5b506103c7610ae4565b005b3480156103d4575f5ffd5b506103ef60048036038101906103ea9190613ca7565b610b41565b6040516103fc9190613ce1565b60405180910390f35b348015610410575f5ffd5b5061042b60048036038101906104269190613ca7565b610b7c565b005b348015610438575f5ffd5b50610453600480360381019061044e9190613cfa565b610cc8565b005b348015610460575f5ffd5b506104696113bc565b6040516104769190613ce1565b60405180910390f35b34801561048a575f5ffd5b506104936113e0565b6040516104a09190613ce1565b60405180910390f35b3480156104b4575f5ffd5b506104cf60048036038101906104ca9190613b51565b611408565b6040516104df9493929190613da3565b60405180910390f35b3480156104f3575f5ffd5b5061050e60048036038101906105099190613f1e565b611475565b005b34801561051b575f5ffd5b506105246114bf565b6040516105319190613a32565b60405180910390f35b348015610545575f5ffd5b50610560600480360381019061055b9190613ca7565b6114c8565b60405161056d9190613ce1565b60405180910390f35b348015610581575f5ffd5b5061059c60048036038101906105979190613ca7565b6114f8565b6040516105a99190613a32565b60405180910390f35b3480156105bd575f5ffd5b506105d860048036038101906105d39190613aac565b611518565b005b3480156105e5575f5ffd5b5061060060048036038101906105fb9190613fba565b611579565b60405161060d9190614120565b60405180910390f35b348015610621575f5ffd5b5061063c60048036038101906106379190613b51565b61173a565b60405161064a9291906141f7565b60405180910390f35b34801561065e575f5ffd5b5061067960048036038101906106749190613ca7565b6119b7565b005b348015610686575f5ffd5b5061068f611a16565b60405161069c9190613a32565b60405180910390f35b3480156106b0575f5ffd5b506106b9611a5c565b6040516106c69190614267565b60405180910390f35b3480156106da575f5ffd5b506106e3611ae7565b6040516106f09190613ce1565b60405180910390f35b348015610704575f5ffd5b5061070d611b0b565b60405161071a9190613ce1565b60405180910390f35b34801561072e575f5ffd5b5061074960048036038101906107449190613ca7565b611b2f565b6040516107569190613a01565b60405180910390f35b5f7f150b7a02000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107d157506107d082611b4c565b5b9050919050565b61012c81565b5f60095f6001600360019054906101000a900467ffffffffffffffff1661080591906142b4565b67ffffffffffffffff1681526020019081526020015f2060010154905090565b6002805403610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090614339565b60405180910390fd5b6002808190555061087a8282611bb5565b60016002819055505050565b61088e612125565b6108c4576040517f2d99739600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108cd81612161565b50565b5f600260035f9054906101000a900460ff1660ff1614610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091c906143a1565b60405180910390fd5b63150b7a0260e01b905095945050505050565b600280540361097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390614339565b60405180910390fd5b6002808190555061098c81612224565b600160028190555050565b61099f6124b7565b6109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590614409565b60405180910390fd5b5f60095f6001600360019054906101000a900467ffffffffffffffff16610a0591906142b4565b67ffffffffffffffff1681526020019081526020015f206040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015481525050905080602001518203610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90614471565b60405180910390fd5b610aa3815f0151836124f3565b7f243c4656edc72b2c7ec8575d464d955b2f42c1b205960c6c2fb7eecda5419cf6816020015183604051610ad892919061448f565b60405180910390a15050565b6002805403610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90614339565b60405180910390fd5b60028081905550610b37612633565b6001600281905550565b60058181548110610b50575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b846124b7565b610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90614409565b60405180910390fd5b5f60095f6001600360019054906101000a900467ffffffffffffffff16610bea91906142b4565b67ffffffffffffffff1681526020019081526020015f206040518060800160405290815f820154815260200160018201548152602001600282015481526020016003820154815250509050805f01518203610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190614500565b60405180910390fd5b610c888282602001516124f3565b7fd968de290ed68f978b9e4816f7d4be9ef46189fe8eeb3eeb86199e7229cf2de0815f015183604051610cbc92919061448f565b60405180910390a15050565b6002805403610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0390614339565b60405180910390fd5b60028081905550610d1b6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f9061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded906145f6565b60405180910390fd5b61012c838390501115610e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e359061465e565b60405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000090505f5f90505b84849050811015611346575f73ffffffffffffffffffffffffffffffffffffffff1660085f878785818110610e9f57610e9e61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f20906146f3565b60405180910390fd5b5f60085f878785818110610f4057610f3f61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60085f888886818110610f8d57610f8c61467c565b5b9050602002013581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1611156112b55761104b8161289b565b600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff166110ad91906142b4565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16036112b4575f5f90505b6005805490508110156112b2578173ffffffffffffffffffffffffffffffffffffffff16600582815481106111735761117261467c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112a557600560016005805490506111ca9190614711565b815481106111db576111da61467c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106112175761121661467c565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061126e5761126d614744565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556112b2565b808060010191505061113b565b505b5b8273ffffffffffffffffffffffffffffffffffffffff166342842e0e30868989878181106112e6576112e561467c565b5b905060200201356040518463ffffffff1660e01b815260040161130b93929190614771565b5f604051808303815f87803b158015611322575f5ffd5b505af1158015611334573d5f5f3e3d5ffd5b50505050508080600101915050610e67565b508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f49e7e98dba11447f42e55b1d3976705fad5dfb9df072d68da019756796baf3ef86866040516113a692919061480e565b60405180910390a3506001600281905550505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6007602052805f5260405f205f91509050805f015f9054906101000a900467ffffffffffffffff1690805f0160089054906101000a900467ffffffffffffffff1690805f0160109054906101000a90046fffffffffffffffffffffffffffffffff16908060010154905084565b61147d6129ff565b6114b3576040517f9f7f092500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114bc81612a3b565b50565b5f600a54905090565b6008602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048181548110611507575f80fd5b905f5260205f20015f915090505481565b600280540361155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390614339565b60405180910390fd5b6002808190555061156d8282612b12565b60016002819055505050565b60608282905067ffffffffffffffff81111561159857611597613dfa565b5b6040519080825280602002602001820160405280156115cb57816020015b60608152602001906001900390816115b65790505b5090505f6115d7612b4d565b90505f8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141590505f5f90505b8585905081101561173157811561169557611672308787848181106116395761163861467c565b5b905060200281019061164b919061483c565b8660405160200161165e93929190614911565b604051602081830303815290604052612b54565b8482815181106116855761168461467c565b5b6020026020010181905250611724565b611705308787848181106116ac576116ab61467c565b5b90506020028101906116be919061483c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612b54565b8482815181106117185761171761467c565b5b60200260200101819052505b8080600101915050611611565b50505092915050565b60605f5f600480548060200260200160405190810160405280929190818152602001828054801561178857602002820191905f5260205f20905b815481526020019060010190808311611774575b505050505090505f815167ffffffffffffffff8111156117ab576117aa613dfa565b5b6040519080825280602002602001820160405280156117d95781602001602082028036833780820191505090505b5090505f825190505f5f90505f5f90505b828110156118cd578773ffffffffffffffffffffffffffffffffffffffff1660085f87848151811061181f5761181e61467c565b5b602002602001015181526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161484828151811061187e5761187d61467c565b5b6020026020010190151590811515815250508381815181106118a3576118a261467c565b5b6020026020010151156118c0576001826118bd919061493a565b91505b80806001019150506117ea565b508067ffffffffffffffff8111156118e8576118e7613dfa565b5b6040519080825280602002602001820160405280156119165781602001602082028036833780820191505090505b5095505f5f90505f5f90505b838110156119a15784818151811061193d5761193c61467c565b5b6020026020010151156119945785818151811061195d5761195c61467c565b5b60200260200101518883815181106119785761197761467c565b5b602002602001018181525050600182611991919061493a565b91505b8080600101915050611922565b506119ab88612b81565b95505050505050915091565b60028054036119fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f290614339565b60405180910390fd5b60028081905550611a0b81612c89565b600160028190555050565b5f60095f6001600360019054906101000a900467ffffffffffffffff16611a3d91906142b4565b67ffffffffffffffff1681526020019081526020015f205f0154905090565b5f8054611a689061499a565b80601f0160208091040260200160405190810160405280929190818152602001828054611a949061499a565b8015611adf5780601f10611ab657610100808354040283529160200191611adf565b820191905f5260205f20905b815481529060010190602001808311611ac257829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8282905090505f8167ffffffffffffffff1603611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff90614a14565b60405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000090505f60075f611c38612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff161115611cac57611ca7611ca2612d72565b61289b565b611e20565b6005611cb6612d72565b908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260075f611d1f612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600360019054906101000a900467ffffffffffffffff16611db391906142b4565b60075f611dbe612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5f5f90505b8267ffffffffffffffff1681101561202e57600260035f6101000a81548160ff021916908360ff1602179055508173ffffffffffffffffffffffffffffffffffffffff166342842e0e611e76612d72565b30888886818110611e8a57611e8961467c565b5b905060200201356040518463ffffffff1660e01b8152600401611eaf93929190614771565b5f604051808303815f87803b158015611ec6575f5ffd5b505af1158015611ed8573d5f5f3e3d5ffd5b50505050600160035f6101000a81548160ff021916908360ff160217905550611eff612d72565b60085f878785818110611f1557611f1461467c565b5b9050602002013581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f868684818110611f7c57611f7b61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900460ff1661202357600160065f878785818110611fb957611fb861467c565b5b9050602002013581526020019081526020015f205f6101000a81548160ff0219169083151502179055506004858583818110611ff857611ff761467c565b5b90506020020135908060018154018082558091505060019003905f5260205f20015f90919091909150555b806001019050611e25565b508160075f61203b612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff166120979190614a32565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083836040516120cd929190614ad2565b60405180910390206120dd612d72565b73ffffffffffffffffffffffffffffffffffffffff167f540cd34f06460fd67aeca9d19e0a56cd3a7c1cde8dc2263f265b68b2ef3495d260405160405180910390a350505050565b5f61212e6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a35050565b61222c6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229090614409565b60405180910390fd5b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614612327577f0000000000000000000000000000000000000000000000000000000000000000612349565b7f00000000000000000000000000000000000000000000000000000000000000005b90505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016123859190613ce1565b602060405180830381865afa1580156123a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c49190614afe565b90506124137f00000000000000000000000000000000000000000000000000000000000000003330867f0000000000000000000000000000000000000000000000000000000000000000612d79565b5f818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161244e9190613ce1565b602060405180830381865afa158015612469573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248d9190614afe565b6124979190614711565b905080600a5f8282546124aa919061493a565b9250508190555050505050565b5f6124c06113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f8203612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c90614b73565b60405180910390fd5b5f600360019054906101000a900467ffffffffffffffff1667ffffffffffffffff1690506001600360018282829054906101000a900467ffffffffffffffff1661257f9190614a32565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060405180608001604052808481526020018381526020014281526020015f81525060095f8381526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301559050505f81111561262e574260095f6001846126199190614711565b81526020019081526020015f20600301819055505b505050565b5f61264461263f612d72565b612f73565b60075f61264f612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010154612696919061493a565b90505f81036126da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d190614bdb565b60405180910390fd5b4260075f6126e6612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f60075f612763612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600101819055506001600360019054906101000a900467ffffffffffffffff166127c691906142b4565b60075f6127d1612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061284361283d612d72565b826131d3565b61284b612d72565b73ffffffffffffffffffffffffffffffffffffffff167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516128909190613a32565b60405180910390a250565b5f6128a582612f73565b90508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8282546128f6919061493a565b925050819055504260075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600360019054906101000a900467ffffffffffffffff1661299691906142b4565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b5f612a086113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f5f8054612a489061499a565b80601f0160208091040260200160405190810160405280929190818152602001828054612a749061499a565b8015612abf5780601f10612a9657610100808354040283529160200191612abf565b820191905f5260205f20905b815481529060010190602001808311612aa257829003601f168201915b50505050509050815f9081612ad49190614d99565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051612b06929190614e68565b60405180910390a15050565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4490614ee7565b60405180910390fd5b5f33905090565b6060612b79838360405180606001604052806027815260200161528960279139613281565b905092915050565b5f5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1603612c2d5760075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600101549050612c84565b612c3682612f73565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010154612c81919061493a565b90505b919050565b612c916113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf590614409565b60405180910390fd5b600a548111612d1a5780600a54612d159190614711565b612d1c565b5f5b600a81905550612d6f7f00000000000000000000000000000000000000000000000000000000000000003033847f0000000000000000000000000000000000000000000000000000000000000000612d79565b50565b5f33905090565b5f820315612f6c5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612f5e573073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612e71578073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b8152600401612e349190613a32565b5f604051808303815f87803b158015612e4b575f5ffd5b505af1158015612e5d573d5f5f3e3d5ffd5b50505050612e6c838383613303565b612f59565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f4c57348214612eea5734826040517f03e085f9000000000000000000000000000000000000000000000000000000008152600401612ee192919061448f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b158015612f30575f5ffd5b505af1158015612f42573d5f5f3e3d5ffd5b5050505050612f58565b612f57838383613303565b5b5b612f6b565b612f6a858585856133ff565b5b5b5050505050565b5f5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060800160405290815f82015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200160018201548152505090505f816020015167ffffffffffffffff1690505f600360019054906101000a900467ffffffffffffffff1667ffffffffffffffff1690505f8290505b818110156131ca575f60095f8381526020019081526020015f206040518060800160405290815f8201548152602001600182015481526020016002820154815260200160038201548152505090505f8483036131205785604001516fffffffffffffffffffffffffffffffff16613126565b81604001515b90505f5f83606001510361313a5742613140565b82606001515b90505f5f613175895f015167ffffffffffffffff1685856131619190614711565b61316b9190614f05565b86602001516134cb565b915091505f5f6131938c885f01518561318e9190614f73565b613519565b915091508380156131a15750815b6131ab578b6131ad565b805b9b50505050505050506001816131c3919061493a565b90506130ae565b50505050919050565b600a54811115613218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161320f90614fed565b60405180910390fd5b80600a5f8282546132299190614711565b9250508190555061327d7f00000000000000000000000000000000000000000000000000000000000000003084847f0000000000000000000000000000000000000000000000000000000000000000612d79565b5050565b60605f5f8573ffffffffffffffffffffffffffffffffffffffff16856040516132aa919061503b565b5f60405180830381855af49150503d805f81146132e2576040519150601f19603f3d011682016040523d82523d5f602084013e6132e7565b606091505b50915091506132f886838387613545565b925050509392505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168360405161332890615074565b5f6040518083038185875af1925050503d805f8114613362576040519150601f19603f3d011682016040523d82523d5f602084013e613367565b606091505b50509050806133f9578173ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004015f604051808303818588803b1580156133b6575f5ffd5b505af11580156133c8573d5f5f3e3d5ffd5b50505050506133f884848473ffffffffffffffffffffffffffffffffffffffff166135b99092919063ffffffff16565b5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156134c5573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036134965761349182828673ffffffffffffffffffffffffffffffffffffffff166135b99092919063ffffffff16565b6134c4565b6134c38383838773ffffffffffffffffffffffffffffffffffffffff1661363f909392919063ffffffff16565b5b5b50505050565b5f5f5f84036134e05760015f91509150613512565b5f8385029050838582816134f7576134f6614f46565b5b0414613509575f5f9250925050613512565b60018192509250505b9250929050565b5f5f5f838501905084811015613535575f5f925092505061353e565b60018192509250505b9250929050565b606083156135a6575f83510361359e5761355e856136c8565b61359d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613594906150d2565b60405180910390fd5b5b8290506135b1565b6135b083836136ea565b5b949350505050565b61363a8363a9059cbb60e01b84846040516024016135d89291906150f0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613739565b505050565b6136c2846323b872dd60e01b85858560405160240161366093929190614771565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613739565b50505050565b5f5f8273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f825111156136fc5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137309190614267565b60405180910390fd5b5f61379a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166137fe9092919063ffffffff16565b90505f815111156137f957808060200190518101906137b99190615141565b6137f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137ef906151dc565b60405180910390fd5b5b505050565b606061380c84845f85613815565b90509392505050565b60608247101561385a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138519061526a565b60405180910390fd5b5f5f8673ffffffffffffffffffffffffffffffffffffffff168587604051613882919061503b565b5f6040518083038185875af1925050503d805f81146138bc576040519150601f19603f3d011682016040523d82523d5f602084013e6138c1565b606091505b50915091506138d287838387613545565b92505050949350505050565b5f82825260208201905092915050565b7f63616c6c6572206e6f74206e617469766520746f6b656e20777261707065722e5f82015250565b5f6139226020836138de565b915061392d826138ee565b602082019050919050565b5f6020820190508181035f83015261394f81613916565b9050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61399b81613967565b81146139a5575f5ffd5b50565b5f813590506139b681613992565b92915050565b5f602082840312156139d1576139d061395f565b5b5f6139de848285016139a8565b91505092915050565b5f8115159050919050565b6139fb816139e7565b82525050565b5f602082019050613a145f8301846139f2565b92915050565b5f819050919050565b613a2c81613a1a565b82525050565b5f602082019050613a455f830184613a23565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613a6c57613a6b613a4b565b5b8235905067ffffffffffffffff811115613a8957613a88613a4f565b5b602083019150836020820283011115613aa557613aa4613a53565b5b9250929050565b5f5f60208385031215613ac257613ac161395f565b5b5f83013567ffffffffffffffff811115613adf57613ade613963565b5b613aeb85828601613a57565b92509250509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b2082613af7565b9050919050565b613b3081613b16565b8114613b3a575f5ffd5b50565b5f81359050613b4b81613b27565b92915050565b5f60208284031215613b6657613b6561395f565b5b5f613b7384828501613b3d565b91505092915050565b613b8581613a1a565b8114613b8f575f5ffd5b50565b5f81359050613ba081613b7c565b92915050565b5f5f83601f840112613bbb57613bba613a4b565b5b8235905067ffffffffffffffff811115613bd857613bd7613a4f565b5b602083019150836001820283011115613bf457613bf3613a53565b5b9250929050565b5f5f5f5f5f60808688031215613c1457613c1361395f565b5b5f613c2188828901613b3d565b9550506020613c3288828901613b3d565b9450506040613c4388828901613b92565b935050606086013567ffffffffffffffff811115613c6457613c63613963565b5b613c7088828901613ba6565b92509250509295509295909350565b613c8881613967565b82525050565b5f602082019050613ca15f830184613c7f565b92915050565b5f60208284031215613cbc57613cbb61395f565b5b5f613cc984828501613b92565b91505092915050565b613cdb81613b16565b82525050565b5f602082019050613cf45f830184613cd2565b92915050565b5f5f5f60408486031215613d1157613d1061395f565b5b5f84013567ffffffffffffffff811115613d2e57613d2d613963565b5b613d3a86828701613a57565b93509350506020613d4d86828701613b3d565b9150509250925092565b5f67ffffffffffffffff82169050919050565b613d7381613d57565b82525050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b613d9d81613d79565b82525050565b5f608082019050613db65f830187613d6a565b613dc36020830186613d6a565b613dd06040830185613d94565b613ddd6060830184613a23565b95945050505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613e3082613dea565b810181811067ffffffffffffffff82111715613e4f57613e4e613dfa565b5b80604052505050565b5f613e61613956565b9050613e6d8282613e27565b919050565b5f67ffffffffffffffff821115613e8c57613e8b613dfa565b5b613e9582613dea565b9050602081019050919050565b828183375f83830152505050565b5f613ec2613ebd84613e72565b613e58565b905082815260208101848484011115613ede57613edd613de6565b5b613ee9848285613ea2565b509392505050565b5f82601f830112613f0557613f04613a4b565b5b8135613f15848260208601613eb0565b91505092915050565b5f60208284031215613f3357613f3261395f565b5b5f82013567ffffffffffffffff811115613f5057613f4f613963565b5b613f5c84828501613ef1565b91505092915050565b5f5f83601f840112613f7a57613f79613a4b565b5b8235905067ffffffffffffffff811115613f9757613f96613a4f565b5b602083019150836020820283011115613fb357613fb2613a53565b5b9250929050565b5f5f60208385031215613fd057613fcf61395f565b5b5f83013567ffffffffffffffff811115613fed57613fec613963565b5b613ff985828601613f65565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6140608261402e565b61406a8185614038565b935061407a818560208601614048565b61408381613dea565b840191505092915050565b5f6140998383614056565b905092915050565b5f602082019050919050565b5f6140b782614005565b6140c1818561400f565b9350836020820285016140d38561401f565b805f5b8581101561410e57848403895281516140ef858261408e565b94506140fa836140a1565b925060208a019950506001810190506140d6565b50829750879550505050505092915050565b5f6020820190508181035f83015261413881846140ad565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61417281613a1a565b82525050565b5f6141838383614169565b60208301905092915050565b5f602082019050919050565b5f6141a582614140565b6141af818561414a565b93506141ba8361415a565b805f5b838110156141ea5781516141d18882614178565b97506141dc8361418f565b9250506001810190506141bd565b5085935050505092915050565b5f6040820190508181035f83015261420f818561419b565b905061421e6020830184613a23565b9392505050565b5f81519050919050565b5f61423982614225565b61424381856138de565b9350614253818560208601614048565b61425c81613dea565b840191505092915050565b5f6020820190508181035f83015261427f818461422f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6142be82613d57565b91506142c983613d57565b9250828203905067ffffffffffffffff8111156142e9576142e8614287565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f614323601f836138de565b915061432e826142ef565b602082019050919050565b5f6020820190508181035f83015261435081614317565b9050919050565b7f446972656374207472616e7366657200000000000000000000000000000000005f82015250565b5f61438b600f836138de565b915061439682614357565b602082019050919050565b5f6020820190508181035f8301526143b88161437f565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f6143f3600e836138de565b91506143fe826143bf565b602082019050919050565b5f6020820190508181035f830152614420816143e7565b9050919050565b7f52657761726420756e6368616e6765642e0000000000000000000000000000005f82015250565b5f61445b6011836138de565b915061446682614427565b602082019050919050565b5f6020820190508181035f8301526144888161444f565b9050919050565b5f6040820190506144a25f830185613a23565b6144af6020830184613a23565b9392505050565b7f54696d652d756e697420756e6368616e6765642e0000000000000000000000005f82015250565b5f6144ea6014836138de565b91506144f5826144b6565b602082019050919050565b5f6020820190508181035f830152614517816144de565b9050919050565b7f4f6e6c79206f776e65722063616e20656d657267656e637920776974686472615f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6145786021836138de565b91506145838261451e565b604082019050919050565b5f6020820190508181035f8301526145a58161456c565b9050919050565b7f43616e6e6f7420776974686472617720746f207a65726f2061646472657373005f82015250565b5f6145e0601f836138de565b91506145eb826145ac565b602082019050919050565b5f6020820190508181035f83015261460d816145d4565b9050919050565b7f426174636820746f6f206c6172676500000000000000000000000000000000005f82015250565b5f614648600f836138de565b915061465382614614565b602082019050919050565b5f6020820190508181035f8301526146758161463c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f546f6b656e206e6f74207374616b6564000000000000000000000000000000005f82015250565b5f6146dd6010836138de565b91506146e8826146a9565b602082019050919050565b5f6020820190508181035f83015261470a816146d1565b9050919050565b5f61471b82613a1a565b915061472683613a1a565b925082820390508181111561473e5761473d614287565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f6060820190506147845f830186613cd2565b6147916020830185613cd2565b61479e6040830184613a23565b949350505050565b5f5ffd5b82818337505050565b5f6147be838561414a565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156147f1576147f06147a6565b5b6020830292506148028385846147aa565b82840190509392505050565b5f6020820190508181035f8301526148278184866147b3565b90509392505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f8335600160200384360303811261485857614857614830565b5b80840192508235915067ffffffffffffffff82111561487a57614879614834565b5b60208301925060018202360383131561489657614895614838565b5b509250929050565b5f81905092915050565b5f6148b3838561489e565b93506148c0838584613ea2565b82840190509392505050565b5f8160601b9050919050565b5f6148e2826148cc565b9050919050565b5f6148f3826148d8565b9050919050565b61490b61490682613b16565b6148e9565b82525050565b5f61491d8285876148a8565b915061492982846148fa565b601482019150819050949350505050565b5f61494482613a1a565b915061494f83613a1a565b925082820190508082111561496757614966614287565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806149b157607f821691505b6020821081036149c4576149c361496d565b5b50919050565b7f5374616b696e67203020746f6b656e73000000000000000000000000000000005f82015250565b5f6149fe6010836138de565b9150614a09826149ca565b602082019050919050565b5f6020820190508181035f830152614a2b816149f2565b9050919050565b5f614a3c82613d57565b9150614a4783613d57565b9250828201905067ffffffffffffffff811115614a6757614a66614287565b5b92915050565b5f81905092915050565b5f614a828385614a6d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ab557614ab46147a6565b5b602083029250614ac68385846147aa565b82840190509392505050565b5f614ade828486614a77565b91508190509392505050565b5f81519050614af881613b7c565b92915050565b5f60208284031215614b1357614b1261395f565b5b5f614b2084828501614aea565b91505092915050565b7f74696d652d756e69742063616e277420626520300000000000000000000000005f82015250565b5f614b5d6014836138de565b9150614b6882614b29565b602082019050919050565b5f6020820190508181035f830152614b8a81614b51565b9050919050565b7f4e6f2072657761726473000000000000000000000000000000000000000000005f82015250565b5f614bc5600a836138de565b9150614bd082614b91565b602082019050919050565b5f6020820190508181035f830152614bf281614bb9565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614c557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614c1a565b614c5f8683614c1a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f614c9a614c95614c9084613a1a565b614c77565b613a1a565b9050919050565b5f819050919050565b614cb383614c80565b614cc7614cbf82614ca1565b848454614c26565b825550505050565b5f5f905090565b614cde614ccf565b614ce9818484614caa565b505050565b5b81811015614d0c57614d015f82614cd6565b600181019050614cef565b5050565b601f821115614d5157614d2281614bf9565b614d2b84614c0b565b81016020851015614d3a578190505b614d4e614d4685614c0b565b830182614cee565b50505b505050565b5f82821c905092915050565b5f614d715f1984600802614d56565b1980831691505092915050565b5f614d898383614d62565b9150826002028217905092915050565b614da282614225565b67ffffffffffffffff811115614dbb57614dba613dfa565b5b614dc5825461499a565b614dd0828285614d10565b5f60209050601f831160018114614e01575f8415614def578287015190505b614df98582614d7e565b865550614e60565b601f198416614e0f86614bf9565b5f5b82811015614e3657848901518255600182019150602085019450602081019050614e11565b86831015614e535784890151614e4f601f891682614d62565b8355505b6001600288020188555050505b505050505050565b5f6040820190508181035f830152614e80818561422f565b90508181036020830152614e94818461422f565b90509392505050565b7f4e46547320617265207065726d616e656e746c79207374616b656400000000005f82015250565b5f614ed1601b836138de565b9150614edc82614e9d565b602082019050919050565b5f6020820190508181035f830152614efe81614ec5565b9050919050565b5f614f0f82613a1a565b9150614f1a83613a1a565b9250828202614f2881613a1a565b91508282048414831517614f3f57614f3e614287565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614f7d82613a1a565b9150614f8883613a1a565b925082614f9857614f97614f46565b5b828204905092915050565b7f4e6f7420656e6f7567682072657761726420746f6b656e7300000000000000005f82015250565b5f614fd76018836138de565b9150614fe282614fa3565b602082019050919050565b5f6020820190508181035f83015261500481614fcb565b9050919050565b5f6150158261402e565b61501f818561489e565b935061502f818560208601614048565b80840191505092915050565b5f615046828461500b565b915081905092915050565b50565b5f61505f5f8361489e565b915061506a82615051565b5f82019050919050565b5f61507e82615054565b9150819050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f6150bc601d836138de565b91506150c782615088565b602082019050919050565b5f6020820190508181035f8301526150e9816150b0565b9050919050565b5f6040820190506151035f830185613cd2565b6151106020830184613a23565b9392505050565b615120816139e7565b811461512a575f5ffd5b50565b5f8151905061513b81615117565b92915050565b5f602082840312156151565761515561395f565b5b5f6151638482850161512d565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6151c6602a836138de565b91506151d18261516c565b604082019050919050565b5f6020820190508181035f8301526151f3816151ba565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f6152546026836138de565b915061525f826151fa565b604082019050919050565b5f6020820190508181035f83015261528181615248565b905091905056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208d303b28d426b05eacbd0c12f762c5c0eb7ec880d79828074be3f892bfefaeb664736f6c634300081c0033000000000000000000000000fac9746e0b49d2d3982b43e754f0fe64b9883d270000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6080604052600436106101ba575f3560e01c80639168ae72116100eb578063c345315311610089578063e8a3d48511610063578063e8a3d485146106a5578063f7c618c1146106cf578063f9ea29cb146106f9578063fd48ba17146107235761024f565b8063c345315314610616578063cb43b2dd14610653578063d68124c71461067b5761024f565b806394067045116100c5578063940670451461053a578063961004d314610576578063983d95ce146105b2578063ac9650d8146105da5761024f565b80639168ae72146104a9578063938e3d7b146104e857806393ce5343146105105761024f565b806323ef2580116101585780636360106f116101325780636360106f146104055780636c60d9e71461042d57806372f702f3146104555780638da5cb5b1461047f5761024f565b806323ef25801461038b578063372500ab146103b35780635357e916146103c95761024f565b80630fbf0a93116101945780630fbf0a93146102e357806313af40351461030b578063150b7a021461033357806316c621e01461036f5761024f565b806301ffc9a714610253578063080cd2791461028f5780630e8b229b146102b95761024f565b3661024f577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461024d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024490613938565b60405180910390fd5b005b5f5ffd5b34801561025e575f5ffd5b50610279600480360381019061027491906139bc565b61075f565b6040516102869190613a01565b60405180910390f35b34801561029a575f5ffd5b506102a36107d8565b6040516102b09190613a32565b60405180910390f35b3480156102c4575f5ffd5b506102cd6107de565b6040516102da9190613a32565b60405180910390f35b3480156102ee575f5ffd5b5061030960048036038101906103049190613aac565b610825565b005b348015610316575f5ffd5b50610331600480360381019061032c9190613b51565b610886565b005b34801561033e575f5ffd5b5061035960048036038101906103549190613bfb565b6108d0565b6040516103669190613c8e565b60405180910390f35b61038960048036038101906103849190613ca7565b610938565b005b348015610396575f5ffd5b506103b160048036038101906103ac9190613ca7565b610997565b005b3480156103be575f5ffd5b506103c7610ae4565b005b3480156103d4575f5ffd5b506103ef60048036038101906103ea9190613ca7565b610b41565b6040516103fc9190613ce1565b60405180910390f35b348015610410575f5ffd5b5061042b60048036038101906104269190613ca7565b610b7c565b005b348015610438575f5ffd5b50610453600480360381019061044e9190613cfa565b610cc8565b005b348015610460575f5ffd5b506104696113bc565b6040516104769190613ce1565b60405180910390f35b34801561048a575f5ffd5b506104936113e0565b6040516104a09190613ce1565b60405180910390f35b3480156104b4575f5ffd5b506104cf60048036038101906104ca9190613b51565b611408565b6040516104df9493929190613da3565b60405180910390f35b3480156104f3575f5ffd5b5061050e60048036038101906105099190613f1e565b611475565b005b34801561051b575f5ffd5b506105246114bf565b6040516105319190613a32565b60405180910390f35b348015610545575f5ffd5b50610560600480360381019061055b9190613ca7565b6114c8565b60405161056d9190613ce1565b60405180910390f35b348015610581575f5ffd5b5061059c60048036038101906105979190613ca7565b6114f8565b6040516105a99190613a32565b60405180910390f35b3480156105bd575f5ffd5b506105d860048036038101906105d39190613aac565b611518565b005b3480156105e5575f5ffd5b5061060060048036038101906105fb9190613fba565b611579565b60405161060d9190614120565b60405180910390f35b348015610621575f5ffd5b5061063c60048036038101906106379190613b51565b61173a565b60405161064a9291906141f7565b60405180910390f35b34801561065e575f5ffd5b5061067960048036038101906106749190613ca7565b6119b7565b005b348015610686575f5ffd5b5061068f611a16565b60405161069c9190613a32565b60405180910390f35b3480156106b0575f5ffd5b506106b9611a5c565b6040516106c69190614267565b60405180910390f35b3480156106da575f5ffd5b506106e3611ae7565b6040516106f09190613ce1565b60405180910390f35b348015610704575f5ffd5b5061070d611b0b565b60405161071a9190613ce1565b60405180910390f35b34801561072e575f5ffd5b5061074960048036038101906107449190613ca7565b611b2f565b6040516107569190613a01565b60405180910390f35b5f7f150b7a02000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107d157506107d082611b4c565b5b9050919050565b61012c81565b5f60095f6001600360019054906101000a900467ffffffffffffffff1661080591906142b4565b67ffffffffffffffff1681526020019081526020015f2060010154905090565b6002805403610869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086090614339565b60405180910390fd5b6002808190555061087a8282611bb5565b60016002819055505050565b61088e612125565b6108c4576040517f2d99739600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108cd81612161565b50565b5f600260035f9054906101000a900460ff1660ff1614610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091c906143a1565b60405180910390fd5b63150b7a0260e01b905095945050505050565b600280540361097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390614339565b60405180910390fd5b6002808190555061098c81612224565b600160028190555050565b61099f6124b7565b6109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590614409565b60405180910390fd5b5f60095f6001600360019054906101000a900467ffffffffffffffff16610a0591906142b4565b67ffffffffffffffff1681526020019081526020015f206040518060800160405290815f82015481526020016001820154815260200160028201548152602001600382015481525050905080602001518203610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90614471565b60405180910390fd5b610aa3815f0151836124f3565b7f243c4656edc72b2c7ec8575d464d955b2f42c1b205960c6c2fb7eecda5419cf6816020015183604051610ad892919061448f565b60405180910390a15050565b6002805403610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90614339565b60405180910390fd5b60028081905550610b37612633565b6001600281905550565b60058181548110610b50575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b846124b7565b610bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bba90614409565b60405180910390fd5b5f60095f6001600360019054906101000a900467ffffffffffffffff16610bea91906142b4565b67ffffffffffffffff1681526020019081526020015f206040518060800160405290815f820154815260200160018201548152602001600282015481526020016003820154815250509050805f01518203610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7190614500565b60405180910390fd5b610c888282602001516124f3565b7fd968de290ed68f978b9e4816f7d4be9ef46189fe8eeb3eeb86199e7229cf2de0815f015183604051610cbc92919061448f565b60405180910390a15050565b6002805403610d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0390614339565b60405180910390fd5b60028081905550610d1b6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f9061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded906145f6565b60405180910390fd5b61012c838390501115610e3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e359061465e565b60405180910390fd5b5f7f0000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d90505f5f90505b84849050811015611346575f73ffffffffffffffffffffffffffffffffffffffff1660085f878785818110610e9f57610e9e61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f20906146f3565b60405180910390fd5b5f60085f878785818110610f4057610f3f61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60085f888886818110610f8d57610f8c61467c565b5b9050602002013581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1611156112b55761104b8161289b565b600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff166110ad91906142b4565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16036112b4575f5f90505b6005805490508110156112b2578173ffffffffffffffffffffffffffffffffffffffff16600582815481106111735761117261467c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112a557600560016005805490506111ca9190614711565b815481106111db576111da61467c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600582815481106112175761121661467c565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600580548061126e5761126d614744565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556112b2565b808060010191505061113b565b505b5b8273ffffffffffffffffffffffffffffffffffffffff166342842e0e30868989878181106112e6576112e561467c565b5b905060200201356040518463ffffffff1660e01b815260040161130b93929190614771565b5f604051808303815f87803b158015611322575f5ffd5b505af1158015611334573d5f5f3e3d5ffd5b50505050508080600101915050610e67565b508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f49e7e98dba11447f42e55b1d3976705fad5dfb9df072d68da019756796baf3ef86866040516113a692919061480e565b60405180910390a3506001600281905550505050565b7f0000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d81565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6007602052805f5260405f205f91509050805f015f9054906101000a900467ffffffffffffffff1690805f0160089054906101000a900467ffffffffffffffff1690805f0160109054906101000a90046fffffffffffffffffffffffffffffffff16908060010154905084565b61147d6129ff565b6114b3576040517f9f7f092500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114bc81612a3b565b50565b5f600a54905090565b6008602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048181548110611507575f80fd5b905f5260205f20015f915090505481565b600280540361155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390614339565b60405180910390fd5b6002808190555061156d8282612b12565b60016002819055505050565b60608282905067ffffffffffffffff81111561159857611597613dfa565b5b6040519080825280602002602001820160405280156115cb57816020015b60608152602001906001900390816115b65790505b5090505f6115d7612b4d565b90505f8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141590505f5f90505b8585905081101561173157811561169557611672308787848181106116395761163861467c565b5b905060200281019061164b919061483c565b8660405160200161165e93929190614911565b604051602081830303815290604052612b54565b8482815181106116855761168461467c565b5b6020026020010181905250611724565b611705308787848181106116ac576116ab61467c565b5b90506020028101906116be919061483c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050612b54565b8482815181106117185761171761467c565b5b60200260200101819052505b8080600101915050611611565b50505092915050565b60605f5f600480548060200260200160405190810160405280929190818152602001828054801561178857602002820191905f5260205f20905b815481526020019060010190808311611774575b505050505090505f815167ffffffffffffffff8111156117ab576117aa613dfa565b5b6040519080825280602002602001820160405280156117d95781602001602082028036833780820191505090505b5090505f825190505f5f90505f5f90505b828110156118cd578773ffffffffffffffffffffffffffffffffffffffff1660085f87848151811061181f5761181e61467c565b5b602002602001015181526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161484828151811061187e5761187d61467c565b5b6020026020010190151590811515815250508381815181106118a3576118a261467c565b5b6020026020010151156118c0576001826118bd919061493a565b91505b80806001019150506117ea565b508067ffffffffffffffff8111156118e8576118e7613dfa565b5b6040519080825280602002602001820160405280156119165781602001602082028036833780820191505090505b5095505f5f90505f5f90505b838110156119a15784818151811061193d5761193c61467c565b5b6020026020010151156119945785818151811061195d5761195c61467c565b5b60200260200101518883815181106119785761197761467c565b5b602002602001018181525050600182611991919061493a565b91505b8080600101915050611922565b506119ab88612b81565b95505050505050915091565b60028054036119fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f290614339565b60405180910390fd5b60028081905550611a0b81612c89565b600160028190555050565b5f60095f6001600360019054906101000a900467ffffffffffffffff16611a3d91906142b4565b67ffffffffffffffff1681526020019081526020015f205f0154905090565b5f8054611a689061499a565b80601f0160208091040260200160405190810160405280929190818152602001828054611a949061499a565b8015611adf5780601f10611ab657610100808354040283529160200191611adf565b820191905f5260205f20905b815481529060010190602001808311611ac257829003601f168201915b505050505081565b7f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8282905090505f8167ffffffffffffffff1603611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff90614a14565b60405180910390fd5b5f7f0000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d90505f60075f611c38612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff161115611cac57611ca7611ca2612d72565b61289b565b611e20565b6005611cb6612d72565b908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260075f611d1f612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600360019054906101000a900467ffffffffffffffff16611db391906142b4565b60075f611dbe612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5f5f90505b8267ffffffffffffffff1681101561202e57600260035f6101000a81548160ff021916908360ff1602179055508173ffffffffffffffffffffffffffffffffffffffff166342842e0e611e76612d72565b30888886818110611e8a57611e8961467c565b5b905060200201356040518463ffffffff1660e01b8152600401611eaf93929190614771565b5f604051808303815f87803b158015611ec6575f5ffd5b505af1158015611ed8573d5f5f3e3d5ffd5b50505050600160035f6101000a81548160ff021916908360ff160217905550611eff612d72565b60085f878785818110611f1557611f1461467c565b5b9050602002013581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f868684818110611f7c57611f7b61467c565b5b9050602002013581526020019081526020015f205f9054906101000a900460ff1661202357600160065f878785818110611fb957611fb861467c565b5b9050602002013581526020019081526020015f205f6101000a81548160ff0219169083151502179055506004858583818110611ff857611ff761467c565b5b90506020020135908060018154018082558091505060019003905f5260205f20015f90919091909150555b806001019050611e25565b508160075f61203b612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282829054906101000a900467ffffffffffffffff166120979190614a32565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083836040516120cd929190614ad2565b60405180910390206120dd612d72565b73ffffffffffffffffffffffffffffffffffffffff167f540cd34f06460fd67aeca9d19e0a56cd3a7c1cde8dc2263f265b68b2ef3495d260405160405180910390a350505050565b5f61212e6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7660405160405180910390a35050565b61222c6113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229090614409565b60405180910390fd5b5f73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f73ffffffffffffffffffffffffffffffffffffffff1614612327577f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f612349565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b90505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016123859190613ce1565b602060405180830381865afa1580156123a0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123c49190614afe565b90506124137f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f3330867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612d79565b5f818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161244e9190613ce1565b602060405180830381865afa158015612469573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248d9190614afe565b6124979190614711565b905080600a5f8282546124aa919061493a565b9250508190555050505050565b5f6124c06113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f8203612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c90614b73565b60405180910390fd5b5f600360019054906101000a900467ffffffffffffffff1667ffffffffffffffff1690506001600360018282829054906101000a900467ffffffffffffffff1661257f9190614a32565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060405180608001604052808481526020018381526020014281526020015f81525060095f8381526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301559050505f81111561262e574260095f6001846126199190614711565b81526020019081526020015f20600301819055505b505050565b5f61264461263f612d72565b612f73565b60075f61264f612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010154612696919061493a565b90505f81036126da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d190614bdb565b60405180910390fd5b4260075f6126e6612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f60075f612763612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600101819055506001600360019054906101000a900467ffffffffffffffff166127c691906142b4565b60075f6127d1612d72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061284361283d612d72565b826131d3565b61284b612d72565b73ffffffffffffffffffffffffffffffffffffffff167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516128909190613a32565b60405180910390a250565b5f6128a582612f73565b90508060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8282546128f6919061493a565b925050819055504260075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506001600360019054906101000a900467ffffffffffffffff1661299691906142b4565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b5f612a086113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b5f5f8054612a489061499a565b80601f0160208091040260200160405190810160405280929190818152602001828054612a749061499a565b8015612abf5780601f10612a9657610100808354040283529160200191612abf565b820191905f5260205f20905b815481529060010190602001808311612aa257829003601f168201915b50505050509050815f9081612ad49190614d99565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051612b06929190614e68565b60405180910390a15050565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4490614ee7565b60405180910390fd5b5f33905090565b6060612b79838360405180606001604052806027815260200161528960279139613281565b905092915050565b5f5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1603612c2d5760075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600101549050612c84565b612c3682612f73565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010154612c81919061493a565b90505b919050565b612c916113e0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf590614409565b60405180910390fd5b600a548111612d1a5780600a54612d159190614711565b612d1c565b5f5b600a81905550612d6f7f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f3033847f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612d79565b50565b5f33905090565b5f820315612f6c5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612f5e573073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612e71578073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b8152600401612e349190613a32565b5f604051808303815f87803b158015612e4b575f5ffd5b505af1158015612e5d573d5f5f3e3d5ffd5b50505050612e6c838383613303565b612f59565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f4c57348214612eea5734826040517f03e085f9000000000000000000000000000000000000000000000000000000008152600401612ee192919061448f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b158015612f30575f5ffd5b505af1158015612f42573d5f5f3e3d5ffd5b5050505050612f58565b612f57838383613303565b5b5b612f6b565b612f6a858585856133ff565b5b5b5050505050565b5f5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060800160405290815f82015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020015f820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200160018201548152505090505f816020015167ffffffffffffffff1690505f600360019054906101000a900467ffffffffffffffff1667ffffffffffffffff1690505f8290505b818110156131ca575f60095f8381526020019081526020015f206040518060800160405290815f8201548152602001600182015481526020016002820154815260200160038201548152505090505f8483036131205785604001516fffffffffffffffffffffffffffffffff16613126565b81604001515b90505f5f83606001510361313a5742613140565b82606001515b90505f5f613175895f015167ffffffffffffffff1685856131619190614711565b61316b9190614f05565b86602001516134cb565b915091505f5f6131938c885f01518561318e9190614f73565b613519565b915091508380156131a15750815b6131ab578b6131ad565b805b9b50505050505050506001816131c3919061493a565b90506130ae565b50505050919050565b600a54811115613218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161320f90614fed565b60405180910390fd5b80600a5f8282546132299190614711565b9250508190555061327d7f000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f3084847f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612d79565b5050565b60605f5f8573ffffffffffffffffffffffffffffffffffffffff16856040516132aa919061503b565b5f60405180830381855af49150503d805f81146132e2576040519150601f19603f3d011682016040523d82523d5f602084013e6132e7565b606091505b50915091506132f886838387613545565b925050509392505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168360405161332890615074565b5f6040518083038185875af1925050503d805f8114613362576040519150601f19603f3d011682016040523d82523d5f602084013e613367565b606091505b50509050806133f9578173ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004015f604051808303818588803b1580156133b6575f5ffd5b505af11580156133c8573d5f5f3e3d5ffd5b50505050506133f884848473ffffffffffffffffffffffffffffffffffffffff166135b99092919063ffffffff16565b5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156134c5573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036134965761349182828673ffffffffffffffffffffffffffffffffffffffff166135b99092919063ffffffff16565b6134c4565b6134c38383838773ffffffffffffffffffffffffffffffffffffffff1661363f909392919063ffffffff16565b5b5b50505050565b5f5f5f84036134e05760015f91509150613512565b5f8385029050838582816134f7576134f6614f46565b5b0414613509575f5f9250925050613512565b60018192509250505b9250929050565b5f5f5f838501905084811015613535575f5f925092505061353e565b60018192509250505b9250929050565b606083156135a6575f83510361359e5761355e856136c8565b61359d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613594906150d2565b60405180910390fd5b5b8290506135b1565b6135b083836136ea565b5b949350505050565b61363a8363a9059cbb60e01b84846040516024016135d89291906150f0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613739565b505050565b6136c2846323b872dd60e01b85858560405160240161366093929190614771565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613739565b50505050565b5f5f8273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f825111156136fc5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137309190614267565b60405180910390fd5b5f61379a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166137fe9092919063ffffffff16565b90505f815111156137f957808060200190518101906137b99190615141565b6137f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137ef906151dc565b60405180910390fd5b5b505050565b606061380c84845f85613815565b90509392505050565b60608247101561385a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138519061526a565b60405180910390fd5b5f5f8673ffffffffffffffffffffffffffffffffffffffff168587604051613882919061503b565b5f6040518083038185875af1925050503d805f81146138bc576040519150601f19603f3d011682016040523d82523d5f602084013e6138c1565b606091505b50915091506138d287838387613545565b92505050949350505050565b5f82825260208201905092915050565b7f63616c6c6572206e6f74206e617469766520746f6b656e20777261707065722e5f82015250565b5f6139226020836138de565b915061392d826138ee565b602082019050919050565b5f6020820190508181035f83015261394f81613916565b9050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61399b81613967565b81146139a5575f5ffd5b50565b5f813590506139b681613992565b92915050565b5f602082840312156139d1576139d061395f565b5b5f6139de848285016139a8565b91505092915050565b5f8115159050919050565b6139fb816139e7565b82525050565b5f602082019050613a145f8301846139f2565b92915050565b5f819050919050565b613a2c81613a1a565b82525050565b5f602082019050613a455f830184613a23565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112613a6c57613a6b613a4b565b5b8235905067ffffffffffffffff811115613a8957613a88613a4f565b5b602083019150836020820283011115613aa557613aa4613a53565b5b9250929050565b5f5f60208385031215613ac257613ac161395f565b5b5f83013567ffffffffffffffff811115613adf57613ade613963565b5b613aeb85828601613a57565b92509250509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b2082613af7565b9050919050565b613b3081613b16565b8114613b3a575f5ffd5b50565b5f81359050613b4b81613b27565b92915050565b5f60208284031215613b6657613b6561395f565b5b5f613b7384828501613b3d565b91505092915050565b613b8581613a1a565b8114613b8f575f5ffd5b50565b5f81359050613ba081613b7c565b92915050565b5f5f83601f840112613bbb57613bba613a4b565b5b8235905067ffffffffffffffff811115613bd857613bd7613a4f565b5b602083019150836001820283011115613bf457613bf3613a53565b5b9250929050565b5f5f5f5f5f60808688031215613c1457613c1361395f565b5b5f613c2188828901613b3d565b9550506020613c3288828901613b3d565b9450506040613c4388828901613b92565b935050606086013567ffffffffffffffff811115613c6457613c63613963565b5b613c7088828901613ba6565b92509250509295509295909350565b613c8881613967565b82525050565b5f602082019050613ca15f830184613c7f565b92915050565b5f60208284031215613cbc57613cbb61395f565b5b5f613cc984828501613b92565b91505092915050565b613cdb81613b16565b82525050565b5f602082019050613cf45f830184613cd2565b92915050565b5f5f5f60408486031215613d1157613d1061395f565b5b5f84013567ffffffffffffffff811115613d2e57613d2d613963565b5b613d3a86828701613a57565b93509350506020613d4d86828701613b3d565b9150509250925092565b5f67ffffffffffffffff82169050919050565b613d7381613d57565b82525050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b613d9d81613d79565b82525050565b5f608082019050613db65f830187613d6a565b613dc36020830186613d6a565b613dd06040830185613d94565b613ddd6060830184613a23565b95945050505050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613e3082613dea565b810181811067ffffffffffffffff82111715613e4f57613e4e613dfa565b5b80604052505050565b5f613e61613956565b9050613e6d8282613e27565b919050565b5f67ffffffffffffffff821115613e8c57613e8b613dfa565b5b613e9582613dea565b9050602081019050919050565b828183375f83830152505050565b5f613ec2613ebd84613e72565b613e58565b905082815260208101848484011115613ede57613edd613de6565b5b613ee9848285613ea2565b509392505050565b5f82601f830112613f0557613f04613a4b565b5b8135613f15848260208601613eb0565b91505092915050565b5f60208284031215613f3357613f3261395f565b5b5f82013567ffffffffffffffff811115613f5057613f4f613963565b5b613f5c84828501613ef1565b91505092915050565b5f5f83601f840112613f7a57613f79613a4b565b5b8235905067ffffffffffffffff811115613f9757613f96613a4f565b5b602083019150836020820283011115613fb357613fb2613a53565b5b9250929050565b5f5f60208385031215613fd057613fcf61395f565b5b5f83013567ffffffffffffffff811115613fed57613fec613963565b5b613ff985828601613f65565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6140608261402e565b61406a8185614038565b935061407a818560208601614048565b61408381613dea565b840191505092915050565b5f6140998383614056565b905092915050565b5f602082019050919050565b5f6140b782614005565b6140c1818561400f565b9350836020820285016140d38561401f565b805f5b8581101561410e57848403895281516140ef858261408e565b94506140fa836140a1565b925060208a019950506001810190506140d6565b50829750879550505050505092915050565b5f6020820190508181035f83015261413881846140ad565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61417281613a1a565b82525050565b5f6141838383614169565b60208301905092915050565b5f602082019050919050565b5f6141a582614140565b6141af818561414a565b93506141ba8361415a565b805f5b838110156141ea5781516141d18882614178565b97506141dc8361418f565b9250506001810190506141bd565b5085935050505092915050565b5f6040820190508181035f83015261420f818561419b565b905061421e6020830184613a23565b9392505050565b5f81519050919050565b5f61423982614225565b61424381856138de565b9350614253818560208601614048565b61425c81613dea565b840191505092915050565b5f6020820190508181035f83015261427f818461422f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6142be82613d57565b91506142c983613d57565b9250828203905067ffffffffffffffff8111156142e9576142e8614287565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f614323601f836138de565b915061432e826142ef565b602082019050919050565b5f6020820190508181035f83015261435081614317565b9050919050565b7f446972656374207472616e7366657200000000000000000000000000000000005f82015250565b5f61438b600f836138de565b915061439682614357565b602082019050919050565b5f6020820190508181035f8301526143b88161437f565b9050919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f6143f3600e836138de565b91506143fe826143bf565b602082019050919050565b5f6020820190508181035f830152614420816143e7565b9050919050565b7f52657761726420756e6368616e6765642e0000000000000000000000000000005f82015250565b5f61445b6011836138de565b915061446682614427565b602082019050919050565b5f6020820190508181035f8301526144888161444f565b9050919050565b5f6040820190506144a25f830185613a23565b6144af6020830184613a23565b9392505050565b7f54696d652d756e697420756e6368616e6765642e0000000000000000000000005f82015250565b5f6144ea6014836138de565b91506144f5826144b6565b602082019050919050565b5f6020820190508181035f830152614517816144de565b9050919050565b7f4f6e6c79206f776e65722063616e20656d657267656e637920776974686472615f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6145786021836138de565b91506145838261451e565b604082019050919050565b5f6020820190508181035f8301526145a58161456c565b9050919050565b7f43616e6e6f7420776974686472617720746f207a65726f2061646472657373005f82015250565b5f6145e0601f836138de565b91506145eb826145ac565b602082019050919050565b5f6020820190508181035f83015261460d816145d4565b9050919050565b7f426174636820746f6f206c6172676500000000000000000000000000000000005f82015250565b5f614648600f836138de565b915061465382614614565b602082019050919050565b5f6020820190508181035f8301526146758161463c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f546f6b656e206e6f74207374616b6564000000000000000000000000000000005f82015250565b5f6146dd6010836138de565b91506146e8826146a9565b602082019050919050565b5f6020820190508181035f83015261470a816146d1565b9050919050565b5f61471b82613a1a565b915061472683613a1a565b925082820390508181111561473e5761473d614287565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f6060820190506147845f830186613cd2565b6147916020830185613cd2565b61479e6040830184613a23565b949350505050565b5f5ffd5b82818337505050565b5f6147be838561414a565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156147f1576147f06147a6565b5b6020830292506148028385846147aa565b82840190509392505050565b5f6020820190508181035f8301526148278184866147b3565b90509392505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f8335600160200384360303811261485857614857614830565b5b80840192508235915067ffffffffffffffff82111561487a57614879614834565b5b60208301925060018202360383131561489657614895614838565b5b509250929050565b5f81905092915050565b5f6148b3838561489e565b93506148c0838584613ea2565b82840190509392505050565b5f8160601b9050919050565b5f6148e2826148cc565b9050919050565b5f6148f3826148d8565b9050919050565b61490b61490682613b16565b6148e9565b82525050565b5f61491d8285876148a8565b915061492982846148fa565b601482019150819050949350505050565b5f61494482613a1a565b915061494f83613a1a565b925082820190508082111561496757614966614287565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806149b157607f821691505b6020821081036149c4576149c361496d565b5b50919050565b7f5374616b696e67203020746f6b656e73000000000000000000000000000000005f82015250565b5f6149fe6010836138de565b9150614a09826149ca565b602082019050919050565b5f6020820190508181035f830152614a2b816149f2565b9050919050565b5f614a3c82613d57565b9150614a4783613d57565b9250828201905067ffffffffffffffff811115614a6757614a66614287565b5b92915050565b5f81905092915050565b5f614a828385614a6d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ab557614ab46147a6565b5b602083029250614ac68385846147aa565b82840190509392505050565b5f614ade828486614a77565b91508190509392505050565b5f81519050614af881613b7c565b92915050565b5f60208284031215614b1357614b1261395f565b5b5f614b2084828501614aea565b91505092915050565b7f74696d652d756e69742063616e277420626520300000000000000000000000005f82015250565b5f614b5d6014836138de565b9150614b6882614b29565b602082019050919050565b5f6020820190508181035f830152614b8a81614b51565b9050919050565b7f4e6f2072657761726473000000000000000000000000000000000000000000005f82015250565b5f614bc5600a836138de565b9150614bd082614b91565b602082019050919050565b5f6020820190508181035f830152614bf281614bb9565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614c557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614c1a565b614c5f8683614c1a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f614c9a614c95614c9084613a1a565b614c77565b613a1a565b9050919050565b5f819050919050565b614cb383614c80565b614cc7614cbf82614ca1565b848454614c26565b825550505050565b5f5f905090565b614cde614ccf565b614ce9818484614caa565b505050565b5b81811015614d0c57614d015f82614cd6565b600181019050614cef565b5050565b601f821115614d5157614d2281614bf9565b614d2b84614c0b565b81016020851015614d3a578190505b614d4e614d4685614c0b565b830182614cee565b50505b505050565b5f82821c905092915050565b5f614d715f1984600802614d56565b1980831691505092915050565b5f614d898383614d62565b9150826002028217905092915050565b614da282614225565b67ffffffffffffffff811115614dbb57614dba613dfa565b5b614dc5825461499a565b614dd0828285614d10565b5f60209050601f831160018114614e01575f8415614def578287015190505b614df98582614d7e565b865550614e60565b601f198416614e0f86614bf9565b5f5b82811015614e3657848901518255600182019150602085019450602081019050614e11565b86831015614e535784890151614e4f601f891682614d62565b8355505b6001600288020188555050505b505050505050565b5f6040820190508181035f830152614e80818561422f565b90508181036020830152614e94818461422f565b90509392505050565b7f4e46547320617265207065726d616e656e746c79207374616b656400000000005f82015250565b5f614ed1601b836138de565b9150614edc82614e9d565b602082019050919050565b5f6020820190508181035f830152614efe81614ec5565b9050919050565b5f614f0f82613a1a565b9150614f1a83613a1a565b9250828202614f2881613a1a565b91508282048414831517614f3f57614f3e614287565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614f7d82613a1a565b9150614f8883613a1a565b925082614f9857614f97614f46565b5b828204905092915050565b7f4e6f7420656e6f7567682072657761726420746f6b656e7300000000000000005f82015250565b5f614fd76018836138de565b9150614fe282614fa3565b602082019050919050565b5f6020820190508181035f83015261500481614fcb565b9050919050565b5f6150158261402e565b61501f818561489e565b935061502f818560208601614048565b80840191505092915050565b5f615046828461500b565b915081905092915050565b50565b5f61505f5f8361489e565b915061506a82615051565b5f82019050919050565b5f61507e82615054565b9150819050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f6150bc601d836138de565b91506150c782615088565b602082019050919050565b5f6020820190508181035f8301526150e9816150b0565b9050919050565b5f6040820190506151035f830185613cd2565b6151106020830184613a23565b9392505050565b615120816139e7565b811461512a575f5ffd5b50565b5f8151905061513b81615117565b92915050565b5f602082840312156151565761515561395f565b5b5f6151638482850161512d565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f6151c6602a836138de565b91506151d18261516c565b604082019050919050565b5f6020820190508181035f8301526151f3816151ba565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f6152546026836138de565b915061525f826151fa565b604082019050919050565b5f6020820190508181035f83015261528181615248565b905091905056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208d303b28d426b05eacbd0c12f762c5c0eb7ec880d79828074be3f892bfefaeb664736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fac9746e0b49d2d3982b43e754f0fe64b9883d270000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

-----Decoded View---------------
Arg [0] : _defaultAdmin (address): 0xfAc9746E0b49d2D3982B43E754F0fE64b9883d27
Arg [1] : _timeUnit (uint256): 1
Arg [2] : _rewardsPerUnitTime (uint256): 3000000000000000
Arg [3] : _stakingToken (address): 0x3A40312A1C376aEcF855eF784371d1fb1AA2d25D
Arg [4] : _rewardToken (address): 0xa0C69824C820F36CA32666462405eA85F414409f
Arg [5] : _nativeTokenWrapper (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000fac9746e0b49d2d3982b43e754f0fe64b9883d27
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 000000000000000000000000000000000000000000000000000aa87bee538000
Arg [3] : 0000000000000000000000003a40312a1c376aecf855ef784371d1fb1aa2d25d
Arg [4] : 000000000000000000000000a0c69824c820f36ca32666462405ea85f414409f
Arg [5] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

🤖 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

OVERVIEW

Locking NFTs to earn points on Cashmere campaigns.

Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.