More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 19 from a total of 19 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 18090738 | 498 days ago | IN | 0 ETH | 0.00124966 | ||||
Approve | 18090084 | 498 days ago | IN | 0 ETH | 0.00069229 | ||||
Approve | 18089247 | 499 days ago | IN | 0 ETH | 0.0004609 | ||||
Approve | 18087194 | 499 days ago | IN | 0 ETH | 0.00288386 | ||||
Approve | 18087170 | 499 days ago | IN | 0 ETH | 0.00279486 | ||||
Transfer | 18087150 | 499 days ago | IN | 0 ETH | 0.00578032 | ||||
Transfer | 18087148 | 499 days ago | IN | 0 ETH | 0.00501078 | ||||
Renounce Ownersh... | 18087134 | 499 days ago | IN | 0 ETH | 0.00119964 | ||||
Set Transaction ... | 18087133 | 499 days ago | IN | 0 ETH | 0.00244639 | ||||
Set Transaction ... | 18087132 | 499 days ago | IN | 0 ETH | 0.00246507 | ||||
Approve | 18087132 | 499 days ago | IN | 0 ETH | 0.00336145 | ||||
Approve | 18087132 | 499 days ago | IN | 0 ETH | 0.0035221 | ||||
Approve | 18087132 | 499 days ago | IN | 0 ETH | 0.0035221 | ||||
Approve | 18087132 | 499 days ago | IN | 0 ETH | 0.0035221 | ||||
Approve | 18087124 | 499 days ago | IN | 0 ETH | 0.00255512 | ||||
Approve | 18087121 | 499 days ago | IN | 0 ETH | 0.00242317 | ||||
Approve | 18087121 | 499 days ago | IN | 0 ETH | 0.00255825 | ||||
Start Trading | 18087119 | 499 days ago | IN | 0 ETH | 0.00150772 | ||||
Approve | 18087109 | 499 days ago | IN | 0 ETH | 0.00270836 |
Loading...
Loading
Contract Name:
ALPHA
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-07 */ // SPDX-License-Identifier: MIT /* Website: https://www.alphafi.cloud Telegram: https://t.me/alpha_erc_portal Twitter: https://twitter.com/alpha_erc_port */ pragma solidity 0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() public onlyOwner { emit OwnershipTransferred(address(0)); owner = address(0); } event OwnershipTransferred(address owner); } interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address dexpair); } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } contract ALPHA is Ownable, IERC20 { using SafeMath for uint256; string private constant _name = unicode"ALPHA"; string private constant _symbol = unicode"ALPHA"; IDexRouter dexrouter; address public dexpair; bool private tradeallow = false; bool private feeswapallowed = true; uint256 private feeswapcounter; bool private inswap; uint256 feeswapafter; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public addresstotaxexcempt; uint8 private constant _decimals = 9; uint256 private _supply = 1000000000 * (10 ** _decimals); uint256 private _maxswapsize = ( _supply * 1000 ) / 100000; uint256 private _minswapsize = ( _supply * 10 ) / 100000; uint256 private _maxtxamt = ( _supply * 300 ) / 10000; uint256 private _maxtransfer = ( _supply * 300 ) / 10000; uint256 private _maxwallethold = ( _supply * 300 ) / 10000; uint256 private divlp = 0; uint256 private divmarketing = 0; uint256 private divdev = 100; uint256 private divburn = 0; uint256 private taxbuy = 1400; uint256 private taxsell = 1400; uint256 private taxtransfer = 1400; uint256 private denominator = 10000; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal wallettax = 0x1Ddf5D09654adBEF1b912fCDB43F447444b696D0; address internal walletlp = 0x1Ddf5D09654adBEF1b912fCDB43F447444b696D0; address internal walletdev = 0x1Ddf5D09654adBEF1b912fCDB43F447444b696D0; modifier lockenter {inswap = true; _; inswap = false;} constructor() Ownable(msg.sender) { IDexRouter _router = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IDexFactory(_router.factory()).createPair(address(this), _router.WETH()); dexrouter = _router; dexpair = _pair; addresstotaxexcempt[msg.sender] = true; addresstotaxexcempt[walletlp] = true; addresstotaxexcempt[wallettax] = true; addresstotaxexcempt[walletdev] = true; _balances[msg.sender] = _supply; emit Transfer(address(0), msg.sender, _supply); } function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function getOwner() external view override returns (address) { return owner; } function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function startTrading() external onlyOwner {tradeallow = true;} function decimals() public pure returns (uint8) {return _decimals;} function totalSupply() public view override returns (uint256) {return _supply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function _approve(address owner, address spender, uint256 amount) private { 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); } function shouldtakefee(address sender, address recipient) internal view returns (bool) { return !addresstotaxexcempt[sender] && !addresstotaxexcempt[recipient]; } function swapbackandliquidifytokens(uint256 tokens) private lockenter { uint256 _denominator = (divlp.add(1).add(divmarketing).add(divdev)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(divlp).div(_denominator); uint256 toSwap = tokens.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(divlp)); uint256 ETHToAddLiquidityWith = unitBalance.mul(divlp); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(divmarketing); if(marketingAmt > 0){payable(wallettax).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(walletdev).transfer(contractBalance);} } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner { uint256 newTx = _supply.mul(_buy).div(10000); uint256 newTransfer = _supply.mul(_sell).div(10000); uint256 newWallet = _supply.mul(_wallet).div(10000); _maxtxamt = newTx; _maxtransfer = newTransfer; _maxwallethold = newWallet; uint256 limit = totalSupply().mul(5).div(1000); require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%"); } function getactualfeeamt(address sender, address recipient) internal view returns (uint256) { if(recipient == dexpair){return taxsell;} if(sender == dexpair){return taxbuy;} return taxtransfer; } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount <= balanceOf(sender),"You are trying to transfer more than your balance"); if(!addresstotaxexcempt[sender] && !addresstotaxexcempt[recipient]){require(tradeallow, "tradeallow");} if(!addresstotaxexcempt[sender] && !addresstotaxexcempt[recipient] && recipient != address(dexpair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxwallethold, "Exceeds maximum wallet amount.");} if(sender != dexpair){require(amount <= _maxtransfer || addresstotaxexcempt[sender] || addresstotaxexcempt[recipient], "TX Limit Exceeded");} require(amount <= _maxtxamt || addresstotaxexcempt[sender] || addresstotaxexcempt[recipient], "TX Limit Exceeded"); if(recipient == dexpair && !addresstotaxexcempt[sender]){feeswapcounter += uint256(1);} if(shouldSwapTaxFee(sender, recipient, amount)){swapbackandliquidifytokens(_maxswapsize); feeswapcounter = uint256(0);} _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = !addresstotaxexcempt[sender] ? getamounttoadd(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function getamounttoadd(address sender, address recipient, uint256 amount) internal returns (uint256) { if (addresstotaxexcempt[recipient]) {return _maxtxamt;} if(getactualfeeamt(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(getactualfeeamt(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(divburn > uint256(0) && getactualfeeamt(sender, recipient) > divburn){_transfer(address(this), address(DEAD), amount.div(denominator).mul(divburn));} return amount.sub(feeAmount);} return amount; } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = dexrouter.WETH(); _approve(address(this), address(dexrouter), tokenAmount); dexrouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(dexrouter), tokenAmount); dexrouter.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, walletlp, block.timestamp); } function shouldSwapTaxFee(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= _minswapsize; bool aboveThreshold = balanceOf(address(this)) >= _maxswapsize; return !inswap && feeswapallowed && tradeallow && aboveMin && !addresstotaxexcempt[sender] && recipient == dexpair && feeswapcounter >= feeswapafter && aboveThreshold; } function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner { divlp = _liquidity; divmarketing = _marketing; divburn = _burn; divdev = _development; taxbuy = _total; taxsell = _sell; taxtransfer = _trans; require(taxbuy <= denominator.div(1) && taxsell <= denominator.div(1) && taxtransfer <= denominator.div(1), "taxbuy and taxsell cannot be more than 20%"); } receive() external payable {} }
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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","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":"","type":"address"}],"name":"addresstotaxexcempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexpair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526002805461ffff60a01b1916600160a81b179055620000266009600a620004c4565b6200003690633b9aca00620004dc565b600955620186a06009546103e86200004f9190620004dc565b6200005b9190620004f6565b600a55620186a0600954600a620000739190620004dc565b6200007f9190620004f6565b600b5561271060095461012c620000979190620004dc565b620000a39190620004f6565b600c5561271060095461012c620000bb9190620004dc565b620000c79190620004f6565b600d5561271060095461012c620000df9190620004dc565b620000eb9190620004f6565b600e556000600f819055601081905560646011556012556105786013819055601481905560155561271060165560178054731ddf5d09654adbef1b912fcdb43f447444b696d06001600160a01b03199182168117909255601880548216831790556019805490911690911790553480156200016557600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f3919062000519565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000241573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000267919062000519565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000519565b600180546001600160a01b038581166001600160a01b031992831617835560028054858316931692909217909155336000818152600860209081526040808320805460ff1990811688179091556018548616845281842080548216881790556017548616845281842080548216881790556019549095168352808320805490951690951790935560095482825260068452848220819055935193845293945092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505062000544565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000406578160001904821115620003ea57620003ea620003af565b80851615620003f857918102915b93841c9390800290620003ca565b509250929050565b6000826200041f57506001620004be565b816200042e57506000620004be565b8160018114620004475760028114620004525762000472565b6001915050620004be565b60ff841115620004665762000466620003af565b50506001821b620004be565b5060208310610133831016604e8410600b841016171562000497575081810a620004be565b620004a38383620003c5565b8060001904821115620004ba57620004ba620003af565b0290505b92915050565b6000620004d560ff8416836200040e565b9392505050565b8082028115828204841417620004be57620004be620003af565b6000826200051457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052c57600080fd5b81516001600160a01b0381168114620004d557600080fd5b61181d80620005546000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a19bb3f211610064578063a19bb3f2146102f8578063a9059cbb14610318578063cb7f97d714610338578063dd62ed3e14610358578063f2fde38b1461039e57600080fd5b8063715018a614610291578063893d20e8146102a657806395d89b41146101195780639cc35351146102d857600080fd5b8063293230b8116100dc578063293230b8146101c95780632f54bf6e146101e0578063313ce5671461020f578063461924001461022b57806370a082311461025b57600080fd5b806306fdde0314610119578063095ea7b31461015657806318160ddd1461018657806323b872dd146101a957600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820182526005815264414c50484160d81b6020820152905161014d91906114b7565b60405180910390f35b34801561016257600080fd5b5061017661017136600461151d565b6103be565b604051901515815260200161014d565b34801561019257600080fd5b5061019b6103d5565b60405190815260200161014d565b3480156101b557600080fd5b506101766101c4366004611549565b610446565b3480156101d557600080fd5b506101de6104b0565b005b3480156101ec57600080fd5b506101766101fb36600461158a565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b506040516009815260200161014d565b34801561023757600080fd5b5061017661024636600461158a565b60086020526000908152604090205460ff1681565b34801561026757600080fd5b5061019b61027636600461158a565b6001600160a01b031660009081526006602052604090205490565b34801561029d57600080fd5b506101de6104f8565b3480156102b257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161014d565b3480156102e457600080fd5b506101de6102f33660046115a7565b610568565b34801561030457600080fd5b506002546102c0906001600160a01b031681565b34801561032457600080fd5b5061017661033336600461151d565b6106a9565b34801561034457600080fd5b506101de6103533660046115d3565b6106b6565b34801561036457600080fd5b5061019b61037336600461161f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156103aa57600080fd5b506101de6103b936600461158a565b6107ab565b60006103cb338484610829565b5060015b92915050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600954919261044192909161043b919061094d565b9061094d565b905090565b6000610453848484610959565b6104a584336104a0856040518060600160405280602881526020016117c0602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610ea7565b610829565b5060015b9392505050565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611658565b60405180910390fd5b6002805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105225760405162461bcd60e51b81526004016104da90611658565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146105925760405162461bcd60e51b81526004016104da90611658565b60006105b56127106105af86600954610ed390919063ffffffff16565b90610edf565b905060006105d46127106105af86600954610ed390919063ffffffff16565b905060006105f36127106105af86600954610ed390919063ffffffff16565b600c849055600d839055600e8190559050600061061f6103e86105af60056106196103d5565b90610ed3565b90508084101580156106315750808310155b801561063d5750808210155b6106a05760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104da565b50505050505050565b60006103cb338484610959565b6000546001600160a01b031633146106e05760405162461bcd60e51b81526004016104da90611658565b600f879055601086905560128590556011849055601383905560148290556015819055601654610711906001610edf565b60135411158015610731575060165461072b906001610edf565b60145411155b801561074c5750601654610746906001610edf565b60155411155b6106a05760405162461bcd60e51b815260206004820152602a60248201527f74617862757920616e642074617873656c6c2063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b60648201526084016104da565b6000546001600160a01b031633146107d55760405162461bcd60e51b81526004016104da90611658565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b03831661088b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b0382166108ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006104a9828461168e565b6001600160a01b0383166109bd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b038216610a1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b6001600160a01b038316600090815260066020526040902054811115610aa15760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104da565b6001600160a01b03831660009081526008602052604090205460ff16158015610ae357506001600160a01b03821660009081526008602052604090205460ff16155b15610b2e57600254600160a01b900460ff16610b2e5760405162461bcd60e51b815260206004820152600a6024820152697472616465616c6c6f7760b01b60448201526064016104da565b6001600160a01b03831660009081526008602052604090205460ff16158015610b7057506001600160a01b03821660009081526008602052604090205460ff16155b8015610b8a57506002546001600160a01b03838116911614155b8015610ba157506001600160a01b03821661dead14155b15610c1a57600e546001600160a01b038316600090815260066020526040902054610bcc9083610eeb565b1115610c1a5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104da565b6002546001600160a01b03848116911614610cbb57600d5481111580610c5857506001600160a01b03831660009081526008602052604090205460ff165b80610c7b57506001600160a01b03821660009081526008602052604090205460ff165b610cbb5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b600c5481111580610ce457506001600160a01b03831660009081526008602052604090205460ff165b80610d0757506001600160a01b03821660009081526008602052604090205460ff165b610d475760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b6002546001600160a01b038381169116148015610d7d57506001600160a01b03831660009081526008602052604090205460ff16155b15610d9b57600160036000828254610d9591906116a1565b90915550505b610da6838383610ef7565b15610dbc57610db6600a54610fb1565b60006003555b6001600160a01b038316600090815260066020526040902054610ddf908261094d565b6001600160a01b038416600090815260066020908152604080832093909355600890529081205460ff1615610e145781610e1f565b610e1f84848461112e565b6001600160a01b038416600090815260066020526040902054909150610e459082610eeb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e999085815260200190565b60405180910390a350505050565b60008184841115610ecb5760405162461bcd60e51b81526004016104da91906114b7565b505050900390565b60006104a982846116b4565b60006104a982846116cb565b60006104a982846116a1565b600b54600a543060009081526006602052604081205460045491938510159211159060ff16158015610f325750600254600160a81b900460ff165b8015610f475750600254600160a01b900460ff165b8015610f505750815b8015610f7557506001600160a01b03861660009081526008602052604090205460ff16155b8015610f8e57506002546001600160a01b038681169116145b8015610f9e575060055460035410155b8015610fa75750805b9695505050505050565b6004805460ff19166001908117909155601154601054600f54600093610feb93600293610619939192610fe5928391610eeb565b90610eeb565b90506000611008826105af600f5486610ed390919063ffffffff16565b90506000611016848361094d565b9050476110228261125e565b600061102e478361094d565b9050600061105161104a600f548861094d90919063ffffffff16565b8390610edf565b9050600061106a600f5483610ed390919063ffffffff16565b9050801561107c5761107c86826113b8565b60105460009061109190610619856002610ed3565b905080156110d5576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110d3573d6000803e3d6000fd5b505b478015611118576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611116573d6000803e3d6000fd5b505b50506004805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16156111585750600c546104a9565b6000611164858561146c565b1115611257576000611187611179868661146c565b601654610619908690610edf565b306000908152600660205260409020549091506111a49082610eeb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f59085815260200190565b60405180910390a360006012541180156112195750601254611217868661146c565b115b15611245576112453061dead61124060125461061960165489610edf90919063ffffffff16565b610959565b61124f838261094d565b9150506104a9565b5092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611293576112936116ed565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190611703565b81600181518110611323576113236116ed565b6001600160a01b0392831660209182029290920101526001546113499130911684610829565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611382908590600090869030904290600401611720565b600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b505050505050565b6001546113d09030906001600160a01b031684610829565b60015460185460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611440573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114659190611791565b5050505050565b6002546000906001600160a01b039081169083160361148e57506014546103cf565b6002546001600160a01b03908116908416036114ad57506013546103cf565b5060155492915050565b600060208083528351808285015260005b818110156114e4578581018301518582016040015282016114c8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151a57600080fd5b50565b6000806040838503121561153057600080fd5b823561153b81611505565b946020939093013593505050565b60008060006060848603121561155e57600080fd5b833561156981611505565b9250602084013561157981611505565b929592945050506040919091013590565b60006020828403121561159c57600080fd5b81356104a981611505565b6000806000606084860312156115bc57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a0312156115ee57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b6000806040838503121561163257600080fd5b823561163d81611505565b9150602083013561164d81611505565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611678565b808201808211156103cf576103cf611678565b80820281158282048414176103cf576103cf611678565b6000826116e857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561171557600080fd5b81516104a981611505565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117705784516001600160a01b03168352938301939183019160010161174b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156117a657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b156f13bad9994f4220634f598d9691ca4c4bb0a7b98c54b77173ecadf9c08f964736f6c63430008130033
Deployed Bytecode
0x60806040526004361061010d5760003560e01c8063715018a611610095578063a19bb3f211610064578063a19bb3f2146102f8578063a9059cbb14610318578063cb7f97d714610338578063dd62ed3e14610358578063f2fde38b1461039e57600080fd5b8063715018a614610291578063893d20e8146102a657806395d89b41146101195780639cc35351146102d857600080fd5b8063293230b8116100dc578063293230b8146101c95780632f54bf6e146101e0578063313ce5671461020f578063461924001461022b57806370a082311461025b57600080fd5b806306fdde0314610119578063095ea7b31461015657806318160ddd1461018657806323b872dd146101a957600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820182526005815264414c50484160d81b6020820152905161014d91906114b7565b60405180910390f35b34801561016257600080fd5b5061017661017136600461151d565b6103be565b604051901515815260200161014d565b34801561019257600080fd5b5061019b6103d5565b60405190815260200161014d565b3480156101b557600080fd5b506101766101c4366004611549565b610446565b3480156101d557600080fd5b506101de6104b0565b005b3480156101ec57600080fd5b506101766101fb36600461158a565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b506040516009815260200161014d565b34801561023757600080fd5b5061017661024636600461158a565b60086020526000908152604090205460ff1681565b34801561026757600080fd5b5061019b61027636600461158a565b6001600160a01b031660009081526006602052604090205490565b34801561029d57600080fd5b506101de6104f8565b3480156102b257600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161014d565b3480156102e457600080fd5b506101de6102f33660046115a7565b610568565b34801561030457600080fd5b506002546102c0906001600160a01b031681565b34801561032457600080fd5b5061017661033336600461151d565b6106a9565b34801561034457600080fd5b506101de6103533660046115d3565b6106b6565b34801561036457600080fd5b5061019b61037336600461161f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156103aa57600080fd5b506101de6103b936600461158a565b6107ab565b60006103cb338484610829565b5060015b92915050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600954919261044192909161043b919061094d565b9061094d565b905090565b6000610453848484610959565b6104a584336104a0856040518060600160405280602881526020016117c0602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190610ea7565b610829565b5060015b9392505050565b6000546001600160a01b031633146104e35760405162461bcd60e51b81526004016104da90611658565b60405180910390fd5b6002805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105225760405162461bcd60e51b81526004016104da90611658565b604051600081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1600080546001600160a01b0319169055565b6000546001600160a01b031633146105925760405162461bcd60e51b81526004016104da90611658565b60006105b56127106105af86600954610ed390919063ffffffff16565b90610edf565b905060006105d46127106105af86600954610ed390919063ffffffff16565b905060006105f36127106105af86600954610ed390919063ffffffff16565b600c849055600d839055600e8190559050600061061f6103e86105af60056106196103d5565b90610ed3565b90508084101580156106315750808310155b801561063d5750808210155b6106a05760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016104da565b50505050505050565b60006103cb338484610959565b6000546001600160a01b031633146106e05760405162461bcd60e51b81526004016104da90611658565b600f879055601086905560128590556011849055601383905560148290556015819055601654610711906001610edf565b60135411158015610731575060165461072b906001610edf565b60145411155b801561074c5750601654610746906001610edf565b60155411155b6106a05760405162461bcd60e51b815260206004820152602a60248201527f74617862757920616e642074617873656c6c2063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b60648201526084016104da565b6000546001600160a01b031633146107d55760405162461bcd60e51b81526004016104da90611658565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b03831661088b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b0382166108ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006104a9828461168e565b6001600160a01b0383166109bd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104da565b6001600160a01b038216610a1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104da565b6001600160a01b038316600090815260066020526040902054811115610aa15760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104da565b6001600160a01b03831660009081526008602052604090205460ff16158015610ae357506001600160a01b03821660009081526008602052604090205460ff16155b15610b2e57600254600160a01b900460ff16610b2e5760405162461bcd60e51b815260206004820152600a6024820152697472616465616c6c6f7760b01b60448201526064016104da565b6001600160a01b03831660009081526008602052604090205460ff16158015610b7057506001600160a01b03821660009081526008602052604090205460ff16155b8015610b8a57506002546001600160a01b03838116911614155b8015610ba157506001600160a01b03821661dead14155b15610c1a57600e546001600160a01b038316600090815260066020526040902054610bcc9083610eeb565b1115610c1a5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104da565b6002546001600160a01b03848116911614610cbb57600d5481111580610c5857506001600160a01b03831660009081526008602052604090205460ff165b80610c7b57506001600160a01b03821660009081526008602052604090205460ff165b610cbb5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b600c5481111580610ce457506001600160a01b03831660009081526008602052604090205460ff165b80610d0757506001600160a01b03821660009081526008602052604090205460ff165b610d475760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104da565b6002546001600160a01b038381169116148015610d7d57506001600160a01b03831660009081526008602052604090205460ff16155b15610d9b57600160036000828254610d9591906116a1565b90915550505b610da6838383610ef7565b15610dbc57610db6600a54610fb1565b60006003555b6001600160a01b038316600090815260066020526040902054610ddf908261094d565b6001600160a01b038416600090815260066020908152604080832093909355600890529081205460ff1615610e145781610e1f565b610e1f84848461112e565b6001600160a01b038416600090815260066020526040902054909150610e459082610eeb565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e999085815260200190565b60405180910390a350505050565b60008184841115610ecb5760405162461bcd60e51b81526004016104da91906114b7565b505050900390565b60006104a982846116b4565b60006104a982846116cb565b60006104a982846116a1565b600b54600a543060009081526006602052604081205460045491938510159211159060ff16158015610f325750600254600160a81b900460ff165b8015610f475750600254600160a01b900460ff165b8015610f505750815b8015610f7557506001600160a01b03861660009081526008602052604090205460ff16155b8015610f8e57506002546001600160a01b038681169116145b8015610f9e575060055460035410155b8015610fa75750805b9695505050505050565b6004805460ff19166001908117909155601154601054600f54600093610feb93600293610619939192610fe5928391610eeb565b90610eeb565b90506000611008826105af600f5486610ed390919063ffffffff16565b90506000611016848361094d565b9050476110228261125e565b600061102e478361094d565b9050600061105161104a600f548861094d90919063ffffffff16565b8390610edf565b9050600061106a600f5483610ed390919063ffffffff16565b9050801561107c5761107c86826113b8565b60105460009061109190610619856002610ed3565b905080156110d5576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110d3573d6000803e3d6000fd5b505b478015611118576019546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611116573d6000803e3d6000fd5b505b50506004805460ff191690555050505050505050565b6001600160a01b03821660009081526008602052604081205460ff16156111585750600c546104a9565b6000611164858561146c565b1115611257576000611187611179868661146c565b601654610619908690610edf565b306000908152600660205260409020549091506111a49082610eeb565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f59085815260200190565b60405180910390a360006012541180156112195750601254611217868661146c565b115b15611245576112453061dead61124060125461061960165489610edf90919063ffffffff16565b610959565b61124f838261094d565b9150506104a9565b5092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611293576112936116ed565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113109190611703565b81600181518110611323576113236116ed565b6001600160a01b0392831660209182029290920101526001546113499130911684610829565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611382908590600090869030904290600401611720565b600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b505050505050565b6001546113d09030906001600160a01b031684610829565b60015460185460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611440573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114659190611791565b5050505050565b6002546000906001600160a01b039081169083160361148e57506014546103cf565b6002546001600160a01b03908116908416036114ad57506013546103cf565b5060155492915050565b600060208083528351808285015260005b818110156114e4578581018301518582016040015282016114c8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461151a57600080fd5b50565b6000806040838503121561153057600080fd5b823561153b81611505565b946020939093013593505050565b60008060006060848603121561155e57600080fd5b833561156981611505565b9250602084013561157981611505565b929592945050506040919091013590565b60006020828403121561159c57600080fd5b81356104a981611505565b6000806000606084860312156115bc57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a0312156115ee57600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b6000806040838503121561163257600080fd5b823561163d81611505565b9150602083013561164d81611505565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611678565b808201808211156103cf576103cf611678565b80820281158282048414176103cf576103cf611678565b6000826116e857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561171557600080fd5b81516104a981611505565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117705784516001600160a01b03168352938301939183019160010161174b565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156117a657600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b156f13bad9994f4220634f598d9691ca4c4bb0a7b98c54b77173ecadf9c08f964736f6c63430008130033
Deployed Bytecode Sourcemap
3714:9944:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:67;;;;;;;;;;-1:-1:-1;6060:5:0;;;;;;;;;;;-1:-1:-1;;;6060:5:0;;;;6000:67;;;;6060:5;6000:67;:::i;:::-;;;;;;;;6379:133;;;;;;;;;;-1:-1:-1;6379:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6379:133:0;1023:187:1;6900:127:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6900:127:0;1215:177:1;8593:309:0;;;;;;;;;;-1:-1:-1;8593:309:0;;;;;:::i;:::-;;:::i;6758:63::-;;;;;;;;;;;;;:::i;:::-;;1659:87;;;;;;;;;;-1:-1:-1;1659:87:0;;;;;:::i;:::-;1714:4;1739:5;-1:-1:-1;;;;;1728:16:0;;;1739:5;;1728:16;;1659:87;6827:67;;;;;;;;;;-1:-1:-1;6827:67:0;;4348:1;2252:36:1;;2240:2;2225:18;6827:67:0;2110:184:1;4252:52:0;;;;;;;;;;-1:-1:-1;4252:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6518:103;;;;;;;;;;-1:-1:-1;6518:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6601:18:0;6584:7;6601:18;;;:9;:18;;;;;;;6518:103;1869:131;;;;;;;;;;;;;:::i;6295:78::-;;;;;;;;;;-1:-1:-1;6347:7:0;6365:5;-1:-1:-1;;;;;6365:5:0;6295:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6295:78:0;2299:203:1;8908:535:0;;;;;;;;;;-1:-1:-1;8908:535:0;;;;;:::i;:::-;;:::i;3927:22::-;;;;;;;;;;-1:-1:-1;3927:22:0;;;;-1:-1:-1;;;;;3927:22:0;;;6150:139;;;;;;;;;;-1:-1:-1;6150:139:0;;;;;:::i;:::-;;:::i;13115:503::-;;;;;;;;;;-1:-1:-1;13115:503:0;;;;;:::i;:::-;;:::i;6627:127::-;;;;;;;;;;-1:-1:-1;6627:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6725:18:0;;;6708:7;6725:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6627:127;1752:111;;;;;;;;;;-1:-1:-1;1752:111:0;;;;;:::i;:::-;;:::i;6379:133::-;6454:4;6461:37;6470:10;6482:7;6491:6;6461:8;:37::i;:::-;-1:-1:-1;6506:4:0;6379:133;;;;;:::o;6900:127::-;6601:9;:18;;;;5072:42;6953:7;6601:18;;;;;6970:7;;6953;;6970:55;;6601:18;;6970:28;;:7;:11;:28::i;:::-;:32;;:55::i;:::-;6963:62;;6900:127;:::o;8593:309::-;8691:4;8708:36;8718:6;8726:9;8737:6;8708:9;:36::i;:::-;8755:117;8764:6;8772:10;8784:87;8820:6;8784:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8784:19:0;;;;;;:11;:19;;;;;;;;8804:10;8784:31;;;;;;;;;:87;:35;:87::i;:::-;8755:8;:117::i;:::-;-1:-1:-1;8890:4:0;8593:309;;;;;;:::o;6758:63::-;1714:4;1739:5;-1:-1:-1;;;;;1739:5:0;1626:10;1728:16;1610:38;;;;-1:-1:-1;;;1610:38:0;;;;;;;:::i;:::-;;;;;;;;;6802:10:::1;:17:::0;;-1:-1:-1;;;;6802:17:0::1;-1:-1:-1::0;;;6802:17:0::1;::::0;;6758:63::o;1869:131::-;1714:4;1739:5;-1:-1:-1;;;;;1739:5:0;1626:10;1728:16;1610:38;;;;-1:-1:-1;;;1610:38:0;;;;;;;:::i;:::-;1931:32:::1;::::0;1960:1:::1;2445:51:1::0;;1931:32:0::1;::::0;2433:2:1;2418:18;1931:32:0::1;;;;;;;1990:1;1974:18:::0;;-1:-1:-1;;;;;;1974:18:0::1;::::0;;1869:131::o;8908:535::-;1714:4;1739:5;-1:-1:-1;;;;;1739:5:0;1626:10;1728:16;1610:38;;;;-1:-1:-1;;;1610:38:0;;;;;;;:::i;:::-;9014:13:::1;9030:28;9052:5;9030:17;9042:4;9030:7;;:11;;:17;;;;:::i;:::-;:21:::0;::::1;:28::i;:::-;9014:44;;9060:19;9082:29;9105:5;9082:18;9094:5;9082:7;;:11;;:18;;;;:::i;:29::-;9060:51;;9113:17;9133:31;9158:5;9133:20;9145:7;9133;;:11;;:20;;;;:::i;:31::-;9175:9;:17:::0;;;9194:12:::1;:26:::0;;;9222:14:::1;:26:::0;;;9113:51;-1:-1:-1;;9275:30:0::1;9300:4;9275:20;9293:1;9275:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;9259:46;;9333:5;9324;:14;;:38;;;;;9357:5;9342:11;:20;;9324:38;:60;;;;;9379:5;9366:9;:18;;9324:60;9316:119;;;::::0;-1:-1:-1;;;9316:119:0;;4614:2:1;9316:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;9316:119:0::1;4412:410:1::0;9316:119:0::1;9003:440;;;;8908:535:::0;;;:::o;6150:139::-;6228:4;6235:40;6245:10;6257:9;6268:6;6235:9;:40::i;13115:503::-;1714:4;1739:5;-1:-1:-1;;;;;1739:5:0;1626:10;1728:16;1610:38;;;;-1:-1:-1;;;1610:38:0;;;;;;;:::i;:::-;13305:5:::1;:18:::0;;;13325:12:::1;:25:::0;;;13352:7:::1;:15:::0;;;13369:6:::1;:21:::0;;;13392:6:::1;:15:::0;;;13409:7:::1;:15:::0;;;13426:11:::1;:20:::0;;;13475:11:::1;::::0;:18:::1;::::0;-1:-1:-1;13475:15:0::1;:18::i;:::-;13465:6;;:28;;:61;;;;-1:-1:-1::0;13508:11:0::1;::::0;:18:::1;::::0;13524:1:::1;13508:15;:18::i;:::-;13497:7;;:29;;13465:61;:98;;;;-1:-1:-1::0;13545:11:0::1;::::0;:18:::1;::::0;13561:1:::1;13545:15;:18::i;:::-;13530:11;;:33;;13465:98;13457:153;;;::::0;-1:-1:-1;;;13457:153:0;;5029:2:1;13457:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;13457:153:0::1;4827:406:1::0;1752:111:0;1714:4;1739:5;-1:-1:-1;;;;;1739:5:0;1626:10;1728:16;1610:38;;;;-1:-1:-1;;;1610:38:0;;;;;;;:::i;:::-;1818:5:::1;:11:::0;;-1:-1:-1;;;;;;1818:11:0::1;-1:-1:-1::0;;;;;1818:11:0;::::1;::::0;;::::1;::::0;;;1836:25:::1;::::0;2445:51:1;;;1836:25:0::1;::::0;2433:2:1;2418:18;1836:25:0::1;;;;;;;1752:111:::0;:::o;7037:335::-;-1:-1:-1;;;;;7130:19:0;;7122:68;;;;-1:-1:-1;;;7122:68:0;;5656:2:1;7122:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;7122:68:0;5454:400:1;7122:68:0;-1:-1:-1;;;;;7209:21:0;;7201:68;;;;-1:-1:-1;;;7201:68:0;;6061:2:1;7201:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;7201:68:0;5859:398:1;7201:68:0;-1:-1:-1;;;;;7280:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7332:32;;1361:25:1;;;7332:32:0;;1334:18:1;7332:32:0;;;;;;;7037:335;;;:::o;324:98::-;382:7;409:5;413:1;409;:5;:::i;9686:1522::-;-1:-1:-1;;;;;9783:20:0;;9775:70;;;;-1:-1:-1;;;9775:70:0;;6729:2:1;9775:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;9775:70:0;6527:401:1;9775:70:0;-1:-1:-1;;;;;9864:23:0;;9856:71;;;;-1:-1:-1;;;9856:71:0;;7135:2:1;9856:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;9856:71:0;6933:399:1;9856:71:0;-1:-1:-1;;;;;6601:18:0;;6584:7;6601:18;;;:9;:18;;;;;;9946:6;:27;;9938:88;;;;-1:-1:-1;;;9938:88:0;;7539:2:1;9938:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;9938:88:0;7337:413:1;9938:88:0;-1:-1:-1;;;;;10041:27:0;;;;;;:19;:27;;;;;;;;10040:28;:63;;;;-1:-1:-1;;;;;;10073:30:0;;;;;;:19;:30;;;;;;;;10072:31;10040:63;10037:103;;;10113:10;;-1:-1:-1;;;10113:10:0;;;;10105:33;;;;-1:-1:-1;;;10105:33:0;;7957:2:1;10105:33:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:40;8065:18;;10105:33:0;7755:334:1;10105:33:0;-1:-1:-1;;;;;10154:27:0;;;;;;:19;:27;;;;;;;;10153:28;:63;;;;-1:-1:-1;;;;;;10186:30:0;;;;;;:19;:30;;;;;;;;10185:31;10153:63;:96;;;;-1:-1:-1;10241:7:0;;-1:-1:-1;;;;;10220:29:0;;;10241:7;;10220:29;;10153:96;:126;;;;-1:-1:-1;;;;;;10253:26:0;;5072:42;10253:26;;10153:126;10150:238;;;10337:14;;-1:-1:-1;;;;;10300:20:0;;;;;;:9;:20;;;;;;:32;;10325:6;10300:24;:32::i;:::-;10299:52;;10291:95;;;;-1:-1:-1;;;10291:95:0;;8296:2:1;10291:95:0;;;8278:21:1;8335:2;8315:18;;;8308:30;8374:32;8354:18;;;8347:60;8424:18;;10291:95:0;8094:354:1;10291:95:0;10411:7;;-1:-1:-1;;;;;10401:17:0;;;10411:7;;10401:17;10398:141;;10438:12;;10428:6;:22;;:53;;;-1:-1:-1;;;;;;10454:27:0;;;;;;:19;:27;;;;;;;;10428:53;:87;;;-1:-1:-1;;;;;;10485:30:0;;;;;;:19;:30;;;;;;;;10428:87;10420:117;;;;-1:-1:-1;;;10420:117:0;;8655:2:1;10420:117:0;;;8637:21:1;8694:2;8674:18;;;8667:30;-1:-1:-1;;;8713:18:1;;;8706:47;8770:18;;10420:117:0;8453:341:1;10420:117:0;10567:9;;10557:6;:19;;:50;;;-1:-1:-1;;;;;;10580:27:0;;;;;;:19;:27;;;;;;;;10557:50;:84;;;-1:-1:-1;;;;;;10611:30:0;;;;;;:19;:30;;;;;;;;10557:84;10549:114;;;;-1:-1:-1;;;10549:114:0;;8655:2:1;10549:114:0;;;8637:21:1;8694:2;8674:18;;;8667:30;-1:-1:-1;;;8713:18:1;;;8706:47;8770:18;;10549:114:0;8453:341:1;10549:114:0;10691:7;;-1:-1:-1;;;;;10678:20:0;;;10691:7;;10678:20;:52;;;;-1:-1:-1;;;;;;10703:27:0;;;;;;:19;:27;;;;;;;;10702:28;10678:52;10675:87;;;10758:1;10732:14;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;10675:87:0;10775:43;10792:6;10800:9;10811:6;10775:16;:43::i;:::-;10772:119;;;10820:40;10847:12;;10820:26;:40::i;:::-;10887:1;10862:14;:27;10772:119;-1:-1:-1;;;;;10921:17:0;;;;;;:9;:17;;;;;;:29;;10943:6;10921:21;:29::i;:::-;-1:-1:-1;;;;;10901:17:0;;;;;;:9;:17;;;;;;;;:49;;;;10987:19;:27;;;;;;;;10986:28;:81;;11061:6;10986:81;;;11017:41;11032:6;11040:9;11051:6;11017:14;:41::i;:::-;-1:-1:-1;;;;;11101:20:0;;;;;;:9;:20;;;;;;10961:106;;-1:-1:-1;11101:40:0;;10961:106;11101:24;:40::i;:::-;-1:-1:-1;;;;;11078:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11157:43;;;;;;;;;;11185:14;1361:25:1;;1349:2;1334:18;;1215:177;11157:43:0;;;;;;;;9764:1444;9686:1522;;;:::o;740:240::-;860:7;921:12;913:6;;;;905:29;;;;-1:-1:-1;;;905:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;956:5:0;;;740:240::o;428:98::-;486:7;513:5;517:1;513;:5;:::i;532:98::-;590:7;617:5;621:1;617;:5;:::i;220:98::-;278:7;305:5;309:1;305;:5;:::i;12690:413::-;12833:12;;12906;;12896:4;12790;6601:18;;;:9;:18;;;;;;12937:6;;12790:4;;12823:22;;;;-1:-1:-1;12878:40:0;;12937:6;;12936:7;:25;;;;-1:-1:-1;12947:14:0;;-1:-1:-1;;;12947:14:0;;;;12936:25;:39;;;;-1:-1:-1;12965:10:0;;-1:-1:-1;;;12965:10:0;;;;12936:39;:51;;;;;12979:8;12936:51;:83;;;;-1:-1:-1;;;;;;12992:27:0;;;;;;:19;:27;;;;;;;;12991:28;12936:83;:107;;;;-1:-1:-1;13036:7:0;;-1:-1:-1;;;;;13023:20:0;;;13036:7;;13023:20;12936:107;:141;;;;;13065:12;;13047:14;;:30;;12936:141;:159;;;;;13081:14;12936:159;12929:166;12690:413;-1:-1:-1;;;;;;12690:413:0:o;7570:1017::-;5377:6;:13;;-1:-1:-1;;5377:13:0;5386:4;5377:13;;;;;;7710:6:::1;::::0;7692:12:::1;::::0;7675:5:::1;::::0;5377:6;;7674:51:::1;::::0;7723:1:::1;::::0;7675:42:::1;::::0;7710:6;;7675:30:::1;::::0;;;:9:::1;:12::i;:::-;:16:::0;::::1;:30::i;7674:51::-;7651:74;;7736:32;7771:35;7793:12;7771:17;7782:5;;7771:6;:10;;:17;;;;:::i;:35::-;7736:70:::0;-1:-1:-1;7817:14:0::1;7834:36;:6:::0;7736:70;7834:10:::1;:36::i;:::-;7817:53:::0;-1:-1:-1;7906:21:0::1;7938:24;7817:53:::0;7938:16:::1;:24::i;:::-;7973:20;7996:41;:21;8022:14:::0;7996:25:::1;:41::i;:::-;7973:64;;8048:19;8069:41;8086:23;8103:5;;8086:12;:16;;:23;;;;:::i;:::-;8069:12:::0;;:16:::1;:41::i;:::-;8048:62;;8121:29;8153:22;8169:5;;8153:11;:15;;:22;;;;:::i;:::-;8121:54:::0;-1:-1:-1;8189:34:0;;8186:103:::1;;8225:61;8238:24;8264:21;8225:12;:61::i;:::-;8345:12;::::0;8299:20:::1;::::0;8322:36:::1;::::0;:18:::1;:11:::0;8338:1:::1;8322:15;:18::i;:36::-;8299:59:::0;-1:-1:-1;8372:16:0;;8369:64:::1;;8398:9;::::0;8390:41:::1;::::0;-1:-1:-1;;;;;8398:9:0;;::::1;::::0;8390:41;::::1;;;::::0;8418:12;;8398:9:::1;8390:41:::0;8398:9;8390:41;8418:12;8398:9;8390:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8369:64;8469:21;8504:28:::0;;8501:79:::1;;8542:9;::::0;8534:44:::1;::::0;-1:-1:-1;;;;;8542:9:0;;::::1;::::0;8534:44;::::1;;;::::0;8562:15;;8542:9:::1;8534:44:::0;8542:9;8534:44;8562:15;8542:9;8534:44;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8501:79;-1:-1:-1::0;;5395:6:0;:14;;-1:-1:-1;;5395:14:0;;;-1:-1:-1;;;;;;;;7570:1017:0:o;11214:674::-;-1:-1:-1;;;;;11331:30:0;;11307:7;11331:30;;;:19;:30;;;;;;;;11327:55;;;-1:-1:-1;11371:9:0;;11364:16;;11327:55;11432:1;11395:34;11411:6;11419:9;11395:15;:34::i;:::-;:38;11392:474;;;11445:17;11465:63;11493:34;11509:6;11517:9;11493:15;:34::i;:::-;11476:11;;11465:23;;:6;;:10;:23::i;:63::-;11584:4;11566:24;;;;:9;:24;;;;;;11445:83;;-1:-1:-1;11566:39:0;;11445:83;11566:28;:39::i;:::-;11557:4;11539:24;;;;:9;:24;;;;;;;:66;;;;11621:42;;-1:-1:-1;;;;;11621:42:0;;;;;;;11653:9;1361:25:1;;1349:2;1334:18;;1215:177;11621:42:0;;;;;;;;11695:1;11677:7;;:20;:68;;;;;11738:7;;11701:34;11717:6;11725:9;11701:15;:34::i;:::-;:44;11677:68;11674:152;;;11747:77;11765:4;5072:42;11787:36;11815:7;;11787:23;11798:11;;11787:6;:10;;:23;;;;:::i;:36::-;11747:9;:77::i;:::-;11843:21;:6;11854:9;11843:10;:21::i;:::-;11836:28;;;;;11392:474;-1:-1:-1;11874:6:0;11214:674;-1:-1:-1;;11214:674:0:o;11894:443::-;11984:16;;;11998:1;11984:16;;;;;;;;11960:21;;11984:16;;;;;;;;;;-1:-1:-1;11984:16:0;11960:40;;12029:4;12011;12016:1;12011:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12011:23:0;;;:7;;;;;;;;;;:23;;;;12055:9;;:16;;;-1:-1:-1;;;12055:16:0;;;;:9;;;;;:14;;:16;;;;;12011:7;;12055:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12045:4;12050:1;12045:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12045:26:0;;;:7;;;;;;;;;:26;12114:9;;12082:56;;12099:4;;12114:9;12126:11;12082:8;:56::i;:::-;12149:9;;:180;;-1:-1:-1;;;12149:180:0;;-1:-1:-1;;;;;12149:9:0;;;;:60;;:180;;12224:11;;12149:9;;12266:4;;12293;;12313:15;;12149:180;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11949:388;11894:443;:::o;12343:339::-;12456:9;;12424:56;;12441:4;;-1:-1:-1;;;;;12456:9:0;12468:11;12424:8;:56::i;:::-;12491:9;;12635:8;;12491:183;;-1:-1:-1;;;12491:183:0;;12557:4;12491:183;;;11170:34:1;11220:18;;;11213:34;;;12491:9:0;11263:18:1;;;11256:34;;;11306:18;;;11299:34;-1:-1:-1;;;;;12635:8:0;;;11349:19:1;;;11342:44;12658:15:0;11402:19:1;;;11395:35;12491:9:0;;;:25;;12524:9;;11104:19:1;;12491:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12343:339;;:::o;9451:227::-;9570:7;;9534;;-1:-1:-1;;;;;9570:7:0;;;9557:20;;;;9554:41;;-1:-1:-1;9586:7:0;;9579:14;;9554:41;9618:7;;-1:-1:-1;;;;;9618:7:0;;;9608:17;;;;9605:37;;-1:-1:-1;9634:6:0;;9627:13;;9605:37;-1:-1:-1;9659:11:0;;9451:227;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8799:125::-;8864:9;;;8885:10;;;8882:36;;;8898:18;;:::i;8929:168::-;9002:9;;;9033;;9050:15;;;9044:22;;9030:37;9020:71;;9071:18;;:::i;9102:217::-;9142:1;9168;9158:132;;9212:10;9207:3;9203:20;9200:1;9193:31;9247:4;9244:1;9237:15;9275:4;9272:1;9265:15;9158:132;-1:-1:-1;9304:9:1;;9102:217::o;9456:127::-;9517:10;9512:3;9508:20;9505:1;9498:31;9548:4;9545:1;9538:15;9572:4;9569:1;9562:15;9588:251;9658:6;9711:2;9699:9;9690:7;9686:23;9682:32;9679:52;;;9727:1;9724;9717:12;9679:52;9759:9;9753:16;9778:31;9803:5;9778:31;:::i;9844:980::-;10106:4;10154:3;10143:9;10139:19;10185:6;10174:9;10167:25;10211:2;10249:6;10244:2;10233:9;10229:18;10222:34;10292:3;10287:2;10276:9;10272:18;10265:31;10316:6;10351;10345:13;10382:6;10374;10367:22;10420:3;10409:9;10405:19;10398:26;;10459:2;10451:6;10447:15;10433:29;;10480:1;10490:195;10504:6;10501:1;10498:13;10490:195;;;10569:13;;-1:-1:-1;;;;;10565:39:1;10553:52;;10660:15;;;;10625:12;;;;10601:1;10519:9;10490:195;;;-1:-1:-1;;;;;;;10741:32:1;;;;10736:2;10721:18;;10714:60;-1:-1:-1;;;10805:3:1;10790:19;10783:35;10702:3;9844:980;-1:-1:-1;;;9844:980:1:o;11441:306::-;11529:6;11537;11545;11598:2;11586:9;11577:7;11573:23;11569:32;11566:52;;;11614:1;11611;11604:12;11566:52;11643:9;11637:16;11627:26;;11693:2;11682:9;11678:18;11672:25;11662:35;;11737:2;11726:9;11722:18;11716:25;11706:35;;11441:306;;;;;:::o
Swarm Source
ipfs://b156f13bad9994f4220634f598d9691ca4c4bb0a7b98c54b77173ecadf9c08f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.