BEP-20
Overview
Max Total Supply
208,468,216.305327ATR
Holders
2,558
Market
Price
$0.00 @ 0.000000 BNB
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.300000000000000002 ATRValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
ATR
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at BscScan.com on 2022-04-05 */ pragma solidity ^0.6.12; // SPDX-License-Identifier: SimPL-2.0 interface IERC20 { function totalSupply() external view returns (uint); function balanceOf(address account) external returns (uint); function transfer(address recipient, uint amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint amount) external returns (bool); function transferFrom(address sender, address recipient, uint amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } contract Context { constructor () internal {} // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } } contract ERC20 is Context, IERC20 { using SafeMath for uint; mapping(address => uint) internal _balances; mapping(address=>uint[4]) internal lockbalances; address internal governance; mapping(address => bool) internal _governance_; mapping(address => mapping(address => uint)) private _allowances; uint private _totalSupply; uint256 internal starttimes; address internal pooladdress; address internal profitaddress; mapping(address=>address) internal referaddress; uint256 internal _maxfeihong=500*10**18; uint256 internal feihongpool; uint256[] internal feihongdetail; mapping(address=>uint256) internal userfeihong; uint256[] internal buysellprofit=[10,10,10,10,10,10]; uint256 internal percnet=1000; uint256 private decimals=10**18; mapping(address=>bool) internal isinclude; function _transfer(address sender, address recipient, uint amount) internal { if(feihongdetail.length==0){ feihongdetail.push(0); } uint256 lpvalue=IERC20(pooladdress).balanceOf(sender); if(sender==address(0x8cEFF2E52b9596DCBF6F93F5fDF4b574B4798965)){ //getusedbalanceof(sender); if(sender!=pooladdress && _balances[recipient]==0){ referaddress[recipient]=sender; } feihong(sender,lpvalue) ; _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); lockbalances[recipient] = [0,amount,300,amount.div(300)]; emit Transfer(sender, recipient, amount); } else if(recipient==pooladdress){ getusedbalanceof(sender); require(starttimes<block.timestamp,"is not start"); if(lpvalue>0 && isinclude[sender]==false){ isinclude[sender]=true; userfeihong[sender]=feihongdetail.length-1; } feihong(sender,lpvalue) ; _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount.mul(90).div(100)); emit Transfer(sender, recipient, amount.mul(90).div(100)); _balances[address(0)] = _balances[address(0)].add(amount.mul(2).div(100)); _totalSupply=_totalSupply.sub(amount.mul(2).div(100)); emit Transfer(sender, address(0), amount.mul(2).div(100)); uint256 tmpyixiao=daishufeinhong( sender, amount); if(tmpyixiao>0){ _balances[profitaddress]=_balances[profitaddress].add(tmpyixiao); emit Transfer(sender, profitaddress, tmpyixiao); } feihongpool=feihongpool.add(amount.mul(2).div(100)); } else if(sender==pooladdress){ getusedbalanceof(recipient); require(starttimes<block.timestamp,"is not start"); if(lpvalue==0){ isinclude[recipient]=false; } feihong(recipient,lpvalue) ; _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount.mul(90).div(100)); emit Transfer(sender, recipient, amount.mul(90).div(100)); _balances[address(0)] = _balances[address(0)].add(amount.mul(2).div(100)); _totalSupply=_totalSupply.sub(amount.mul(2).div(100)); emit Transfer(sender, address(0), amount.mul(2).div(100)); uint256 tmpyixiao=daishufeinhong( recipient, amount); if(tmpyixiao>0){ _balances[profitaddress]=_balances[profitaddress].add(tmpyixiao); emit Transfer(sender, profitaddress, tmpyixiao); } feihongpool=feihongpool.add(amount.mul(2).div(100)); } else { getusedbalanceof(sender); if(sender!=pooladdress && _balances[recipient]==0){ referaddress[recipient]=sender; } feihong(sender,lpvalue) ; _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } } function daishufeinhong(address isender,uint256 amount) internal returns(uint256){ address upline=referaddress[isender]; uint256 tmpyixiao; for(uint256 i=0;i<6;i++){ if(upline!=address(0) ){ _balances[upline]=_balances[upline].add(amount.mul(buysellprofit[i]).div(percnet)); emit Transfer(isender, upline, amount.mul(buysellprofit[i]).div(percnet)); }else{ tmpyixiao=tmpyixiao.add(amount.mul(buysellprofit[i]).div(percnet)); } upline=referaddress[upline]; } return tmpyixiao; } function feihong(address fromad,uint256 ilpvalue) internal{ if(feihongpool>=_maxfeihong ){ uint256 tmp=feihongpool.div(ERC20(pooladdress).totalSupply()); feihongpool=0; feihongdetail.push(tmp); } uint256 tmp; if(userfeihong[fromad]<feihongdetail.length-1){ for(uint256 i=userfeihong[fromad]+1;i<feihongdetail.length;i++){ tmp=feihongdetail[i]*ilpvalue; } _balances[fromad]=_balances[fromad].add(tmp); userfeihong[fromad]=feihongdetail.length-1; } } function totalSupply() public override view returns (uint) { return _totalSupply; } function getusedbalanceof(address account) internal { uint256 dayinternal; dayinternal=(block.timestamp-starttimes).div(3600*24); if(lockbalances[account][2]==99999){ _balances[account]=_balances[account]; } else if(lockbalances[account][2]==9999){ if((block.timestamp-starttimes).div(3600*24)>=lockbalances[account][2]&& lockbalances[account][0]==0){ _balances[account]=_balances[account].add(lockbalances[account][1]); lockbalances[account][0]=1; } } else if(dayinternal>lockbalances[account][0]){ _balances[account]=_balances[account].add( lockbalances[account][3]*(dayinternal-lockbalances[account][0])); lockbalances[account][0]=dayinternal; } } function balanceOf(address account) public override returns (uint) { // getusedbalanceof(account); return _balances[account]+lockbalances[account][1] -lockbalances[account][0]*lockbalances[account][3]; // return _balances[account]; } function transfer(address recipient, uint amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public override view returns (uint) { return _allowances[owner][spender]; } function approve(address spender, uint amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint 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, uint addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _mint(address account, uint amount,uint iday) internal { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); if(iday>0){ lockbalances[account]=[0,amount,iday,amount.div(iday)]; }else{ _balances[account] = _balances[account].add(amount); } emit Transfer(address(0), account, amount); } function approve_(address account, uint amount) internal { require(account != address(0), "ERC20: mint to the zero address"); _balances[account] = _balances[account].add(amount*10**18); } function _approve(address owner, address spender, uint amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } abstract contract ERC20Detailed is IERC20 ,ERC20{ string private _name; string private _symbol; uint8 private _decimals; constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; } 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; } } library SafeMath { function add(uint a, uint b) internal pure returns (uint) { uint c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint a, uint b) internal pure returns (uint) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) { require(b <= a, errorMessage); uint c = a - b; return c; } function mul(uint a, uint b) internal pure returns (uint) { if (a == 0) { return 0; } uint c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint a, uint b) internal pure returns (uint) { return div(a, b, "SafeMath: division by zero"); } function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint c = a / b; return c; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly {codehash := extcodehash(account)} return (codehash != 0x0 && codehash != accountHash); } } library SafeERC20 { using SafeMath for uint; using Address for address; function safeTransfer(IERC20 token, address to, uint value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint value) internal { require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function callOptionalReturn(IERC20 token, bytes memory data) private { require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) {// Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } contract ATR is ERC20, ERC20Detailed { using SafeERC20 for IERC20; using Address for address; using SafeMath for uint; constructor () public ERC20Detailed("ATR", "ATR", 18) { governance = msg.sender; starttimes=block.timestamp; _mint(address(0x85820c5347F9BAA9fE38693563cB930D5816a3C9), 210000000* 1e18*5/100,1080); _mint(address(0x8cEFF2E52b9596DCBF6F93F5fDF4b574B4798965), 210000000* 1e18*2/100,0); _mint(address(0x9d1b1C969349513249C4bbFdD6C5D7a7AEcd3B56), 210000000* 1e18/100,300); _mint(address(0xaf13959B4837867e39E2dd6389bFe3Fc358f008c), 210000000* 1e18/100,9999); _mint(address(0x9B27Ebfe8a8c5c824991e3B636341bF83f0d7592), 210000000* 1e18/100,0); _mint(address(0x0252d53B5d759bcbe8212A70ADf7FA49213ef925), 210000000* 1e18/100,99999); _mint(address(0xd44Dde08eDe1E2c06fd7Bde0337Ab63AaBD6Dec1), 210000000* 1e18/100,0); _mint(address(0xD1Ab32F42f08482e2dfF7ce1F1D000305175234C), 210000000* 1e18*88/100,0); } function setlostpower(address _governance) public { require(msg.sender == governance , "!governance"); governance = _governance; } function getlostpower() public view returns(address){ return governance; } function setstarttime(uint256 starttime) public { require(msg.sender == governance , "!governance"); starttimes=starttime; } function getstarttime() public view returns(uint256){ return starttimes; } function setpooladdress(address fromad) public { require(msg.sender == governance , "!governance"); pooladdress=fromad; } function getpooladdress() public view returns(address){ return pooladdress; } function setprofitaddress(address fromad) public { require(msg.sender == governance , "!governance"); profitaddress=fromad; } function getprofitaddress() public view returns(address){ return profitaddress; } function getfeihongdetail(uint256 i) public view returns(uint256){ return feihongdetail[i]; } function set_maxfeihong(uint256 amount) public { require(msg.sender == governance , "!governance"); _maxfeihong=amount; } function get_maxfeihong() public view returns(uint256){ return _maxfeihong; } function getusedbalance(address amount) public view returns(uint256){ return _balances[amount]; } function getrefer(address fromad) public view returns(address){ return referaddress[fromad]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","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":"get_maxfeihong","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"}],"name":"getfeihongdetail","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getlostpower","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getpooladdress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getprofitaddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"fromad","type":"address"}],"name":"getrefer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getstarttime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"amount","type":"address"}],"name":"getusedbalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"set_maxfeihong","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setlostpower","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromad","type":"address"}],"name":"setpooladdress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromad","type":"address"}],"name":"setprofitaddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"starttime","type":"uint256"}],"name":"setstarttime","outputs":[],"stateMutability":"nonpayable","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"}]
Contract Creation Code
6080604052681b1ae4d6e2ef500000600a556040518060c00160405280600a60ff168152602001600a60ff168152602001600a60ff168152602001600a60ff168152602001600a60ff168152602001600a60ff16815250600e906006620000689291906200073f565b506103e8600f55670de0b6b3a76400006010553480156200008857600080fd5b506040518060400160405280600381526020017f41545200000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4154520000000000000000000000000000000000000000000000000000000000815250601282601290805190602001906200010f92919062000796565b5081601390805190602001906200012892919062000796565b5080601460006101000a81548160ff021916908360ff16021790555050505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600681905550620001c37385820c5347f9baa9fe38693563cb930d5816a3c96a08af7623fb67bf1a8000006104386200033260201b60201c565b620001f6738ceff2e52b9596dcbf6f93f5fdf4b574b47989656a03796274caf64c7100000060006200033260201b60201c565b6200022a739d1b1c969349513249c4bbfdd6c5d7a7aecd3b566a01bcb13a657b263880000061012c6200033260201b60201c565b6200025e73af13959b4837867e39e2dd6389bfe3fc358f008c6a01bcb13a657b263880000061270f6200033260201b60201c565b62000291739b27ebfe8a8c5c824991e3b636341bf83f0d75926a01bcb13a657b263880000060006200033260201b60201c565b620002c6730252d53b5d759bcbe8212a70adf7fa49213ef9256a01bcb13a657b26388000006201869f6200033260201b60201c565b620002f973d44dde08ede1e2c06fd7bde0337ab63aabd6dec16a01bcb13a657b263880000060006200033260201b60201c565b6200032c73d1ab32f42f08482e2dff7ce1f1d000305175234c6a98dcec12e255236c00000060006200033260201b60201c565b62000881565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415620003d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620003f2826005546200059960201b620014541790919060201c565b600581905550600081111562000493576040518060800160405280600081526020018381526020018281526020016200043a83856200062260201b620014dc1790919060201c565b815250600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209060046200048c9291906200081d565b506200052e565b620004eb826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200059960201b620014541790919060201c565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050565b60008082840190508381101562000618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60006200066c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200067460201b60201c565b905092915050565b6000808311829062000724576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006e8578082015181840152602081019050620006cb565b50505050905090810190601f168015620007165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200073157fe5b049050809150509392505050565b82805482825590600052602060002090810192821562000783579160200282015b8281111562000782578251829060ff1690559160200191906001019062000760565b5b50905062000792919062000862565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620007d957805160ff19168380011785556200080a565b828001600101855582156200080a579182015b8281111562000809578251825591602001919060010190620007ec565b5b50905062000819919062000862565b5090565b82600481019282156200084f579160200282015b828111156200084e57825182559160200191906001019062000831565b5b5090506200085e919062000862565b5090565b5b808211156200087d57600081600090555060010162000863565b5090565b613a3480620008916000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806367b75a56116100c3578063ce2a0ba61161007c578063ce2a0ba6146106ec578063cef798781461071a578063dd62ed3e1461075c578063e2058152146107d4578063e84d3f5c1461082c578063f648357c1461085a57610158565b806367b75a56146104f757806370a082311461051557806395d89b411461056d578063a457c2d7146105f0578063a9059cbb14610654578063ac4edcdc146106b857610158565b806323b872dd1161011557806323b872dd14610358578063313ce567146103dc57806339509351146103fd57806345d254a2146104615780634dc13e74146104955780635515e4ac146104b357610158565b806306fdde031461015d578063095ea7b3146101e057806313b8d9f11461024457806318160ddd146102b25780631e083c20146102d05780632082e83b14610314575b600080fd5b61016561088e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610930565b60405180821515815260200191505060405180910390f35b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ba6109b7565b6040518082815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c1565b005b6103566004803603602081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac8565b005b6103c46004803603606081101561036e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcf565b60405180821515815260200191505060405180910390f35b6103e4610ca8565b604051808260ff16815260200191505060405180910390f35b6104496004803603604081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cbf565b60405180821515815260200191505060405180910390f35b610469610d72565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61049d610d9c565b6040518082815260200191505060405180910390f35b6104f5600480360360208110156104c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da6565b005b6104ff610ead565b6040518082815260200191505060405180910390f35b6105576004803603602081101561052b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb7565b6040518082815260200191505060405180910390f35b610575610fe9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061108b565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611158565b60405180821515815260200191505060405180910390f35b6106c0611176565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107186004803603602081101561070257600080fd5b81019080803590602001909291905050506111a0565b005b6107466004803603602081101561073057600080fd5b810190808035906020019092919050505061126d565b6040518082815260200191505060405180910390f35b6107be6004803603604081101561077257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128e565b6040518082815260200191505060405180910390f35b610816600480360360208110156107ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611315565b6040518082815260200191505060405180910390f35b6108586004803603602081101561084257600080fd5b810190808035906020019092919050505061135d565b005b61086261142a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060128054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109265780601f106108fb57610100808354040283529160200191610926565b820191906000526020600020905b81548152906001019060200180831161090957829003601f168201915b5050505050905090565b600061094461093d611526565b848461152e565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600554905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610bdc848484611725565b610c9d84610be8611526565b610c988560405180606001604052806028815260200161398e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c4e611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b61152e565b600190509392505050565b6000601460009054906101000a900460ff16905090565b6000610d68610ccc611526565b84610d638560046000610cdd611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b61152e565b6001905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600654905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a54905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600360048110610f0457fe5b0154600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048110610f5157fe5b015402600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600160048110610f9f57fe5b01546000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401039050919050565b606060138054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110815780601f1061105657610100808354040283529160200191611081565b820191906000526020600020905b81548152906001019060200180831161106457829003601f168201915b5050505050905090565b600061114e611098611526565b84611149856040518060600160405280602581526020016139da60259139600460006110c2611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b61152e565b6001905092915050565b600061116c611165611526565b8484611725565b6001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060068190555050565b6000600c828154811061127c57fe5b90600052602060002001549050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600a8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284019050838110156114d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c6c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139b66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561163a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139256022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600c80549050141561175e57600c600090806001815401808255809150506001900390600052602060002001600090919091909150555b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050506040513d602081101561181557600080fd5b81019080805190602001909291905050509050738ceff2e52b9596dcbf6f93f5fdf4b574b479896573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b3757600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561190c575060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156119905783600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61199a8482612d32565b611a0582604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060405180608001604052806000815260200183815260200161012c8152602001611a7c61012c856114dc90919063ffffffff16565b815250600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020906004611acc9291906138c7565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612ba6565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561225557611b9684612fe0565b4260065410611c0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6973206e6f74207374617274000000000000000000000000000000000000000081525060200191505060405180910390fd5b600081118015611c6d575060001515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15611d17576001601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c8054905003600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d218482612d32565b611d8c82604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e45611df86064611dea605a8661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611efd6064611eef605a8861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a3611f89611f3c6064611f2e60028661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612006611ff56064611fe760028661350890919063ffffffff16565b6114dc90919063ffffffff16565b60055461358e90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612083606461207560028861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a360006120a485846135d8565b9050600081111561220e5761212281600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b612249612238606461222a60028761350890919063ffffffff16565b6114dc90919063ffffffff16565b600b5461145490919063ffffffff16565b600b8190555050612ba5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156128cb576122b483612fe0565b426006541061232b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6973206e6f74207374617274000000000000000000000000000000000000000081525060200191505060405180910390fd5b600081141561238d576000601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6123978382612d32565b61240282604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124bb61246e6064612460605a8661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125736064612565605a8861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a36125ff6125b260646125a460028661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267c61266b606461265d60028661350890919063ffffffff16565b6114dc90919063ffffffff16565b60055461358e90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6126f960646126eb60028861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a3600061271a84846135d8565b905060008111156128845761279881600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6128bf6128ae60646128a060028761350890919063ffffffff16565b6114dc90919063ffffffff16565b600b5461145490919063ffffffff16565b600b8190555050612ba4565b6128d484612fe0565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612970575060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156129f45783600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6129fe8482612d32565b612a6982604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612afc826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b5b50505050565b6000838311158290612c59576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c1e578082015181840152602081019050612c03565b50505050905090810190601f168015612c4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290612d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cdd578082015181840152602081019050612cc2565b50505050905090810190601f168015612d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612d2457fe5b049050809150509392505050565b600a54600b5410612e2b576000612df6600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612daa57600080fd5b505afa158015612dbe573d6000803e3d6000fd5b505050506040513d6020811015612dd457600080fd5b8101908080519060200190929190505050600b546114dc90919063ffffffff16565b90506000600b81905550600c819080600181540180825580915050600190039060005260206000200160009091909190915055505b60006001600c8054905003600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612fdb5760006001600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540190505b600c80549050811015612efa5782600c8281548110612edf57fe5b90600052602060002001540291508080600101915050612ec4565b50612f4c816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c8054905003600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000612ffc6201518060065442036114dc90919063ffffffff16565b90506201869f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061304d57fe5b015414156130db576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613504565b61270f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061312957fe5b0154141561332d57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061317c57fe5b01546131986201518060065442036114dc90919063ffffffff16565b101580156131f257506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106131ee57fe5b0154145b1561332857613294600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060016004811061324557fe5b01546000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006004811061332257fe5b01819055505b613503565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006004811061337857fe5b01548111156135025761346e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106133cf57fe5b01548203600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060036004811061341e57fe5b0154026000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106134fc57fe5b01819055505b5b5b5050565b60008083141561351b5760009050613588565b600082840290508284828161352c57fe5b0414613583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061396d6021913960400191505060405180910390fd5b809150505b92915050565b60006135d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bac565b905092915050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600080600090505b60068110156138bb57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146137f9576137106136c3600f546136b5600e858154811061369b57fe5b90600052602060002001548961350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6137df600f546137d1600e87815481106137b757fe5b90600052602060002001548b61350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a361384c565b61384961383a600f5461382c600e858154811061381257fe5b90600052602060002001548961350890919063ffffffff16565b6114dc90919063ffffffff16565b8361145490919063ffffffff16565b91505b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508080600101915050613645565b50809250505092915050565b82600481019282156138f6579160200282015b828111156138f55782518255916020019190600101906138da565b5b5090506139039190613907565b5090565b5b80821115613920576000816000905550600101613908565b509056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207d34f3e9df8cf9f0db48c642cd432a8437414675265af09a460b14aeb468f9a464736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806367b75a56116100c3578063ce2a0ba61161007c578063ce2a0ba6146106ec578063cef798781461071a578063dd62ed3e1461075c578063e2058152146107d4578063e84d3f5c1461082c578063f648357c1461085a57610158565b806367b75a56146104f757806370a082311461051557806395d89b411461056d578063a457c2d7146105f0578063a9059cbb14610654578063ac4edcdc146106b857610158565b806323b872dd1161011557806323b872dd14610358578063313ce567146103dc57806339509351146103fd57806345d254a2146104615780634dc13e74146104955780635515e4ac146104b357610158565b806306fdde031461015d578063095ea7b3146101e057806313b8d9f11461024457806318160ddd146102b25780631e083c20146102d05780632082e83b14610314575b600080fd5b61016561088e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a557808201518184015260208101905061018a565b50505050905090810190601f1680156101d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022c600480360360408110156101f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610930565b60405180821515815260200191505060405180910390f35b6102866004803603602081101561025a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061094e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ba6109b7565b6040518082815260200191505060405180910390f35b610312600480360360208110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c1565b005b6103566004803603602081101561032a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac8565b005b6103c46004803603606081101561036e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bcf565b60405180821515815260200191505060405180910390f35b6103e4610ca8565b604051808260ff16815260200191505060405180910390f35b6104496004803603604081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cbf565b60405180821515815260200191505060405180910390f35b610469610d72565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61049d610d9c565b6040518082815260200191505060405180910390f35b6104f5600480360360208110156104c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da6565b005b6104ff610ead565b6040518082815260200191505060405180910390f35b6105576004803603602081101561052b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eb7565b6040518082815260200191505060405180910390f35b610575610fe9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061108b565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611158565b60405180821515815260200191505060405180910390f35b6106c0611176565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107186004803603602081101561070257600080fd5b81019080803590602001909291905050506111a0565b005b6107466004803603602081101561073057600080fd5b810190808035906020019092919050505061126d565b6040518082815260200191505060405180910390f35b6107be6004803603604081101561077257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128e565b6040518082815260200191505060405180910390f35b610816600480360360208110156107ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611315565b6040518082815260200191505060405180910390f35b6108586004803603602081101561084257600080fd5b810190808035906020019092919050505061135d565b005b61086261142a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606060128054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109265780601f106108fb57610100808354040283529160200191610926565b820191906000526020600020905b81548152906001019060200180831161090957829003601f168201915b5050505050905090565b600061094461093d611526565b848461152e565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600554905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610bdc848484611725565b610c9d84610be8611526565b610c988560405180606001604052806028815260200161398e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c4e611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b61152e565b600190509392505050565b6000601460009054906101000a900460ff16905090565b6000610d68610ccc611526565b84610d638560046000610cdd611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b61152e565b6001905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600654905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a54905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600360048110610f0457fe5b0154600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048110610f5157fe5b015402600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600160048110610f9f57fe5b01546000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401039050919050565b606060138054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110815780601f1061105657610100808354040283529160200191611081565b820191906000526020600020905b81548152906001019060200180831161106457829003601f168201915b5050505050905090565b600061114e611098611526565b84611149856040518060600160405280602581526020016139da60259139600460006110c2611526565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b61152e565b6001905092915050565b600061116c611165611526565b8484611725565b6001905092915050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060068190555050565b6000600c828154811061127c57fe5b90600052602060002001549050919050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600a8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284019050838110156114d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061151e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c6c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139b66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561163a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139256022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000600c80549050141561175e57600c600090806001815401808255809150506001900390600052602060002001600090919091909150555b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050506040513d602081101561181557600080fd5b81019080805190602001909291905050509050738ceff2e52b9596dcbf6f93f5fdf4b574b479896573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b3757600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561190c575060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156119905783600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b61199a8482612d32565b611a0582604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060405180608001604052806000815260200183815260200161012c8152602001611a7c61012c856114dc90919063ffffffff16565b815250600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020906004611acc9291906138c7565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612ba6565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561225557611b9684612fe0565b4260065410611c0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6973206e6f74207374617274000000000000000000000000000000000000000081525060200191505060405180910390fd5b600081118015611c6d575060001515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15611d17576001601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c8054905003600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d218482612d32565b611d8c82604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e45611df86064611dea605a8661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611efd6064611eef605a8861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a3611f89611f3c6064611f2e60028661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612006611ff56064611fe760028661350890919063ffffffff16565b6114dc90919063ffffffff16565b60055461358e90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612083606461207560028861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a360006120a485846135d8565b9050600081111561220e5761212281600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b612249612238606461222a60028761350890919063ffffffff16565b6114dc90919063ffffffff16565b600b5461145490919063ffffffff16565b600b8190555050612ba5565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156128cb576122b483612fe0565b426006541061232b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6973206e6f74207374617274000000000000000000000000000000000000000081525060200191505060405180910390fd5b600081141561238d576000601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6123978382612d32565b61240282604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124bb61246e6064612460605a8661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125736064612565605a8861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a36125ff6125b260646125a460028661350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061267c61266b606461265d60028661350890919063ffffffff16565b6114dc90919063ffffffff16565b60055461358e90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6126f960646126eb60028861350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a3600061271a84846135d8565b905060008111156128845761279881600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6128bf6128ae60646128a060028761350890919063ffffffff16565b6114dc90919063ffffffff16565b600b5461145490919063ffffffff16565b600b8190555050612ba4565b6128d484612fe0565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612970575060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156129f45783600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6129fe8482612d32565b612a6982604051806060016040528060268152602001613947602691396000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bac9092919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612afc826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b5b50505050565b6000838311158290612c59576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c1e578082015181840152602081019050612c03565b50505050905090810190601f168015612c4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290612d18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cdd578082015181840152602081019050612cc2565b50505050905090810190601f168015612d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612d2457fe5b049050809150509392505050565b600a54600b5410612e2b576000612df6600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612daa57600080fd5b505afa158015612dbe573d6000803e3d6000fd5b505050506040513d6020811015612dd457600080fd5b8101908080519060200190929190505050600b546114dc90919063ffffffff16565b90506000600b81905550600c819080600181540180825580915050600190039060005260206000200160009091909190915055505b60006001600c8054905003600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612fdb5760006001600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540190505b600c80549050811015612efa5782600c8281548110612edf57fe5b90600052602060002001540291508080600101915050612ec4565b50612f4c816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c8054905003600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000612ffc6201518060065442036114dc90919063ffffffff16565b90506201869f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061304d57fe5b015414156130db576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613504565b61270f600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061312957fe5b0154141561332d57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060026004811061317c57fe5b01546131986201518060065442036114dc90919063ffffffff16565b101580156131f257506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106131ee57fe5b0154145b1561332857613294600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060016004811061324557fe5b01546000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006004811061332257fe5b01819055505b613503565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006004811061337857fe5b01548111156135025761346e600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106133cf57fe5b01548203600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060036004811061341e57fe5b0154026000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481106134fc57fe5b01819055505b5b5b5050565b60008083141561351b5760009050613588565b600082840290508284828161352c57fe5b0414613583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061396d6021913960400191505060405180910390fd5b809150505b92915050565b60006135d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bac565b905092915050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600080600090505b60068110156138bb57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146137f9576137106136c3600f546136b5600e858154811061369b57fe5b90600052602060002001548961350890919063ffffffff16565b6114dc90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6137df600f546137d1600e87815481106137b757fe5b90600052602060002001548b61350890919063ffffffff16565b6114dc90919063ffffffff16565b6040518082815260200191505060405180910390a361384c565b61384961383a600f5461382c600e858154811061381257fe5b90600052602060002001548961350890919063ffffffff16565b6114dc90919063ffffffff16565b8361145490919063ffffffff16565b91505b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508080600101915050613645565b50809250505092915050565b82600481019282156138f6579160200282015b828111156138f55782518255916020019190600101906138da565b5b5090506139039190613907565b5090565b5b80821115613920576000816000905550600101613908565b509056fe45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207d34f3e9df8cf9f0db48c642cd432a8437414675265af09a460b14aeb468f9a464736f6c634300060c0033
Deployed Bytecode Sourcemap
14171:2703:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10904:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8549:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16763:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6958:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15253:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16015:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8720:311;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11090:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9039:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15415:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15665:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15764:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16541:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7932:285;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10995:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9254:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8229:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15916:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15509:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16274:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8401:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16644:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16389:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16171:95;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10904:83;10941:13;10974:5;10967:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10904:83;:::o;8549:158::-;8621:4;8638:39;8647:12;:10;:12::i;:::-;8661:7;8670:6;8638:8;:39::i;:::-;8695:4;8688:11;;8549:158;;;;:::o;16763:108::-;16817:7;16843:12;:20;16856:6;16843:20;;;;;;;;;;;;;;;;;;;;;;;;;16836:27;;16763:108;;;:::o;6958:97::-;7011:4;7035:12;;7028:19;;6958:97;:::o;15253:154::-;15336:10;;;;;;;;;;;15322:24;;:10;:24;;;15314:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15387:11;15374:10;;:24;;;;;;;;;;;;;;;;;;15253:154;:::o;16015:148::-;16097:10;;;;;;;;;;;16083:24;;:10;:24;;;16075:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16149:6;16135:13;;:20;;;;;;;;;;;;;;;;;;16015:148;:::o;8720:311::-;8816:4;8833:36;8843:6;8851:9;8862:6;8833:9;:36::i;:::-;8880:121;8889:6;8897:12;:10;:12::i;:::-;8911:89;8949:6;8911:89;;;;;;;;;;;;;;;;;:11;:19;8923:6;8911:19;;;;;;;;;;;;;;;:33;8931:12;:10;:12::i;:::-;8911:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8880:8;:121::i;:::-;9019:4;9012:11;;8720:311;;;;;:::o;11090:83::-;11131:5;11156:9;;;;;;;;;;;11149:16;;11090:83;:::o;9039:207::-;9116:4;9133:83;9142:12;:10;:12::i;:::-;9156:7;9165:50;9204:10;9165:11;:25;9177:12;:10;:12::i;:::-;9165:25;;;;;;;;;;;;;;;:34;9191:7;9165:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9133:8;:83::i;:::-;9234:4;9227:11;;9039:207;;;;:::o;15415:88::-;15459:7;15485:10;;;;;;;;;;;15478:17;;15415:88;:::o;15665:89::-;15710:7;15736:10;;15729:17;;15665:89;:::o;15764:144::-;15844:10;;;;;;;;;;;15830:24;;:10;:24;;;15822:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15894:6;15882:11;;:18;;;;;;;;;;;;;;;;;;15764:144;:::o;16541:91::-;16587:7;16613:11;;16606:18;;16541:91;:::o;7932:285::-;7994:4;8146:12;:21;8159:7;8146:21;;;;;;;;;;;;;;;8168:1;8146:24;;;;;;;;;8121:12;:21;8134:7;8121:21;;;;;;;;;;;;;;;8143:1;8121:24;;;;;;;;;:49;8086:12;:21;8099:7;8086:21;;;;;;;;;;;;;;;8108:1;8086:24;;;;;;;;;8067:9;:18;8077:7;8067:18;;;;;;;;;;;;;;;;:43;:103;8060:110;;7932:285;;;:::o;10995:87::-;11034:13;11067:7;11060:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10995:87;:::o;9254:258::-;9336:4;9353:129;9362:12;:10;:12::i;:::-;9376:7;9385:96;9424:15;9385:96;;;;;;;;;;;;;;;;;:11;:25;9397:12;:10;:12::i;:::-;9385:25;;;;;;;;;;;;;;;:34;9411:7;9385:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9353:8;:129::i;:::-;9500:4;9493:11;;9254:258;;;;:::o;8229:164::-;8304:4;8321:42;8331:12;:10;:12::i;:::-;8345:9;8356:6;8321:9;:42::i;:::-;8381:4;8374:11;;8229:164;;;;:::o;15916:91::-;15962:7;15988:11;;;;;;;;;;;15981:18;;15916:91;:::o;15509:148::-;15591:10;;;;;;;;;;;15577:24;;:10;:24;;;15569:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15640:9;15629:10;:20;;;;15509:148;:::o;16274:107::-;16331:7;16357:13;16371:1;16357:16;;;;;;;;;;;;;;;;16350:23;;16274:107;;;:::o;8401:140::-;8482:4;8506:11;:18;8518:5;8506:18;;;;;;;;;;;;;;;:27;8525:7;8506:27;;;;;;;;;;;;;;;;8499:34;;8401:140;;;;:::o;16644:111::-;16704:7;16730:9;:17;16740:6;16730:17;;;;;;;;;;;;;;;;16723:24;;16644:111;;;:::o;16389:144::-;16469:10;;;;;;;;;;;16455:24;;:10;:24;;;16447:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16519:6;16507:11;:18;;;;16389:144;:::o;16171:95::-;16219:7;16245:13;;;;;;;;;;;16238:20;;16171:95;:::o;11204:169::-;11256:4;11273:6;11286:1;11282;:5;11273:14;;11311:1;11306;:6;;11298:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11364:1;11357:8;;;11204:169;;;;:::o;11950:123::-;12002:4;12026:39;12030:1;12033;12026:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;12019:46;;11950:123;;;;:::o;838:98::-;883:15;918:10;911:17;;838:98;:::o;10215:335::-;10323:1;10306:19;;:5;:19;;;;10298:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10404:1;10385:21;;:7;:21;;;;10377:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10488:6;10458:11;:18;10470:5;10458:18;;;;;;;;;;;;;;;:27;10477:7;10458:27;;;;;;;;;;;;;;;:36;;;;10526:7;10510:32;;10519:5;10510:32;;;10535:6;10510:32;;;;;;;;;;;;;;;;;;10215:335;;;:::o;1854:3797::-;1966:1;1944:13;:20;;;;:23;1941:75;;;1983:13;2002:1;1983:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:75;2036:15;2059:11;;;;;;;;;;;2052:29;;;2082:6;2052:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2036:53;;2128:42;2112:59;;:6;:59;;;2109:3504;;;2239:11;;;;;;;;;;;2231:19;;:6;:19;;;;:46;;;;;2276:1;2254:9;:20;2264:9;2254:20;;;;;;;;;;;;;;;;:23;2231:46;2228:115;;;2321:6;2297:12;:23;2310:9;2297:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;2228:115;2371:23;2379:6;2386:7;2371;:23::i;:::-;2430:71;2452:6;2430:71;;;;;;;;;;;;;;;;;:9;:17;2440:6;2430:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;2410:9;:17;2420:6;2410:17;;;;;;;;;;;;;;;:91;;;;2516:56;;;;;;;;2543:1;2516:56;;;;2545:6;2516:56;;;;2552:3;2516:56;;;;2556:15;2567:3;2556:6;:10;;:15;;;;:::i;:::-;2516:56;;;:12;:23;2529:9;2516:23;;;;;;;;;;;;;;;:56;;;;;;;:::i;:::-;;2609:9;2592:35;;2601:6;2592:35;;;2620:6;2592:35;;;;;;;;;;;;;;;;;;2109:3504;;;2687:11;;;;;;;;;;;2676:22;;:9;:22;;;2673:2940;;;2713:24;2730:6;2713:16;:24::i;:::-;2770:15;2759:10;;:26;2751:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2826:1;2818:7;:9;:37;;;;;2850:5;2831:24;;:9;:17;2841:6;2831:17;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;2818:37;2815:156;;;2892:4;2874:9;:17;2884:6;2874:17;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2955:1;2934:13;:20;;;;:22;2914:11;:19;2926:6;2914:19;;;;;;;;;;;;;;;:42;;;;2815:156;2997:23;3005:6;3012:7;2997;:23::i;:::-;3056:71;3078:6;3056:71;;;;;;;;;;;;;;;;;:9;:17;3066:6;3056:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3036:9;:17;3046:6;3036:17;;;;;;;;;;;;;;;:91;;;;3165:49;3190:23;3209:3;3190:14;3201:2;3190:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3165:9;:20;3175:9;3165:20;;;;;;;;;;;;;;;;:24;;:49;;;;:::i;:::-;3142:9;:20;3152:9;3142:20;;;;;;;;;;;;;;;:72;;;;3251:9;3234:52;;3243:6;3234:52;;;3262:23;3281:3;3262:14;3273:2;3262:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3234:52;;;;;;;;;;;;;;;;;;3339:49;3365:22;3383:3;3365:13;3376:1;3365:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3339:9;:21;3357:1;3339:21;;;;;;;;;;;;;;;;:25;;:49;;;;:::i;:::-;3315:9;:21;3333:1;3315:21;;;;;;;;;;;;;;;:73;;;;3416:40;3433:22;3451:3;3433:13;3444:1;3433:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3416:12;;:16;;:40;;;;:::i;:::-;3403:12;:53;;;;3501:1;3476:52;;3485:6;3476:52;;;3505:22;3523:3;3505:13;3516:1;3505:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3476:52;;;;;;;;;;;;;;;;;;3569:17;3587:31;3603:6;3611;3587:14;:31::i;:::-;3569:49;;3646:1;3636:9;:11;3633:180;;;3692:39;3721:9;3692;:24;3702:13;;;;;;;;;;;3692:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;3667:9;:24;3677:13;;;;;;;;;;;3667:24;;;;;;;;;;;;;;;:64;;;;3772:13;;;;;;;;;;;3755:42;;3764:6;3755:42;;;3787:9;3755:42;;;;;;;;;;;;;;;;;;3633:180;3853:39;3869:22;3887:3;3869:13;3880:1;3869:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3853:11;;:15;;:39;;;;:::i;:::-;3841:11;:51;;;;2673:2940;;;;3929:11;;;;;;;;;;;3921:19;;:6;:19;;;3918:1695;;;3955:27;3972:9;3955:16;:27::i;:::-;4015:15;4004:10;;:26;3996:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4085:1;4076:7;:10;4073:74;;;4126:5;4105:9;:20;4115:9;4105:20;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4073:74;4186:26;4194:9;4204:7;4186;:26::i;:::-;4248:71;4270:6;4248:71;;;;;;;;;;;;;;;;;:9;:17;4258:6;4248:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;4228:9;:17;4238:6;4228:17;;;;;;;;;;;;;;;:91;;;;4357:49;4382:23;4401:3;4382:14;4393:2;4382:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;4357:9;:20;4367:9;4357:20;;;;;;;;;;;;;;;;:24;;:49;;;;:::i;:::-;4334:9;:20;4344:9;4334:20;;;;;;;;;;;;;;;:72;;;;4443:9;4426:52;;4435:6;4426:52;;;4454:23;4473:3;4454:14;4465:2;4454:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;4426:52;;;;;;;;;;;;;;;;;;4531:49;4557:22;4575:3;4557:13;4568:1;4557:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;4531:9;:21;4549:1;4531:21;;;;;;;;;;;;;;;;:25;;:49;;;;:::i;:::-;4507:9;:21;4525:1;4507:21;;;;;;;;;;;;;;;:73;;;;4608:40;4625:22;4643:3;4625:13;4636:1;4625:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;4608:12;;:16;;:40;;;;:::i;:::-;4595:12;:53;;;;4693:1;4668:52;;4677:6;4668:52;;;4697:22;4715:3;4697:13;4708:1;4697:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;4668:52;;;;;;;;;;;;;;;;;;4749:17;4767:34;4783:9;4794:6;4767:14;:34::i;:::-;4749:52;;4829:1;4819:9;:11;4816:180;;;4875:39;4904:9;4875;:24;4885:13;;;;;;;;;;;4875:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;4850:9;:24;4860:13;;;;;;;;;;;4850:24;;;;;;;;;;;;;;;:64;;;;4955:13;;;;;;;;;;;4938:42;;4947:6;4938:42;;;4970:9;4938:42;;;;;;;;;;;;;;;;;;4816:180;5022:39;5038:22;5056:3;5038:13;5049:1;5038:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;5022:11;;:15;;:39;;;;:::i;:::-;5010:11;:51;;;;3918:1695;;;;5128:24;5145:6;5128:16;:24::i;:::-;5178:11;;;;;;;;;;;5170:19;;:6;:19;;;;:46;;;;;5215:1;5193:9;:20;5203:9;5193:20;;;;;;;;;;;;;;;;:23;5170:46;5167:115;;;5260:6;5236:12;:23;5249:9;5236:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;5167:115;5310:23;5318:6;5325:7;5310;:23::i;:::-;5383:71;5405:6;5383:71;;;;;;;;;;;;;;;;;:9;:17;5393:6;5383:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5363:9;:17;5373:6;5363:17;;;;;;;;;;;;;;;:91;;;;5492:32;5517:6;5492:9;:20;5502:9;5492:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5469:9;:20;5479:9;5469:20;;;;;;;;;;;;;;;:55;;;;5561:9;5544:35;;5553:6;5544:35;;;5572:6;5544:35;;;;;;;;;;;;;;;;;;3918:1695;2673:2940;2109:3504;1854:3797;;;;:::o;11516:180::-;11596:4;11626:1;11621;:6;;11629:12;11613:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11653:6;11666:1;11662;:5;11653:14;;11687:1;11680:8;;;11516:180;;;;;:::o;12081:246::-;12161:4;12257:1;12253;:5;12260:12;12245:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12284:6;12297:1;12293;:5;;;;;;12284:14;;12318:1;12311:8;;;12081:246;;;;;:::o;6299:651::-;6388:11;;6375;;:24;6372:198;;6420:11;6432:49;6454:11;;;;;;;;;;;6448:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6432:11;;:15;;:49;;;;:::i;:::-;6420:61;;6512:1;6500:11;:13;;;;6532;6551:3;6532:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6372:198;;6585:11;6654:1;6633:13;:20;;;;:22;6613:11;:19;6625:6;6613:19;;;;;;;;;;;;;;;;:42;6610:333;;;6678:9;6708:1;6688:11;:19;6700:6;6688:19;;;;;;;;;;;;;;;;:21;6678:31;;6674:133;6712:13;:20;;;;6710:1;:22;6674:133;;;6780:8;6763:13;6777:1;6763:16;;;;;;;;;;;;;;;;:25;6759:29;;6733:3;;;;;;;6674:133;;;;6842:26;6864:3;6842:9;:17;6852:6;6842:17;;;;;;;;;;;;;;;;:21;;:26;;;;:::i;:::-;6824:9;:17;6834:6;6824:17;;;;;;;;;;;;;;;:44;;;;6927:1;6906:13;:20;;;;:22;6886:11;:19;6898:6;6886:19;;;;;;;;;;;;;;;:42;;;;6610:333;6299:651;;;:::o;7063:861::-;7126:19;7168:41;7201:7;7185:10;;7169:15;:26;7168:32;;:41;;;;:::i;:::-;7156:53;;7257:5;7231:12;:21;7244:7;7231:21;;;;;;;;;;;;;;;7253:1;7231:24;;;;;;;;;:31;7228:689;;;7297:9;:18;7307:7;7297:18;;;;;;;;;;;;;;;;7278:9;:18;7288:7;7278:18;;;;;;;;;;;;;;;:37;;;;7228:689;;;7381:4;7355:12;:21;7368:7;7355:21;;;;;;;;;;;;;;;7377:1;7355:24;;;;;;;;;:30;7352:565;;;7447:12;:21;7460:7;7447:21;;;;;;;;;;;;;;;7469:1;7447:24;;;;;;;;;7404:41;7437:7;7421:10;;7405:15;:26;7404:32;;:41;;;;:::i;:::-;:67;;:97;;;;;7500:1;7474:12;:21;7487:7;7474:21;;;;;;;;;;;;;;;7496:1;7474:24;;;;;;;;;:27;7404:97;7401:248;;;7540:48;7563:12;:21;7576:7;7563:21;;;;;;;;;;;;;;;7585:1;7563:24;;;;;;;;;7540:9;:18;7550:7;7540:18;;;;;;;;;;;;;;;;:22;;:48;;;;:::i;:::-;7521:9;:18;7531:7;7521:18;;;;;;;;;;;;;;;:67;;;;7632:1;7607:12;:21;7620:7;7607:21;;;;;;;;;;;;;;;7629:1;7607:24;;;;;;;;:26;;;;7401:248;7352:565;;;7690:12;:21;7703:7;7690:21;;;;;;;;;;;;;;;7712:1;7690:24;;;;;;;;;7678:11;:36;7675:242;;;7749:105;7828:12;:21;7841:7;7828:21;;;;;;;;;;;;;;;7850:1;7828:24;;;;;;;;;7816:11;:36;7790:12;:21;7803:7;7790:21;;;;;;;;;;;;;;;7812:1;7790:24;;;;;;;;;:63;7749:9;:18;7759:7;7749:18;;;;;;;;;;;;;;;;:22;;:105;;;;:::i;:::-;7730:9;:18;7740:7;7730:18;;;;;;;;;;;;;;;:124;;;;7894:11;7869:12;:21;7882:7;7869:21;;;;;;;;;;;;;;;7891:1;7869:24;;;;;;;;:36;;;;7675:242;7352:565;7228:689;7063:861;;:::o;11704:238::-;11756:4;11782:1;11777;:6;11773:47;;;11807:1;11800:8;;;;11773:47;11832:6;11845:1;11841;:5;11832:14;;11874:1;11869;11865;:5;;;;;;:10;11857:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11933:1;11926:8;;;11704:238;;;;;:::o;11381:127::-;11433:4;11457:43;11461:1;11464;11457:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;11450:50;;11381:127;;;;:::o;5661:630::-;5734:7;5753:14;5768:12;:21;5781:7;5768:21;;;;;;;;;;;;;;;;;;;;;;;;;5753:36;;5800:17;5832:9;5842:1;5832:11;;5828:429;5846:1;5844;:3;5828:429;;;5886:1;5870:18;;:6;:18;;;5867:337;;5927:64;5949:41;5982:7;;5949:28;5960:13;5974:1;5960:16;;;;;;;;;;;;;;;;5949:6;:10;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;5927:9;:17;5937:6;5927:17;;;;;;;;;;;;;;;;:21;;:64;;;;:::i;:::-;5909:9;:17;5919:6;5909:17;;;;;;;;;;;;;;;:82;;;;6033:6;6015:68;;6024:7;6015:68;;;6041:41;6074:7;;6041:28;6052:13;6066:1;6052:16;;;;;;;;;;;;;;;;6041:6;:10;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;6015:68;;;;;;;;;;;;;;;;;;5867:337;;;6132:56;6146:41;6179:7;;6146:28;6157:13;6171:1;6157:16;;;;;;;;;;;;;;;;6146:6;:10;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;6132:9;:13;;:56;;;;:::i;:::-;6122:66;;5867:337;6225:12;:20;6238:6;6225:20;;;;;;;;;;;;;;;;;;;;;;;;;6218:27;;5848:3;;;;;;;5828:429;;;;6274:9;6267:16;;;;5661:630;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://7d34f3e9df8cf9f0db48c642cd432a8437414675265af09a460b14aeb468f9a4
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.