Contract 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb1 10
Contract Overview
Balance:
0 ETH
ETH Value:
$0.00
My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x1b789047628680c57490b5b4cb9bd4dfd37c4c04994f5fa63e8e7103bbbdb547 | Transfer Ownersh... | 29180664 | 536 days 21 hrs ago | 0xb37136b338c6cc0e459a35fe9aa036f6b5a147c0 | IN | 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb1 | 0 ETH | 0.0000328 | |
0x4d7857ca09f467839981f9d98e4be8b3da558f851be0d929638bda01386101dd | Add Admin List | 29180568 | 536 days 21 hrs ago | 0xb37136b338c6cc0e459a35fe9aa036f6b5a147c0 | IN | 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb1 | 0 ETH | 0.00003447 | |
0xce5a1752ea35379bca9f32e446676faa59394b02c0dfb593bdbd7139713d9f0d | Init Owner | 29180485 | 536 days 21 hrs ago | 0xb37136b338c6cc0e459a35fe9aa036f6b5a147c0 | IN | 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb1 | 0 ETH | 0.00003636 | |
0x33742f0bdde627740c04b6cf6177fa6e59d20d34960f9fac62061ddeafb155bd | 0x60806040 | 29179920 | 536 days 21 hrs ago | 0xb37136b338c6cc0e459a35fe9aa036f6b5a147c0 | IN | Create: FeeRateDIP3Impl | 0 ETH | 0.00088698 |
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0xe887247557df6098ecc79c9e77d5bbaee7600d776dd1eaedfd02ebcff349cd29 | 29293209 | 536 days 7 hrs ago | DODO: Multisig Wallet | 0x6de4d882a84a98f4ccd5d33ea6b3c99a07babeb1 | 0 ETH |
[ Download CSV Export ]
Contract Name:
FeeRateDIP3Impl
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2022-10-09 */ /* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; pragma experimental ABIEncoderV2; /** * @title Ownable * @author DODO Breeder * * @notice Ownership related functions */ contract InitializableOwnable { address public _OWNER_; address public _NEW_OWNER_; bool internal _INITIALIZED_; // ============ Events ============ event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // ============ Modifiers ============ modifier notInitialized() { require(!_INITIALIZED_, "DODO_INITIALIZED"); _; } modifier onlyOwner() { require(msg.sender == _OWNER_, "NOT_OWNER"); _; } // ============ Functions ============ function initOwner(address newOwner) public notInitialized { _INITIALIZED_ = true; _OWNER_ = newOwner; } function transferOwnership(address newOwner) public onlyOwner { emit OwnershipTransferPrepared(_OWNER_, newOwner); _NEW_OWNER_ = newOwner; } function claimOwnership() public { require(msg.sender == _NEW_OWNER_, "INVALID_CLAIM"); emit OwnershipTransferred(_OWNER_, _NEW_OWNER_); _OWNER_ = _NEW_OWNER_; _NEW_OWNER_ = address(0); } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function name() external view returns (string memory); function symbol() external view returns (string memory); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); } /** * @title SafeMath * @author DODO Breeder * * @notice Math operations with safety checks that revert on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "MUL_ERROR"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "DIVIDING_ERROR"); return a / b; } function divCeil(uint256 a, uint256 b) internal pure returns (uint256) { uint256 quotient = div(a, b); uint256 remainder = a - quotient * b; if (remainder > 0) { return quotient + 1; } else { return quotient; } } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SUB_ERROR"); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "ADD_ERROR"); return c; } function sqrt(uint256 x) internal pure returns (uint256 y) { uint256 z = x / 2 + 1; y = x; while (z < y) { y = z; z = (x / z + z) / 2; } } } interface ICrowdPooling { function _QUOTE_RESERVE_() external view returns (uint256); function getShares(address user) external view returns (uint256); function _OWNER_() external returns (address); } interface IFee { function getUserFee(address user) external view returns (uint256); } interface IQuota { function getUserQuota(address user) external view returns (int); } interface IPoolHeartBeat { function isPoolHeartBeatLive(address pool) external view returns(bool); } interface IPool { function version() external pure returns (string memory); function _LP_FEE_RATE_() external view returns (uint256); function _BASE_RESERVE_() external view returns (uint); function _QUOTE_RESERVE_() external view returns (uint); function _K_() external view returns (uint); } contract FeeRateDIP3Impl is InitializableOwnable { using SafeMath for uint256; // ============ Storage ============ uint256 public _LP_MT_RATIO_ = 25; struct CPPoolInfo { address quoteToken; int globalQuota; address feeAddr; address quotaAddr; } mapping(address => CPPoolInfo) public cpPools; mapping(address => uint256) public specPoolList; mapping (address => bool) public isAdminListed; address public poolHeartBeat; // ============ Events ============= event AddAdmin(address admin); event RemoveAdmin(address admin); // ============ Ownable Functions ============ function addCpPoolInfo(address cpPool, address quoteToken, int globalQuota, address feeAddr, address quotaAddr) external { require(isAdminListed[msg.sender], "ACCESS_DENIED"); CPPoolInfo memory cpPoolInfo = CPPoolInfo({ quoteToken: quoteToken, feeAddr: feeAddr, quotaAddr: quotaAddr, globalQuota: globalQuota }); cpPools[cpPool] = cpPoolInfo; } function setCpPoolInfo(address cpPool, address quoteToken, int globalQuota, address feeAddr, address quotaAddr) external onlyOwner { cpPools[cpPool].quoteToken = quoteToken; cpPools[cpPool].feeAddr = feeAddr; cpPools[cpPool].quotaAddr = quotaAddr; cpPools[cpPool].globalQuota = globalQuota; } function setLpMtRatio(uint256 newLpMtRatio) external onlyOwner { _LP_MT_RATIO_ = newLpMtRatio; } function setSpecPoolList (address poolAddr, uint256 mtFeeRate) public onlyOwner { specPoolList[poolAddr] = mtFeeRate; } function addAdminList (address userAddr) external onlyOwner { isAdminListed[userAddr] = true; emit AddAdmin(userAddr); } function removeAdminList (address userAddr) external onlyOwner { isAdminListed[userAddr] = false; emit RemoveAdmin(userAddr); } function setPoolHeartBeat (address newPoolHeartBeat) public onlyOwner { poolHeartBeat = newPoolHeartBeat; } // ============ Pool Owner Functions ============ function setCpPoolQuotaAddr(address cpPool, address quotaAddr) external { require(msg.sender == ICrowdPooling(cpPool)._OWNER_(), "NOT OWNER OF POOL"); cpPools[cpPool].quotaAddr = quotaAddr; } // ============ View Functions ============ function getFeeRate(address pool, address user) external view returns (uint256) { try IPool(pool).version() returns (string memory poolVersion) { bytes32 hashPoolVersion = keccak256(abi.encodePacked(poolVersion)); if(_kjudge(hashPoolVersion)) { uint k = IPool(pool)._K_(); uint baseReserve = IPool(pool)._BASE_RESERVE_(); uint quoteReserve = IPool(pool)._QUOTE_RESERVE_(); require(!(k==0 && (baseReserve ==0 || quoteReserve == 0)), "KJUDGE_ERROR"); } if (poolHeartBeat != address(0) && !IPoolHeartBeat(poolHeartBeat).isPoolHeartBeatLive(pool)) { return 10**18 - IPool(pool)._LP_FEE_RATE_() - 1; } if(specPoolList[pool] != 0) { return specPoolList[pool]; } if(_cp(hashPoolVersion)) { CPPoolInfo memory cpPoolInfo = cpPools[pool]; address quoteToken = cpPoolInfo.quoteToken; if(quoteToken == address(0)) { return 0; }else { uint256 userInput = IERC20(quoteToken).balanceOf(pool).sub(ICrowdPooling(pool)._QUOTE_RESERVE_()); uint256 userStake = ICrowdPooling(pool).getShares(user); address feeAddr = cpPoolInfo.feeAddr; address quotaAddr = cpPoolInfo.quotaAddr; int curQuota = cpPoolInfo.globalQuota; if(quotaAddr != address(0)) curQuota = IQuota(quotaAddr).getUserQuota(user); require(curQuota == -1 || (curQuota != -1 && int(userInput.add(userStake)) <= curQuota), "DODOFeeImpl: EXCEED_YOUR_QUOTA"); if(feeAddr == address(0)) { return 0; } else { return IFee(feeAddr).getUserFee(user); } } } else if(_dip3dvm(hashPoolVersion) || _dip3dsp(hashPoolVersion)) { uint256 lpFeeRate = IPool(pool)._LP_FEE_RATE_(); uint256 mtFeeRate = lpFeeRate.mul(_LP_MT_RATIO_).div(100); if(lpFeeRate.add(mtFeeRate) >= 10**18) { return 0; } else { return mtFeeRate; } } else { return 0; } } catch (bytes memory) { return 0; } } function getCPInfoByUser(address pool, address user) external view returns (bool isHaveCap, int curQuota, uint256 userFee) { CPPoolInfo memory cpPoolInfo = cpPools[pool]; if(cpPoolInfo.quoteToken == address(0)) { isHaveCap = false; curQuota = -1; userFee = 0; }else { address quotaAddr = cpPoolInfo.quotaAddr; curQuota = cpPoolInfo.globalQuota; if(quotaAddr != address(0)) curQuota = IQuota(quotaAddr).getUserQuota(user); if(curQuota == -1) { isHaveCap = false; }else { isHaveCap = true; uint256 userStake = ICrowdPooling(pool).getShares(user); if(uint256(curQuota) >= userStake) { curQuota = int(uint256(curQuota).sub(userStake)); }else { curQuota = 0; } } address feeAddr = cpPoolInfo.feeAddr; if(feeAddr == address(0)) { userFee = 0; } else { userFee = IFee(feeAddr).getUserFee(user); } } } function _cp(bytes32 _hashPoolVersion) internal pure returns (bool) { return (_hashPoolVersion == keccak256(abi.encodePacked("CP 1.0.0")) || _hashPoolVersion == keccak256(abi.encodePacked("CP 2.0.0"))); } function _dip3dvm(bytes32 _hashPoolVersion) internal pure returns (bool){ return (_hashPoolVersion == keccak256(abi.encodePacked("DVM 1.0.2")) || _hashPoolVersion == keccak256(abi.encodePacked("DVM 1.0.3"))); } function _dip3dsp(bytes32 _hashPoolVersion) internal pure returns (bool){ return (_hashPoolVersion == keccak256(abi.encodePacked("DSP 1.0.1")) || _hashPoolVersion == keccak256(abi.encodePacked("DSP 1.0.2"))); } function _kjudge(bytes32 _hashPoolVersion) internal pure returns (bool) { return (_hashPoolVersion == keccak256(abi.encodePacked("DVM 1.0.2")) || _hashPoolVersion == keccak256(abi.encodePacked("DSP 1.0.1")) || _hashPoolVersion == keccak256(abi.encodePacked("DPP 1.0.0")) || _hashPoolVersion == keccak256(abi.encodePacked("DPP Advanced 1.0.0"))); } function version() virtual external pure returns (string memory) { return "1.2.0"; } }
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"AddAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferPrepared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"RemoveAdmin","type":"event"},{"inputs":[],"name":"_LP_MT_RATIO_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_NEW_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_OWNER_","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"addAdminList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"cpPool","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"int256","name":"globalQuota","type":"int256"},{"internalType":"address","name":"feeAddr","type":"address"},{"internalType":"address","name":"quotaAddr","type":"address"}],"name":"addCpPoolInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"cpPools","outputs":[{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"int256","name":"globalQuota","type":"int256"},{"internalType":"address","name":"feeAddr","type":"address"},{"internalType":"address","name":"quotaAddr","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"getCPInfoByUser","outputs":[{"internalType":"bool","name":"isHaveCap","type":"bool"},{"internalType":"int256","name":"curQuota","type":"int256"},{"internalType":"uint256","name":"userFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pool","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"getFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"initOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAdminListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolHeartBeat","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddr","type":"address"}],"name":"removeAdminList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"cpPool","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"int256","name":"globalQuota","type":"int256"},{"internalType":"address","name":"feeAddr","type":"address"},{"internalType":"address","name":"quotaAddr","type":"address"}],"name":"setCpPoolInfo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"cpPool","type":"address"},{"internalType":"address","name":"quotaAddr","type":"address"}],"name":"setCpPoolQuotaAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLpMtRatio","type":"uint256"}],"name":"setLpMtRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPoolHeartBeat","type":"address"}],"name":"setPoolHeartBeat","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"poolAddr","type":"address"},{"internalType":"uint256","name":"mtFeeRate","type":"uint256"}],"name":"setSpecPoolList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"specPoolList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
6080604052601960025534801561001557600080fd5b50611bb0806100256000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063848cc303116100b8578063b1efb8f41161007c578063b1efb8f414610271578063c30c616914610279578063ef6a5d791461028c578063f2fde38b1461029f578063fae783d8146102b2578063fd8bd849146102d457610137565b8063848cc303146102105780638614c552146102305780638c34329614610243578063a1e281de1461024b578063ae52aae71461025e57610137565b80634e71e0c8116100ff5780634e71e0c8146101b55780635454b842146101bd57806354fd4d50146101d057806368f0cb6f146101e55780638456db151461020857610137565b806301ea364b1461013c5780630d0092971461015157806316048bc4146101645780631822c0c01461018257806344c19402146101a2575b600080fd5b61014f61014a3660046116ff565b6102e7565b005b61014f61015f366004611628565b610336565b61016c610396565b60405161017991906118e0565b60405180910390f35b610195610190366004611628565b6103a5565b604051610179919061191f565b61014f6101b0366004611698565b6103ba565b61014f61043e565b61014f6101cb366004611698565b6104cc565b6101d861058d565b6040516101799190611942565b6101f86101f3366004611628565b6105ac565b60405161017994939291906118f4565b61016c6105e2565b61022361021e366004611660565b6105f1565b6040516101799190611b29565b61022361023e366004611628565b610e5d565b61016c610e6f565b61014f6102593660046117fd565b610e7e565b61014f61026c366004611628565b610ead565b610223610f35565b61014f610287366004611628565b610f3b565b61014f61029a366004611660565b610f87565b61014f6102ad366004611628565b61105c565b6102c56102c0366004611660565b6110e1565b6040516101799392919061192a565b61014f6102e2366004611628565b611355565b6000546001600160a01b0316331461031a5760405162461bcd60e51b815260040161031190611ac0565b60405180910390fd5b6001600160a01b03909116600090815260046020526040902055565b600154600160a01b900460ff16156103605760405162461bcd60e51b815260040161031190611a0d565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031681565b60056020526000908152604090205460ff1681565b6000546001600160a01b031633146103e45760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03948516600090815260036020819052604090912080549587166001600160a01b031996871617815560028101805494881694871694909417909355820180549190951693169290921790925560010155565b6001546001600160a01b031633146104685760405162461bcd60e51b815260040161031190611975565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b3360009081526005602052604090205460ff166104fb5760405162461bcd60e51b815260040161031190611a6e565b610503611601565b50604080516080810182526001600160a01b039586168152602080820195865293861681830190815292861660608201908152968616600090815260039485905291909120905181549086166001600160a01b0319918216178255935160018201559051600282018054918616918516919091179055935193018054939092169216919091179055565b6040805180820190915260058152640312e322e360dc1b602082015290565b600360208190526000918252604090912080546001820154600283015492909301546001600160a01b0391821693928216911684565b6001546001600160a01b031681565b6000826001600160a01b03166354fd4d506040518163ffffffff1660e01b815260040160006040518083038186803b15801561062c57600080fd5b505afa92505050801561066157506040513d6000823e601f3d908101601f1916820160405261065e9190810190611762565b60015b61069f573d80801561068f576040519150601f19603f3d011682016040523d82523d6000602084013e610694565b606091505b506000915050610e57565b6000816040516020016106b29190611815565b6040516020818303038152906040528051906020012090506106d3816113cf565b1561086c576000856001600160a01b031663ec2fd46d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561071357600080fd5b505afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b919061174a565b90506000866001600160a01b0316637d7215046040518163ffffffff1660e01b815260040160206040518083038186803b15801561078857600080fd5b505afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c0919061174a565b90506000876001600160a01b031663bbf5ce786040518163ffffffff1660e01b815260040160206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610835919061174a565b90508215801561084b575081158061084b575080155b156108685760405162461bcd60e51b81526004016103119061199c565b5050505b6006546001600160a01b0316158015906109035750600654604051633ded920b60e11b81526001600160a01b0390911690637bdb2416906108b19088906004016118e0565b60206040518083038186803b1580156108c957600080fd5b505afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061172a565b155b1561098f576001856001600160a01b031663ab44a7a36040518163ffffffff1660e01b815260040160206040518083038186803b15801561094357600080fd5b505afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b919061174a565b670de0b6b3a7640000030392505050610e57565b6001600160a01b038516600090815260046020526040902054156109ce575050506001600160a01b038216600090815260046020526040902054610e57565b6109d781611487565b15610d5e576109e4611601565b506001600160a01b0380861660009081526003602081815260409283902083516080810185528154861680825260018301549382019390935260028201548616948101949094529091015490921660608201529080610a4a576000945050505050610e57565b6000610b48886001600160a01b031663bbf5ce786040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8857600080fd5b505afa158015610a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac0919061174a565b6040516370a0823160e01b81526001600160a01b038516906370a0823190610aec908d906004016118e0565b60206040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3c919061174a565b9063ffffffff6114c516565b90506000886001600160a01b031663f04da65b896040518263ffffffff1660e01b8152600401610b7891906118e0565b60206040518083038186803b158015610b9057600080fd5b505afa158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc8919061174a565b60408501516060860151602087015192935090916001600160a01b03821615610c6a576040516398a299e560e01b81526001600160a01b038316906398a299e590610c17908e906004016118e0565b60206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c67919061174a565b90505b806000191480610c9657508060001914158015610c96575080610c93868663ffffffff6114ed16565b13155b610cb25760405162461bcd60e51b815260040161031190611a37565b6001600160a01b038316610cd25760009950505050505050505050610e57565b60405163060f58c360e01b81526001600160a01b0384169063060f58c390610cfe908e906004016118e0565b60206040518083038186803b158015610d1657600080fd5b505afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e919061174a565b9950505050505050505050610e57565b610d6781611519565b80610d765750610d7681611557565b15610e50576000856001600160a01b031663ab44a7a36040518163ffffffff1660e01b815260040160206040518083038186803b158015610db657600080fd5b505afa158015610dca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dee919061174a565b90506000610e186064610e0c6002548561159590919063ffffffff16565b9063ffffffff6115cf16565b9050670de0b6b3a7640000610e33838363ffffffff6114ed16565b10610e45576000945050505050610e57565b9350610e5792505050565b6000925050505b92915050565b60046020526000908152604090205481565b6006546001600160a01b031681565b6000546001600160a01b03163314610ea85760405162461bcd60e51b815260040161031190611ac0565b600255565b6000546001600160a01b03163314610ed75760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03811660009081526005602052604090819020805460ff19166001179055517fad6de4452a631e641cb59902236607946ce9272b9b981f2f80e8d129cb9084ba90610f2a9083906118e0565b60405180910390a150565b60025481565b6000546001600160a01b03163314610f655760405162461bcd60e51b815260040161031190611ac0565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b03166316048bc46040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610fc257600080fd5b505af1158015610fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffa9190611644565b6001600160a01b0316336001600160a01b03161461102a5760405162461bcd60e51b815260040161031190611a95565b6001600160a01b0391821660009081526003602081905260409091200180546001600160a01b03191691909216179055565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161031190611ac0565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60008060006110ee611601565b506001600160a01b03808616600090815260036020818152604092839020835160808101855281548616808252600183015493820193909352600282015486169481019490945290910154909216606082015290611158576000935060001992506000915061134d565b6060810151602082015193506001600160a01b038116156111f2576040516398a299e560e01b81526001600160a01b038216906398a299e59061119f9089906004016118e0565b60206040518083038186803b1580156111b757600080fd5b505afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef919061174a565b93505b83600019141561120557600094506112af565b60405163f04da65b60e01b8152600195506000906001600160a01b0389169063f04da65b90611238908a906004016118e0565b60206040518083038186803b15801561125057600080fd5b505afa158015611264573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611288919061174a565b90508085106112a8576112a1858263ffffffff6114c516565b94506112ad565b600094505b505b60408201516001600160a01b0381166112cb576000935061134a565b60405163060f58c360e01b81526001600160a01b0382169063060f58c3906112f7908a906004016118e0565b60206040518083038186803b15801561130f57600080fd5b505afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611347919061174a565b93505b50505b509250925092565b6000546001600160a01b0316331461137f5760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03811660009081526005602052604090819020805460ff19169055517f753f40ca3312b2408759a67875b367955e7baa221daf08aa3d643d96202ac12b90610f2a9083906118e0565b60006040516020016113e090611846565b60405160208183030381529060405280519060200120821480611426575060405160200161140d90611884565b6040516020818303038152906040528051906020012082145b80611454575060405160200161143b90611899565b6040516020818303038152906040528051906020012082145b80610e575750604051602001611469906118c2565b60405160208183030381529060405280519060200120821492915050565b600060405160200161149890611870565b60405160208183030381529060405280519060200120821480610e575750604051602001611469906118ae565b6000828211156114e75760405162461bcd60e51b8152600401610311906119ea565b50900390565b6000828201838110156115125760405162461bcd60e51b815260040161031190611ae3565b9392505050565b600060405160200161152a90611846565b60405160208183030381529060405280519060200120821480610e5757506040516020016114699061185b565b600060405160200161156890611884565b60405160208183030381529060405280519060200120821480610e57575060405160200161146990611831565b6000826115a457506000610e57565b828202828482816115b157fe5b04146115125760405162461bcd60e51b815260040161031190611b06565b60008082116115f05760405162461bcd60e51b8152600401610311906119c2565b8183816115f957fe5b049392505050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b600060208284031215611639578081fd5b813561151281611b62565b600060208284031215611655578081fd5b815161151281611b62565b60008060408385031215611672578081fd5b823561167d81611b62565b9150602083013561168d81611b62565b809150509250929050565b600080600080600060a086880312156116af578081fd5b85356116ba81611b62565b945060208601356116ca81611b62565b93506040860135925060608601356116e181611b62565b915060808601356116f181611b62565b809150509295509295909350565b60008060408385031215611711578182fd5b823561171c81611b62565b946020939093013593505050565b60006020828403121561173b578081fd5b81518015158114611512578182fd5b60006020828403121561175b578081fd5b5051919050565b600060208284031215611773578081fd5b815167ffffffffffffffff8082111561178a578283fd5b81840185601f82011261179b578384fd5b80519250818311156117ab578384fd5b604051601f8401601f1916810160200183811182821017156117cb578586fd5b6040528381528184016020018710156117e2578485fd5b6117f3846020830160208501611b32565b9695505050505050565b60006020828403121561180e578081fd5b5035919050565b60008251611827818460208701611b32565b9190910192915050565b682229a810189718171960b91b815260090190565b68222b2690189718171960b91b815260090190565b6844564d20312e302e3360b81b815260090190565b670435020312e302e360c41b815260080190565b6844535020312e302e3160b81b815260090190565b68044505020312e302e360bc1b815260090190565b670435020322e302e360c41b815260080190565b71044505020416476616e63656420312e302e360741b815260120190565b6001600160a01b0391909116815260200190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b92151583526020830191909152604082015260600190565b6000602082528251806020840152611961816040850160208701611b32565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600c908201526b25a52aa223a2afa2a92927a960a11b604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601e908201527f444f444f466565496d706c3a204558434545445f594f55525f51554f54410000604082015260600190565b6020808252600d908201526c1050d0d154d4d7d11153925151609a1b604082015260600190565b6020808252601190820152701393d50813d5d391548813d1881413d3d3607a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b60005b83811015611b4d578181015183820152602001611b35565b83811115611b5c576000848401525b50505050565b6001600160a01b0381168114611b7757600080fd5b5056fea2646970667358221220e746a055b4c39f402f44bd6cb4664444d704b0f55a59246deded20ce9f6dee1364736f6c63430006090033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063848cc303116100b8578063b1efb8f41161007c578063b1efb8f414610271578063c30c616914610279578063ef6a5d791461028c578063f2fde38b1461029f578063fae783d8146102b2578063fd8bd849146102d457610137565b8063848cc303146102105780638614c552146102305780638c34329614610243578063a1e281de1461024b578063ae52aae71461025e57610137565b80634e71e0c8116100ff5780634e71e0c8146101b55780635454b842146101bd57806354fd4d50146101d057806368f0cb6f146101e55780638456db151461020857610137565b806301ea364b1461013c5780630d0092971461015157806316048bc4146101645780631822c0c01461018257806344c19402146101a2575b600080fd5b61014f61014a3660046116ff565b6102e7565b005b61014f61015f366004611628565b610336565b61016c610396565b60405161017991906118e0565b60405180910390f35b610195610190366004611628565b6103a5565b604051610179919061191f565b61014f6101b0366004611698565b6103ba565b61014f61043e565b61014f6101cb366004611698565b6104cc565b6101d861058d565b6040516101799190611942565b6101f86101f3366004611628565b6105ac565b60405161017994939291906118f4565b61016c6105e2565b61022361021e366004611660565b6105f1565b6040516101799190611b29565b61022361023e366004611628565b610e5d565b61016c610e6f565b61014f6102593660046117fd565b610e7e565b61014f61026c366004611628565b610ead565b610223610f35565b61014f610287366004611628565b610f3b565b61014f61029a366004611660565b610f87565b61014f6102ad366004611628565b61105c565b6102c56102c0366004611660565b6110e1565b6040516101799392919061192a565b61014f6102e2366004611628565b611355565b6000546001600160a01b0316331461031a5760405162461bcd60e51b815260040161031190611ac0565b60405180910390fd5b6001600160a01b03909116600090815260046020526040902055565b600154600160a01b900460ff16156103605760405162461bcd60e51b815260040161031190611a0d565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031681565b60056020526000908152604090205460ff1681565b6000546001600160a01b031633146103e45760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03948516600090815260036020819052604090912080549587166001600160a01b031996871617815560028101805494881694871694909417909355820180549190951693169290921790925560010155565b6001546001600160a01b031633146104685760405162461bcd60e51b815260040161031190611975565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b3360009081526005602052604090205460ff166104fb5760405162461bcd60e51b815260040161031190611a6e565b610503611601565b50604080516080810182526001600160a01b039586168152602080820195865293861681830190815292861660608201908152968616600090815260039485905291909120905181549086166001600160a01b0319918216178255935160018201559051600282018054918616918516919091179055935193018054939092169216919091179055565b6040805180820190915260058152640312e322e360dc1b602082015290565b600360208190526000918252604090912080546001820154600283015492909301546001600160a01b0391821693928216911684565b6001546001600160a01b031681565b6000826001600160a01b03166354fd4d506040518163ffffffff1660e01b815260040160006040518083038186803b15801561062c57600080fd5b505afa92505050801561066157506040513d6000823e601f3d908101601f1916820160405261065e9190810190611762565b60015b61069f573d80801561068f576040519150601f19603f3d011682016040523d82523d6000602084013e610694565b606091505b506000915050610e57565b6000816040516020016106b29190611815565b6040516020818303038152906040528051906020012090506106d3816113cf565b1561086c576000856001600160a01b031663ec2fd46d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561071357600080fd5b505afa158015610727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074b919061174a565b90506000866001600160a01b0316637d7215046040518163ffffffff1660e01b815260040160206040518083038186803b15801561078857600080fd5b505afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c0919061174a565b90506000876001600160a01b031663bbf5ce786040518163ffffffff1660e01b815260040160206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610835919061174a565b90508215801561084b575081158061084b575080155b156108685760405162461bcd60e51b81526004016103119061199c565b5050505b6006546001600160a01b0316158015906109035750600654604051633ded920b60e11b81526001600160a01b0390911690637bdb2416906108b19088906004016118e0565b60206040518083038186803b1580156108c957600080fd5b505afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061172a565b155b1561098f576001856001600160a01b031663ab44a7a36040518163ffffffff1660e01b815260040160206040518083038186803b15801561094357600080fd5b505afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b919061174a565b670de0b6b3a7640000030392505050610e57565b6001600160a01b038516600090815260046020526040902054156109ce575050506001600160a01b038216600090815260046020526040902054610e57565b6109d781611487565b15610d5e576109e4611601565b506001600160a01b0380861660009081526003602081815260409283902083516080810185528154861680825260018301549382019390935260028201548616948101949094529091015490921660608201529080610a4a576000945050505050610e57565b6000610b48886001600160a01b031663bbf5ce786040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8857600080fd5b505afa158015610a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac0919061174a565b6040516370a0823160e01b81526001600160a01b038516906370a0823190610aec908d906004016118e0565b60206040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3c919061174a565b9063ffffffff6114c516565b90506000886001600160a01b031663f04da65b896040518263ffffffff1660e01b8152600401610b7891906118e0565b60206040518083038186803b158015610b9057600080fd5b505afa158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc8919061174a565b60408501516060860151602087015192935090916001600160a01b03821615610c6a576040516398a299e560e01b81526001600160a01b038316906398a299e590610c17908e906004016118e0565b60206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c67919061174a565b90505b806000191480610c9657508060001914158015610c96575080610c93868663ffffffff6114ed16565b13155b610cb25760405162461bcd60e51b815260040161031190611a37565b6001600160a01b038316610cd25760009950505050505050505050610e57565b60405163060f58c360e01b81526001600160a01b0384169063060f58c390610cfe908e906004016118e0565b60206040518083038186803b158015610d1657600080fd5b505afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e919061174a565b9950505050505050505050610e57565b610d6781611519565b80610d765750610d7681611557565b15610e50576000856001600160a01b031663ab44a7a36040518163ffffffff1660e01b815260040160206040518083038186803b158015610db657600080fd5b505afa158015610dca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dee919061174a565b90506000610e186064610e0c6002548561159590919063ffffffff16565b9063ffffffff6115cf16565b9050670de0b6b3a7640000610e33838363ffffffff6114ed16565b10610e45576000945050505050610e57565b9350610e5792505050565b6000925050505b92915050565b60046020526000908152604090205481565b6006546001600160a01b031681565b6000546001600160a01b03163314610ea85760405162461bcd60e51b815260040161031190611ac0565b600255565b6000546001600160a01b03163314610ed75760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03811660009081526005602052604090819020805460ff19166001179055517fad6de4452a631e641cb59902236607946ce9272b9b981f2f80e8d129cb9084ba90610f2a9083906118e0565b60405180910390a150565b60025481565b6000546001600160a01b03163314610f655760405162461bcd60e51b815260040161031190611ac0565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b03166316048bc46040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610fc257600080fd5b505af1158015610fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffa9190611644565b6001600160a01b0316336001600160a01b03161461102a5760405162461bcd60e51b815260040161031190611a95565b6001600160a01b0391821660009081526003602081905260409091200180546001600160a01b03191691909216179055565b6000546001600160a01b031633146110865760405162461bcd60e51b815260040161031190611ac0565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60008060006110ee611601565b506001600160a01b03808616600090815260036020818152604092839020835160808101855281548616808252600183015493820193909352600282015486169481019490945290910154909216606082015290611158576000935060001992506000915061134d565b6060810151602082015193506001600160a01b038116156111f2576040516398a299e560e01b81526001600160a01b038216906398a299e59061119f9089906004016118e0565b60206040518083038186803b1580156111b757600080fd5b505afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef919061174a565b93505b83600019141561120557600094506112af565b60405163f04da65b60e01b8152600195506000906001600160a01b0389169063f04da65b90611238908a906004016118e0565b60206040518083038186803b15801561125057600080fd5b505afa158015611264573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611288919061174a565b90508085106112a8576112a1858263ffffffff6114c516565b94506112ad565b600094505b505b60408201516001600160a01b0381166112cb576000935061134a565b60405163060f58c360e01b81526001600160a01b0382169063060f58c3906112f7908a906004016118e0565b60206040518083038186803b15801561130f57600080fd5b505afa158015611323573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611347919061174a565b93505b50505b509250925092565b6000546001600160a01b0316331461137f5760405162461bcd60e51b815260040161031190611ac0565b6001600160a01b03811660009081526005602052604090819020805460ff19169055517f753f40ca3312b2408759a67875b367955e7baa221daf08aa3d643d96202ac12b90610f2a9083906118e0565b60006040516020016113e090611846565b60405160208183030381529060405280519060200120821480611426575060405160200161140d90611884565b6040516020818303038152906040528051906020012082145b80611454575060405160200161143b90611899565b6040516020818303038152906040528051906020012082145b80610e575750604051602001611469906118c2565b60405160208183030381529060405280519060200120821492915050565b600060405160200161149890611870565b60405160208183030381529060405280519060200120821480610e575750604051602001611469906118ae565b6000828211156114e75760405162461bcd60e51b8152600401610311906119ea565b50900390565b6000828201838110156115125760405162461bcd60e51b815260040161031190611ae3565b9392505050565b600060405160200161152a90611846565b60405160208183030381529060405280519060200120821480610e5757506040516020016114699061185b565b600060405160200161156890611884565b60405160208183030381529060405280519060200120821480610e57575060405160200161146990611831565b6000826115a457506000610e57565b828202828482816115b157fe5b04146115125760405162461bcd60e51b815260040161031190611b06565b60008082116115f05760405162461bcd60e51b8152600401610311906119c2565b8183816115f957fe5b049392505050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b600060208284031215611639578081fd5b813561151281611b62565b600060208284031215611655578081fd5b815161151281611b62565b60008060408385031215611672578081fd5b823561167d81611b62565b9150602083013561168d81611b62565b809150509250929050565b600080600080600060a086880312156116af578081fd5b85356116ba81611b62565b945060208601356116ca81611b62565b93506040860135925060608601356116e181611b62565b915060808601356116f181611b62565b809150509295509295909350565b60008060408385031215611711578182fd5b823561171c81611b62565b946020939093013593505050565b60006020828403121561173b578081fd5b81518015158114611512578182fd5b60006020828403121561175b578081fd5b5051919050565b600060208284031215611773578081fd5b815167ffffffffffffffff8082111561178a578283fd5b81840185601f82011261179b578384fd5b80519250818311156117ab578384fd5b604051601f8401601f1916810160200183811182821017156117cb578586fd5b6040528381528184016020018710156117e2578485fd5b6117f3846020830160208501611b32565b9695505050505050565b60006020828403121561180e578081fd5b5035919050565b60008251611827818460208701611b32565b9190910192915050565b682229a810189718171960b91b815260090190565b68222b2690189718171960b91b815260090190565b6844564d20312e302e3360b81b815260090190565b670435020312e302e360c41b815260080190565b6844535020312e302e3160b81b815260090190565b68044505020312e302e360bc1b815260090190565b670435020322e302e360c41b815260080190565b71044505020416476616e63656420312e302e360741b815260120190565b6001600160a01b0391909116815260200190565b6001600160a01b03948516815260208101939093529083166040830152909116606082015260800190565b901515815260200190565b92151583526020830191909152604082015260600190565b6000602082528251806020840152611961816040850160208701611b32565b601f01601f19169190910160400192915050565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600c908201526b25a52aa223a2afa2a92927a960a11b604082015260600190565b6020808252600e908201526d2224ab24a224a723afa2a92927a960911b604082015260600190565b60208082526009908201526829aaa12fa2a92927a960b91b604082015260600190565b60208082526010908201526f1113d113d7d25392551250531256915160821b604082015260600190565b6020808252601e908201527f444f444f466565496d706c3a204558434545445f594f55525f51554f54410000604082015260600190565b6020808252600d908201526c1050d0d154d4d7d11153925151609a1b604082015260600190565b6020808252601190820152701393d50813d5d391548813d1881413d3d3607a1b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b60208082526009908201526820a2222fa2a92927a960b91b604082015260600190565b60208082526009908201526826aaa62fa2a92927a960b91b604082015260600190565b90815260200190565b60005b83811015611b4d578181015183820152602001611b35565b83811115611b5c576000848401525b50505050565b6001600160a01b0381168114611b7757600080fd5b5056fea2646970667358221220e746a055b4c39f402f44bd6cb4664444d704b0f55a59246deded20ce9f6dee1364736f6c63430006090033
Deployed ByteCode Sourcemap
6111:7435:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7712:133;;;;;;;;;:::i;:::-;;914:127;;;;;;;;;:::i;281:22::-;;;:::i;:::-;;;;;;;;;;;;;;;;6538:46;;;;;;;;;:::i;:::-;;;;;;;;7251:333;;;;;;;;;:::i;1220:228::-;;;:::i;6805:438::-;;;;;;;;;:::i;13445:98::-;;;:::i;:::-;;;;;;;;6432:45;;;;;;;;;:::i;:::-;;;;;;;;;;;310:26;;;:::i;8621:2538::-;;;;;;;;;:::i;:::-;;;;;;;;6484:47;;;;;;;;;:::i;6591:28::-;;;:::i;7592:110::-;;;;;;;;;:::i;7853:143::-;;;;;;;;;:::i;6247:33::-;;;:::i;8162:121::-;;;;;;;;;:::i;8348:214::-;;;;;;;;;:::i;1049:163::-;;;;;;;;;:::i;11167:1211::-;;;;;;;;;:::i;:::-;;;;;;;;;;8004:150;;;;;;;;;:::i;7712:133::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7803:22:0;;::::1;;::::0;;;:12:::1;:22;::::0;;;;:34;7712:133::o;914:127::-;703:13;;-1:-1:-1;;;703:13:0;;;;702:14;694:43;;;;-1:-1:-1;;;694:43:0;;;;;;;;;1000:4:::1;984:20:::0;;-1:-1:-1;;;;984:20:0::1;-1:-1:-1::0;;;984:20:0::1;::::0;;;1015:18;;-1:-1:-1;;;;;1015:18:0;;::::1;-1:-1:-1::0;;;;;;1015:18:0;;::::1;::::0;;;::::1;::::0;;914:127::o;281:22::-;;;-1:-1:-1;;;;;281:22:0;;:::o;6538:46::-;;;;;;;;;;;;;;;:::o;7251:333::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;-1:-1:-1;;;;;7393:15:0;;::::1;;::::0;;;:7:::1;:15;::::0;;;;;;;:39;;;;::::1;-1:-1:-1::0;;;;;;7393:39:0;;::::1;;::::0;;7443:23:::1;::::0;::::1;:33:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;7487:25;::::1;:37:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;7393:39;7535:27:::1;:41:::0;7251:333::o;1220:228::-;1286:11;;-1:-1:-1;;;;;1286:11:0;1272:10;:25;1264:51;;;;-1:-1:-1;;;1264:51:0;;;;;;;;;1361:11;;;1352:7;;1331:42;;-1:-1:-1;;;;;1361:11:0;;;;1352:7;;;;1331:42;;;1394:11;;;;1384:21;;-1:-1:-1;;;;;;1384:21:0;;;-1:-1:-1;;;;;1394:11:0;;1384:21;;;;1416:24;;;1220:228::o;6805:438::-;6959:10;6945:25;;;;:13;:25;;;;;;;;6937:51;;;;-1:-1:-1;;;6937:51:0;;;;;;;;;6999:28;;:::i;:::-;-1:-1:-1;7031:165:0;;;;;;;;-1:-1:-1;;;;;7031:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7207:15;;;-1:-1:-1;7207:15:0;;;:7;:15;;;;;;;;:28;;;;;;;-1:-1:-1;;;;;;7207:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:438::o;13445:98::-;13521:14;;;;;;;;;;;;-1:-1:-1;;;13521:14:0;;;;13445:98;:::o;6432:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6432:45:0;;;;;;;;;;:::o;310:26::-;;;-1:-1:-1;;;;;310:26:0;;:::o;8621:2538::-;8692:7;8722:4;-1:-1:-1;;;;;8716:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8716:21:0;;;;;;;;;;;;;;;;8712:2440;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11139:1;11132:8;;;;;8712:2440;8789:23;8842:11;8825:29;;;;;;;;;;;;;;;;;;;;;;8815:40;;;;;;8789:66;;8873:24;8881:15;8873:7;:24::i;:::-;8870:317;;;8918:6;8933:4;-1:-1:-1;;;;;8927:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8918:26;;8963:16;8988:4;-1:-1:-1;;;;;8982:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8963:47;;9029:17;9055:4;-1:-1:-1;;;;;9049:27:0;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9029:49;-1:-1:-1;9107:4:0;;:46;;;;-1:-1:-1;9116:15:0;;;:36;;-1:-1:-1;9135:17:0;;9116:36;9105:49;9097:74;;;;-1:-1:-1;;;9097:74:0;;;;;;;;;8870:317;;;;9207:13;;-1:-1:-1;;;;;9207:13:0;:27;;;;:87;;-1:-1:-1;9254:13:0;;9239:55;;-1:-1:-1;;;9239:55:0;;-1:-1:-1;;;;;9254:13:0;;;;9239:49;;:55;;9289:4;;9239:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9238:56;9207:87;9203:175;;;9361:1;9337:4;-1:-1:-1;;;;;9331:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9322:6;:36;:40;9315:47;;;;;;9203:175;-1:-1:-1;;;;;9397:18:0;;;;;;:12;:18;;;;;;:23;9394:88;;-1:-1:-1;;;;;;;;9448:18:0;;;;;;:12;:18;;;;;;9441:25;;9394:88;9501:20;9505:15;9501:3;:20::i;:::-;9498:1586;;;9542:28;;:::i;:::-;-1:-1:-1;;;;;;9573:13:0;;;;;;;:7;:13;;;;;;;;;9542:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9669:24;9666:958;;9725:1;9718:8;;;;;;;;9666:958;9774:17;9794:77;9847:4;-1:-1:-1;;;;;9833:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9794:34;;-1:-1:-1;;;9794:34:0;;-1:-1:-1;;;;;9794:28:0;;;;;:34;;9823:4;;9794:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;:77;:38;:77;:::i;:::-;9774:97;;9894:17;9928:4;-1:-1:-1;;;;;9914:29:0;;9944:4;9914:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9990:18;;;;10051:20;;;;10109:22;;;;9894:55;;-1:-1:-1;9990:18:0;;-1:-1:-1;;;;;10157:23:0;;;10154:100;;10218:36;;-1:-1:-1;;;10218:36:0;;-1:-1:-1;;;;;10218:30:0;;;;;:36;;10249:4;;10218:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10207:47;;10154:100;10287:8;-1:-1:-1;;10287:14:0;:79;;;;10306:8;-1:-1:-1;;10306:14:0;;:59;;;;-1:-1:-1;10357:8:0;10328:24;:9;10342;10328:24;:13;:24;:::i;:::-;10324:41;;10306:59;10279:122;;;;-1:-1:-1;;;10279:122:0;;;;;;;;;-1:-1:-1;;;;;10429:21:0;;10426:179;;10486:1;10479:8;;;;;;;;;;;;;10426:179;10551:30;;-1:-1:-1;;;10551:30:0;;-1:-1:-1;;;;;10551:24:0;;;;;:30;;10576:4;;10551:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10544:37;;;;;;;;;;;;;9498:1586;10648:25;10657:15;10648:8;:25::i;:::-;:54;;;;10677:25;10686:15;10677:8;:25::i;:::-;10645:439;;;10723:17;10749:4;-1:-1:-1;;;;;10743:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10723:47;;10789:17;10809:37;10842:3;10809:28;10823:13;;10809:9;:13;;:28;;;;:::i;:::-;:32;:37;:32;:37;:::i;:::-;10789:57;-1:-1:-1;10896:6:0;10868:24;:9;10789:57;10868:24;:13;:24;:::i;:::-;:34;10865:155;;10934:1;10927:8;;;;;;;;10865:155;10991:9;-1:-1:-1;10984:16:0;;-1:-1:-1;;;10984:16:0;10645:439;11067:1;11060:8;;;;8712:2440;8621:2538;;;;:::o;6484:47::-;;;;;;;;;;;;;:::o;6591:28::-;;;-1:-1:-1;;;;;6591:28:0;;:::o;7592:110::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;7666:13:::1;:28:::0;7592:110::o;7853:143::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;-1:-1:-1;;;;;7924:23:0;::::1;;::::0;;;:13:::1;:23;::::0;;;;;;:30;;-1:-1:-1;;7924:30:0::1;7950:4;7924:30;::::0;;7970:18;::::1;::::0;::::1;::::0;7938:8;;7970:18:::1;;;;;;;;;;7853:143:::0;:::o;6247:33::-;;;;:::o;8162:121::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;8243:13:::1;:32:::0;;-1:-1:-1;;;;;;8243:32:0::1;-1:-1:-1::0;;;;;8243:32:0;;;::::1;::::0;;;::::1;::::0;;8162:121::o;8348:214::-;8467:6;-1:-1:-1;;;;;8453:29:0;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8439:45:0;:10;-1:-1:-1;;;;;8439:45:0;;8431:75;;;;-1:-1:-1;;;8431:75:0;;;;;;;;;-1:-1:-1;;;;;8517:15:0;;;;;;;:7;:15;;;;;;;;:25;:37;;-1:-1:-1;;;;;;8517:37:0;;;;;;;;8348:214::o;1049:163::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;1153:7:::1;::::0;;1127:44:::1;::::0;-1:-1:-1;;;;;1127:44:0;;::::1;::::0;1153:7;::::1;::::0;1127:44:::1;::::0;::::1;1182:11;:22:::0;;-1:-1:-1;;;;;;1182:22:0::1;-1:-1:-1::0;;;;;1182:22:0;;;::::1;::::0;;;::::1;::::0;;1049:163::o;11167:1211::-;11243:14;11259:12;11273:15;11301:28;;:::i;:::-;-1:-1:-1;;;;;;11332:13:0;;;;;;;:7;:13;;;;;;;;;11301:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11356:1015;;11423:5;11411:17;;-1:-1:-1;;11443:13:0;;11481:1;11471:11;;11356:1015;;;11534:20;;;;11580:22;;;;;-1:-1:-1;;;;;;11620:23:0;;;11617:92;;11673:36;;-1:-1:-1;;;11673:36:0;;-1:-1:-1;;;;;11673:30:0;;;;;:36;;11704:4;;11673:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11662:47;;11617:92;11737:8;-1:-1:-1;;11737:14:0;11734:405;;;11784:5;11772:17;;11734:405;;;11884:35;;-1:-1:-1;;;11884:35:0;;11841:4;;-1:-1:-1;11864:17:0;;-1:-1:-1;;;;;11884:29:0;;;;;:35;;11914:4;;11884:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11864:55;;11962:9;11949:8;11941:30;11938:186;;12011:32;12019:8;12033:9;12011:32;:21;:32;:::i;:::-;11996:48;;11938:186;;;12103:1;12092:12;;11938:186;11734:405;;12173:18;;;;-1:-1:-1;;;;;12209:21:0;;12206:154;;12262:1;12251:12;;12206:154;;;12314:30;;-1:-1:-1;;;12314:30:0;;-1:-1:-1;;;;;12314:24:0;;;;;:30;;12339:4;;12314:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12304:40;;12206:154;11356:1015;;;11167:1211;;;;;;:::o;8004:150::-;819:7;;-1:-1:-1;;;;;819:7:0;805:10;:21;797:43;;;;-1:-1:-1;;;797:43:0;;;;;;;;;-1:-1:-1;;;;;8078:23:0;::::1;8104:5;8078:23:::0;;;:13:::1;:23;::::0;;;;;;:31;;-1:-1:-1;;8078:31:0::1;::::0;;8125:21;::::1;::::0;::::1;::::0;8092:8;;8125:21:::1;;13076:361:::0;13142:4;13197:29;;;;;;;;;;;;;;;;;;;;;13187:40;;;;;;13167:16;:60;:124;;;;13261:29;;;;;;;;;;;;;;;;;;;;;13251:40;;;;;;13231:16;:60;13167:124;:188;;;;13325:29;;;;;;;;;;;;;;;;;;;;;13315:40;;;;;;13295:16;:60;13167:188;:261;;;;13389:38;;;;;;;;;;;;;;;;;;;;;13379:49;;;;;;13359:16;:69;13159:270;13076:361;-1:-1:-1;;13076:361:0:o;12386:218::-;12448:4;12503:28;;;;;;;;;;;;;;;;;;;;;12493:39;;;;;;12473:16;:59;:122;;;;12566:28;;;;;;;;4734:137;4792:7;4825:1;4820;:6;;4812:28;;;;-1:-1:-1;;;4812:28:0;;;;;;;;;-1:-1:-1;4858:5:0;;;4734:137::o;4879:161::-;4937:7;4969:5;;;4993:6;;;;4985:28;;;;-1:-1:-1;;;4985:28:0;;;;;;;;;5031:1;4879:161;-1:-1:-1;;;4879:161:0:o;12612:224::-;12679:4;12733:29;;;;;;;;;;;;;;;;;;;;;12723:40;;;;;;12703:16;:60;:124;;;;12797:29;;;;;;;;12844:224;12911:4;12965:29;;;;;;;;;;;;;;;;;;;;;12955:40;;;;;;12935:16;:60;:124;;;;13029:29;;;;;;;;4055:226;4113:7;4137:6;4133:47;;-1:-1:-1;4167:1:0;4160:8;;4133:47;4204:5;;;4208:1;4204;:5;:1;4228:5;;;;;:10;4220:32;;;;-1:-1:-1;;;4220:32:0;;;;;;;;4289:141;4347:7;4379:1;4375;:5;4367:32;;;;-1:-1:-1;;;4367:32:0;;;;;;;;;4421:1;4417;:5;;;;;;;4289:141;-1:-1:-1;;;4289:141:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1423:241::-;;1527:2;1515:9;1506:7;1502:23;1498:32;1495:2;;;-1:-1;;1533:12;1495:2;85:6;72:20;97:33;124:5;97:33;;1671:263;;1786:2;1774:9;1765:7;1761:23;1757:32;1754:2;;;-1:-1;;1792:12;1754:2;226:6;220:13;238:33;265:5;238:33;;1941:366;;;2062:2;2050:9;2041:7;2037:23;2033:32;2030:2;;;-1:-1;;2068:12;2030:2;85:6;72:20;97:33;124:5;97:33;;;2120:63;-1:-1;2220:2;2259:22;;72:20;97:33;72:20;97:33;;;2228:63;;;;2024:283;;;;;;2314:741;;;;;;2485:3;2473:9;2464:7;2460:23;2456:33;2453:2;;;-1:-1;;2492:12;2453:2;85:6;72:20;97:33;124:5;97:33;;;2544:63;-1:-1;2644:2;2683:22;;72:20;97:33;72:20;97:33;;;2652:63;-1:-1;2752:2;2790:22;;484:20;;-1:-1;2859:2;2898:22;;72:20;97:33;72:20;97:33;;;2867:63;-1:-1;2967:3;3007:22;;72:20;97:33;72:20;97:33;;;2976:63;;;;2447:608;;;;;;;;;3062:366;;;3183:2;3171:9;3162:7;3158:23;3154:32;3151:2;;;-1:-1;;3189:12;3151:2;85:6;72:20;97:33;124:5;97:33;;;3241:63;3341:2;3380:22;;;;1212:20;;-1:-1;;;3145:283;3435:257;;3547:2;3535:9;3526:7;3522:23;3518:32;3515:2;;;-1:-1;;3553:12;3515:2;364:6;358:13;24548:5;23650:13;23643:21;24526:5;24523:32;24513:2;;-1:-1;;24559:12;3699:261;;3813:2;3801:9;3792:7;3788:23;3784:32;3781:2;;;-1:-1;;3819:12;3781:2;-1:-1;630:13;;3775:185;-1:-1;3775:185;3967:362;;4092:2;4080:9;4071:7;4067:23;4063:32;4060:2;;;-1:-1;;4098:12;4060:2;4149:17;4143:24;4187:18;;4179:6;4176:30;4173:2;;;-1:-1;;4209:12;4173:2;4296:6;4285:9;4281:22;806:3;799:4;791:6;787:17;783:27;773:2;;-1:-1;;814:12;773:2;854:6;848:13;834:27;;4187:18;22838:6;22835:30;22832:2;;;-1:-1;;22868:12;22832:2;22501;22495:9;22941;22922:17;;-1:-1;;22918:33;22527:17;;4092:2;22527:17;22587:34;;;22623:22;;;22584:62;22581:2;;;-1:-1;;22649:12;22581:2;22501;22668:22;947:21;;;1047:16;;;4092:2;1047:16;1044:25;-1:-1;1041:2;;;-1:-1;;1072:12;1041:2;1092:39;1124:6;4092:2;1023:5;1019:16;4092:2;989:6;985:17;1092:39;;;4229:84;4054:275;-1:-1;;;;;;4054:275;4336:241;;4440:2;4428:9;4419:7;4415:23;4411:32;4408:2;;;-1:-1;;4446:12;4408:2;-1:-1;1212:20;;4402:175;-1:-1;4402:175;12414:275;;5719:5;23119:12;5831:52;5876:6;5871:3;5864:4;5857:5;5853:16;5831:52;;;5895:16;;;;;12550:139;-1:-1;;12550:139;12696:381;-1:-1;;;6521:32;;6506:1;6572:11;;12885:192;13084:381;-1:-1;;;6873:32;;6858:1;6924:11;;13273:192;13472:381;-1:-1;;;7546:32;;7531:1;7597:11;;13661:192;13860:381;-1:-1;;;8221:31;;8206:1;8271:11;;14049:192;14248:381;-1:-1;;;8572:32;;8557:1;8623:11;;14437:192;14636:381;-1:-1;;;9905:32;;9890:1;9956:11;;14825:192;15024:381;-1:-1;;;10905:31;;10890:1;10955:11;;15213:192;15412:381;-1:-1;;;12208:41;;12192:2;12268:12;;15601:192;15800:222;-1:-1;;;;;23816:54;;;;4925:37;;15927:2;15912:18;;15898:124;16029:552;-1:-1;;;;;23816:54;;;4925:37;;16401:2;16386:18;;5154:36;;;;23816:54;;;16484:2;16469:18;;4925:37;23816:54;;;16567:2;16552:18;;4925:37;16238:3;16223:19;;16209:372;16588:210;23650:13;;23643:21;5039:34;;16709:2;16694:18;;16680:118;16805:428;23650:13;;23643:21;5039:34;;17136:2;17121:18;;5154:36;;;;17219:2;17204:18;;5154:36;16980:2;16965:18;;16951:282;17240:310;;17387:2;17408:17;17401:47;5347:5;23119:12;23276:6;17387:2;17376:9;17372:18;23264:19;5441:52;5486:6;23304:14;17376:9;23304:14;17387:2;5467:5;5463:16;5441:52;;;22941:9;24306:14;-1:-1;;24302:28;5505:39;;;;23304:14;5505:39;;17358:192;-1:-1;;17358:192;17557:416;17757:2;17771:47;;;6148:2;17742:18;;;23264:19;-1:-1;;;23304:14;;;6164:36;6219:12;;;17728:245;17980:416;18180:2;18194:47;;;7174:2;18165:18;;;23264:19;-1:-1;;;23304:14;;;7190:35;7244:12;;;18151:245;18403:416;18603:2;18617:47;;;7847:2;18588:18;;;23264:19;-1:-1;;;23304:14;;;7863:37;7919:12;;;18574:245;18826:416;19026:2;19040:47;;;8873:1;19011:18;;;23264:19;-1:-1;;;23304:14;;;8888:32;8939:12;;;18997:245;19249:416;19449:2;19463:47;;;9190:2;19434:18;;;23264:19;-1:-1;;;23304:14;;;9206:39;9264:12;;;19420:245;19672:416;19872:2;19886:47;;;9515:2;19857:18;;;23264:19;9551:32;23304:14;;;9531:53;9603:12;;;19843:245;20095:416;20295:2;20309:47;;;10206:2;20280:18;;;23264:19;-1:-1;;;23304:14;;;10222:36;10277:12;;;20266:245;20518:416;20718:2;20732:47;;;10528:2;20703:18;;;23264:19;-1:-1;;;23304:14;;;10544:40;10603:12;;;20689:245;20941:416;21141:2;21155:47;;;11205:1;21126:18;;;23264:19;-1:-1;;;23304:14;;;11220:32;11271:12;;;21112:245;21364:416;21564:2;21578:47;;;11522:1;21549:18;;;23264:19;-1:-1;;;23304:14;;;11537:32;11588:12;;;21535:245;21787:416;21987:2;22001:47;;;11839:1;21972:18;;;23264:19;-1:-1;;;23304:14;;;11854:32;11905:12;;;21958:245;22210:222;5154:36;;;22337:2;22322:18;;22308:124;23962:268;24027:1;24034:101;24048:6;24045:1;24042:13;24034:101;;;24115:11;;;24109:18;24096:11;;;24089:39;24070:2;24063:10;24034:101;;;24150:6;24147:1;24144:13;24141:2;;;24027:1;24206:6;24201:3;24197:16;24190:27;24141:2;;24011:219;;;;24343:117;-1:-1;;;;;23816:54;;24402:35;;24392:2;;24451:1;;24441:12;24392:2;24386:74;
Metadata Hash
e746a055b4c39f402f44bd6cb4664444d704b0f55a59246deded20ce9f6dee13
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.