ETH Price: $2,129.73 (+0.28%)
 

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Redeem1517737012026-05-18 23:16:194 hrs ago1779146179IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000105560.00006149
Redeem1517668472026-05-18 19:27:518 hrs ago1779132471IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000147970.00010033
Redeem1517650192026-05-18 18:26:559 hrs ago1779128815IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000641080.00040785
Redeem1517617802026-05-18 16:38:5711 hrs ago1779122337IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000203660.00010036
Redeem1517604782026-05-18 15:55:3312 hrs ago1779119733IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000108790.00002035
Redeem1517604202026-05-18 15:53:3712 hrs ago1779119617IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000099360.00000513
Redeem1517596392026-05-18 15:27:3512 hrs ago1779118055IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000271560.00016297
Redeem1517578822026-05-18 14:29:0113 hrs ago1779114541IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000037150.00000038
Redeem1517577652026-05-18 14:25:0713 hrs ago1779114307IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000039920.00000038
Redeem1517567482026-05-18 13:51:1314 hrs ago1779112273IN
Pika Protocol: Pika Perp V3
0 ETH0.000000003890.0000004
Redeem1517550302026-05-18 12:53:5715 hrs ago1779108837IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000369510.00023546
Redeem1517505182026-05-18 10:23:3317 hrs ago1779099813IN
Pika Protocol: Pika Perp V3
0 ETH0.00000002620.00017043
Redeem1517451692026-05-18 7:25:1520 hrs ago1779089115IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000040110.00000036
Redeem1517449472026-05-18 7:17:5120 hrs ago1779088671IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000050970.00000036
Redeem1517446372026-05-18 7:07:3120 hrs ago1779088051IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000043440.00000037
Redeem1517399822026-05-18 4:32:2123 hrs ago1779078741IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000196640.00010038
Redeem1517316592026-05-17 23:54:5528 hrs ago1779062095IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000346940.00022765
Redeem1517312602026-05-17 23:41:3728 hrs ago1779061297IN
Pika Protocol: Pika Perp V3
0 ETH0.0000003016620.00200039
Redeem1517311682026-05-17 23:38:3328 hrs ago1779061113IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000043220.00002035
Redeem1517304152026-05-17 23:13:2728 hrs ago1779059607IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000149570.00010035
Redeem1517229962026-05-17 19:06:0932 hrs ago1779044769IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000033490.00000132
Redeem1516781012026-05-16 18:09:392 days ago1778954979IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000017060.00000134
Redeem1516744472026-05-16 16:07:512 days ago1778947671IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000070270.00002033
Redeem1516596912026-05-16 7:55:592 days ago1778918159IN
Pika Protocol: Pika Perp V3
0 ETH0.0000000051210.00002035
Redeem1516596222026-05-16 7:53:412 days ago1778918021IN
Pika Protocol: Pika Perp V3
0 ETH0.000000002670.00000135
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075570512023-07-30 10:27:591023 days ago1690712879
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075564302023-07-30 10:07:171023 days ago1690711637
Pika Protocol: Pika Perp V3
0 ETH
1075552322023-07-30 9:27:211023 days ago1690709241
Pika Protocol: Pika Perp V3
0 ETH
1075552322023-07-30 9:27:211023 days ago1690709241
Pika Protocol: Pika Perp V3
0 ETH
1075552322023-07-30 9:27:211023 days ago1690709241
Pika Protocol: Pika Perp V3
0 ETH
1075552292023-07-30 9:27:151023 days ago1690709235
Pika Protocol: Pika Perp V3
0 ETH
1075552292023-07-30 9:27:151023 days ago1690709235
Pika Protocol: Pika Perp V3
0 ETH
1075552292023-07-30 9:27:151023 days ago1690709235
Pika Protocol: Pika Perp V3
0 ETH
1075552232023-07-30 9:27:031023 days ago1690709223
Pika Protocol: Pika Perp V3
0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

PikaPerpV3

Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_tokenBase","type":"uint256"},{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_feeCalculator","type":"address"},{"internalType":"address","name":"_fundingManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"positionId","type":"uint256"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"margin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMargin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newLeverage","type":"uint256"}],"name":"AddMargin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oracle","type":"address"},{"indexed":false,"internalType":"address","name":"feeCalculator","type":"address"},{"indexed":false,"internalType":"address","name":"fundingManager","type":"address"}],"name":"AddressesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"positionId","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"productId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"entryPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"margin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"leverage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"int256","name":"pnl","type":"int256"},{"indexed":false,"internalType":"int256","name":"fundingPayment","type":"int256"},{"indexed":false,"internalType":"bool","name":"wasLiquidated","type":"bool"}],"name":"ClosePosition","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newGov","type":"address"}],"name":"GovUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newGuardian","type":"address"}],"name":"GuardianUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"positionId","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"productId","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isLong","type":"bool"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oraclePrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"margin","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"leverage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isNextPrice","type":"bool"},{"indexed":false,"internalType":"int256","name":"funding","type":"int256"}],"name":"NewPosition","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PikaRewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"positionId","type":"uint256"},{"indexed":true,"internalType":"address","name":"liquidator","type":"address"},{"indexed":false,"internalType":"uint256","name":"liquidatorReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"remainingReward","type":"uint256"}],"name":"PositionLiquidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"productId","type":"uint256"},{"components":[{"internalType":"address","name":"productToken","type":"address"},{"internalType":"uint72","name":"maxLeverage","type":"uint72"},{"internalType":"uint16","name":"fee","type":"uint16"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint64","name":"openInterestLong","type":"uint64"},{"internalType":"uint64","name":"openInterestShort","type":"uint64"},{"internalType":"uint32","name":"minPriceChange","type":"uint32"},{"internalType":"uint32","name":"weight","type":"uint32"},{"internalType":"uint64","name":"reserve","type":"uint64"}],"indexed":false,"internalType":"struct PikaPerpV3.Product","name":"product","type":"tuple"}],"name":"ProductAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"productId","type":"uint256"},{"components":[{"internalType":"address","name":"productToken","type":"address"},{"internalType":"uint72","name":"maxLeverage","type":"uint72"},{"internalType":"uint16","name":"fee","type":"uint16"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint64","name":"openInterestLong","type":"uint64"},{"internalType":"uint64","name":"openInterestShort","type":"uint64"},{"internalType":"uint32","name":"minPriceChange","type":"uint32"},{"internalType":"uint32","name":"weight","type":"uint32"},{"internalType":"uint64","name":"reserve","type":"uint64"}],"indexed":false,"internalType":"struct PikaPerpV3.Product","name":"product","type":"tuple"}],"name":"ProductUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProtocolRewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareBalance","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isFullRedeem","type":"bool"}],"name":"Redeemed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"VaultRewardDistributed","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint128","name":"cap","type":"uint128"},{"internalType":"uint128","name":"balance","type":"uint128"},{"internalType":"uint96","name":"staked","type":"uint96"},{"internalType":"uint96","name":"shares","type":"uint96"},{"internalType":"uint64","name":"stakingPeriod","type":"uint64"}],"indexed":false,"internalType":"struct PikaPerpV3.Vault","name":"vault","type":"tuple"}],"name":"VaultUpdated","type":"event"},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"},{"internalType":"uint256","name":"margin","type":"uint256"}],"name":"addMargin","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"},{"components":[{"internalType":"address","name":"productToken","type":"address"},{"internalType":"uint72","name":"maxLeverage","type":"uint72"},{"internalType":"uint16","name":"fee","type":"uint16"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint64","name":"openInterestLong","type":"uint64"},{"internalType":"uint64","name":"openInterestShort","type":"uint64"},{"internalType":"uint32","name":"minPriceChange","type":"uint32"},{"internalType":"uint32","name":"weight","type":"uint32"},{"internalType":"uint64","name":"reserve","type":"uint64"}],"internalType":"struct PikaPerpV3.Product","name":"_product","type":"tuple"}],"name":"addProduct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"approvedManagers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"productId","type":"uint256"},{"internalType":"uint256","name":"margin","type":"uint256"},{"internalType":"bool","name":"isLong","type":"bool"}],"name":"closePosition","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"},{"internalType":"uint256","name":"margin","type":"uint256"}],"name":"closePositionWithId","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributePikaReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeProtocolReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeVaultReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exposureMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeCalculator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundingManager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productWeight","type":"uint256"}],"name":"getMaxExposure","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPendingPikaReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPendingProtocolReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPendingVaultReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"productId","type":"uint256"},{"internalType":"bool","name":"isLong","type":"bool"}],"name":"getPosition","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"productId","type":"uint256"},{"internalType":"bool","name":"isLong","type":"bool"}],"name":"getPositionId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"positionIds","type":"uint256[]"}],"name":"getPositions","outputs":[{"components":[{"internalType":"uint64","name":"productId","type":"uint64"},{"internalType":"uint64","name":"leverage","type":"uint64"},{"internalType":"uint64","name":"price","type":"uint64"},{"internalType":"uint64","name":"oraclePrice","type":"uint64"},{"internalType":"uint128","name":"margin","type":"uint128"},{"internalType":"int128","name":"funding","type":"int128"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"isLong","type":"bool"},{"internalType":"bool","name":"isNextPrice","type":"bool"},{"internalType":"uint80","name":"timestamp","type":"uint80"}],"internalType":"struct PikaPerpV3.Position[]","name":"_positions","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"}],"name":"getProduct","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakeOwner","type":"address"}],"name":"getShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"stakeOwner","type":"address"}],"name":"getStake","outputs":[{"components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"uint128","name":"shares","type":"uint128"},{"internalType":"uint128","name":"timestamp","type":"uint128"}],"internalType":"struct PikaPerpV3.Stake","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVault","outputs":[{"components":[{"internalType":"uint128","name":"cap","type":"uint128"},{"internalType":"uint128","name":"balance","type":"uint128"},{"internalType":"uint96","name":"staked","type":"uint96"},{"internalType":"uint96","name":"shares","type":"uint96"},{"internalType":"uint64","name":"stakingPeriod","type":"uint64"}],"internalType":"struct PikaPerpV3.Vault","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"positionIds","type":"uint256[]"}],"name":"liquidatePositions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidationThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidators","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"managers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxExposureMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxShift","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minMargin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minProfitTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nextPriceManagers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"productId","type":"uint256"},{"internalType":"uint256","name":"margin","type":"uint256"},{"internalType":"bool","name":"isLong","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"}],"name":"openPosition","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauseTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pikaRewardDistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pikaRewardRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolRewardDistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolRewardRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setAccountManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oracle","type":"address"},{"internalType":"address","name":"_feeCalculator","type":"address"},{"internalType":"address","name":"_fundingManager","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_protocolRewardDistributor","type":"address"},{"internalType":"address","name":"_pikaRewardDistributor","type":"address"},{"internalType":"address","name":"_vaultRewardDistributor","type":"address"},{"internalType":"address","name":"_vaultTokenReward","type":"address"}],"name":"setDistributors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_guardian","type":"address"}],"name":"setGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidator","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setLiquidator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minMargin","type":"uint256"}],"name":"setMinMargin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nextPriceManager","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setNextPriceManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxShift","type":"uint256"},{"internalType":"uint256","name":"_minProfitTime","type":"uint256"},{"internalType":"bool","name":"_canUserStake","type":"bool"},{"internalType":"bool","name":"_allowPublicLiquidator","type":"bool"},{"internalType":"bool","name":"_isManagerOnlyForOpen","type":"bool"},{"internalType":"bool","name":"_isManagerOnlyForClose","type":"bool"},{"internalType":"uint256","name":"_exposureMultiplier","type":"uint256"},{"internalType":"uint256","name":"_utilizationMultiplier","type":"uint256"},{"internalType":"uint256","name":"_maxExposureMultiplier","type":"uint256"},{"internalType":"uint256","name":"_liquidationBounty","type":"uint256"},{"internalType":"uint256","name":"_liquidationThreshold","type":"uint256"},{"internalType":"uint256","name":"_shiftDivider","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_protocolRewardRatio","type":"uint256"},{"internalType":"uint256","name":"_pikaRewardRatio","type":"uint256"}],"name":"setRewardRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isTradeEnabled","type":"bool"}],"name":"setTradeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shiftDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"totalOpenInterest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"productId","type":"uint256"},{"components":[{"internalType":"address","name":"productToken","type":"address"},{"internalType":"uint72","name":"maxLeverage","type":"uint72"},{"internalType":"uint16","name":"fee","type":"uint16"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"uint64","name":"openInterestLong","type":"uint64"},{"internalType":"uint64","name":"openInterestShort","type":"uint64"},{"internalType":"uint32","name":"minPriceChange","type":"uint32"},{"internalType":"uint32","name":"weight","type":"uint32"},{"internalType":"uint64","name":"reserve","type":"uint64"}],"internalType":"struct PikaPerpV3.Product","name":"_product","type":"tuple"}],"name":"updateProduct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint128","name":"cap","type":"uint128"},{"internalType":"uint128","name":"balance","type":"uint128"},{"internalType":"uint96","name":"staked","type":"uint96"},{"internalType":"uint96","name":"shares","type":"uint96"},{"internalType":"uint64","name":"stakingPeriod","type":"uint64"}],"internalType":"struct PikaPerpV3.Vault","name":"_vault","type":"tuple"}],"name":"updateVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"utilizationMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vaultRewardDistributor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vaultTokenReward","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
60806040526107d0600e55610bb8600f55620493e0601055615460601155612710601381905560145560036015819055611388601655611f40601755601c55601d805464ffffffffff1916620100011790553480156200005e57600080fd5b50604051620061893803806200618983398101604081905262000081916200011d565b600160008190558054336001600160a01b03199182168117909255600280548216831790556003805482169092179091556004805482166001600160a01b03978816179055600c9490945560058054851693861693909317909255600a80548416918516919091179055600b8054909216921691909117905562000184565b80516001600160a01b03811681146200011857600080fd5b919050565b600080600080600060a086880312156200013657600080fd5b620001418662000100565b945060208601519350620001586040870162000100565b9250620001686060870162000100565b9150620001786080870162000100565b90509295509295909350565b615ff580620001946000396000f3fe6080604052600436106103cd5760003560e01c80637f47a102116101fd578063bc95baad11610118578063d48788b9116100ab578063e19a60e11161007a578063e19a60e114610e73578063ef88f45614610e89578063f90cdb3614610ea9578063fbb48bc114610ed9578063fdff9b4d14610eee57600080fd5b8063d48788b914610e07578063d5c73dab14610e27578063d65fe35514610e3d578063d9ac422514610e5d57600080fd5b8063cd84db09116100e7578063cd84db0914610d9e578063cfad57a214610dbe578063d41194b814610dde578063d468e2a914610df157600080fd5b8063bc95baad14610ce6578063bdced6d514610d55578063be73ca5714610d6b578063bed5755414610d7e57600080fd5b806396c82e5711610190578063a5e90eee1161015f578063a5e90eee14610b40578063b00eb9fe14610b60578063b7eddbe714610b80578063b9db15b414610bb057600080fd5b806396c82e5714610ad457806396f7938414610aea578063a0448fc514610b0a578063a082cdd214610b2057600080fd5b80638c10ad1b116101cc5780638c10ad1b146109775780638d928af81461098c5780638da5cb5b14610a9457806392187a2714610ab457600080fd5b80637f47a102146108ce57806381a3daca14610921578063841a4b51146109415780638a0dac4a1461095757600080fd5b80634031234c116102ed5780635b382989116102805780636e20c3b41161024f5780636e20c3b41461078a5780637a7664601461079f5780637acb77571461089b5780637dc0d1d0146108ae57600080fd5b80635b3829891461071e5780635c833bfd146107345780635f3b2180146107545780636a04dd221461076a57600080fd5b80634c723c28116102bc5780634c723c28146106915780634d452ec0146106be578063560fdef9146106de5780635828a437146106fe57600080fd5b80634031234c146105f95780634453a3741461060f578063452a93201461062f5780634b3ab9c51461064f57600080fd5b80631ea8c3a71161036557806339c294be1161033457806339c294be146105895780633bec2bf31461059f5780633ee19763146105bf5780633f06cd66146105d457600080fd5b80631ea8c3a7146105115780631fbeef4e146105345780632cc2734114610549578063363bf9641461056957600080fd5b806312d43a51116103a157806312d43a511461049157806313af4035146104b157806316ebb015146104d15780631ba93844146104f157600080fd5b80621b7934146103d257806304baed9e146103f45780630cf7d564146104315780631031e36e1461047c575b600080fd5b3480156103de57600080fd5b506103f26103ed36600461595b565b610f1e565b005b34801561040057600080fd5b50600b54610414906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561043d57600080fd5b5061046c61044c3660046154d8565b602660209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610428565b34801561048857600080fd5b506103f2610f49565b34801561049d57600080fd5b50600354610414906001600160a01b031681565b3480156104bd57600080fd5b506103f26104cc3660046154bd565b610f9f565b3480156104dd57600080fd5b506103f26104ec366004615882565b610ffc565b3480156104fd57600080fd5b50600854610414906001600160a01b031681565b34801561051d57600080fd5b50610526611395565b604051908152602001610428565b34801561054057600080fd5b5061052661145d565b34801561055557600080fd5b506103f2610564366004615846565b61151b565b34801561057557600080fd5b506103f261058436600461550b565b611528565b34801561059557600080fd5b50610526600d5481565b3480156105ab57600080fd5b506103f26105ba366004615758565b6115ac565b3480156105cb57600080fd5b506105266115f9565b3480156105e057600080fd5b50601f54600160601b90046001600160601b0316610526565b34801561060557600080fd5b5061052660175481565b34801561061b57600080fd5b506103f261062a3660046155a2565b61161f565b34801561063b57600080fd5b50600254610414906001600160a01b031681565b34801561065b57600080fd5b5061052661066a3660046154bd565b6001600160a01b03166000908152602160205260409020600101546001600160801b031690565b34801561069d57600080fd5b506106b16106ac3660046156e4565b611652565b6040516104289190615ad5565b3480156106ca57600080fd5b506103f26106d93660046156e4565b611820565b3480156106ea57600080fd5b506103f26106f936600461564c565b611916565b34801561070a57600080fd5b50610526610719366004615846565b611930565b34801561072a57600080fd5b5061052660145481565b34801561074057600080fd5b506103f261074f3660046155d9565b611981565b34801561076057600080fd5b50610526600e5481565b34801561077657600080fd5b506103f26107853660046155a2565b611e4e565b34801561079657600080fd5b50610526611e81565b3480156107ab57600080fd5b506108496107ba3660046154bd565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03908116600090815260216020908152604091829020825160808101845281549485168152600160a01b9094046001600160601b031691840191909152600101546001600160801b0380821692840192909252600160801b900416606082015290565b6040805182516001600160a01b031681526020808401516001600160601b031690820152828201516001600160801b039081169282019290925260609283015190911691810191909152608001610428565b6103f26108a936600461585f565b611e98565b3480156108ba57600080fd5b50600554610414906001600160a01b031681565b3480156108da57600080fd5b506103f26108e93660046155a2565b3360009081526026602090815260408083206001600160a01b0395909516835293905291909120805460ff1916911515919091179055565b34801561092d57600080fd5b50600754610414906001600160a01b031681565b34801561094d57600080fd5b5061052660135481565b34801561096357600080fd5b506103f26109723660046154bd565b6123a5565b34801561098357600080fd5b506105266123fb565b34801561099857600080fd5b50610a2d6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506040805160a081018252601e546001600160801b038082168352600160801b909104166020820152601f546001600160601b0380821693830193909352600160601b81049092166060820152600160c01b9091046001600160401b0316608082015290565b6040516104289190600060a0820190506001600160801b038084511683528060208501511660208401525060408301516001600160601b03808216604085015280606086015116606085015250506001600160401b03608084015116608083015292915050565b348015610aa057600080fd5b50600154610414906001600160a01b031681565b348015610ac057600080fd5b506103f2610acf366004615882565b612412565b348015610ae057600080fd5b5061052660125481565b348015610af657600080fd5b506103f2610b0536600461597d565b6125d3565b348015610b1657600080fd5b5061052660105481565b348015610b2c57600080fd5b506103f2610b3b36600461554e565b61269e565b348015610b4c57600080fd5b506103f2610b5b3660046155a2565b6126f6565b348015610b6c57600080fd5b50600a54610414906001600160a01b031681565b348015610b8c57600080fd5b5061046c610b9b3660046154bd565b60246020526000908152604090205460ff1681565b348015610bbc57600080fd5b50610c98610bcb366004615846565b6000908152602080805260409182902082516101208101845281546001600160a01b038116808352600160a01b8083046001600160481b0316958401869052600160e81b830461ffff16968401879052600160f81b90920460ff161515606084018190526001909401546001600160401b0380821660808601819052600160401b8304821660a08701819052600160801b840463ffffffff90811660c089018190529685041660e08801819052600160c01b90940490921661010090960186905292989697969294909392565b604080516001600160a01b03909a168a5260208a0198909852968801959095529215156060870152608086019190915260a085015260c084015260e083015261010082015261012001610428565b348015610cf257600080fd5b50610d06610d0136600461560c565b612729565b60408051998a5260208a019890985296880195909552606087019390935260808601919091526001600160a01b031660a085015260c0840152151560e083015261010082015261012001610428565b348015610d6157600080fd5b50610526601c5481565b6103f2610d79366004615694565b61298b565b348015610d8a57600080fd5b50600654610414906001600160a01b031681565b348015610daa57600080fd5b506103f2610db936600461595b565b613320565b348015610dca57600080fd5b506103f2610dd93660046154bd565b6138f7565b6103f2610dec36600461595b565b61394d565b348015610dfd57600080fd5b50610526601b5481565b348015610e1357600080fd5b50600954610414906001600160a01b031681565b348015610e3357600080fd5b5061052660155481565b348015610e4957600080fd5b50610526610e5836600461560c565b613b66565b348015610e6957600080fd5b5061052660115481565b348015610e7f57600080fd5b50610526600f5481565b348015610e9557600080fd5b506103f2610ea43660046157ab565b613bbd565b348015610eb557600080fd5b5061046c610ec43660046154bd565b60236020526000908152604090205460ff1681565b348015610ee557600080fd5b50610526613cd5565b348015610efa57600080fd5b5061046c610f093660046154bd565b60256020526000908152604090205460ff1681565b610f26613d93565b612710610f338284615d0f565b1115610f3e57600080fd5b600e91909155600f55565b6002546001600160a01b03163314610f915760405162461bcd60e51b81526020600482015260066024820152650859dd585c9960d21b60448201526064015b60405180910390fd5b601d805462ff00ff19169055565b610fa7613dd8565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b906020015b60405180910390a150565b611004613d93565b6000821161101157600080fd5b6000828152602080805260409182902082516101208101845281546001600160a01b0381168252600160a01b8082046001600160481b0316948301859052600160e81b820461ffff1695830195909552600160f81b900460ff16151560608201526001909101546001600160401b038082166080840152600160401b8204811660a0840152600160801b820463ffffffff90811660c085015294820490941660e0830152600160c01b90049092166101008301521580156110ec57506110dc6305f5e1006001615e32565b82602001516001600160481b0316115b8015611101575081516001600160a01b031615155b61110a57600080fd5b60405180610120016040528083600001516001600160a01b0316815260200183602001516001600160481b03168152602001836040015161ffff16815260200160011515815260200160006001600160401b0316815260200160006001600160401b031681526020018360c0015163ffffffff1681526020018360e0015163ffffffff1681526020018361010001516001600160401b03168152506020600085815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a8154816001600160481b0302191690836001600160481b03160217905550604082015181600001601d6101000a81548161ffff021916908361ffff160217905550606082015181600001601f6101000a81548160ff02191690831515021790555060808201518160010160006101000a8154816001600160401b0302191690836001600160401b0316021790555060a08201518160010160086101000a8154816001600160401b0302191690836001600160401b0316021790555060c08201518160010160106101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160010160146101000a81548163ffffffff021916908363ffffffff1602179055506101008201518160010160186101000a8154816001600160401b0302191690836001600160401b031602179055509050508160e0015163ffffffff166012546113469190615d0f565b60125560008381526020805260409081902090517fae1599937d786915756d636f19bbbde0f7561e39f29395e714035fee6eb8a6559161138891869190615c57565b60405180910390a1505050565b6007546000906001600160a01b031633146113c25760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c546019546113d99190615e32565b6113e39190615d99565b60195490915015611458576000601955600754600454611410916001600160a01b03918216911683613e1b565b600754604080516001600160a01b039092168252602082018390527f304116b7df0fff49d35547e731489e0e2f288bf99c5293f5fb4697671108280d91015b60405180910390a15b919050565b6006546000906001600160a01b0316331461148a5760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c546018546114a19190615e32565b6114ab9190615d99565b601854909150156114585760006018556006546004546114d8916001600160a01b03918216911683613e1b565b600654604080516001600160a01b039092168252602082018390527ffbbb21b60e499f2366d8f9dbdb1884e047dcf008673ee2c189b6153bfacc06e8910161144f565b611523613d93565b600d55565b611530613d93565b600580546001600160a01b038581166001600160a01b03199283168117909355600a80548683169084168117909155600b8054928616929093168217909255604080519384526020840192909252908201527ffa46f045092280873921fe7e8bd94f64c996911a0bae60b09d487935b9117e7a90606001611388565b6001546001600160a01b03163314806115d457503360009081526025602052604090205460ff165b6115dd57600080fd5b601d8054911515620100000262ff000019909216919091179055565b60006305f5e100600c54601a546116109190615e32565b61161a9190615d99565b905090565b611627613d93565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b606081806001600160401b0381111561166d5761166d615f98565b6040519080825280602002602001820160405280156116ec57816020015b604080516101408101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820152825260001990920191018161168b5790505b50915060005b81811015611818576022600086868481811061171057611710615f82565b6020908102929092013583525081810192909252604090810160002081516101408101835281546001600160401b038082168352600160401b8204811695830195909552600160801b808204861694830194909452600160c01b9004909316606084015260018101546001600160801b038116608085015291909104600f90810b810b900b60a0830152600201546001600160a01b03811660c083015260ff600160a01b82048116151560e0840152600160a81b82041615156101008301526001600160501b03600160b01b9091041661012082015283518490839081106117fa576117fa615f82565b6020026020010181905250808061181090615f3b565b9150506116f2565b505092915050565b3360009081526023602052604090205460ff16806118455750601d54610100900460ff165b61187f5760405162461bcd60e51b815260206004820152600b60248201526a10b634b8bab4b230ba37b960a91b6044820152606401610f88565b6000805b828110156118d657600084848381811061189f5761189f615f82565b90506020020135905060006118b382613ed8565b90506118bf8185615d0f565b9350505080806118ce90615f3b565b915050611883565b50801561191157611911336305f5e100600c54846118f49190615e32565b6118fe9190615d99565b6004546001600160a01b03169190613e1b565b505050565b61192a611924858584613b66565b83613320565b50505050565b601254601354601e5460009261271092909161195d908690600160801b90046001600160801b0316615e32565b6119679190615e32565b6119719190615d99565b61197b9190615d99565b92915050565b601f54600160601b90046001600160601b031682118015906119b957506001600160a01b0383163314806119b957506119b983614337565b6119ef5760405162461bcd60e51b81526020600482015260076024820152662172656465656d60c81b6044820152606401610f88565b60085460405163632447c960e01b81526001600160a01b0385811660048301529091169063632447c990602401600060405180830381600087803b158015611a3657600080fd5b505af1158015611a4a573d6000803e3d6000fd5b505060095460405163632447c960e01b81526001600160a01b038781166004830152909116925063632447c99150602401600060405180830381600087803b158015611a9557600080fd5b505af1158015611aa9573d6000803e3d6000fd5b505050506001600160a01b038316600090815260216020526040902060018101546001600160801b03168310801590611aed5760018201546001600160801b031693505b6001820154600090611b0f90600160801b90046001600160801b031642615eb8565b601f54909150600160c01b90046001600160401b03168111611b5d5760405162461bcd60e51b8152602060048201526007602482015266085c195c9a5bd960ca1b6044820152606401610f88565b601f54601e54600091600160601b90046001600160601b031690611b9190600160801b90046001600160801b031688615e32565b611b9b9190615d99565b600185015485549192506000916001600160801b0390911690611bce90600160a01b90046001600160601b031689615e32565b611bd89190615d99565b855490915081908690601490611bff908490600160a01b90046001600160601b0316615eef565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550868560010160008282829054906101000a90046001600160801b0316611c499190615e90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080601e60010160008282829054906101000a90046001600160601b0316611c949190615eef565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555086601e600101600c8282829054906101000a90046001600160601b0316611cdf9190615eef565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555081601e60000160108282829054906101000a90046001600160801b0316611d2a9190615e90565b82546101009290920a6001600160801b03818102199093169183160217909155601454601e546127109350611d6792600160801b90910416615e32565b611d719190615d99565b601b541115611dae5760405162461bcd60e51b8152602060048201526009602482015268085d5d1a5b1a5e995960ba1b6044820152606401610f88565b8315611dd4576001600160a01b0388166000908152602160205260408120818155600101555b611deb866305f5e100600c54856118f49190615e32565b604080518281526020810189905290810183905284151560608201526001600160a01b0380881691908a16907f30206d71da61810927dedb2756551723d7c2db787080c7b18eee56883a6b8ce89060800160405180910390a35050505050505050565b611e56613d93565b6001600160a01b03919091166000908152602460205260409020805460ff1916911515919091179055565b60006305f5e100600c546019546116109190615e32565b60026000541415611ebb5760405162461bcd60e51b8152600401610f8890615c20565b6002600055601d5460ff1680611edb57506001546001600160a01b031633145b8015611efd5750336001600160a01b0382161480611efd5750611efd81614337565b611f325760405162461bcd60e51b8152602060048201526006602482015265217374616b6560d01b6044820152606401610f88565b60085460405163632447c960e01b81526001600160a01b0383811660048301529091169063632447c990602401600060405180830381600087803b158015611f7957600080fd5b505af1158015611f8d573d6000803e3d6000fd5b505060095460405163632447c960e01b81526001600160a01b038581166004830152909116925063632447c99150602401600060405180830381600087803b158015611fd857600080fd5b505af1158015611fec573d6000803e3d6000fd5b505050506120226305f5e100600c54846120069190615e32565b6120109190615d99565b6004546001600160a01b03169061437b565b601e54601f546001600160801b03909116906120489084906001600160601b0316615d0f565b111561207f5760405162461bcd60e51b8152600401610f88906020808252600490820152630216361760e41b604082015260600190565b601f546000906001600160601b031661209857826120d4565b601e54601f54600160801b9091046001600160801b0316906120ca90600160601b90046001600160601b031685615e32565b6120d49190615d99565b601e805491925084916010906120fb908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555082601e60010160008282829054906101000a90046001600160601b03166121469190615d49565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555080601e600101600c8282829054906101000a90046001600160601b03166121919190615d49565b82546101009290920a6001600160601b038181021990931691831602179091556001600160a01b038416600090815260216020526040902054600160a01b9004161515905061226057604080516080810182526001600160a01b038085168083526001600160601b0380881660208086019182526001600160801b0380891687890190815242821660608901908152600096875260219093529790942095519151909216600160a01b029316929092178355925190518316600160801b02921691909117600190910155612357565b6001600160a01b0382166000908152602160205260409020805484919060149061229b908490600160a01b90046001600160601b0316615d49565b82546001600160601b039182166101009390930a9283029190920219909116179055506001600160a01b038216600090815260216020526040812060010180548392906122f29084906001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061231f82614337565b612357576001600160a01b038216600090815260216020526040902060010180546001600160801b03428116600160801b0291161790555b60408051848152602081018390526001600160a01b038416917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a25050600160005550565b6123ad613dd8565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f6bb7ff33e730289800c62ad882105a144a74010d2bdbb9a942544a3005ad55bf90602001610ff1565b60006305f5e100600c546018546116109190615e32565b61241a613d93565b6000821161242757600080fd5b600082815260208052604090208054600160a01b90046001600160481b03161580159061246f575061245e6305f5e1006001615e32565b82602001516001600160481b031610155b8015612484575081516001600160a01b031615155b61248d57600080fd5b815181546020840151604085015160608601516001600160a01b039094166001600160e81b031990931692909217600160a01b6001600160481b039092168202176001600160e81b0316600160e81b61ffff909316929092026001600160f81b031691909117600160f81b9215159290920291909117825560c083015160018301805463ffffffff60801b1916600160801b63ffffffff93841602179081905560e08501516012549083169361254893920490911690615eb8565b6125529190615d0f565b60125560e08201516001820180546101008501516001600160401b0316600160c01b026001600160c01b0363ffffffff909416600160a01b02939093166001600160a01b03909116179190911790556040517f9df0507ff2ae29bd255288700609934436e327efda151e41849aa6bdd84dde27906113889085908490615c57565b6125db613d93565b620f42408c111580156125f15750620151808b11155b80156125fd5750600081115b801561260a575061138882115b80156126165750600084115b61261f57600080fd5b60109b909b55601199909955601d80549515156401000000000264ff00000000199715156301000000029790971664ffff000000199815156101000261ff00199a15159a909a1661ffff199097169690961798909817969096169390931793909317909455601393909355601455601591909155601655601755601c55565b6126a6613d93565b600680546001600160a01b039586166001600160a01b0319918216179091556007805494861694821694909417909355600880549285169284169290921790915560098054919093169116179055565b6126fe613d93565b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b600080600080600080600080600080602260006127478f8f8f613b66565b8152602001908152602001600020604051806101400160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160109054906101000a9004600f0b600f0b600f0b81526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a900460ff161515151581526020016002820160159054906101000a900460ff161515151581526020016002820160169054906101000a90046001600160501b03166001600160501b03166001600160501b031681525050905080600001516001600160401b031681602001516001600160401b031682604001516001600160401b031683606001516001600160401b031684608001516001600160801b03168560c001518661012001516001600160501b03168760e001518860a0015180600f0b90509950995099509950995099509950995099505093979b92969a50939750939750565b600260005414156129ae5760405162461bcd60e51b8152600401610f8890615c20565b60026000556129bc85614337565b806129e45750601d546301000000900460ff161580156129e457506001600160a01b03851633145b612a005760405162461bcd60e51b8152600401610f8890615bdf565b601d5462010000900460ff16612a435760405162461bcd60e51b815260206004820152600860248201526708595b98589b195960c21b6044820152606401610f88565b600d548310158015612a5b57506001600160401b0383105b612a915760405162461bcd60e51b815260206004820152600760248201526610b6b0b933b4b760c91b6044820152606401610f88565b612aa06305f5e1006001615e32565b811015612ad85760405162461bcd60e51b8152600401610f889060208082526004908201526310b632bb60e11b604082015260600190565b600084815260208052604090208054600160f81b900460ff16612b275760405162461bcd60e51b81526020600482015260076024820152662161637469766560c81b6044820152606401610f88565b8054600160a01b90046001600160481b0316821115612b735760405162461bcd60e51b815260206004820152600860248201526710b6b0bc16b632bb60c11b6044820152606401610f88565b8054600a54600091612ba5918791869161ffff600160e81b830416916001600160a01b03908116918d91339116614451565b9050612bc86305f5e100600c548388612bbe9190615d0f565b6120069190615e32565b612bd181614528565b81546001830154601254601354601e54600094612c8b946001600160a01b03909116938a936001600160401b0380841694600160401b850490911693612710939291612c3a91600160a01b900463ffffffff1690600160801b90046001600160801b0316615e32565b612c449190615e32565b612c4e9190615d99565b612c589190615d99565b6001890154600160c01b90046001600160401b03166305f5e100612c7c8c8f615e32565b612c869190615d99565b6145c4565b9050612cb2876305f5e100612ca0878a615e32565b612caa9190615d99565b876001614822565b600b54604051633afb52f560e21b8152600481018990526000916001600160a01b03169063ebed4bd49060240160206040518083038186803b158015612cf757600080fd5b505afa158015612d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2f9190615792565b9050600060226000612d428c8c8b613b66565b8152602081019190915260400160002060018101549091506001600160801b031615612f3f57612d728689615e32565b81546001830154612d9c91600160401b90046001600160401b0316906001600160801b0316615e32565b612da69190615d0f565b83612db1888b615e32565b612dbb9190615e32565b825460018401546001600160401b03600160801b8304811692612df292600160401b909104909116906001600160801b0316615e32565b612dfc9190615e32565b612e069190615d0f565b612e109190615d99565b9250612e1c8689615e32565b81546001830154612e4691600160401b90046001600160401b0316906001600160801b0316615dad565b612e509190615ca3565b82612e5b888b615e32565b612e659190615dad565b60018301548354600160801b8204600f90810b900b91612e9e91600160401b90046001600160401b0316906001600160801b0316615dad565b612ea89190615dad565b612eb29190615ca3565b612ebc9190615d6b565b6001820154909250612ed89089906001600160801b0316615d0f565b612ee2878a615e32565b82546001840154612f0c91600160401b90046001600160401b0316906001600160801b0316615e32565b612f169190615d0f565b612f209190615d99565b6001820154909650612f3c9089906001600160801b0316615d0f565b97505b60408051610140810182526001600160401b038b811682528881166020830152851681830152600554875492516341976e0960e01b81526001600160a01b039384166004820152919260608401929116906341976e099060240160206040518083038186803b158015612fb157600080fd5b505afa158015612fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe99190615792565b6001600160401b031681526001600160801b03808b166020830152600f85900b60408301526001600160a01b038d1660608301528915156080830152600184015460a0909201911615613069576002830154600160a81b900460ff1615613062573360009081526024602052604090205460ff1661307d565b600061307d565b3360009081526024602052604090205460ff165b15158152602001426001600160501b0316815250602260006130a08d8d8c613b66565b8152602080820192909252604090810160002083518154938501519285015160608601516001600160401b03908116600160c01b026001600160c01b03928216600160801b908102939093166001600160801b03968316600160401b026001600160801b0319909816929094169190911795909517841691909117939093178155608084015160a0850151600f0b83169093029290911691909117600182015560c08201516002909101805460e0840151610100850151610120909501516001600160501b0316600160b01b026001600160b01b03951515600160a81b02959095166001600160a81b03911515600160a01b026001600160a81b03199093166001600160a01b03958616179290921716179290921790915589908b166131c78c838b613b66565b60055488546040516341976e0960e01b81526001600160a01b0391821660048201527ff0179f06d5592030053869d8d0ae508420786cda1b88f04f1611215f029a35ab928d928a929116906341976e099060240160206040518083038186803b15801561323357600080fd5b505afa158015613247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326b9190615792565b60018801548f908e908d906001600160801b0316156132b75760028b0154600160a81b900460ff16156132b0573360009081526024602052604090205460ff166132cb565b60006132cb565b3360009081526024602052604090205460ff165b6040805197151588526020880196909652948601939093526060850191909152608084015260a0830152151560c082015260e081018790526101000160405180910390a4505060016000555050505050505050565b600260005414156133435760405162461bcd60e51b8152600401610f8890615c20565b600260008181558381526022602052604090209081015461336c906001600160a01b0316614337565b806133995750601d54640100000000900460ff16158015613399575060028101546001600160a01b031633145b6133ce5760405162461bcd60e51b815260206004820152600660248201526521636c6f736560d01b6044820152606401610f88565b80546001600160401b03166000908152602080526040812060018301549091906001600160801b0316841061341057506001808301546001600160801b031693505b815460028401546001840154600092613497926001600160a01b0390911691600160a01b9182900460ff1615916001600160401b0380831692600160401b810490911691613464910463ffffffff16611930565b60018901548a546001600160401b03600160c01b9092048216916305f5e10091612c7c91600160401b909104168e615e32565b84549091506134e4906001600160401b03808216916305f5e100916134c491600160401b90041689615e32565b6134ce9190615d99565b6002870154600160a01b900460ff166000614822565b600b5460028501548554600187015460009361353c936001600160a01b0390911692600160a01b90910460ff16916001600160401b0380831692600160401b900416908b90600160801b9004600f90810b900b614bb8565b60028601548654919250600091839161357d91600160a01b90910460ff1690600160801b81046001600160401b0390811691600160401b9004168b88614d39565b6135879190615e51565b9050600080821280156135bf5750612710601754896135a69190615e32565b6135b09190615d99565b6135bc83600019615dad565b10155b156135eb5760018701546001600160801b031697506135e088600019615dad565b915060019050613707565b6000821380156136cb57506002870154875460055488546040516341976e0960e01b81526001600160a01b0391821660048201526136c994600160a01b810460ff1694600160b01b9091046001600160501b031693600160c01b9091046001600160401b03169216906341976e099060240160206040518083038186803b15801561367557600080fd5b505afa158015613689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ad9190615792565b60018b0154601154600160801b90910463ffffffff1690614e49565b155b80156136fd57506002870154600160a81b900460ff1615806136fd57503360009081526024602052604090205460ff16155b1561370757600091505b604080516101408101825288546001600160401b038082168352600160401b820481166020840152600160801b808304821694840194909452600160c01b90910416606082015260018901546001600160801b038116608083015291909104600f90810b810b900b60a082015260028801546001600160a01b0380821660c0840152600160a01b820460ff908116151560e0850152600160a81b8304161515610100840152600160b01b9091046001600160501b031661012083015287546000926137e29286928d91600160e81b820461ffff169116614ee4565b885460028a0154604080518981526001600160401b03600160801b8504811660208301529181018e9052600160401b8404821660608201526080810185905260a0810188905260c0810189905286151560e0820152939450909116916001600160a01b03909116908c907f980658f6b65b51ce7d353bc2f9110e33617a69ab8dd85ed76e70546542ebea25906101000160405180910390a485156138a15760008a815260226020526040812081815560018101829055600201556138e6565b6001880180548a91906000906138c19084906001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505060016000555050505050505050565b6138ff613dd8565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527fb49a738bf7c18189b8cd3a6cd9d2b44045ca8070a4fa7e9db46ecfcbedee6bd990602001610ff1565b600260005414156139705760405162461bcd60e51b8152600401610f8890615c20565b6002600055600c5461398c906305f5e100906120069084615e32565b600d548110156139c85760405162461bcd60e51b815260206004820152600760248201526610b6b0b933b4b760c91b6044820152606401610f88565b600082815260226020526040902060028101546001600160a01b0316331480613a0357506002810154613a03906001600160a01b0316614337565b613a1f5760405162461bcd60e51b8152600401610f8890615bdf565b6001810154600090613a3b9084906001600160801b0316615d0f565b600183015483549192506000918391613a6f916001600160801b0390911690600160401b90046001600160401b0316615e32565b613a799190615d99565b9050613a8a6305f5e1006001615e32565b811015613ac45760405162461bcd60e51b815260206004820152600860248201526710b637bb96b632bb60c11b6044820152606401610f88565b6001830180546001600160801b0319166001600160801b038416179055825467ffffffffffffffff60401b1916600160401b6001600160401b03831602178355600283015460408051868152602081018590529081018390526001600160a01b0390911690339087907f52886499ee3ba77a4723fcad28056225444bfac6cfd378dbfbca0d67af42c4d89060600160405180910390a450506001600055505050565b6040516bffffffffffffffffffffffff19606085901b1660208201526034810183905281151560f81b60548201526000906055016040516020818303038152906040528051906020012060001c90505b9392505050565b613bc5613d93565b80516001600160801b031615801590613beb5750600081608001516001600160401b0316115b8015613c06575062278d0081608001516001600160401b0316105b613c225760405162461bcd60e51b8152600401610f8890615bdf565b8051601e80546001600160801b039092166001600160801b0319909216821790819055608080840151601f80546001600160401b03909216600160c01b026001600160c01b0383168117918290556040805196875294841c60208701526001600160601b039283169083161793850193909352606083811c9091169084015260c09190911c908201527f2d9cc21237ea57f9e0e36a44c912e0029cbd58e3fd16cd8fdee450927308cb839060a001610ff1565b6008546000906001600160a01b03163314613d025760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c54601a54613d199190615e32565b613d239190615d99565b601a5490915015611458576000601a55600854600454613d50916001600160a01b03918216911683613e1b565b600854604080516001600160a01b039092168252602082018390527f19ffdf6391d49bb1730b3f4d19c279b1275dddf2a4e981af93b1099c111369e6910161144f565b6001546001600160a01b03163314613dd65760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606401610f88565b565b6003546001600160a01b03163314613dd65760405162461bcd60e51b8152600401610f889060208082526004908201526310b3b7bb60e11b604082015260600190565b8015611911576001600160a01b038316613ec4576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613e7c576040519150601f19603f3d011682016040523d82523d6000602084013e613e81565b606091505b505090508061192a5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610f88565b6119116001600160a01b038416838361512f565b600081815260226020526040812080546001600160401b0316613efe5750600092915050565b80546001600160401b03166000908152602080526040808220600554815492516341976e0960e01b81526001600160a01b03938416600482015291939216906341976e099060240160206040518083038186803b158015613f5e57600080fd5b505afa158015613f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f969190615792565b83546001850154919250600091613fd5916001600160401b03808216926305f5e100926134c492600160401b90910416906001600160801b0316615e32565b600b54600285015485546001870154600093614036936001600160a01b0390911692600160a01b90910460ff16916001600160401b0380831692600160401b900416906001600160801b03811690600160801b9004600f90810b900b614bb8565b600286015486546001880154929350600092849261408592600160a01b90910460ff1691600160801b82046001600160401b0390811692600160401b900416906001600160801b031689614d39565b61408f9190615e51565b90506000811215806140d257506017546001870154612710916140ba916001600160801b0316615e32565b6140c49190615d99565b6140d082600019615dad565b105b156140e557506000979650505050505050565b6140f181600019615dad565b60018701546001600160801b031611156141cc57600061411382600019615dad565b6016546001890154919250612710916141369084906001600160801b0316615eb8565b6141409190615e32565b61414a9190615d99565b600188015490985088906141689083906001600160801b0316615eb8565b6141729190615eb8565b935061417d84614528565b601e80548291906010906141a2908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505061421c565b6001860154601e80546001600160801b03928316926010916141f7918591600160801b900416615ce4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8554600287015460018801546001600160401b03808416936001600160a01b03909316928c927f980658f6b65b51ce7d353bc2f9110e33617a69ab8dd85ed76e70546542ebea25928a92600160801b81048216926001600160801b031691600160401b90910416600061429183600019615dad565b604080519687526020870195909552938501929092526060840152608083015260a082015260c08101879052600160e08201526101000160405180910390a460008881526022602090815260408083208381556001810184905560020192909255815189815290810185905233918a917f6f7734c2b603545392ede46279193d0b944bffb5d4c822bb78cd37eb6c2aadc9910160405180910390a3505050505050919050565b3360009081526025602052604081205460ff16801561197b5750506001600160a01b0316600090815260266020908152604080832033845290915290205460ff1690565b8015614438576001600160a01b03821661443c57803410156143df5760405162461bcd60e51b815260206004820152601a60248201527f556e6945524332303a206e6f7420656e6f7567682076616c75650000000000006044820152606401610f88565b803411156144385760006143f33483615192565b604051909150600090339083908381818185875af1925050503d8060008114613e7c576040519150601f19603f3d011682016040523d82523d6000602084013e613e81565b5050565b6144386001600160a01b03831633308461519e565b6040516333a3a92d60e11b81526001600160a01b03858116600483015260248201879052848116604483015283811660648301526000918291841690636747525a9060840160206040518083038186803b1580156144ae57600080fd5b505afa1580156144c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144e69190615792565b9050612710816305f5e1006144fb8b8d615e32565b6145059190615d99565b61450f9190615e32565b6145199190615d99565b9150505b979650505050505050565b612710600e54826145399190615e32565b6145439190615d99565b6018546145509190615d0f565b601855600f54612710906145649083615e32565b61456e9190615d99565b60195461457b9190615d0f565b601955600f54600e5461271091906145939083615eb8565b61459d9190615eb8565b6145a79083615e32565b6145b19190615d99565b601a546145be9190615d0f565b601a5550565b60008087614655576005546040516303b6b4bb60e51b81526001600160a01b038b8116600483015260006024830152909116906376d697609060440160206040518083038186803b15801561461857600080fd5b505afa15801561462c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146509190615792565b6146d9565b6005546040516303b6b4bb60e51b81526001600160a01b038b8116600483015260016024830152909116906376d697609060440160206040518083038186803b1580156146a157600080fd5b505afa1580156146b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d99190615792565b9050600085601054888a6146ed9190615e51565b6146f79190615dad565b6147019190615d6b565b905088156147b0576000846305f5e1008761471c8382615eb8565b6147268a80615e32565b6147309190615d99565b61473a9190615eb8565b6147449190615e32565b61474e9190615d99565b9050600082121561478157601c5461476883600019615dad565b6147729190615d99565b61477c9082615eb8565b61478b565b61478b8282615d0f565b90506305f5e10061479c8285615e32565b6147a69190615d99565b935050505061451d565b6000846305f5e1006147c28289615d0f565b6147cc8980615e32565b6147d69190615d99565b6147e09089615eb8565b6147ea9190615e32565b6147f49190615d99565b9050600082121561480b5761477282600019615dad565b601c546148189083615d99565b61478b9082615d0f565b600b54604051636ea9f13960e01b8152600481018690526001600160a01b0390911690636ea9f13990602401600060405180830381600087803b15801561486857600080fd5b505af115801561487c573d6000803e3d6000fd5b5050506000858152602080526040902090508115614acd5783601b546148a29190615d0f565b601b5560018101546000906148c390600160a01b900463ffffffff16611930565b601454601e54919250612710916148ea9190600160801b90046001600160801b0316615e32565b6148f49190615d99565b601b541115801561493d57508060155461490e9190615e32565b60018301548690614931906001600160401b03600160401b820481169116615d0f565b61493b9190615d0f565b105b6149725760405162461bcd60e51b8152602060048201526006602482015265216d61784f4960d01b6044820152606401610f88565b8315614a175760018201546149919086906001600160401b0316615d27565b60018301805467ffffffffffffffff19166001600160401b0392831617908190556149c591600160401b9091041682615d0f565b60018301546001600160401b03161115614a125760405162461bcd60e51b815260206004820152600e60248201526d216578706f737572652d6c6f6e6760901b6044820152606401610f88565b614ac7565b6001820154614a37908690600160401b90046001600160401b0316615d27565b6001830180546001600160401b03928316600160401b0267ffffffffffffffff60401b1982168117909255614a729291821691161782615d0f565b6001830154600160401b90046001600160401b03161115614ac75760405162461bcd60e51b815260206004820152600f60248201526e08595e1c1bdcdd5c994b5cda1bdc9d608a1b6044820152606401610f88565b50614bb1565b83601b54614adb9190615eb8565b601b558215614b595760018101546001600160401b03168411614b4157600181018054859190600090614b189084906001600160401b0316615ecf565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550614bb1565b60018101805467ffffffffffffffff19169055614bb1565b6001810154600160401b90046001600160401b03168411614b9a57838160010160088282829054906101000a90046001600160401b0316614b189190615ecf565b60018101805467ffffffffffffffff60401b191690555b5050505050565b600085614c7757614bd264e8d4a510006305f5e100615e32565b604051633afb52f560e21b8152600481018790526001600160a01b0389169063ebed4bd49060240160206040518083038186803b158015614c1257600080fd5b505afa158015614c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c4a9190615792565b614c549084615e51565b614c5e8686615e32565b614c689190615dad565b614c729190615d6b565b614d2c565b614c8a64e8d4a510006305f5e100615e32565b604051633afb52f560e21b81526004810187905283906001600160a01b038a169063ebed4bd49060240160206040518083038186803b158015614ccc57600080fd5b505afa158015614ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d049190615792565b614d0e9190615e51565b614d188686615e32565b614d229190615dad565b614d2c9190615d6b565b90505b9695505050505050565b60008060008715614dcd57868410614d8a576305f5e10087614d5b8187615eb8565b614d658989615e32565b614d6f9190615e32565b614d799190615d99565b614d839190615d99565b9050614e20565b6305f5e10087614d9a8682615eb8565b614da48989615e32565b614dae9190615e32565b614db89190615d99565b614dc29190615d99565b905060019150614e20565b86841115614de5576305f5e10087614d9a8187615eb8565b6305f5e10087614df58682615eb8565b614dff8989615e32565b614e099190615e32565b614e139190615d99565b614e1d9190615d99565b90505b8115614e3957614e3281600019615dad565b9250614e3d565b8092505b50505b95945050505050565b6000614e558287615d0f565b421115614e6457506001614d2f565b868015614e905750612710614e798482615d0f565b614e839087615e32565b614e8d9190615d99565b84115b15614e9d57506001614d2f565b86158015614eca5750612710614eb38482615eb8565b614ebd9087615e32565b614ec79190615d99565b84105b15614ed757506001614d2f565b5060009695505050505050565b600080614f1c8587602001516001600160401b031686868a60c0015133600a60009054906101000a90046001600160a01b0316614451565b90506000614f2a8289615e51565b9050600081121561501b576000614f4382600019615dad565b905086811015614fc157614f738860c001516305f5e100600c54848b614f699190615eb8565b6118f49190615e32565b601e8054829190601090614f98908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550615015565b601e8054889190601090614fe6908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550829350505050614e40565b506150cf565b601e548190600160801b90046001600160801b03168111156150685760405162461bcd60e51b8152600401610f88906020808252600490820152630858985b60e21b604082015260600190565b601e805482919060109061508d908490600160801b90046001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506150cd8860c001516305f5e100600c54848b614f699190615d0f565b505b6150d882614528565b601e80548391906010906150fd908490600160801b90046001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550819250505095945050505050565b6040516001600160a01b03831660248201526044810182905261191190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526151d6565b6000613bb68284615eb8565b6040516001600160a01b038085166024830152831660448201526064810182905261192a9085906323b872dd60e01b9060840161515b565b600061522b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166152a89092919063ffffffff16565b80519091501561191157808060200190518101906152499190615775565b6119115760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f88565b60606152b784846000856152bf565b949350505050565b6060824710156153205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f88565b6001600160a01b0385163b6153775760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f88565b600080866001600160a01b031685876040516153939190615ab9565b60006040518083038185875af1925050503d80600081146153d0576040519150601f19603f3d011682016040523d82523d6000602084013e6153d5565b606091505b509150915061451d828286606083156153ef575081613bb6565b8251156153ff5782518084602001fd5b8160405162461bcd60e51b8152600401610f889190615bac565b80356001600160a01b038116811461145857600080fd5b803561145881615fae565b80356001600160801b038116811461145857600080fd5b803561ffff8116811461145857600080fd5b803563ffffffff8116811461145857600080fd5b80356001600160401b038116811461145857600080fd5b80356001600160481b038116811461145857600080fd5b80356001600160601b038116811461145857600080fd5b6000602082840312156154cf57600080fd5b613bb682615419565b600080604083850312156154eb57600080fd5b6154f483615419565b915061550260208401615419565b90509250929050565b60008060006060848603121561552057600080fd5b61552984615419565b925061553760208501615419565b915061554560408501615419565b90509250925092565b6000806000806080858703121561556457600080fd5b61556d85615419565b935061557b60208601615419565b925061558960408601615419565b915061559760608601615419565b905092959194509250565b600080604083850312156155b557600080fd5b6155be83615419565b915060208301356155ce81615fae565b809150509250929050565b6000806000606084860312156155ee57600080fd5b6155f784615419565b92506020840135915061554560408501615419565b60008060006060848603121561562157600080fd5b61562a84615419565b925060208401359150604084013561564181615fae565b809150509250925092565b6000806000806080858703121561566257600080fd5b61566b85615419565b93506020850135925060408501359150606085013561568981615fae565b939692955090935050565b600080600080600060a086880312156156ac57600080fd5b6156b586615419565b9450602086013593506040860135925060608601356156d381615fae565b949793965091946080013592915050565b600080602083850312156156f757600080fd5b82356001600160401b038082111561570e57600080fd5b818501915085601f83011261572257600080fd5b81358181111561573157600080fd5b8660208260051b850101111561574657600080fd5b60209290920196919550909350505050565b60006020828403121561576a57600080fd5b8135613bb681615fae565b60006020828403121561578757600080fd5b8151613bb681615fae565b6000602082840312156157a457600080fd5b5051919050565b600060a082840312156157bd57600080fd5b60405160a081018181106001600160401b03821117156157ed57634e487b7160e01b600052604160045260246000fd5b6040526157f98361543b565b81526158076020840161543b565b6020820152615818604084016154a6565b6040820152615829606084016154a6565b606082015261583a60808401615478565b60808201529392505050565b60006020828403121561585857600080fd5b5035919050565b6000806040838503121561587257600080fd5b8235915061550260208401615419565b60008082840361014081121561589757600080fd5b8335925061012080601f19830112156158af57600080fd5b6158b7615c6c565b91506158c560208601615419565b82526158d36040860161548f565b60208301526158e460608601615452565b60408301526158f560808601615430565b606083015261590660a08601615478565b608083015261591760c08601615478565b60a083015261592860e08601615464565b60c083015261010061593b818701615464565b60e084015261594b828701615478565b9083015250919491935090915050565b6000806040838503121561596e57600080fd5b50508035926020909101359150565b6000806000806000806000806000806000806101808d8f0312156159a057600080fd5b8c359b5060208d01359a5060408d01356159b981615fae565b995060608d01356159c981615fae565b985060808d01356159d981615fae565b975060a08d01356159e981615fae565b9b9e9a9d50989b979a969996985050505060c08501359460e0810135946101008201359450610120820135935061014082013592506101609091013590565b80546001600160a01b038116835260a081901c6001600160481b0316602084015260e881901c61ffff166040840152615a68606084018260f81c15159052565b5060018101546001600160401b038082166080850152604082901c811660a08501525063ffffffff608082901c811660c085015260a082901c811660e08501525060c081901c610100840152505050565b60008251615acb818460208701615f0f565b9190910192915050565b602080825282518282018190526000919060409081850190868401855b82811015615b9f57815180516001600160401b0390811686528782015181168887015286820151811687870152606080830151909116908601526080808201516001600160801b03169086015260a080820151600f0b9086015260c0808201516001600160a01b03169086015260e08082015115159086015261010080820151151590860152610120908101516001600160501b0316908501526101409093019290850190600101615af2565b5091979650505050505050565b6020815260008251806020840152615bcb816040850160208701615f0f565b601f01601f19169190910160400192915050565b60208082526008908201526708585b1b1bddd95960c21b604082015260600190565b60208082526005908201526408591a5cdd60da1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8281526101408101613bb66020830184615a28565b60405161012081016001600160401b0381118282101715615c9d57634e487b7160e01b600052604160045260246000fd5b60405290565b600080821280156001600160ff1b0384900385131615615cc557615cc5615f56565b600160ff1b8390038412811615615cde57615cde615f56565b50500190565b60006001600160801b03808316818516808303821115615d0657615d06615f56565b01949350505050565b60008219821115615d2257615d22615f56565b500190565b60006001600160401b03808316818516808303821115615d0657615d06615f56565b60006001600160601b03808316818516808303821115615d0657615d06615f56565b600082615d7a57615d7a615f6c565b600160ff1b821460001984141615615d9457615d94615f56565b500590565b600082615da857615da8615f6c565b500490565b60006001600160ff1b0381841382841380821686840486111615615dd357615dd3615f56565b600160ff1b6000871282811687830589121615615df257615df2615f56565b60008712925087820587128484161615615e0e57615e0e615f56565b87850587128184161615615e2457615e24615f56565b505050929093029392505050565b6000816000190483118215151615615e4c57615e4c615f56565b500290565b60008083128015600160ff1b850184121615615e6f57615e6f615f56565b6001600160ff1b0384018313811615615e8a57615e8a615f56565b50500390565b60006001600160801b0383811690831681811015615eb057615eb0615f56565b039392505050565b600082821015615eca57615eca615f56565b500390565b60006001600160401b0383811690831681811015615eb057615eb0615f56565b60006001600160601b0383811690831681811015615eb057615eb0615f56565b60005b83811015615f2a578181015183820152602001615f12565b8381111561192a5750506000910152565b6000600019821415615f4f57615f4f615f56565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114615fbc57600080fd5b5056fea2646970667358221220e0f152c27505d83111da88dff490d59600fb407ea8cf97d9cd0ac22071c269d264736f6c634300080700330000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000db4174e1a4005a30f5a0924f43c8dfcb8cbd828a0000000000000000000000005f417a5460590f37df878084abb995bfa6fdc380000000000000000000000000bb198ffd0e1490ca108ab6c409473408230d261b
Deployed Bytecode
0x6080604052600436106103cd5760003560e01c80637f47a102116101fd578063bc95baad11610118578063d48788b9116100ab578063e19a60e11161007a578063e19a60e114610e73578063ef88f45614610e89578063f90cdb3614610ea9578063fbb48bc114610ed9578063fdff9b4d14610eee57600080fd5b8063d48788b914610e07578063d5c73dab14610e27578063d65fe35514610e3d578063d9ac422514610e5d57600080fd5b8063cd84db09116100e7578063cd84db0914610d9e578063cfad57a214610dbe578063d41194b814610dde578063d468e2a914610df157600080fd5b8063bc95baad14610ce6578063bdced6d514610d55578063be73ca5714610d6b578063bed5755414610d7e57600080fd5b806396c82e5711610190578063a5e90eee1161015f578063a5e90eee14610b40578063b00eb9fe14610b60578063b7eddbe714610b80578063b9db15b414610bb057600080fd5b806396c82e5714610ad457806396f7938414610aea578063a0448fc514610b0a578063a082cdd214610b2057600080fd5b80638c10ad1b116101cc5780638c10ad1b146109775780638d928af81461098c5780638da5cb5b14610a9457806392187a2714610ab457600080fd5b80637f47a102146108ce57806381a3daca14610921578063841a4b51146109415780638a0dac4a1461095757600080fd5b80634031234c116102ed5780635b382989116102805780636e20c3b41161024f5780636e20c3b41461078a5780637a7664601461079f5780637acb77571461089b5780637dc0d1d0146108ae57600080fd5b80635b3829891461071e5780635c833bfd146107345780635f3b2180146107545780636a04dd221461076a57600080fd5b80634c723c28116102bc5780634c723c28146106915780634d452ec0146106be578063560fdef9146106de5780635828a437146106fe57600080fd5b80634031234c146105f95780634453a3741461060f578063452a93201461062f5780634b3ab9c51461064f57600080fd5b80631ea8c3a71161036557806339c294be1161033457806339c294be146105895780633bec2bf31461059f5780633ee19763146105bf5780633f06cd66146105d457600080fd5b80631ea8c3a7146105115780631fbeef4e146105345780632cc2734114610549578063363bf9641461056957600080fd5b806312d43a51116103a157806312d43a511461049157806313af4035146104b157806316ebb015146104d15780631ba93844146104f157600080fd5b80621b7934146103d257806304baed9e146103f45780630cf7d564146104315780631031e36e1461047c575b600080fd5b3480156103de57600080fd5b506103f26103ed36600461595b565b610f1e565b005b34801561040057600080fd5b50600b54610414906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561043d57600080fd5b5061046c61044c3660046154d8565b602660209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610428565b34801561048857600080fd5b506103f2610f49565b34801561049d57600080fd5b50600354610414906001600160a01b031681565b3480156104bd57600080fd5b506103f26104cc3660046154bd565b610f9f565b3480156104dd57600080fd5b506103f26104ec366004615882565b610ffc565b3480156104fd57600080fd5b50600854610414906001600160a01b031681565b34801561051d57600080fd5b50610526611395565b604051908152602001610428565b34801561054057600080fd5b5061052661145d565b34801561055557600080fd5b506103f2610564366004615846565b61151b565b34801561057557600080fd5b506103f261058436600461550b565b611528565b34801561059557600080fd5b50610526600d5481565b3480156105ab57600080fd5b506103f26105ba366004615758565b6115ac565b3480156105cb57600080fd5b506105266115f9565b3480156105e057600080fd5b50601f54600160601b90046001600160601b0316610526565b34801561060557600080fd5b5061052660175481565b34801561061b57600080fd5b506103f261062a3660046155a2565b61161f565b34801561063b57600080fd5b50600254610414906001600160a01b031681565b34801561065b57600080fd5b5061052661066a3660046154bd565b6001600160a01b03166000908152602160205260409020600101546001600160801b031690565b34801561069d57600080fd5b506106b16106ac3660046156e4565b611652565b6040516104289190615ad5565b3480156106ca57600080fd5b506103f26106d93660046156e4565b611820565b3480156106ea57600080fd5b506103f26106f936600461564c565b611916565b34801561070a57600080fd5b50610526610719366004615846565b611930565b34801561072a57600080fd5b5061052660145481565b34801561074057600080fd5b506103f261074f3660046155d9565b611981565b34801561076057600080fd5b50610526600e5481565b34801561077657600080fd5b506103f26107853660046155a2565b611e4e565b34801561079657600080fd5b50610526611e81565b3480156107ab57600080fd5b506108496107ba3660046154bd565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03908116600090815260216020908152604091829020825160808101845281549485168152600160a01b9094046001600160601b031691840191909152600101546001600160801b0380821692840192909252600160801b900416606082015290565b6040805182516001600160a01b031681526020808401516001600160601b031690820152828201516001600160801b039081169282019290925260609283015190911691810191909152608001610428565b6103f26108a936600461585f565b611e98565b3480156108ba57600080fd5b50600554610414906001600160a01b031681565b3480156108da57600080fd5b506103f26108e93660046155a2565b3360009081526026602090815260408083206001600160a01b0395909516835293905291909120805460ff1916911515919091179055565b34801561092d57600080fd5b50600754610414906001600160a01b031681565b34801561094d57600080fd5b5061052660135481565b34801561096357600080fd5b506103f26109723660046154bd565b6123a5565b34801561098357600080fd5b506105266123fb565b34801561099857600080fd5b50610a2d6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506040805160a081018252601e546001600160801b038082168352600160801b909104166020820152601f546001600160601b0380821693830193909352600160601b81049092166060820152600160c01b9091046001600160401b0316608082015290565b6040516104289190600060a0820190506001600160801b038084511683528060208501511660208401525060408301516001600160601b03808216604085015280606086015116606085015250506001600160401b03608084015116608083015292915050565b348015610aa057600080fd5b50600154610414906001600160a01b031681565b348015610ac057600080fd5b506103f2610acf366004615882565b612412565b348015610ae057600080fd5b5061052660125481565b348015610af657600080fd5b506103f2610b0536600461597d565b6125d3565b348015610b1657600080fd5b5061052660105481565b348015610b2c57600080fd5b506103f2610b3b36600461554e565b61269e565b348015610b4c57600080fd5b506103f2610b5b3660046155a2565b6126f6565b348015610b6c57600080fd5b50600a54610414906001600160a01b031681565b348015610b8c57600080fd5b5061046c610b9b3660046154bd565b60246020526000908152604090205460ff1681565b348015610bbc57600080fd5b50610c98610bcb366004615846565b6000908152602080805260409182902082516101208101845281546001600160a01b038116808352600160a01b8083046001600160481b0316958401869052600160e81b830461ffff16968401879052600160f81b90920460ff161515606084018190526001909401546001600160401b0380821660808601819052600160401b8304821660a08701819052600160801b840463ffffffff90811660c089018190529685041660e08801819052600160c01b90940490921661010090960186905292989697969294909392565b604080516001600160a01b03909a168a5260208a0198909852968801959095529215156060870152608086019190915260a085015260c084015260e083015261010082015261012001610428565b348015610cf257600080fd5b50610d06610d0136600461560c565b612729565b60408051998a5260208a019890985296880195909552606087019390935260808601919091526001600160a01b031660a085015260c0840152151560e083015261010082015261012001610428565b348015610d6157600080fd5b50610526601c5481565b6103f2610d79366004615694565b61298b565b348015610d8a57600080fd5b50600654610414906001600160a01b031681565b348015610daa57600080fd5b506103f2610db936600461595b565b613320565b348015610dca57600080fd5b506103f2610dd93660046154bd565b6138f7565b6103f2610dec36600461595b565b61394d565b348015610dfd57600080fd5b50610526601b5481565b348015610e1357600080fd5b50600954610414906001600160a01b031681565b348015610e3357600080fd5b5061052660155481565b348015610e4957600080fd5b50610526610e5836600461560c565b613b66565b348015610e6957600080fd5b5061052660115481565b348015610e7f57600080fd5b50610526600f5481565b348015610e9557600080fd5b506103f2610ea43660046157ab565b613bbd565b348015610eb557600080fd5b5061046c610ec43660046154bd565b60236020526000908152604090205460ff1681565b348015610ee557600080fd5b50610526613cd5565b348015610efa57600080fd5b5061046c610f093660046154bd565b60256020526000908152604090205460ff1681565b610f26613d93565b612710610f338284615d0f565b1115610f3e57600080fd5b600e91909155600f55565b6002546001600160a01b03163314610f915760405162461bcd60e51b81526020600482015260066024820152650859dd585c9960d21b60448201526064015b60405180910390fd5b601d805462ff00ff19169055565b610fa7613dd8565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b906020015b60405180910390a150565b611004613d93565b6000821161101157600080fd5b6000828152602080805260409182902082516101208101845281546001600160a01b0381168252600160a01b8082046001600160481b0316948301859052600160e81b820461ffff1695830195909552600160f81b900460ff16151560608201526001909101546001600160401b038082166080840152600160401b8204811660a0840152600160801b820463ffffffff90811660c085015294820490941660e0830152600160c01b90049092166101008301521580156110ec57506110dc6305f5e1006001615e32565b82602001516001600160481b0316115b8015611101575081516001600160a01b031615155b61110a57600080fd5b60405180610120016040528083600001516001600160a01b0316815260200183602001516001600160481b03168152602001836040015161ffff16815260200160011515815260200160006001600160401b0316815260200160006001600160401b031681526020018360c0015163ffffffff1681526020018360e0015163ffffffff1681526020018361010001516001600160401b03168152506020600085815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a8154816001600160481b0302191690836001600160481b03160217905550604082015181600001601d6101000a81548161ffff021916908361ffff160217905550606082015181600001601f6101000a81548160ff02191690831515021790555060808201518160010160006101000a8154816001600160401b0302191690836001600160401b0316021790555060a08201518160010160086101000a8154816001600160401b0302191690836001600160401b0316021790555060c08201518160010160106101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160010160146101000a81548163ffffffff021916908363ffffffff1602179055506101008201518160010160186101000a8154816001600160401b0302191690836001600160401b031602179055509050508160e0015163ffffffff166012546113469190615d0f565b60125560008381526020805260409081902090517fae1599937d786915756d636f19bbbde0f7561e39f29395e714035fee6eb8a6559161138891869190615c57565b60405180910390a1505050565b6007546000906001600160a01b031633146113c25760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c546019546113d99190615e32565b6113e39190615d99565b60195490915015611458576000601955600754600454611410916001600160a01b03918216911683613e1b565b600754604080516001600160a01b039092168252602082018390527f304116b7df0fff49d35547e731489e0e2f288bf99c5293f5fb4697671108280d91015b60405180910390a15b919050565b6006546000906001600160a01b0316331461148a5760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c546018546114a19190615e32565b6114ab9190615d99565b601854909150156114585760006018556006546004546114d8916001600160a01b03918216911683613e1b565b600654604080516001600160a01b039092168252602082018390527ffbbb21b60e499f2366d8f9dbdb1884e047dcf008673ee2c189b6153bfacc06e8910161144f565b611523613d93565b600d55565b611530613d93565b600580546001600160a01b038581166001600160a01b03199283168117909355600a80548683169084168117909155600b8054928616929093168217909255604080519384526020840192909252908201527ffa46f045092280873921fe7e8bd94f64c996911a0bae60b09d487935b9117e7a90606001611388565b6001546001600160a01b03163314806115d457503360009081526025602052604090205460ff165b6115dd57600080fd5b601d8054911515620100000262ff000019909216919091179055565b60006305f5e100600c54601a546116109190615e32565b61161a9190615d99565b905090565b611627613d93565b6001600160a01b03919091166000908152602360205260409020805460ff1916911515919091179055565b606081806001600160401b0381111561166d5761166d615f98565b6040519080825280602002602001820160405280156116ec57816020015b604080516101408101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820152825260001990920191018161168b5790505b50915060005b81811015611818576022600086868481811061171057611710615f82565b6020908102929092013583525081810192909252604090810160002081516101408101835281546001600160401b038082168352600160401b8204811695830195909552600160801b808204861694830194909452600160c01b9004909316606084015260018101546001600160801b038116608085015291909104600f90810b810b900b60a0830152600201546001600160a01b03811660c083015260ff600160a01b82048116151560e0840152600160a81b82041615156101008301526001600160501b03600160b01b9091041661012082015283518490839081106117fa576117fa615f82565b6020026020010181905250808061181090615f3b565b9150506116f2565b505092915050565b3360009081526023602052604090205460ff16806118455750601d54610100900460ff165b61187f5760405162461bcd60e51b815260206004820152600b60248201526a10b634b8bab4b230ba37b960a91b6044820152606401610f88565b6000805b828110156118d657600084848381811061189f5761189f615f82565b90506020020135905060006118b382613ed8565b90506118bf8185615d0f565b9350505080806118ce90615f3b565b915050611883565b50801561191157611911336305f5e100600c54846118f49190615e32565b6118fe9190615d99565b6004546001600160a01b03169190613e1b565b505050565b61192a611924858584613b66565b83613320565b50505050565b601254601354601e5460009261271092909161195d908690600160801b90046001600160801b0316615e32565b6119679190615e32565b6119719190615d99565b61197b9190615d99565b92915050565b601f54600160601b90046001600160601b031682118015906119b957506001600160a01b0383163314806119b957506119b983614337565b6119ef5760405162461bcd60e51b81526020600482015260076024820152662172656465656d60c81b6044820152606401610f88565b60085460405163632447c960e01b81526001600160a01b0385811660048301529091169063632447c990602401600060405180830381600087803b158015611a3657600080fd5b505af1158015611a4a573d6000803e3d6000fd5b505060095460405163632447c960e01b81526001600160a01b038781166004830152909116925063632447c99150602401600060405180830381600087803b158015611a9557600080fd5b505af1158015611aa9573d6000803e3d6000fd5b505050506001600160a01b038316600090815260216020526040902060018101546001600160801b03168310801590611aed5760018201546001600160801b031693505b6001820154600090611b0f90600160801b90046001600160801b031642615eb8565b601f54909150600160c01b90046001600160401b03168111611b5d5760405162461bcd60e51b8152602060048201526007602482015266085c195c9a5bd960ca1b6044820152606401610f88565b601f54601e54600091600160601b90046001600160601b031690611b9190600160801b90046001600160801b031688615e32565b611b9b9190615d99565b600185015485549192506000916001600160801b0390911690611bce90600160a01b90046001600160601b031689615e32565b611bd89190615d99565b855490915081908690601490611bff908490600160a01b90046001600160601b0316615eef565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550868560010160008282829054906101000a90046001600160801b0316611c499190615e90565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080601e60010160008282829054906101000a90046001600160601b0316611c949190615eef565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555086601e600101600c8282829054906101000a90046001600160601b0316611cdf9190615eef565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555081601e60000160108282829054906101000a90046001600160801b0316611d2a9190615e90565b82546101009290920a6001600160801b03818102199093169183160217909155601454601e546127109350611d6792600160801b90910416615e32565b611d719190615d99565b601b541115611dae5760405162461bcd60e51b8152602060048201526009602482015268085d5d1a5b1a5e995960ba1b6044820152606401610f88565b8315611dd4576001600160a01b0388166000908152602160205260408120818155600101555b611deb866305f5e100600c54856118f49190615e32565b604080518281526020810189905290810183905284151560608201526001600160a01b0380881691908a16907f30206d71da61810927dedb2756551723d7c2db787080c7b18eee56883a6b8ce89060800160405180910390a35050505050505050565b611e56613d93565b6001600160a01b03919091166000908152602460205260409020805460ff1916911515919091179055565b60006305f5e100600c546019546116109190615e32565b60026000541415611ebb5760405162461bcd60e51b8152600401610f8890615c20565b6002600055601d5460ff1680611edb57506001546001600160a01b031633145b8015611efd5750336001600160a01b0382161480611efd5750611efd81614337565b611f325760405162461bcd60e51b8152602060048201526006602482015265217374616b6560d01b6044820152606401610f88565b60085460405163632447c960e01b81526001600160a01b0383811660048301529091169063632447c990602401600060405180830381600087803b158015611f7957600080fd5b505af1158015611f8d573d6000803e3d6000fd5b505060095460405163632447c960e01b81526001600160a01b038581166004830152909116925063632447c99150602401600060405180830381600087803b158015611fd857600080fd5b505af1158015611fec573d6000803e3d6000fd5b505050506120226305f5e100600c54846120069190615e32565b6120109190615d99565b6004546001600160a01b03169061437b565b601e54601f546001600160801b03909116906120489084906001600160601b0316615d0f565b111561207f5760405162461bcd60e51b8152600401610f88906020808252600490820152630216361760e41b604082015260600190565b601f546000906001600160601b031661209857826120d4565b601e54601f54600160801b9091046001600160801b0316906120ca90600160601b90046001600160601b031685615e32565b6120d49190615d99565b601e805491925084916010906120fb908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555082601e60010160008282829054906101000a90046001600160601b03166121469190615d49565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555080601e600101600c8282829054906101000a90046001600160601b03166121919190615d49565b82546101009290920a6001600160601b038181021990931691831602179091556001600160a01b038416600090815260216020526040902054600160a01b9004161515905061226057604080516080810182526001600160a01b038085168083526001600160601b0380881660208086019182526001600160801b0380891687890190815242821660608901908152600096875260219093529790942095519151909216600160a01b029316929092178355925190518316600160801b02921691909117600190910155612357565b6001600160a01b0382166000908152602160205260409020805484919060149061229b908490600160a01b90046001600160601b0316615d49565b82546001600160601b039182166101009390930a9283029190920219909116179055506001600160a01b038216600090815260216020526040812060010180548392906122f29084906001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555061231f82614337565b612357576001600160a01b038216600090815260216020526040902060010180546001600160801b03428116600160801b0291161790555b60408051848152602081018390526001600160a01b038416917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a25050600160005550565b6123ad613dd8565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f6bb7ff33e730289800c62ad882105a144a74010d2bdbb9a942544a3005ad55bf90602001610ff1565b60006305f5e100600c546018546116109190615e32565b61241a613d93565b6000821161242757600080fd5b600082815260208052604090208054600160a01b90046001600160481b03161580159061246f575061245e6305f5e1006001615e32565b82602001516001600160481b031610155b8015612484575081516001600160a01b031615155b61248d57600080fd5b815181546020840151604085015160608601516001600160a01b039094166001600160e81b031990931692909217600160a01b6001600160481b039092168202176001600160e81b0316600160e81b61ffff909316929092026001600160f81b031691909117600160f81b9215159290920291909117825560c083015160018301805463ffffffff60801b1916600160801b63ffffffff93841602179081905560e08501516012549083169361254893920490911690615eb8565b6125529190615d0f565b60125560e08201516001820180546101008501516001600160401b0316600160c01b026001600160c01b0363ffffffff909416600160a01b02939093166001600160a01b03909116179190911790556040517f9df0507ff2ae29bd255288700609934436e327efda151e41849aa6bdd84dde27906113889085908490615c57565b6125db613d93565b620f42408c111580156125f15750620151808b11155b80156125fd5750600081115b801561260a575061138882115b80156126165750600084115b61261f57600080fd5b60109b909b55601199909955601d80549515156401000000000264ff00000000199715156301000000029790971664ffff000000199815156101000261ff00199a15159a909a1661ffff199097169690961798909817969096169390931793909317909455601393909355601455601591909155601655601755601c55565b6126a6613d93565b600680546001600160a01b039586166001600160a01b0319918216179091556007805494861694821694909417909355600880549285169284169290921790915560098054919093169116179055565b6126fe613d93565b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b600080600080600080600080600080602260006127478f8f8f613b66565b8152602001908152602001600020604051806101400160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160009054906101000a90046001600160801b03166001600160801b03166001600160801b031681526020016001820160109054906101000a9004600f0b600f0b600f0b81526020016002820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820160149054906101000a900460ff161515151581526020016002820160159054906101000a900460ff161515151581526020016002820160169054906101000a90046001600160501b03166001600160501b03166001600160501b031681525050905080600001516001600160401b031681602001516001600160401b031682604001516001600160401b031683606001516001600160401b031684608001516001600160801b03168560c001518661012001516001600160501b03168760e001518860a0015180600f0b90509950995099509950995099509950995099505093979b92969a50939750939750565b600260005414156129ae5760405162461bcd60e51b8152600401610f8890615c20565b60026000556129bc85614337565b806129e45750601d546301000000900460ff161580156129e457506001600160a01b03851633145b612a005760405162461bcd60e51b8152600401610f8890615bdf565b601d5462010000900460ff16612a435760405162461bcd60e51b815260206004820152600860248201526708595b98589b195960c21b6044820152606401610f88565b600d548310158015612a5b57506001600160401b0383105b612a915760405162461bcd60e51b815260206004820152600760248201526610b6b0b933b4b760c91b6044820152606401610f88565b612aa06305f5e1006001615e32565b811015612ad85760405162461bcd60e51b8152600401610f889060208082526004908201526310b632bb60e11b604082015260600190565b600084815260208052604090208054600160f81b900460ff16612b275760405162461bcd60e51b81526020600482015260076024820152662161637469766560c81b6044820152606401610f88565b8054600160a01b90046001600160481b0316821115612b735760405162461bcd60e51b815260206004820152600860248201526710b6b0bc16b632bb60c11b6044820152606401610f88565b8054600a54600091612ba5918791869161ffff600160e81b830416916001600160a01b03908116918d91339116614451565b9050612bc86305f5e100600c548388612bbe9190615d0f565b6120069190615e32565b612bd181614528565b81546001830154601254601354601e54600094612c8b946001600160a01b03909116938a936001600160401b0380841694600160401b850490911693612710939291612c3a91600160a01b900463ffffffff1690600160801b90046001600160801b0316615e32565b612c449190615e32565b612c4e9190615d99565b612c589190615d99565b6001890154600160c01b90046001600160401b03166305f5e100612c7c8c8f615e32565b612c869190615d99565b6145c4565b9050612cb2876305f5e100612ca0878a615e32565b612caa9190615d99565b876001614822565b600b54604051633afb52f560e21b8152600481018990526000916001600160a01b03169063ebed4bd49060240160206040518083038186803b158015612cf757600080fd5b505afa158015612d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d2f9190615792565b9050600060226000612d428c8c8b613b66565b8152602081019190915260400160002060018101549091506001600160801b031615612f3f57612d728689615e32565b81546001830154612d9c91600160401b90046001600160401b0316906001600160801b0316615e32565b612da69190615d0f565b83612db1888b615e32565b612dbb9190615e32565b825460018401546001600160401b03600160801b8304811692612df292600160401b909104909116906001600160801b0316615e32565b612dfc9190615e32565b612e069190615d0f565b612e109190615d99565b9250612e1c8689615e32565b81546001830154612e4691600160401b90046001600160401b0316906001600160801b0316615dad565b612e509190615ca3565b82612e5b888b615e32565b612e659190615dad565b60018301548354600160801b8204600f90810b900b91612e9e91600160401b90046001600160401b0316906001600160801b0316615dad565b612ea89190615dad565b612eb29190615ca3565b612ebc9190615d6b565b6001820154909250612ed89089906001600160801b0316615d0f565b612ee2878a615e32565b82546001840154612f0c91600160401b90046001600160401b0316906001600160801b0316615e32565b612f169190615d0f565b612f209190615d99565b6001820154909650612f3c9089906001600160801b0316615d0f565b97505b60408051610140810182526001600160401b038b811682528881166020830152851681830152600554875492516341976e0960e01b81526001600160a01b039384166004820152919260608401929116906341976e099060240160206040518083038186803b158015612fb157600080fd5b505afa158015612fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe99190615792565b6001600160401b031681526001600160801b03808b166020830152600f85900b60408301526001600160a01b038d1660608301528915156080830152600184015460a0909201911615613069576002830154600160a81b900460ff1615613062573360009081526024602052604090205460ff1661307d565b600061307d565b3360009081526024602052604090205460ff165b15158152602001426001600160501b0316815250602260006130a08d8d8c613b66565b8152602080820192909252604090810160002083518154938501519285015160608601516001600160401b03908116600160c01b026001600160c01b03928216600160801b908102939093166001600160801b03968316600160401b026001600160801b0319909816929094169190911795909517841691909117939093178155608084015160a0850151600f0b83169093029290911691909117600182015560c08201516002909101805460e0840151610100850151610120909501516001600160501b0316600160b01b026001600160b01b03951515600160a81b02959095166001600160a81b03911515600160a01b026001600160a81b03199093166001600160a01b03958616179290921716179290921790915589908b166131c78c838b613b66565b60055488546040516341976e0960e01b81526001600160a01b0391821660048201527ff0179f06d5592030053869d8d0ae508420786cda1b88f04f1611215f029a35ab928d928a929116906341976e099060240160206040518083038186803b15801561323357600080fd5b505afa158015613247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326b9190615792565b60018801548f908e908d906001600160801b0316156132b75760028b0154600160a81b900460ff16156132b0573360009081526024602052604090205460ff166132cb565b60006132cb565b3360009081526024602052604090205460ff165b6040805197151588526020880196909652948601939093526060850191909152608084015260a0830152151560c082015260e081018790526101000160405180910390a4505060016000555050505050505050565b600260005414156133435760405162461bcd60e51b8152600401610f8890615c20565b600260008181558381526022602052604090209081015461336c906001600160a01b0316614337565b806133995750601d54640100000000900460ff16158015613399575060028101546001600160a01b031633145b6133ce5760405162461bcd60e51b815260206004820152600660248201526521636c6f736560d01b6044820152606401610f88565b80546001600160401b03166000908152602080526040812060018301549091906001600160801b0316841061341057506001808301546001600160801b031693505b815460028401546001840154600092613497926001600160a01b0390911691600160a01b9182900460ff1615916001600160401b0380831692600160401b810490911691613464910463ffffffff16611930565b60018901548a546001600160401b03600160c01b9092048216916305f5e10091612c7c91600160401b909104168e615e32565b84549091506134e4906001600160401b03808216916305f5e100916134c491600160401b90041689615e32565b6134ce9190615d99565b6002870154600160a01b900460ff166000614822565b600b5460028501548554600187015460009361353c936001600160a01b0390911692600160a01b90910460ff16916001600160401b0380831692600160401b900416908b90600160801b9004600f90810b900b614bb8565b60028601548654919250600091839161357d91600160a01b90910460ff1690600160801b81046001600160401b0390811691600160401b9004168b88614d39565b6135879190615e51565b9050600080821280156135bf5750612710601754896135a69190615e32565b6135b09190615d99565b6135bc83600019615dad565b10155b156135eb5760018701546001600160801b031697506135e088600019615dad565b915060019050613707565b6000821380156136cb57506002870154875460055488546040516341976e0960e01b81526001600160a01b0391821660048201526136c994600160a01b810460ff1694600160b01b9091046001600160501b031693600160c01b9091046001600160401b03169216906341976e099060240160206040518083038186803b15801561367557600080fd5b505afa158015613689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ad9190615792565b60018b0154601154600160801b90910463ffffffff1690614e49565b155b80156136fd57506002870154600160a81b900460ff1615806136fd57503360009081526024602052604090205460ff16155b1561370757600091505b604080516101408101825288546001600160401b038082168352600160401b820481166020840152600160801b808304821694840194909452600160c01b90910416606082015260018901546001600160801b038116608083015291909104600f90810b810b900b60a082015260028801546001600160a01b0380821660c0840152600160a01b820460ff908116151560e0850152600160a81b8304161515610100840152600160b01b9091046001600160501b031661012083015287546000926137e29286928d91600160e81b820461ffff169116614ee4565b885460028a0154604080518981526001600160401b03600160801b8504811660208301529181018e9052600160401b8404821660608201526080810185905260a0810188905260c0810189905286151560e0820152939450909116916001600160a01b03909116908c907f980658f6b65b51ce7d353bc2f9110e33617a69ab8dd85ed76e70546542ebea25906101000160405180910390a485156138a15760008a815260226020526040812081815560018101829055600201556138e6565b6001880180548a91906000906138c19084906001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505060016000555050505050505050565b6138ff613dd8565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527fb49a738bf7c18189b8cd3a6cd9d2b44045ca8070a4fa7e9db46ecfcbedee6bd990602001610ff1565b600260005414156139705760405162461bcd60e51b8152600401610f8890615c20565b6002600055600c5461398c906305f5e100906120069084615e32565b600d548110156139c85760405162461bcd60e51b815260206004820152600760248201526610b6b0b933b4b760c91b6044820152606401610f88565b600082815260226020526040902060028101546001600160a01b0316331480613a0357506002810154613a03906001600160a01b0316614337565b613a1f5760405162461bcd60e51b8152600401610f8890615bdf565b6001810154600090613a3b9084906001600160801b0316615d0f565b600183015483549192506000918391613a6f916001600160801b0390911690600160401b90046001600160401b0316615e32565b613a799190615d99565b9050613a8a6305f5e1006001615e32565b811015613ac45760405162461bcd60e51b815260206004820152600860248201526710b637bb96b632bb60c11b6044820152606401610f88565b6001830180546001600160801b0319166001600160801b038416179055825467ffffffffffffffff60401b1916600160401b6001600160401b03831602178355600283015460408051868152602081018590529081018390526001600160a01b0390911690339087907f52886499ee3ba77a4723fcad28056225444bfac6cfd378dbfbca0d67af42c4d89060600160405180910390a450506001600055505050565b6040516bffffffffffffffffffffffff19606085901b1660208201526034810183905281151560f81b60548201526000906055016040516020818303038152906040528051906020012060001c90505b9392505050565b613bc5613d93565b80516001600160801b031615801590613beb5750600081608001516001600160401b0316115b8015613c06575062278d0081608001516001600160401b0316105b613c225760405162461bcd60e51b8152600401610f8890615bdf565b8051601e80546001600160801b039092166001600160801b0319909216821790819055608080840151601f80546001600160401b03909216600160c01b026001600160c01b0383168117918290556040805196875294841c60208701526001600160601b039283169083161793850193909352606083811c9091169084015260c09190911c908201527f2d9cc21237ea57f9e0e36a44c912e0029cbd58e3fd16cd8fdee450927308cb839060a001610ff1565b6008546000906001600160a01b03163314613d025760405162461bcd60e51b8152600401610f8890615c01565b60006305f5e100600c54601a54613d199190615e32565b613d239190615d99565b601a5490915015611458576000601a55600854600454613d50916001600160a01b03918216911683613e1b565b600854604080516001600160a01b039092168252602082018390527f19ffdf6391d49bb1730b3f4d19c279b1275dddf2a4e981af93b1099c111369e6910161144f565b6001546001600160a01b03163314613dd65760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606401610f88565b565b6003546001600160a01b03163314613dd65760405162461bcd60e51b8152600401610f889060208082526004908201526310b3b7bb60e11b604082015260600190565b8015611911576001600160a01b038316613ec4576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613e7c576040519150601f19603f3d011682016040523d82523d6000602084013e613e81565b606091505b505090508061192a5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610f88565b6119116001600160a01b038416838361512f565b600081815260226020526040812080546001600160401b0316613efe5750600092915050565b80546001600160401b03166000908152602080526040808220600554815492516341976e0960e01b81526001600160a01b03938416600482015291939216906341976e099060240160206040518083038186803b158015613f5e57600080fd5b505afa158015613f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f969190615792565b83546001850154919250600091613fd5916001600160401b03808216926305f5e100926134c492600160401b90910416906001600160801b0316615e32565b600b54600285015485546001870154600093614036936001600160a01b0390911692600160a01b90910460ff16916001600160401b0380831692600160401b900416906001600160801b03811690600160801b9004600f90810b900b614bb8565b600286015486546001880154929350600092849261408592600160a01b90910460ff1691600160801b82046001600160401b0390811692600160401b900416906001600160801b031689614d39565b61408f9190615e51565b90506000811215806140d257506017546001870154612710916140ba916001600160801b0316615e32565b6140c49190615d99565b6140d082600019615dad565b105b156140e557506000979650505050505050565b6140f181600019615dad565b60018701546001600160801b031611156141cc57600061411382600019615dad565b6016546001890154919250612710916141369084906001600160801b0316615eb8565b6141409190615e32565b61414a9190615d99565b600188015490985088906141689083906001600160801b0316615eb8565b6141729190615eb8565b935061417d84614528565b601e80548291906010906141a2908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505061421c565b6001860154601e80546001600160801b03928316926010916141f7918591600160801b900416615ce4565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b8554600287015460018801546001600160401b03808416936001600160a01b03909316928c927f980658f6b65b51ce7d353bc2f9110e33617a69ab8dd85ed76e70546542ebea25928a92600160801b81048216926001600160801b031691600160401b90910416600061429183600019615dad565b604080519687526020870195909552938501929092526060840152608083015260a082015260c08101879052600160e08201526101000160405180910390a460008881526022602090815260408083208381556001810184905560020192909255815189815290810185905233918a917f6f7734c2b603545392ede46279193d0b944bffb5d4c822bb78cd37eb6c2aadc9910160405180910390a3505050505050919050565b3360009081526025602052604081205460ff16801561197b5750506001600160a01b0316600090815260266020908152604080832033845290915290205460ff1690565b8015614438576001600160a01b03821661443c57803410156143df5760405162461bcd60e51b815260206004820152601a60248201527f556e6945524332303a206e6f7420656e6f7567682076616c75650000000000006044820152606401610f88565b803411156144385760006143f33483615192565b604051909150600090339083908381818185875af1925050503d8060008114613e7c576040519150601f19603f3d011682016040523d82523d6000602084013e613e81565b5050565b6144386001600160a01b03831633308461519e565b6040516333a3a92d60e11b81526001600160a01b03858116600483015260248201879052848116604483015283811660648301526000918291841690636747525a9060840160206040518083038186803b1580156144ae57600080fd5b505afa1580156144c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144e69190615792565b9050612710816305f5e1006144fb8b8d615e32565b6145059190615d99565b61450f9190615e32565b6145199190615d99565b9150505b979650505050505050565b612710600e54826145399190615e32565b6145439190615d99565b6018546145509190615d0f565b601855600f54612710906145649083615e32565b61456e9190615d99565b60195461457b9190615d0f565b601955600f54600e5461271091906145939083615eb8565b61459d9190615eb8565b6145a79083615e32565b6145b19190615d99565b601a546145be9190615d0f565b601a5550565b60008087614655576005546040516303b6b4bb60e51b81526001600160a01b038b8116600483015260006024830152909116906376d697609060440160206040518083038186803b15801561461857600080fd5b505afa15801561462c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146509190615792565b6146d9565b6005546040516303b6b4bb60e51b81526001600160a01b038b8116600483015260016024830152909116906376d697609060440160206040518083038186803b1580156146a157600080fd5b505afa1580156146b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d99190615792565b9050600085601054888a6146ed9190615e51565b6146f79190615dad565b6147019190615d6b565b905088156147b0576000846305f5e1008761471c8382615eb8565b6147268a80615e32565b6147309190615d99565b61473a9190615eb8565b6147449190615e32565b61474e9190615d99565b9050600082121561478157601c5461476883600019615dad565b6147729190615d99565b61477c9082615eb8565b61478b565b61478b8282615d0f565b90506305f5e10061479c8285615e32565b6147a69190615d99565b935050505061451d565b6000846305f5e1006147c28289615d0f565b6147cc8980615e32565b6147d69190615d99565b6147e09089615eb8565b6147ea9190615e32565b6147f49190615d99565b9050600082121561480b5761477282600019615dad565b601c546148189083615d99565b61478b9082615d0f565b600b54604051636ea9f13960e01b8152600481018690526001600160a01b0390911690636ea9f13990602401600060405180830381600087803b15801561486857600080fd5b505af115801561487c573d6000803e3d6000fd5b5050506000858152602080526040902090508115614acd5783601b546148a29190615d0f565b601b5560018101546000906148c390600160a01b900463ffffffff16611930565b601454601e54919250612710916148ea9190600160801b90046001600160801b0316615e32565b6148f49190615d99565b601b541115801561493d57508060155461490e9190615e32565b60018301548690614931906001600160401b03600160401b820481169116615d0f565b61493b9190615d0f565b105b6149725760405162461bcd60e51b8152602060048201526006602482015265216d61784f4960d01b6044820152606401610f88565b8315614a175760018201546149919086906001600160401b0316615d27565b60018301805467ffffffffffffffff19166001600160401b0392831617908190556149c591600160401b9091041682615d0f565b60018301546001600160401b03161115614a125760405162461bcd60e51b815260206004820152600e60248201526d216578706f737572652d6c6f6e6760901b6044820152606401610f88565b614ac7565b6001820154614a37908690600160401b90046001600160401b0316615d27565b6001830180546001600160401b03928316600160401b0267ffffffffffffffff60401b1982168117909255614a729291821691161782615d0f565b6001830154600160401b90046001600160401b03161115614ac75760405162461bcd60e51b815260206004820152600f60248201526e08595e1c1bdcdd5c994b5cda1bdc9d608a1b6044820152606401610f88565b50614bb1565b83601b54614adb9190615eb8565b601b558215614b595760018101546001600160401b03168411614b4157600181018054859190600090614b189084906001600160401b0316615ecf565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550614bb1565b60018101805467ffffffffffffffff19169055614bb1565b6001810154600160401b90046001600160401b03168411614b9a57838160010160088282829054906101000a90046001600160401b0316614b189190615ecf565b60018101805467ffffffffffffffff60401b191690555b5050505050565b600085614c7757614bd264e8d4a510006305f5e100615e32565b604051633afb52f560e21b8152600481018790526001600160a01b0389169063ebed4bd49060240160206040518083038186803b158015614c1257600080fd5b505afa158015614c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c4a9190615792565b614c549084615e51565b614c5e8686615e32565b614c689190615dad565b614c729190615d6b565b614d2c565b614c8a64e8d4a510006305f5e100615e32565b604051633afb52f560e21b81526004810187905283906001600160a01b038a169063ebed4bd49060240160206040518083038186803b158015614ccc57600080fd5b505afa158015614ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d049190615792565b614d0e9190615e51565b614d188686615e32565b614d229190615dad565b614d2c9190615d6b565b90505b9695505050505050565b60008060008715614dcd57868410614d8a576305f5e10087614d5b8187615eb8565b614d658989615e32565b614d6f9190615e32565b614d799190615d99565b614d839190615d99565b9050614e20565b6305f5e10087614d9a8682615eb8565b614da48989615e32565b614dae9190615e32565b614db89190615d99565b614dc29190615d99565b905060019150614e20565b86841115614de5576305f5e10087614d9a8187615eb8565b6305f5e10087614df58682615eb8565b614dff8989615e32565b614e099190615e32565b614e139190615d99565b614e1d9190615d99565b90505b8115614e3957614e3281600019615dad565b9250614e3d565b8092505b50505b95945050505050565b6000614e558287615d0f565b421115614e6457506001614d2f565b868015614e905750612710614e798482615d0f565b614e839087615e32565b614e8d9190615d99565b84115b15614e9d57506001614d2f565b86158015614eca5750612710614eb38482615eb8565b614ebd9087615e32565b614ec79190615d99565b84105b15614ed757506001614d2f565b5060009695505050505050565b600080614f1c8587602001516001600160401b031686868a60c0015133600a60009054906101000a90046001600160a01b0316614451565b90506000614f2a8289615e51565b9050600081121561501b576000614f4382600019615dad565b905086811015614fc157614f738860c001516305f5e100600c54848b614f699190615eb8565b6118f49190615e32565b601e8054829190601090614f98908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550615015565b601e8054889190601090614fe6908490600160801b90046001600160801b0316615ce4565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550829350505050614e40565b506150cf565b601e548190600160801b90046001600160801b03168111156150685760405162461bcd60e51b8152600401610f88906020808252600490820152630858985b60e21b604082015260600190565b601e805482919060109061508d908490600160801b90046001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506150cd8860c001516305f5e100600c54848b614f699190615d0f565b505b6150d882614528565b601e80548391906010906150fd908490600160801b90046001600160801b0316615e90565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550819250505095945050505050565b6040516001600160a01b03831660248201526044810182905261191190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526151d6565b6000613bb68284615eb8565b6040516001600160a01b038085166024830152831660448201526064810182905261192a9085906323b872dd60e01b9060840161515b565b600061522b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166152a89092919063ffffffff16565b80519091501561191157808060200190518101906152499190615775565b6119115760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f88565b60606152b784846000856152bf565b949350505050565b6060824710156153205760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f88565b6001600160a01b0385163b6153775760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f88565b600080866001600160a01b031685876040516153939190615ab9565b60006040518083038185875af1925050503d80600081146153d0576040519150601f19603f3d011682016040523d82523d6000602084013e6153d5565b606091505b509150915061451d828286606083156153ef575081613bb6565b8251156153ff5782518084602001fd5b8160405162461bcd60e51b8152600401610f889190615bac565b80356001600160a01b038116811461145857600080fd5b803561145881615fae565b80356001600160801b038116811461145857600080fd5b803561ffff8116811461145857600080fd5b803563ffffffff8116811461145857600080fd5b80356001600160401b038116811461145857600080fd5b80356001600160481b038116811461145857600080fd5b80356001600160601b038116811461145857600080fd5b6000602082840312156154cf57600080fd5b613bb682615419565b600080604083850312156154eb57600080fd5b6154f483615419565b915061550260208401615419565b90509250929050565b60008060006060848603121561552057600080fd5b61552984615419565b925061553760208501615419565b915061554560408501615419565b90509250925092565b6000806000806080858703121561556457600080fd5b61556d85615419565b935061557b60208601615419565b925061558960408601615419565b915061559760608601615419565b905092959194509250565b600080604083850312156155b557600080fd5b6155be83615419565b915060208301356155ce81615fae565b809150509250929050565b6000806000606084860312156155ee57600080fd5b6155f784615419565b92506020840135915061554560408501615419565b60008060006060848603121561562157600080fd5b61562a84615419565b925060208401359150604084013561564181615fae565b809150509250925092565b6000806000806080858703121561566257600080fd5b61566b85615419565b93506020850135925060408501359150606085013561568981615fae565b939692955090935050565b600080600080600060a086880312156156ac57600080fd5b6156b586615419565b9450602086013593506040860135925060608601356156d381615fae565b949793965091946080013592915050565b600080602083850312156156f757600080fd5b82356001600160401b038082111561570e57600080fd5b818501915085601f83011261572257600080fd5b81358181111561573157600080fd5b8660208260051b850101111561574657600080fd5b60209290920196919550909350505050565b60006020828403121561576a57600080fd5b8135613bb681615fae565b60006020828403121561578757600080fd5b8151613bb681615fae565b6000602082840312156157a457600080fd5b5051919050565b600060a082840312156157bd57600080fd5b60405160a081018181106001600160401b03821117156157ed57634e487b7160e01b600052604160045260246000fd5b6040526157f98361543b565b81526158076020840161543b565b6020820152615818604084016154a6565b6040820152615829606084016154a6565b606082015261583a60808401615478565b60808201529392505050565b60006020828403121561585857600080fd5b5035919050565b6000806040838503121561587257600080fd5b8235915061550260208401615419565b60008082840361014081121561589757600080fd5b8335925061012080601f19830112156158af57600080fd5b6158b7615c6c565b91506158c560208601615419565b82526158d36040860161548f565b60208301526158e460608601615452565b60408301526158f560808601615430565b606083015261590660a08601615478565b608083015261591760c08601615478565b60a083015261592860e08601615464565b60c083015261010061593b818701615464565b60e084015261594b828701615478565b9083015250919491935090915050565b6000806040838503121561596e57600080fd5b50508035926020909101359150565b6000806000806000806000806000806000806101808d8f0312156159a057600080fd5b8c359b5060208d01359a5060408d01356159b981615fae565b995060608d01356159c981615fae565b985060808d01356159d981615fae565b975060a08d01356159e981615fae565b9b9e9a9d50989b979a969996985050505060c08501359460e0810135946101008201359450610120820135935061014082013592506101609091013590565b80546001600160a01b038116835260a081901c6001600160481b0316602084015260e881901c61ffff166040840152615a68606084018260f81c15159052565b5060018101546001600160401b038082166080850152604082901c811660a08501525063ffffffff608082901c811660c085015260a082901c811660e08501525060c081901c610100840152505050565b60008251615acb818460208701615f0f565b9190910192915050565b602080825282518282018190526000919060409081850190868401855b82811015615b9f57815180516001600160401b0390811686528782015181168887015286820151811687870152606080830151909116908601526080808201516001600160801b03169086015260a080820151600f0b9086015260c0808201516001600160a01b03169086015260e08082015115159086015261010080820151151590860152610120908101516001600160501b0316908501526101409093019290850190600101615af2565b5091979650505050505050565b6020815260008251806020840152615bcb816040850160208701615f0f565b601f01601f19169190910160400192915050565b60208082526008908201526708585b1b1bddd95960c21b604082015260600190565b60208082526005908201526408591a5cdd60da1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b8281526101408101613bb66020830184615a28565b60405161012081016001600160401b0381118282101715615c9d57634e487b7160e01b600052604160045260246000fd5b60405290565b600080821280156001600160ff1b0384900385131615615cc557615cc5615f56565b600160ff1b8390038412811615615cde57615cde615f56565b50500190565b60006001600160801b03808316818516808303821115615d0657615d06615f56565b01949350505050565b60008219821115615d2257615d22615f56565b500190565b60006001600160401b03808316818516808303821115615d0657615d06615f56565b60006001600160601b03808316818516808303821115615d0657615d06615f56565b600082615d7a57615d7a615f6c565b600160ff1b821460001984141615615d9457615d94615f56565b500590565b600082615da857615da8615f6c565b500490565b60006001600160ff1b0381841382841380821686840486111615615dd357615dd3615f56565b600160ff1b6000871282811687830589121615615df257615df2615f56565b60008712925087820587128484161615615e0e57615e0e615f56565b87850587128184161615615e2457615e24615f56565b505050929093029392505050565b6000816000190483118215151615615e4c57615e4c615f56565b500290565b60008083128015600160ff1b850184121615615e6f57615e6f615f56565b6001600160ff1b0384018313811615615e8a57615e8a615f56565b50500390565b60006001600160801b0383811690831681811015615eb057615eb0615f56565b039392505050565b600082821015615eca57615eca615f56565b500390565b60006001600160401b0383811690831681811015615eb057615eb0615f56565b60006001600160601b0383811690831681811015615eb057615eb0615f56565b60005b83811015615f2a578181015183820152602001615f12565b8381111561192a5750506000910152565b6000600019821415615f4f57615f4f615f56565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114615fbc57600080fd5b5056fea2646970667358221220e0f152c27505d83111da88dff490d59600fb407ea8cf97d9cd0ac22071c269d264736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c3160700000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000db4174e1a4005a30f5a0924f43c8dfcb8cbd828a0000000000000000000000005f417a5460590f37df878084abb995bfa6fdc380000000000000000000000000bb198ffd0e1490ca108ab6c409473408230d261b

-----Decoded View---------------
Arg [0] : _token (address): 0x7F5c764cBc14f9669B88837ca1490cCa17c31607
Arg [1] : _tokenBase (uint256): 1000000
Arg [2] : _oracle (address): 0xDb4174E1A4005a30f5A0924f43c8dfCB8cbD828A
Arg [3] : _feeCalculator (address): 0x5f417A5460590f37df878084aBB995BFA6fDc380
Arg [4] : _fundingManager (address): 0xBB198FfD0E1490CA108ab6C409473408230D261B

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000007f5c764cbc14f9669b88837ca1490cca17c31607
Arg [1] : 00000000000000000000000000000000000000000000000000000000000f4240
Arg [2] : 000000000000000000000000db4174e1a4005a30f5a0924f43c8dfcb8cbd828a
Arg [3] : 0000000000000000000000005f417a5460590f37df878084abb995bfa6fdc380
Arg [4] : 000000000000000000000000bb198ffd0e1490ca108ab6c409473408230d261b

🤖 Code Reader Beta

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.