Contract
0xe8c060d40d7bc96fcd5b758bd1437c8653400b0e
5
Contract Overview
My Name Tag:
Not Available
TokenTracker:
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x101009f8a54f52d7210bcb755aba44984ffa2fb7
Contract Name:
ArbDexPair
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan on 2023-03-14 */ /** *Submitted for verification at Arbiscan on 2023-03-08 */ pragma solidity = 0.5.16; interface IArbDexFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IArbDexPair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IArbDexERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; } // a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math) library SafeMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x, 'ds-math-add-overflow'); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, 'ds-math-sub-underflow'); } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow'); } } contract ArbDexERC20 is IArbDexERC20 { using SafeMath for uint; string public constant name = 'ArbDex LPs'; string public constant symbol = 'ARX-LP'; uint8 public constant decimals = 18; uint public totalSupply; mapping(address => uint) public balanceOf; mapping(address => mapping(address => uint)) public allowance; bytes32 public DOMAIN_SEPARATOR; bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; mapping(address => uint) public nonces; event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); constructor() public { uint chainId; assembly { chainId := chainid } DOMAIN_SEPARATOR = keccak256( abi.encode( keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'), keccak256(bytes(name)), keccak256(bytes('1')), chainId, address(this) ) ); } function _mint(address to, uint value) internal { totalSupply = totalSupply.add(value); balanceOf[to] = balanceOf[to].add(value); emit Transfer(address(0), to, value); } function _burn(address from, uint value) internal { balanceOf[from] = balanceOf[from].sub(value); totalSupply = totalSupply.sub(value); emit Transfer(from, address(0), value); } function _approve(address owner, address spender, uint value) private { allowance[owner][spender] = value; emit Approval(owner, spender, value); } function _transfer(address from, address to, uint value) private { balanceOf[from] = balanceOf[from].sub(value); balanceOf[to] = balanceOf[to].add(value); emit Transfer(from, to, value); } function approve(address spender, uint value) external returns (bool) { _approve(msg.sender, spender, value); return true; } function transfer(address to, uint value) external returns (bool) { _transfer(msg.sender, to, value); return true; } function transferFrom(address from, address to, uint value) external returns (bool) { if (allowance[from][msg.sender] != uint(-1)) { allowance[from][msg.sender] = allowance[from][msg.sender].sub(value); } _transfer(from, to, value); return true; } function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external { require(deadline >= block.timestamp, 'ArbDex EXPIRED'); bytes32 digest = keccak256( abi.encodePacked( '\x19\x01', DOMAIN_SEPARATOR, keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)) ) ); address recoveredAddress = ecrecover(digest, v, r, s); require(recoveredAddress != address(0) && recoveredAddress == owner, 'ArbDex INVALID_SIGNATURE'); _approve(owner, spender, value); } } // a library for performing various math operations library Math { function min(uint x, uint y) internal pure returns (uint z) { z = x < y ? x : y; } // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method) function sqrt(uint y) internal pure returns (uint z) { if (y > 3) { z = y; uint x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } } // a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format)) // range: [0, 2**112 - 1] // resolution: 1 / 2**112 library UQ112x112 { uint224 constant Q112 = 2**112; // encode a uint112 as a UQ112x112 function encode(uint112 y) internal pure returns (uint224 z) { z = uint224(y) * Q112; // never overflows } // divide a UQ112x112 by a uint112, returning a UQ112x112 function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) { z = x / uint224(y); } } interface IERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); } interface IArbDexCallee { function arbdexCall(address sender, uint amount0, uint amount1, bytes calldata data) external; } contract ArbDexPair is IArbDexPair, ArbDexERC20 { using SafeMath for uint; using UQ112x112 for uint224; uint public constant MINIMUM_LIQUIDITY = 10**3; bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)'))); address public factory; address public token0; address public token1; uint112 private reserve0; // uses single storage slot, accessible via getReserves uint112 private reserve1; // uses single storage slot, accessible via getReserves uint32 private blockTimestampLast; // uses single storage slot, accessible via getReserves uint public price0CumulativeLast; uint public price1CumulativeLast; uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event uint public swapFee = 25; // 0.25% swap fee uint private unlocked = 1; modifier lock() { require(unlocked == 1, 'ArbDex LOCKED'); unlocked = 0; _; unlocked = 1; } function getReserves() public view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) { _reserve0 = reserve0; _reserve1 = reserve1; _blockTimestampLast = blockTimestampLast; } function _safeTransfer(address token, address to, uint value) private { (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), 'ArbDex TRANSFER_FAILED'); } event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); constructor() public { factory = msg.sender; } // called once by the factory at time of deployment function initialize(address _token0, address _token1) external { require(msg.sender == factory, 'ArbDex FORBIDDEN'); // sufficient check token0 = _token0; token1 = _token1; } // update reserves and, on the first call per block, price accumulators function _update(uint balance0, uint balance1, uint112 _reserve0, uint112 _reserve1) private { require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'ArbDex OVERFLOW'); uint32 blockTimestamp = uint32(block.timestamp % 2**32); uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) { // * never overflows, and + overflow is desired price0CumulativeLast += uint(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed; price1CumulativeLast += uint(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed; } reserve0 = uint112(balance0); reserve1 = uint112(balance1); blockTimestampLast = blockTimestamp; emit Sync(reserve0, reserve1); } // if fee is on, mint liquidity equivalent to 20/25 of the growth in sqrt(k) function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) { address feeTo = IArbDexFactory(factory).feeTo(); feeOn = feeTo != address(0); uint _kLast = kLast; // gas savings if (feeOn) { if (_kLast != 0) { uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1)); uint rootKLast = Math.sqrt(_kLast); if (rootK > rootKLast) { uint numerator = totalSupply.mul(rootK.sub(rootKLast)).mul(20); uint denominator = rootK.mul(5).add(rootKLast.mul(20)); uint liquidity = numerator / denominator; if (liquidity > 0) _mint(feeTo, liquidity); } } } else if (_kLast != 0) { kLast = 0; } } // this low-level function should be called from a contract which performs important safety checks function mint(address to) external lock returns (uint liquidity) { (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings uint balance0 = IERC20(token0).balanceOf(address(this)); uint balance1 = IERC20(token1).balanceOf(address(this)); uint amount0 = balance0.sub(_reserve0); uint amount1 = balance1.sub(_reserve1); bool feeOn = _mintFee(_reserve0, _reserve1); uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee if (_totalSupply == 0) { liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY); _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens } else { liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1); } require(liquidity > 0, 'ArbDex INSUFFICIENT_LIQUIDITY_MINTED'); _mint(to, liquidity); _update(balance0, balance1, _reserve0, _reserve1); if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date emit Mint(msg.sender, amount0, amount1); } // this low-level function should be called from a contract which performs important safety checks function burn(address to) external lock returns (uint amount0, uint amount1) { (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings address _token0 = token0; // gas savings address _token1 = token1; // gas savings uint balance0 = IERC20(_token0).balanceOf(address(this)); uint balance1 = IERC20(_token1).balanceOf(address(this)); uint liquidity = balanceOf[address(this)]; bool feeOn = _mintFee(_reserve0, _reserve1); uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution require(amount0 > 0 && amount1 > 0, 'ArbDex INSUFFICIENT_LIQUIDITY_BURNED'); _burn(address(this), liquidity); _safeTransfer(_token0, to, amount0); _safeTransfer(_token1, to, amount1); balance0 = IERC20(_token0).balanceOf(address(this)); balance1 = IERC20(_token1).balanceOf(address(this)); _update(balance0, balance1, _reserve0, _reserve1); if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date emit Burn(msg.sender, amount0, amount1, to); } // this low-level function should be called from a contract which performs important safety checks function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock { require(amount0Out > 0 || amount1Out > 0, 'ArbDex INSUFFICIENT_OUTPUT_AMOUNT'); (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings require(amount0Out < _reserve0 && amount1Out < _reserve1, 'ArbDex INSUFFICIENT_LIQUIDITY'); uint balance0; uint balance1; { // scope for _token{0,1}, avoids stack too deep errors address _token0 = token0; address _token1 = token1; require(to != _token0 && to != _token1, 'ArbDex INVALID_TO'); if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens if (data.length > 0) IArbDexCallee(to).arbdexCall(msg.sender, amount0Out, amount1Out, data); balance0 = IERC20(_token0).balanceOf(address(this)); balance1 = IERC20(_token1).balanceOf(address(this)); } uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0; uint amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0; require(amount0In > 0 || amount1In > 0, 'ArbDex INSUFFICIENT_INPUT_AMOUNT'); { // scope for reserve{0,1}Adjusted, avoids stack too deep errors uint _swapFee = swapFee; uint balance0Adjusted = (balance0.mul(10000).sub(amount0In.mul(_swapFee))); uint balance1Adjusted = (balance1.mul(10000).sub(amount1In.mul(_swapFee))); require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(10000**2), 'ArbDex K'); } _update(balance0, balance1, _reserve0, _reserve1); emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to); } // force balances to match reserves function skim(address to) external lock { address _token0 = token0; // gas savings address _token1 = token1; // gas savings _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0)); _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1)); } // force reserves to match balances function sync() external lock { _update(IERC20(token0).balanceOf(address(this)), IERC20(token1).balanceOf(address(this)), reserve0, reserve1); } }
[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"swapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526019600c556001600d5534801561001a57600080fd5b5060004690506040518080613c3960529139605201905060405180910390206040518060400160405280600a81526020017f417262446578204c507300000000000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001208330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001206003819055505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613abf8061017a6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146108fd578063d505accf14610947578063dd62ed3e146109e0578063fff6cae914610a58576101c4565b8063ba9a7a5614610851578063bc25cf771461086f578063c45a0155146108b3576101c4565b80637ecebe00116100d35780637ecebe00146106b157806389afcb441461070957806395d89b4114610768578063a9059cbb146107eb576101c4565b80636a627842146105e357806370a082311461063b5780637464fc3d14610693576101c4565b806330adf81f11610166578063485cc95511610140578063485cc9551461052557806354cf2aeb146105895780635909c0d5146105a75780635a3d5493146105c5576101c4565b806330adf81f146104c5578063313ce567146104e35780633644e51514610507576101c4565b8063095ea7b3116101a2578063095ea7b3146103715780630dfe1681146103d757806318160ddd1461042157806323b872dd1461043f576101c4565b8063022c0d9f146101c957806306fdde03146102765780630902f1ac146102f9575b600080fd5b610274600480360360808110156101df57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023057600080fd5b82018360208201111561024257600080fd5b8035906020019184600183028401116401000000008311171561026457600080fd5b9091929391929390505050610a62565b005b61027e611290565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102be5780820151818401526020810190506102a3565b50505050905090810190601f1680156102eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103016112c9565b60405180846dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168152602001836dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1681526020018263ffffffff1663ffffffff168152602001935050505060405180910390f35b6103bd6004803603604081101561038757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611326565b604051808215151515815260200191505060405180910390f35b6103df61133d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610429611363565b6040518082815260200191505060405180910390f35b6104ab6004803603606081101561045557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611369565b604051808215151515815260200191505060405180910390f35b6104cd611534565b6040518082815260200191505060405180910390f35b6104eb61155b565b604051808260ff1660ff16815260200191505060405180910390f35b61050f611560565b6040518082815260200191505060405180910390f35b6105876004803603604081101561053b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611566565b005b6105916116af565b6040518082815260200191505060405180910390f35b6105af6116b5565b6040518082815260200191505060405180910390f35b6105cd6116bb565b6040518082815260200191505060405180910390f35b610625600480360360208110156105f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116c1565b6040518082815260200191505060405180910390f35b61067d6004803603602081101561065157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b72565b6040518082815260200191505060405180910390f35b61069b611b8a565b6040518082815260200191505060405180910390f35b6106f3600480360360208110156106c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b90565b6040518082815260200191505060405180910390f35b61074b6004803603602081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba8565b604051808381526020018281526020019250505060405180910390f35b610770612195565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107b0578082015181840152602081019050610795565b50505050905090810190601f1680156107dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108376004803603604081101561080157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121ce565b604051808215151515815260200191505060405180910390f35b6108596121e5565b6040518082815260200191505060405180910390f35b6108b16004803603602081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121eb565b005b6108bb6124c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109056124ec565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109de600480360360e081101561095d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050612512565b005b610a42600480360360408110156109f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612856565b6040518082815260200191505060405180910390f35b610a6061287b565b005b6001600d5414610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f417262446578204c4f434b45440000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d819055506000851180610af15750600084115b610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a226021913960400191505060405180910390fd5b600080610b516112c9565b5091509150816dffffffffffffffffffffffffffff1687108015610b845750806dffffffffffffffffffffffffffff1686105b610bf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f41726244657820494e53554646494349454e545f4c495155494449545900000081525060200191505060405180910390fd5b6000806000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614158015610caf57508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b610d21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f41726244657820494e56414c49445f544f00000000000000000000000000000081525060200191505060405180910390fd5b60008b1115610d3657610d35828a8d612afb565b5b60008a1115610d4b57610d4a818a8c612afb565b5b6000888890501115610e33578873ffffffffffffffffffffffffffffffffffffffff1663be3176f4338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610e1a57600080fd5b505af1158015610e2e573d6000803e3d6000fd5b505050505b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506040513d6020811015610eda57600080fd5b810190808051906020019092919050505093508073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f6a57600080fd5b505afa158015610f7e573d6000803e3d6000fd5b505050506040513d6020811015610f9457600080fd5b810190808051906020019092919050505092505050600089856dffffffffffffffffffffffffffff16038311610fcb576000610fe1565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff1603831161100557600061101b565b89856dffffffffffffffffffffffffffff160383035b9050600082118061102c5750600081115b61109e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f41726244657820494e53554646494349454e545f494e5055545f414d4f554e5481525060200191505060405180910390fd5b6000600c54905060006110e06110bd8386612d4890919063ffffffff16565b6110d261271089612d4890919063ffffffff16565b612ddd90919063ffffffff16565b9050600061111d6110fa8486612d4890919063ffffffff16565b61110f61271089612d4890919063ffffffff16565b612ddd90919063ffffffff16565b90506111686305f5e10061115a8a6dffffffffffffffffffffffffffff168c6dffffffffffffffffffffffffffff16612d4890919063ffffffff16565b612d4890919063ffffffff16565b61117b8284612d4890919063ffffffff16565b10156111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f417262446578204b00000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5050506111fe84848888612e60565b8873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82284848f8f6040518085815260200184815260200183815260200182815260200194505050505060405180910390a35050505050506001600d819055505050505050565b6040518060400160405280600a81526020017f417262446578204c50730000000000000000000000000000000000000000000081525081565b6000806000600860009054906101000a90046dffffffffffffffffffffffffffff1692506008600e9054906101000a90046dffffffffffffffffffffffffffff1691506008601c9054906101000a900463ffffffff169050909192565b60006113333384846131de565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461151e5761149d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ddd90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6115298484846132c9565b600190509392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b601281565b60035481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f41726244657820464f5242494444454e0000000000000000000000000000000081525060200191505060405180910390fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600c5481565b60095481565b600a5481565b60006001600d541461173b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f417262446578204c4f434b45440000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d8190555060008061174e6112c9565b50915091506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156117f457600080fd5b505afa158015611808573d6000803e3d6000fd5b505050506040513d602081101561181e57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156118d257600080fd5b505afa1580156118e6573d6000803e3d6000fd5b505050506040513d60208110156118fc57600080fd5b810190808051906020019092919050505090506000611934856dffffffffffffffffffffffffffff1684612ddd90919063ffffffff16565b9050600061195b856dffffffffffffffffffffffffffff1684612ddd90919063ffffffff16565b90506000611969878761345d565b905060008054905060008114156119bd576119a96103e861199b6119968688612d4890919063ffffffff16565b613664565b612ddd90919063ffffffff16565b98506119b860006103e86136c6565b611a20565b611a1d886dffffffffffffffffffffffffffff166119e48387612d4890919063ffffffff16565b816119eb57fe5b04886dffffffffffffffffffffffffffff16611a108487612d4890919063ffffffff16565b81611a1757fe5b046137e0565b98505b60008911611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613a676024913960400191505060405180910390fd5b611a838a8a6136c6565b611a8f86868a8a612e60565b8115611b0757611b006008600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16600860009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16612d4890919063ffffffff16565b600b819055505b3373ffffffffffffffffffffffffffffffffffffffff167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8585604051808381526020018281526020019250505060405180910390a250505050505050506001600d81905550919050565b60016020528060005260406000206000915090505481565b600b5481565b60046020528060005260406000206000915090505481565b6000806001600d5414611c23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f417262446578204c4f434b45440000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d81905550600080611c366112c9565b50915091506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d0857600080fd5b505afa158015611d1c573d6000803e3d6000fd5b505050506040513d6020811015611d3257600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611dc457600080fd5b505afa158015611dd8573d6000803e3d6000fd5b505050506040513d6020811015611dee57600080fd5b810190808051906020019092919050505090506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611e51888861345d565b905060008054905080611e6d8685612d4890919063ffffffff16565b81611e7457fe5b049a5080611e8b8585612d4890919063ffffffff16565b81611e9257fe5b04995060008b118015611ea5575060008a115b611efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613a436024913960400191505060405180910390fd5b611f0430846137f9565b611f0f878d8d612afb565b611f1a868d8c612afb565b8673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611f9757600080fd5b505afa158015611fab573d6000803e3d6000fd5b505050506040513d6020811015611fc157600080fd5b810190808051906020019092919050505094508573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b505050506040513d602081101561207b57600080fd5b8101908080519060200190929190505050935061209a85858b8b612e60565b81156121125761210b6008600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16600860009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff16612d4890919063ffffffff16565b600b819055505b8b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d819364968d8d604051808381526020018281526020019250505060405180910390a35050505050505050506001600d81905550915091565b6040518060400160405280600681526020017f4152582d4c50000000000000000000000000000000000000000000000000000081525081565b60006121db3384846132c9565b6001905092915050565b6103e881565b6001600d5414612263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f417262446578204c4f434b45440000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d819055506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506123b982846123b4600860009054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561236b57600080fd5b505afa15801561237f573d6000803e3d6000fd5b505050506040513d602081101561239557600080fd5b8101908080519060200190929190505050612ddd90919063ffffffff16565b612afb565b6124b981846124b46008600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b8101908080519060200190929190505050612ddd90919063ffffffff16565b612afb565b50506001600d8190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b42841015612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f417262446578204558504952454400000000000000000000000000000000000081525060200191505060405180910390fd5b60006003547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b898989600460008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018286868660405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561275a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156127ce57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b612840576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f41726244657820494e56414c49445f5349474e4154555245000000000000000081525060200191505060405180910390fd5b61284b8989896131de565b505050505050505050565b6002602052816000526040600020602052806000526040600020600091509150505481565b6001600d54146128f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f417262446578204c4f434b45440000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600d81905550612af1600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561299d57600080fd5b505afa1580156129b1573d6000803e3d6000fd5b505050506040513d60208110156129c757600080fd5b8101908080519060200190929190505050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a7757600080fd5b505afa158015612a8b573d6000803e3d6000fd5b505050506040513d6020811015612aa157600080fd5b8101908080519060200190929190505050600860009054906101000a90046dffffffffffffffffffffffffffff166008600e9054906101000a90046dffffffffffffffffffffffffffff16612e60565b6001600d81905550565b600060608473ffffffffffffffffffffffffffffffffffffffff166040518060400160405280601981526020017f7472616e7366657228616464726573732c75696e743235362900000000000000815250805190602001208585604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b60208310612c285780518252602082019150602081019050602083039250612c05565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612c8a576040519150601f19603f3d011682016040523d82523d6000602084013e612c8f565b606091505b5091509150818015612ccf5750600081511480612cce5750808060200190516020811015612cbc57600080fd5b81019080805190602001909291905050505b5b612d41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f417262446578205452414e534645525f4641494c45440000000000000000000081525060200191505060405180910390fd5b5050505050565b600080821480612d655750828283850292508281612d6257fe5b04145b612dd7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b6000828284039150811115612e5a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff168411158015612ed057507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff168311155b612f42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f417262446578204f564552464c4f57000000000000000000000000000000000081525060200191505060405180910390fd5b60006401000000004281612f5257fe5b06905060006008601c9054906101000a900463ffffffff168203905060008163ffffffff16118015612f9557506000846dffffffffffffffffffffffffffff1614155b8015612fb257506000836dffffffffffffffffffffffffffff1614155b15613094578063ffffffff16612ff785612fcb86613913565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661393e90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16026009600082825401925050819055508063ffffffff166130658461303987613913565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661393e90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602600a600082825401925050819055505b85600860006101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550846008600e6101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550816008601c6101000a81548163ffffffff021916908363ffffffff1602179055507f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1600860009054906101000a90046dffffffffffffffffffffffffffff166008600e9054906101000a90046dffffffffffffffffffffffffffff1660405180836dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168152602001826dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050505050565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b61331b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ddd90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133b081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461399e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156134c857600080fd5b505afa1580156134dc573d6000803e3d6000fd5b505050506040513d60208110156134f257600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141591506000600b549050821561364a576000811461364557600061358a613585866dffffffffffffffffffffffffffff16886dffffffffffffffffffffffffffff16612d4890919063ffffffff16565b613664565b9050600061359783613664565b9050808211156136425760006135dd60146135cf6135be8587612ddd90919063ffffffff16565b600054612d4890919063ffffffff16565b612d4890919063ffffffff16565b9050600061361a6135f8601485612d4890919063ffffffff16565b61360c600587612d4890919063ffffffff16565b61399e90919063ffffffff16565b9050600081838161362757fe5b049050600081111561363e5761363d87826136c6565b5b5050505b50505b61365c565b6000811461365b576000600b819055505b5b505092915050565b600060038211156136b357819050600060016002848161368057fe5b040190505b818110156136ad5780915060028182858161369c57fe5b0401816136a557fe5b049050613685565b506136c1565b600082146136c057600190505b5b919050565b6136db8160005461399e90919063ffffffff16565b60008190555061373381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461399e90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008183106137ef57816137f1565b825b905092915050565b61384b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ddd90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138a381600054612ddd90919063ffffffff16565b600081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60006e010000000000000000000000000000826dffffffffffffffffffffffffffff16029050919050565b6000816dffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168161399557fe5b04905092915050565b6000828284019150811015613a1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b9291505056fe41726244657820494e53554646494349454e545f4f55545055545f414d4f554e5441726244657820494e53554646494349454e545f4c49515549444954595f4255524e454441726244657820494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a72315820bc80abc3b0fa9203a3f37b0046964e795db3805b871663e5a56d037ea70124bd64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429
Deployed ByteCode Sourcemap
10305:9793:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10305:9793:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17539:1966;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;17539:1966:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;17539:1966:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17539:1966:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17539:1966:0;;;;;;;;;;;;:::i;:::-;;4962:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4962:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11362:231;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6910:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6910:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10606:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5100:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7212:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7212:301:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5293:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5058:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5249:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12418:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12418:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11139:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10957:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10996;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14617:1236;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14617:1236:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5131:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5131:41:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11035:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5408:38;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5408:38:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15965:1462;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15965:1462:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;5011:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5011:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7065:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7065:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10427:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19554:334;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19554:334:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10577:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10634:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7521:666;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7521:666:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5179:61;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5179:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19937:158;;;:::i;:::-;;17539:1966;11269:1;11257:8;;:13;11249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:1;11299:8;:12;;;;17666:1;17653:10;:14;:32;;;;17684:1;17671:10;:14;17653:32;17645:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17735:17;17754;17776:13;:11;:13::i;:::-;17734:55;;;;;17836:9;17823:22;;:10;:22;:48;;;;;17862:9;17849:22;;:10;:22;17823:48;17815:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17918:13;17942;18036:15;18054:6;;;;;;;;;;;18036:24;;18075:15;18093:6;;;;;;;;;;;18075:24;;18128:7;18122:13;;:2;:13;;;;:30;;;;;18145:7;18139:13;;:2;:13;;;;18122:30;18114:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18206:1;18193:10;:14;18189:58;;;18209:38;18223:7;18232:2;18236:10;18209:13;:38::i;:::-;18189:58;18313:1;18300:10;:14;18296:58;;;18316:38;18330:7;18339:2;18343:10;18316:13;:38::i;:::-;18296:58;18421:1;18407:4;;:11;;:15;18403:91;;;18438:2;18424:28;;;18453:10;18465;18477;18489:4;;18424:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;18424:70:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18424:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18424:70:0;;;;18403:91;18527:7;18520:25;;;18554:4;18520:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18520:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18520:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18520:40:0;;;;;;;;;;;;;;;;18509:51;;18593:7;18586:25;;;18620:4;18586:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18586:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18586:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18586:40:0;;;;;;;;;;;;;;;;18575:51;;11322:1;;18648:14;18688:10;18676:9;:22;;;18665:8;:33;:75;;18739:1;18665:75;;;18725:10;18713:9;:22;;;18701:8;:35;18665:75;18648:92;;18751:14;18791:10;18779:9;:22;;;18768:8;:33;:75;;18842:1;18768:75;;;18828:10;18816:9;:22;;;18804:8;:35;18768:75;18751:92;;18874:1;18862:9;:13;:30;;;;18891:1;18879:9;:13;18862:30;18854:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19019:13;19035:7;;19019:23;;19057:21;19082:48;19106:23;19120:8;19106:9;:13;;:23;;;;:::i;:::-;19082:19;19095:5;19082:8;:12;;:19;;;;:::i;:::-;:23;;:48;;;;:::i;:::-;19057:74;;19146:21;19171:48;19195:23;19209:8;19195:9;:13;;:23;;;;:::i;:::-;19171:19;19184:5;19171:8;:12;;:19;;;;:::i;:::-;:23;;:48;;;;:::i;:::-;19146:74;;19285:44;19320:8;19285:30;19305:9;19285:30;;19290:9;19285:15;;:19;;:30;;;;:::i;:::-;:34;;:44;;;;:::i;:::-;19243:38;19264:16;19243;:20;;:38;;;;:::i;:::-;:86;;19235:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11322:1;;;19366:49;19374:8;19384;19394:9;19405;19366:7;:49::i;:::-;19494:2;19431:66;;19436:10;19431:66;;;19448:9;19459;19470:10;19482;19431:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11322:1;;;;;;11345;11334:8;:12;;;;17539:1966;;;;;:::o;4962:42::-;;;;;;;;;;;;;;;;;;;:::o;11362:231::-;11406:17;11425;11444:26;11495:8;;;;;;;;;;;11483:20;;11526:8;;;;;;;;;;;11514:20;;11567:18;;;;;;;;;;;11545:40;;11362:231;;;:::o;6910:147::-;6974:4;6991:36;7000:10;7012:7;7021:5;6991:8;:36::i;:::-;7045:4;7038:11;;6910:147;;;;:::o;10606:21::-;;;;;;;;;;;;;:::o;5100:24::-;;;;:::o;7212:301::-;7290:4;7347:2;7311:9;:15;7321:4;7311:15;;;;;;;;;;;;;;;:27;7327:10;7311:27;;;;;;;;;;;;;;;;:39;7307:140;;7397:38;7429:5;7397:9;:15;7407:4;7397:15;;;;;;;;;;;;;;;:27;7413:10;7397:27;;;;;;;;;;;;;;;;:31;;:38;;;;:::i;:::-;7367:9;:15;7377:4;7367:15;;;;;;;;;;;;;;;:27;7383:10;7367:27;;;;;;;;;;;;;;;:68;;;;7307:140;7457:26;7467:4;7473:2;7477:5;7457:9;:26::i;:::-;7501:4;7494:11;;7212:301;;;;;:::o;5293:108::-;5335:66;5293:108;;;:::o;5058:35::-;5091:2;5058:35;:::o;5249:31::-;;;;:::o;12418:206::-;12514:7;;;;;;;;;;;12500:21;;:10;:21;;;12492:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12582:7;12573:6;;:16;;;;;;;;;;;;;;;;;;12609:7;12600:6;;:16;;;;;;;;;;;;;;;;;;12418:206;;:::o;11139:24::-;;;;:::o;10957:32::-;;;;:::o;10996:::-;;;;:::o;14617:1236::-;14666:14;11269:1;11257:8;;:13;11249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:1;11299:8;:12;;;;14694:17;14713;14735:13;:11;:13::i;:::-;14693:55;;;;;14774:13;14797:6;;;;;;;;;;;14790:24;;;14823:4;14790:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14790:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14790:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14790:39:0;;;;;;;;;;;;;;;;14774:55;;14840:13;14863:6;;;;;;;;;;;14856:24;;;14889:4;14856:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14856:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14856:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14856:39:0;;;;;;;;;;;;;;;;14840:55;;14906:12;14921:23;14934:9;14921:23;;:8;:12;;:23;;;;:::i;:::-;14906:38;;14955:12;14970:23;14983:9;14970:23;;:8;:12;;:23;;;;:::i;:::-;14955:38;;15006:10;15019:30;15028:9;15039;15019:8;:30::i;:::-;15006:43;;15060:17;15080:11;;15060:31;;15200:1;15184:12;:17;15180:352;;;15230:54;10468:5;15230:31;15240:20;15252:7;15240;:11;;:20;;;;:::i;:::-;15230:9;:31::i;:::-;:35;;:54;;;;:::i;:::-;15218:66;;15298:36;15312:1;10468:5;15298;:36::i;:::-;15180:352;;;15434:86;15471:9;15443:37;;:25;15455:12;15443:7;:11;;:25;;;;:::i;:::-;:37;;;;;;15510:9;15482:37;;:25;15494:12;15482:7;:11;;:25;;;;:::i;:::-;:37;;;;;;15434:8;:86::i;:::-;15422:98;;15180:352;15562:1;15550:9;:13;15542:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15615:20;15621:2;15625:9;15615:5;:20::i;:::-;15648:49;15656:8;15666;15676:9;15687;15648:7;:49::i;:::-;15712:5;15708:47;;;15727:28;15746:8;;;;;;;;;;;15727:28;;15732:8;;;;;;;;;;;15727:14;;:18;;:28;;;;:::i;:::-;15719:5;:36;;;;15708:47;15816:10;15811:34;;;15828:7;15837;15811:34;;;;;;;;;;;;;;;;;;;;;;;;11322:1;;;;;;;;11345;11334:8;:12;;;;14617:1236;;;:::o;5131:41::-;;;;;;;;;;;;;;;;;:::o;11035:17::-;;;;:::o;5408:38::-;;;;;;;;;;;;;;;;;:::o;15965:1462::-;16014:12;16028;11269:1;11257:8;;:13;11249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:1;11299:8;:12;;;;16054:17;16073;16095:13;:11;:13::i;:::-;16053:55;;;;;16134:15;16152:6;;;;;;;;;;;16134:24;;16215:15;16233:6;;;;;;;;;;;16215:24;;16296:13;16319:7;16312:25;;;16346:4;16312:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16312:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16312:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16312:40:0;;;;;;;;;;;;;;;;16296:56;;16363:13;16386:7;16379:25;;;16413:4;16379:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16379:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16379:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16379:40:0;;;;;;;;;;;;;;;;16363:56;;16430:14;16447:9;:24;16465:4;16447:24;;;;;;;;;;;;;;;;16430:41;;16484:10;16497:30;16506:9;16517;16497:8;:30::i;:::-;16484:43;;16538:17;16558:11;;16538:31;;16694:12;16668:23;16682:8;16668:9;:13;;:23;;;;:::i;:::-;:38;;;;;;16658:48;;16801:12;16775:23;16789:8;16775:9;:13;;:23;;;;:::i;:::-;:38;;;;;;16765:48;;16890:1;16880:7;:11;:26;;;;;16905:1;16895:7;:11;16880:26;16872:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16958:31;16972:4;16979:9;16958:5;:31::i;:::-;17000:35;17014:7;17023:2;17027:7;17000:13;:35::i;:::-;17046;17060:7;17069:2;17073:7;17046:13;:35::i;:::-;17110:7;17103:25;;;17137:4;17103:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17103:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17103:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17103:40:0;;;;;;;;;;;;;;;;17092:51;;17172:7;17165:25;;;17199:4;17165:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17165:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17165:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17165:40:0;;;;;;;;;;;;;;;;17154:51;;17218:49;17226:8;17236;17246:9;17257;17218:7;:49::i;:::-;17282:5;17278:47;;;17297:28;17316:8;;;;;;;;;;;17297:28;;17302:8;;;;;;;;;;;17297:14;;:18;;:28;;;;:::i;:::-;17289:5;:36;;;;17278:47;17416:2;17381:38;;17386:10;17381:38;;;17398:7;17407;17381:38;;;;;;;;;;;;;;;;;;;;;;;;11322:1;;;;;;;;;11345;11334:8;:12;;;;15965:1462;;;:::o;5011:40::-;;;;;;;;;;;;;;;;;;;:::o;7065:139::-;7125:4;7142:32;7152:10;7164:2;7168:5;7142:9;:32::i;:::-;7192:4;7185:11;;7065:139;;;;:::o;10427:46::-;10468:5;10427:46;:::o;19554:334::-;11269:1;11257:8;;:13;11249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:1;11299:8;:12;;;;19605:15;19623:6;;;;;;;;;;;19605:24;;19655:15;19673:6;;;;;;;;;;;19655:24;;19705:82;19719:7;19728:2;19732:54;19777:8;;;;;;;;;;;19732:54;;19739:7;19732:25;;;19766:4;19732:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19732:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19732:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19732:40:0;;;;;;;;;;;;;;;;:44;;:54;;;;:::i;:::-;19705:13;:82::i;:::-;19798;19812:7;19821:2;19825:54;19870:8;;;;;;;;;;;19825:54;;19832:7;19825:25;;;19859:4;19825:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19825:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19825:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19825:40:0;;;;;;;;;;;;;;;;:44;;:54;;;;:::i;:::-;19798:13;:82::i;:::-;11322:1;;11345;11334:8;:12;;;;19554:334;:::o;10577:22::-;;;;;;;;;;;;;:::o;10634:21::-;;;;;;;;;;;;;:::o;7521:666::-;7667:15;7655:8;:27;;7647:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7712:14;7817:16;;5335:66;7873:15;;7890:5;7897:7;7906:5;7913:6;:13;7920:5;7913:13;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;7930:8;7862:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7862:77:0;;;7852:88;;;;;;7753:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7753:202:0;;;7729:237;;;;;;7712:254;;7977:24;8004:26;8014:6;8022:1;8025;8028;8004:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8004:26:0;;;;;;;;7977:53;;8077:1;8049:30;;:16;:30;;;;:59;;;;;8103:5;8083:25;;:16;:25;;;8049:59;8041:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8148:31;8157:5;8164:7;8173:5;8148:8;:31::i;:::-;7521:666;;;;;;;;;:::o;5179:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;19937:158::-;11269:1;11257:8;;:13;11249:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11310:1;11299:8;:12;;;;19978:109;19993:6;;;;;;;;;;;19986:24;;;20019:4;19986:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19986:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19986:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19986:39:0;;;;;;;;;;;;;;;;20034:6;;;;;;;;;;;20027:24;;;20060:4;20027:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20027:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20027:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20027:39:0;;;;;;;;;;;;;;;;20068:8;;;;;;;;;;;20078;;;;;;;;;;;19978:7;:109::i;:::-;11345:1;11334:8;:12;;;;19937:158::o;11601:283::-;11683:12;11697:17;11718:5;:10;;10532:34;;;;;;;;;;;;;;;;;10522:45;;;;;;11762:2;11766:5;11729:43;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11729:43:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;11729:43:0;11718:55;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11718:55:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;11682:91:0;;;;11792:7;:57;;;;;11819:1;11804:4;:11;:16;:44;;;;11835:4;11824:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11824:24:0;;;;;;;;;;;;;;;;11804:44;11792:57;11784:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11601:283;;;;;:::o;4737:142::-;4789:6;4821:1;4816;:6;:30;;;;4845:1;4840;4835;4831;:5;4827:9;;;4826:15;;;;;;:20;4816:30;4808:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4737:142;;;;:::o;4600:129::-;4652:6;4694:1;4688;4684;:5;4680:9;;;4679:16;;4671:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4600:129;;;;:::o;12709:856::-;12841:2;12821:23;;:8;:23;;:50;;;;;12868:2;12848:23;;:8;:23;;12821:50;12813:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12902:21;12951:5;12933:15;:23;;;;;;12902:55;;12968:18;13006;;;;;;;;;;;12989:14;:35;12968:56;;13076:1;13062:11;:15;;;:33;;;;;13094:1;13081:9;:14;;;;13062:33;:51;;;;;13112:1;13099:9;:14;;;;13062:51;13058:336;;;13268:11;13215:64;;13220:44;13254:9;13220:27;13237:9;13220:16;:27::i;:::-;:33;;;;:44;;;;:::i;:::-;13215:50;;:64;13191:20;;:88;;;;;;;;;;;13371:11;13318:64;;13323:44;13357:9;13323:27;13340:9;13323:16;:27::i;:::-;:33;;;;:44;;;;:::i;:::-;13318:50;;:64;13294:20;;:88;;;;;;;;;;;13058:336;13423:8;13404;;:28;;;;;;;;;;;;;;;;;;13462:8;13443;;:28;;;;;;;;;;;;;;;;;;13503:14;13482:18;;:35;;;;;;;;;;;;;;;;;;13533:24;13538:8;;;;;;;;;;;13548;;;;;;;;;;;13533:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12709:856;;;;;;:::o;6505:169::-;6614:5;6586:9;:16;6596:5;6586:16;;;;;;;;;;;;;;;:25;6603:7;6586:25;;;;;;;;;;;;;;;:33;;;;6651:7;6635:31;;6644:5;6635:31;;;6660:5;6635:31;;;;;;;;;;;;;;;;;;6505:169;;;:::o;6682:220::-;6776:26;6796:5;6776:9;:15;6786:4;6776:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;6758:9;:15;6768:4;6758:15;;;;;;;;;;;;;;;:44;;;;6829:24;6847:5;6829:9;:13;6839:2;6829:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;6813:9;:13;6823:2;6813:13;;;;;;;;;;;;;;;:40;;;;6884:2;6869:25;;6878:4;6869:25;;;6888:5;6869:25;;;;;;;;;;;;;;;;;;6682:220;;;:::o;13655:850::-;13728:10;13751:13;13782:7;;;;;;;;;;;13767:29;;;:31;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13767:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13767:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13767:31:0;;;;;;;;;;;;;;;;13751:47;;13834:1;13817:19;;:5;:19;;;;13809:27;;13847:11;13861:5;;13847:19;;13896:5;13892:606;;;13932:1;13922:6;:11;13918:510;;13954:10;13967:41;13977:30;13997:9;13977:30;;13982:9;13977:15;;:19;;:30;;;;:::i;:::-;13967:9;:41::i;:::-;13954:54;;14027:14;14044:17;14054:6;14044:9;:17::i;:::-;14027:34;;14092:9;14084:5;:17;14080:333;;;14126:14;14143:45;14185:2;14143:37;14159:20;14169:9;14159:5;:9;;:20;;;;:::i;:::-;14143:11;;:15;;:37;;;;:::i;:::-;:41;;:45;;;;:::i;:::-;14126:62;;14211:16;14230:35;14247:17;14261:2;14247:9;:13;;:17;;;;:::i;:::-;14230:12;14240:1;14230:5;:9;;:12;;;;:::i;:::-;:16;;:35;;;;:::i;:::-;14211:54;;14288:14;14317:11;14305:9;:23;;;;;;14288:40;;14367:1;14355:9;:13;14351:42;;;14370:23;14376:5;14383:9;14370:5;:23::i;:::-;14351:42;14080:333;;;;13918:510;;;13892:606;;;14459:1;14449:6;:11;14445:53;;14485:1;14477:5;:9;;;;14445:53;13892:606;13655:850;;;;;;:::o;8481:303::-;8526:6;8553:1;8549;:5;8545:232;;;8575:1;8571:5;;8591:6;8608:1;8604;8600;:5;;;;;;:9;8591:18;;8624:92;8635:1;8631;:5;8624:92;;;8661:1;8657:5;;8699:1;8694;8690;8686;:5;;;;;;:9;8685:15;;;;;;8681:19;;8624:92;;;8545:232;;;;8742:1;8737;:6;8733:44;;8764:1;8760:5;;8733:44;8545:232;8481:303;;;:::o;6079:201::-;6152:22;6168:5;6152:11;;:15;;:22;;;;:::i;:::-;6138:11;:36;;;;6201:24;6219:5;6201:9;:13;6211:2;6201:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;6185:9;:13;6195:2;6185:13;;;;;;;;;;;;;;;:40;;;;6262:2;6241:31;;6258:1;6241:31;;;6266:5;6241:31;;;;;;;;;;;;;;;;;;6079:201;;:::o;8267:96::-;8319:6;8346:1;8342;:5;:13;;8354:1;8342:13;;;8350:1;8342:13;8338:17;;8267:96;;;;:::o;6288:209::-;6367:26;6387:5;6367:9;:15;6377:4;6367:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;6349:9;:15;6359:4;6349:15;;;;;;;;;;;;;;;:44;;;;6418:22;6434:5;6418:11;;:15;;:22;;;;:::i;:::-;6404:11;:36;;;;6479:1;6456:33;;6465:4;6456:33;;;6483:5;6456:33;;;;;;;;;;;;;;;;;;6288:209;;:::o;9053:120::-;9103:9;8998:6;9137:1;9129:10;;:17;9125:21;;9053:120;;;:::o;9244:108::-;9304:9;9342:1;9334:10;;9330:14;;:1;:14;;;;;;;;9326:18;;9244:108;;;;:::o;4464:128::-;4516:6;4558:1;4552;4548;:5;4544:9;;;4543:16;;4535:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4464:128;;;;:::o
Metadata Hash
bc80abc3b0fa9203a3f37b0046964e795db3805b871663e5a56d037ea70124bd
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.