More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 15 from a total of 15 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Renounce Ownersh... | 20350316 | 159 days ago | IN | 0 ETH | 0.0000993 | ||||
Update Fees | 20350314 | 159 days ago | IN | 0 ETH | 0.00011622 | ||||
Approve | 20350307 | 159 days ago | IN | 0 ETH | 0.00027023 | ||||
Remove Limits | 20350304 | 159 days ago | IN | 0 ETH | 0.00009037 | ||||
Approve | 20350300 | 159 days ago | IN | 0 ETH | 0.00035645 | ||||
Approve | 20350297 | 159 days ago | IN | 0 ETH | 0.00034931 | ||||
Approve | 20350294 | 159 days ago | IN | 0 ETH | 0.0003592 | ||||
Update Fees | 20350293 | 159 days ago | IN | 0 ETH | 0.00007912 | ||||
Approve | 20350291 | 159 days ago | IN | 0 ETH | 0.00082634 | ||||
Approve | 20350288 | 159 days ago | IN | 0 ETH | 0.00024456 | ||||
Approve | 20350285 | 159 days ago | IN | 0 ETH | 0.0003429 | ||||
Approve | 20350285 | 159 days ago | IN | 0 ETH | 0.00034298 | ||||
Enable Trading | 20350283 | 159 days ago | IN | 0 ETH | 0.00008073 | ||||
Transfer | 20350252 | 159 days ago | IN | 0 ETH | 0.00017068 | ||||
Approve | 20350203 | 159 days ago | IN | 0 ETH | 0.00012854 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
FLAME
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-07-20 */ /* Website: https://flame.xn--6frz82g/ Twitter (X): https://x.com/flameethcoin/status/1813668218546032654?s=46 Telegram: https://t.me/+8rdBR9Ycg-k0ODRk */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } 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 ); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } function _generateSupply(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 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() external virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface UniswapV2Router { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; } interface UniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } contract FLAME is ERC20, Ownable { UniswapV2Router public immutable uniswapV2Router; address public immutable uniswapV2Pair; uint256 public maxWallet; uint256 public maxTxnAmount; bool private swapping; uint256 public swapTokensAtAmount; uint256 public swapLimit; address devWallet; address private marketingWallet; bool public limitsInEffect = true; bool public tradingLive = false; bool public swapEnabled = false; uint256 public buyFee; uint256 public sellFee; uint256 public taxed; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; constructor( string memory _tokenName, string memory _tokenSymbol, uint256 _totalSupply, uint _maxTx, uint _maxWallet, uint _buyTax, uint _sellTax, address _teamWallet, address _marketingWallet ) ERC20(_tokenName, _tokenSymbol) { UniswapV2Router _uniswapV2Router = UniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = UniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); buyFee = _buyTax; sellFee = _sellTax; uint256 totalSupply = _totalSupply * 10 ** 18; maxWallet = (totalSupply * _maxWallet) / 100; maxTxnAmount = (totalSupply * _maxTx) / 100; swapTokensAtAmount = (totalSupply * 5) / 1000; swapLimit = 6; marketingWallet = payable(_marketingWallet); devWallet = _teamWallet; excludeFromF(owner(), true); excludeFromF(devWallet, true); excludeFromF(marketingWallet, true); excludeFromF(address(this), true); excludeFromF(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(devWallet, true); excludeFromMaxTransaction(marketingWallet, true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); _generateSupply(devWallet, totalSupply); transferOwnership(devWallet); } receive() external payable {} function enableTrading() external onlyOwner { require(!tradingLive, "Trading already live!"); tradingLive = true; swapEnabled = true; } function removeLimits() external onlyOwner { limitsInEffect = false; } function updateTxnAmount(uint256 newNum) external onlyOwner { maxTxnAmount = newNum * (10 ** 18); } function updateMaxWalletAmount(uint256 newNum) external onlyOwner { maxWallet = newNum * (10 ** 18); } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { swapTokensAtAmount = newAmount; } function updateFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner { buyFee = _buyFee; sellFee = _sellFee; } function excludeFromMaxTransaction( address updAds, bool isEx ) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function setAutomatedMarketMakerPair( address pair, bool value ) external onlyOwner { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; excludeFromMaxTransaction(pair, value); } function excludeFromF(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "amount must be greater than 0"); if (!tradingLive) { require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active." ); } if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { // BUY TXN if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTxnAmount, "Buy transfer amount exceeds the max txn." ); require( amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet" ); } // SELL TXN else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTxnAmount, "Sell transfer amount exceeds the max txn." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet" ); } } } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; collectFees(); swapping = false; } bool takeFee = true; if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; if (takeFee) { // SELL TXN if (automatedMarketMakerPairs[to] && sellFee > 0) { fees = (amount * sellFee) / 100; taxed += fees; } // BUY TXN else if (automatedMarketMakerPairs[from] && buyFee > 0) { fees = (amount * buyFee) / 100; taxed += fees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function collectFees() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = taxed; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } if (limitsInEffect) { if (contractBalance > swapTokensAtAmount * swapLimit) { contractBalance = swapTokensAtAmount * swapLimit; } } else { if (contractBalance > swapTokensAtAmount / swapLimit) { contractBalance = swapTokensAtAmount / swapLimit; } } bool success; swapTokensForEth(contractBalance); taxed = balanceOf(address(this)); if (address(this).balance > 0) { (success, ) = address(marketingWallet).call{value: address(this).balance}( "" ); } } function manSwap() external { require(msg.sender == devWallet,"Not Auth"); taxed = balanceOf(address(this)); require(balanceOf(address(this)) > 0, "No tokens to swap"); swapping = true; collectFees(); swapping = false; } //Remove any sent eth to contract function wETH() external { require(msg.sender == devWallet,"Not Auth"); bool success; (success, ) = address(msg.sender).call{value: address(this).balance}( "" ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"string","name":"_tokenSymbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"},{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"},{"internalType":"address","name":"_teamWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract UniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526001600c60146101000a81548160ff0219169083151502179055505f600c60156101000a81548160ff0219169083151502179055505f600c60166101000a81548160ff02191690831515021790555034801561005e575f80fd5b506040516152e83803806152e883398181016040528101906100809190610d81565b888881600390816100919190611081565b5080600490816100a19190611081565b5050505f6100b361061f60201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d905061017981600161062660201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021a9190611150565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561027f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a39190611150565b6040518363ffffffff1660e01b81526004016102c092919061118a565b6020604051808303815f875af11580156102dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103009190611150565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505061034660a051600161062660201b60201c565b61035960a051600161071a60201b60201c565b84600d8190555083600e819055505f670de0b6b3a76400008961037c91906111de565b90506064878261038c91906111de565b610396919061124c565b600681905550606488826103aa91906111de565b6103b4919061124c565b6007819055506103e86005826103ca91906111de565b6103d4919061124c565b6009819055506006600a8190555082600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061048061047361078260201b60201c565b60016107aa60201b60201c565b6104b2600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016107aa60201b60201c565b6104e4600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016107aa60201b60201c565b6104f53060016107aa60201b60201c565b61050861dead60016107aa60201b60201c565b61052661051961078260201b60201c565b600161062660201b60201c565b610558600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161062660201b60201c565b61058a600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161062660201b60201c565b61059b30600161062660201b60201c565b6105ae61dead600161062660201b60201c565b6105df600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261089e60201b60201c565b61060f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166109df60201b60201c565b5050505050505050505050611445565b5f33905090565b61063461061f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b9906112d6565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061077e828261062660201b60201c565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107b861061f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d906112d6565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361090c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109039061133e565b60405180910390fd5b8060025f82825461091d919061135c565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461096f919061135c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d3919061139e565b60405180910390a35050565b6109ed61061f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a72906112d6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae090611427565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610c0682610bc0565b810181811067ffffffffffffffff82111715610c2557610c24610bd0565b5b80604052505050565b5f610c37610ba7565b9050610c438282610bfd565b919050565b5f67ffffffffffffffff821115610c6257610c61610bd0565b5b610c6b82610bc0565b9050602081019050919050565b8281835e5f83830152505050565b5f610c98610c9384610c48565b610c2e565b905082815260208101848484011115610cb457610cb3610bbc565b5b610cbf848285610c78565b509392505050565b5f82601f830112610cdb57610cda610bb8565b5b8151610ceb848260208601610c86565b91505092915050565b5f819050919050565b610d0681610cf4565b8114610d10575f80fd5b50565b5f81519050610d2181610cfd565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d5082610d27565b9050919050565b610d6081610d46565b8114610d6a575f80fd5b50565b5f81519050610d7b81610d57565b92915050565b5f805f805f805f805f6101208a8c031215610d9f57610d9e610bb0565b5b5f8a015167ffffffffffffffff811115610dbc57610dbb610bb4565b5b610dc88c828d01610cc7565b99505060208a015167ffffffffffffffff811115610de957610de8610bb4565b5b610df58c828d01610cc7565b9850506040610e068c828d01610d13565b9750506060610e178c828d01610d13565b9650506080610e288c828d01610d13565b95505060a0610e398c828d01610d13565b94505060c0610e4a8c828d01610d13565b93505060e0610e5b8c828d01610d6d565b925050610100610e6d8c828d01610d6d565b9150509295985092959850929598565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ecb57607f821691505b602082108103610ede57610edd610e87565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610f407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610f05565b610f4a8683610f05565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610f85610f80610f7b84610cf4565b610f62565b610cf4565b9050919050565b5f819050919050565b610f9e83610f6b565b610fb2610faa82610f8c565b848454610f11565b825550505050565b5f90565b610fc6610fba565b610fd1818484610f95565b505050565b5b81811015610ff457610fe95f82610fbe565b600181019050610fd7565b5050565b601f8211156110395761100a81610ee4565b61101384610ef6565b81016020851015611022578190505b61103661102e85610ef6565b830182610fd6565b50505b505050565b5f82821c905092915050565b5f6110595f198460080261103e565b1980831691505092915050565b5f611071838361104a565b9150826002028217905092915050565b61108a82610e7d565b67ffffffffffffffff8111156110a3576110a2610bd0565b5b6110ad8254610eb4565b6110b8828285610ff8565b5f60209050601f8311600181146110e9575f84156110d7578287015190505b6110e18582611066565b865550611148565b601f1984166110f786610ee4565b5f5b8281101561111e578489015182556001820191506020850194506020810190506110f9565b8683101561113b5784890151611137601f89168261104a565b8355505b6001600288020188555050505b505050505050565b5f6020828403121561116557611164610bb0565b5b5f61117284828501610d6d565b91505092915050565b61118481610d46565b82525050565b5f60408201905061119d5f83018561117b565b6111aa602083018461117b565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111e882610cf4565b91506111f383610cf4565b925082820261120181610cf4565b91508282048414831517611218576112176111b1565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61125682610cf4565b915061126183610cf4565b9250826112715761127061121f565b5b828204905092915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6112c060208361127c565b91506112cb8261128c565b602082019050919050565b5f6020820190508181035f8301526112ed816112b4565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611328601f8361127c565b9150611333826112f4565b602082019050919050565b5f6020820190508181035f8301526113558161131c565b9050919050565b5f61136682610cf4565b915061137183610cf4565b9250828201905080821115611389576113886111b1565b5b92915050565b61139881610cf4565b82525050565b5f6020820190506113b15f83018461138f565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61141160268361127c565b915061141c826113b7565b604082019050919050565b5f6020820190508181035f83015261143e81611405565b9050919050565b60805160a051613e666114825f395f8181610c3e01526113ff01525f81816109b101528181612be401528181612cc30152612cea0152613e665ff3fe608060405260043610610233575f3560e01c8063715018a61161012d578063b62496f5116100aa578063dd62ed3e1161006e578063dd62ed3e14610804578063e2f4560514610840578063f24286211461086a578063f2fde38b14610880578063f8b45b05146108a85761023a565b8063b62496f514610726578063c18bc19514610762578063cf46f24c1461078a578063d257b34f146107b4578063d7509d63146107dc5761023a565b806395d89b41116100f157806395d89b41146106325780639a7a23d61461065c5780639e01392f14610684578063a457c2d7146106ae578063a9059cbb146106ea5761023a565b8063715018a61461059e578063751039fc146105b45780637571336a146105ca5780638a8c523c146105f25780638da5cb5b146106085761023a565b806339509351116101bb5780636a01f09c1161017f5780636a01f09c146104d05780636db79437146104fa5780636ddd1713146105225780636f616f991461054c57806370a08231146105625761023a565b806339509351146103ee57806345c1e4b21461042a578063470624021461045257806349bd5a5e1461047c5780634a62bb65146104a65761023a565b80631694505e116102025780631694505e1461030a57806318160ddd1461033457806323b872dd1461035e5780632b14ca561461039a578063313ce567146103c45761023a565b806306fdde031461023e578063095ea7b31461026857806310d5de53146102a457806311704f52146102e05761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108d2565b60405161025f9190612dea565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190612e9b565b610962565b60405161029b9190612ef3565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c59190612f0c565b61097f565b6040516102d79190612ef3565b60405180910390f35b3480156102eb575f80fd5b506102f461099c565b6040516103019190612ef3565b60405180910390f35b348015610315575f80fd5b5061031e6109af565b60405161032b9190612f92565b60405180910390f35b34801561033f575f80fd5b506103486109d3565b6040516103559190612fba565b60405180910390f35b348015610369575f80fd5b50610384600480360381019061037f9190612fd3565b6109dc565b6040516103919190612ef3565b60405180910390f35b3480156103a5575f80fd5b506103ae610ace565b6040516103bb9190612fba565b60405180910390f35b3480156103cf575f80fd5b506103d8610ad4565b6040516103e5919061303e565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190612e9b565b610adc565b6040516104219190612ef3565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b9190613057565b610b83565b005b34801561045d575f80fd5b50610466610c36565b6040516104739190612fba565b60405180910390f35b348015610487575f80fd5b50610490610c3c565b60405161049d9190613091565b60405180910390f35b3480156104b1575f80fd5b506104ba610c60565b6040516104c79190612ef3565b60405180910390f35b3480156104db575f80fd5b506104e4610c73565b6040516104f19190612fba565b60405180910390f35b348015610505575f80fd5b50610520600480360381019061051b91906130aa565b610c79565b005b34801561052d575f80fd5b50610536610d21565b6040516105439190612ef3565b60405180910390f35b348015610557575f80fd5b50610560610d34565b005b34801561056d575f80fd5b5061058860048036038101906105839190612f0c565b610e59565b6040516105959190612fba565b60405180910390f35b3480156105a9575f80fd5b506105b2610e9e565b005b3480156105bf575f80fd5b506105c8610ff1565b005b3480156105d5575f80fd5b506105f060048036038101906105eb9190613112565b6110a3565b005b3480156105fd575f80fd5b50610606611191565b005b348015610613575f80fd5b5061061c6112af565b6040516106299190613091565b60405180910390f35b34801561063d575f80fd5b506106466112d7565b6040516106539190612dea565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d9190613112565b611367565b005b34801561068f575f80fd5b50610698611499565b6040516106a59190612fba565b60405180910390f35b3480156106b9575f80fd5b506106d460048036038101906106cf9190612e9b565b61149f565b6040516106e19190612ef3565b60405180910390f35b3480156106f5575f80fd5b50610710600480360381019061070b9190612e9b565b611585565b60405161071d9190612ef3565b60405180910390f35b348015610731575f80fd5b5061074c60048036038101906107479190612f0c565b6115a2565b6040516107599190612ef3565b60405180910390f35b34801561076d575f80fd5b5061078860048036038101906107839190613057565b6115bf565b005b348015610795575f80fd5b5061079e611672565b6040516107ab9190612fba565b60405180910390f35b3480156107bf575f80fd5b506107da60048036038101906107d59190613057565b611678565b005b3480156107e7575f80fd5b5061080260048036038101906107fd9190613112565b611718565b005b34801561080f575f80fd5b5061082a60048036038101906108259190613150565b611806565b6040516108379190612fba565b60405180910390f35b34801561084b575f80fd5b50610854611888565b6040516108619190612fba565b60405180910390f35b348015610875575f80fd5b5061087e61188e565b005b34801561088b575f80fd5b506108a660048036038101906108a19190612f0c565b61198a565b005b3480156108b3575f80fd5b506108bc611b4c565b6040516108c99190612fba565b60405180910390f35b6060600380546108e1906131bb565b80601f016020809104026020016040519081016040528092919081815260200182805461090d906131bb565b80156109585780601f1061092f57610100808354040283529160200191610958565b820191905f5260205f20905b81548152906001019060200180831161093b57829003601f168201915b5050505050905090565b5f61097561096e611b52565b8484611b59565b6001905092915050565b6011602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f6109e8848484611d1c565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a2f611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061325b565b60405180910390fd5b610ac285610aba611b52565b858403611b59565b60019150509392505050565b600e5481565b5f6012905090565b5f610b79610ae8611b52565b848460015f610af5611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b7491906132a6565b611b59565b6001905092915050565b610b8b611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1090613323565b60405180910390fd5b670de0b6b3a764000081610c2d9190613341565b60078190555050565b600d5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60149054906101000a900460ff1681565b600a5481565b610c81611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0690613323565b60405180910390fd5b81600d8190555080600e819055505050565b600c60169054906101000a900460ff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba906133cc565b60405180910390fd5b610dcc30610e59565b600f819055505f610ddc30610e59565b11610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390613434565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550610e3e61273a565b5f60085f6101000a81548160ff021916908315150217905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ea6611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ff9611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90613323565b60405180910390fd5b5f600c60146101000a81548160ff021916908315150217905550565b6110ab611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113090613323565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611199611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90613323565b60405180910390fd5b600c60159054906101000a900460ff1615611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e9061349c565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60166101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112e6906131bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611312906131bb565b801561135d5780601f106113345761010080835404028352916020019161135d565b820191905f5260205f20905b81548152906001019060200180831161134057829003601f168201915b5050505050905090565b61136f611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490613323565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114829061352a565b60405180910390fd5b6114958282612886565b5050565b600f5481565b5f8060015f6114ac611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d906135b8565b60405180910390fd5b61157a611571611b52565b85858403611b59565b600191505092915050565b5f611598611591611b52565b8484611d1c565b6001905092915050565b6012602052805f5260405f205f915054906101000a900460ff1681565b6115c7611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90613323565b60405180910390fd5b670de0b6b3a7640000816116699190613341565b60068190555050565b60075481565b611680611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461170e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170590613323565b60405180910390fd5b8060098190555050565b611720611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a590613323565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906133cc565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff164760405161194290613603565b5f6040518083038185875af1925050503d805f811461197c576040519150601f19603f3d011682016040523d82523d5f602084013e611981565b606091505b50508091505050565b611992611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1790613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8590613687565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbe90613715565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c906137a3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d0f9190612fba565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8190613831565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906138bf565b60405180910390fd5b5f8111611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3190613927565b60405180910390fd5b600c60159054906101000a900460ff16611f295760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ee9575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1f9061398f565b60405180910390fd5b5b600c60149054906101000a900460ff16156123ac57611f466112af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fb45750611f846112af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611fec57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612026575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612079575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120cc575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123ab5760125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561216e575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612215576007548111156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613a1d565b60405180910390fd5b6006546121c483610e59565b826121cf91906132a6565b1115612210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220790613a85565b60405180910390fd5b6123aa565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156122b2575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612301576007548111156122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613b13565b60405180910390fd5b6123a9565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166123a85760065461235b83610e59565b8261236691906132a6565b11156123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90613a85565b60405180910390fd5b5b5b5b5b5b5f6123b630610e59565b90505f60095482101590508080156123da5750600c60169054906101000a900460ff165b80156123f2575060085f9054906101000a900460ff16155b8015612445575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612498575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124eb575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561252c57600160085f6101000a81548160ff02191690831515021790555061251261273a565b5f60085f6101000a81548160ff0219169083151502179055505b5f6001905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125cc575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156125d5575f90505b5f81156127265760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561263357505f600e54115b15612671576064600e54866126489190613341565b6126529190613b5e565b905080600f5f82825461266591906132a6565b92505081905550612703565b60125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156126c857505f600d54115b15612702576064600d54866126dd9190613341565b6126e79190613b5e565b905080600f5f8282546126fa91906132a6565b925050819055505b5b5f811115612717576127168730836128e8565b5b80856127239190613b8e565b94505b6127318787876128e8565b50505050505050565b5f61274430610e59565b90505f600f5490505f82148061275957505f81145b15612765575050612884565b600c60149054906101000a900460ff16156127a957600a5460095461278a9190613341565b8211156127a457600a546009546127a19190613341565b91505b6127d4565b600a546009546127b99190613b5e565b8211156127d357600a546009546127d09190613b5e565b91505b5b5f6127de83612b47565b6127e730610e59565b600f819055505f47111561288057600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161283a90613603565b5f6040518083038185875af1925050503d805f8114612874576040519150601f19603f3d011682016040523d82523d5f602084013e612879565b606091505b5050809150505b5050505b565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506128e482826110a3565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294d90613831565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bb906138bf565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3e90613c31565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ad591906132a6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b399190612fba565b60405180910390a350505050565b5f600267ffffffffffffffff811115612b6357612b62613c4f565b5b604051908082528060200260200182016040528015612b915781602001602082028036833780820191505090505b50905030815f81518110612ba857612ba7613c7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613cbd565b81600181518110612c8357612c82613c7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ce8307f000000000000000000000000000000000000000000000000000000000000000084611b59565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612d49959493929190613dd8565b5f604051808303815f87803b158015612d60575f80fd5b505af1158015612d72573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612dbc82612d7a565b612dc68185612d84565b9350612dd6818560208601612d94565b612ddf81612da2565b840191505092915050565b5f6020820190508181035f830152612e028184612db2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612e3782612e0e565b9050919050565b612e4781612e2d565b8114612e51575f80fd5b50565b5f81359050612e6281612e3e565b92915050565b5f819050919050565b612e7a81612e68565b8114612e84575f80fd5b50565b5f81359050612e9581612e71565b92915050565b5f8060408385031215612eb157612eb0612e0a565b5b5f612ebe85828601612e54565b9250506020612ecf85828601612e87565b9150509250929050565b5f8115159050919050565b612eed81612ed9565b82525050565b5f602082019050612f065f830184612ee4565b92915050565b5f60208284031215612f2157612f20612e0a565b5b5f612f2e84828501612e54565b91505092915050565b5f819050919050565b5f612f5a612f55612f5084612e0e565b612f37565b612e0e565b9050919050565b5f612f6b82612f40565b9050919050565b5f612f7c82612f61565b9050919050565b612f8c81612f72565b82525050565b5f602082019050612fa55f830184612f83565b92915050565b612fb481612e68565b82525050565b5f602082019050612fcd5f830184612fab565b92915050565b5f805f60608486031215612fea57612fe9612e0a565b5b5f612ff786828701612e54565b935050602061300886828701612e54565b925050604061301986828701612e87565b9150509250925092565b5f60ff82169050919050565b61303881613023565b82525050565b5f6020820190506130515f83018461302f565b92915050565b5f6020828403121561306c5761306b612e0a565b5b5f61307984828501612e87565b91505092915050565b61308b81612e2d565b82525050565b5f6020820190506130a45f830184613082565b92915050565b5f80604083850312156130c0576130bf612e0a565b5b5f6130cd85828601612e87565b92505060206130de85828601612e87565b9150509250929050565b6130f181612ed9565b81146130fb575f80fd5b50565b5f8135905061310c816130e8565b92915050565b5f806040838503121561312857613127612e0a565b5b5f61313585828601612e54565b9250506020613146858286016130fe565b9150509250929050565b5f806040838503121561316657613165612e0a565b5b5f61317385828601612e54565b925050602061318485828601612e54565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806131d257607f821691505b6020821081036131e5576131e461318e565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613245602883612d84565b9150613250826131eb565b604082019050919050565b5f6020820190508181035f83015261327281613239565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132b082612e68565b91506132bb83612e68565b92508282019050808211156132d3576132d2613279565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61330d602083612d84565b9150613318826132d9565b602082019050919050565b5f6020820190508181035f83015261333a81613301565b9050919050565b5f61334b82612e68565b915061335683612e68565b925082820261336481612e68565b9150828204841483151761337b5761337a613279565b5b5092915050565b7f4e6f7420417574680000000000000000000000000000000000000000000000005f82015250565b5f6133b6600883612d84565b91506133c182613382565b602082019050919050565b5f6020820190508181035f8301526133e3816133aa565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f61341e601183612d84565b9150613429826133ea565b602082019050919050565b5f6020820190508181035f83015261344b81613412565b9050919050565b7f54726164696e6720616c7265616479206c6976652100000000000000000000005f82015250565b5f613486601583612d84565b915061349182613452565b602082019050919050565b5f6020820190508181035f8301526134b38161347a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613514603983612d84565b915061351f826134ba565b604082019050919050565b5f6020820190508181035f83015261354181613508565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6135a2602583612d84565b91506135ad82613548565b604082019050919050565b5f6020820190508181035f8301526135cf81613596565b9050919050565b5f81905092915050565b50565b5f6135ee5f836135d6565b91506135f9826135e0565b5f82019050919050565b5f61360d826135e3565b9150819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613671602683612d84565b915061367c82613617565b604082019050919050565b5f6020820190508181035f83015261369e81613665565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6136ff602483612d84565b915061370a826136a5565b604082019050919050565b5f6020820190508181035f83015261372c816136f3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61378d602283612d84565b915061379882613733565b604082019050919050565b5f6020820190508181035f8301526137ba81613781565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61381b602583612d84565b9150613826826137c1565b604082019050919050565b5f6020820190508181035f8301526138488161380f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6138a9602383612d84565b91506138b48261384f565b604082019050919050565b5f6020820190508181035f8301526138d68161389d565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f613911601d83612d84565b915061391c826138dd565b602082019050919050565b5f6020820190508181035f83015261393e81613905565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613979601683612d84565b915061398482613945565b602082019050919050565b5f6020820190508181035f8301526139a68161396d565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61782074786e2e000000000000000000000000000000000000000000000000602082015250565b5f613a07602883612d84565b9150613a12826139ad565b604082019050919050565b5f6020820190508181035f830152613a34816139fb565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f613a6f601883612d84565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782074786e2e0000000000000000000000000000000000000000000000602082015250565b5f613afd602983612d84565b9150613b0882613aa3565b604082019050919050565b5f6020820190508181035f830152613b2a81613af1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b6882612e68565b9150613b7383612e68565b925082613b8357613b82613b31565b5b828204905092915050565b5f613b9882612e68565b9150613ba383612e68565b9250828203905081811115613bbb57613bba613279565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613c1b602683612d84565b9150613c2682613bc1565b604082019050919050565b5f6020820190508181035f830152613c4881613c0f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613cb781612e3e565b92915050565b5f60208284031215613cd257613cd1612e0a565b5b5f613cdf84828501613ca9565b91505092915050565b5f819050919050565b5f613d0b613d06613d0184613ce8565b612f37565b612e68565b9050919050565b613d1b81613cf1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d5381612e2d565b82525050565b5f613d648383613d4a565b60208301905092915050565b5f602082019050919050565b5f613d8682613d21565b613d908185613d2b565b9350613d9b83613d3b565b805f5b83811015613dcb578151613db28882613d59565b9750613dbd83613d70565b925050600181019050613d9e565b5085935050505092915050565b5f60a082019050613deb5f830188612fab565b613df86020830187613d12565b8181036040830152613e0a8186613d7c565b9050613e196060830185613082565b613e266080830184612fab565b969550505050505056fea2646970667358221220d5200670aa537b4598b5a2b6040c7ead8e61e0cd60d9604c1f2d73f52ae8c0cc64736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b74130000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b74130000000000000000000000000000000000000000000000000000000000000005464c414d450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005464c414d45000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610233575f3560e01c8063715018a61161012d578063b62496f5116100aa578063dd62ed3e1161006e578063dd62ed3e14610804578063e2f4560514610840578063f24286211461086a578063f2fde38b14610880578063f8b45b05146108a85761023a565b8063b62496f514610726578063c18bc19514610762578063cf46f24c1461078a578063d257b34f146107b4578063d7509d63146107dc5761023a565b806395d89b41116100f157806395d89b41146106325780639a7a23d61461065c5780639e01392f14610684578063a457c2d7146106ae578063a9059cbb146106ea5761023a565b8063715018a61461059e578063751039fc146105b45780637571336a146105ca5780638a8c523c146105f25780638da5cb5b146106085761023a565b806339509351116101bb5780636a01f09c1161017f5780636a01f09c146104d05780636db79437146104fa5780636ddd1713146105225780636f616f991461054c57806370a08231146105625761023a565b806339509351146103ee57806345c1e4b21461042a578063470624021461045257806349bd5a5e1461047c5780634a62bb65146104a65761023a565b80631694505e116102025780631694505e1461030a57806318160ddd1461033457806323b872dd1461035e5780632b14ca561461039a578063313ce567146103c45761023a565b806306fdde031461023e578063095ea7b31461026857806310d5de53146102a457806311704f52146102e05761023a565b3661023a57005b5f80fd5b348015610249575f80fd5b506102526108d2565b60405161025f9190612dea565b60405180910390f35b348015610273575f80fd5b5061028e60048036038101906102899190612e9b565b610962565b60405161029b9190612ef3565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c59190612f0c565b61097f565b6040516102d79190612ef3565b60405180910390f35b3480156102eb575f80fd5b506102f461099c565b6040516103019190612ef3565b60405180910390f35b348015610315575f80fd5b5061031e6109af565b60405161032b9190612f92565b60405180910390f35b34801561033f575f80fd5b506103486109d3565b6040516103559190612fba565b60405180910390f35b348015610369575f80fd5b50610384600480360381019061037f9190612fd3565b6109dc565b6040516103919190612ef3565b60405180910390f35b3480156103a5575f80fd5b506103ae610ace565b6040516103bb9190612fba565b60405180910390f35b3480156103cf575f80fd5b506103d8610ad4565b6040516103e5919061303e565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190612e9b565b610adc565b6040516104219190612ef3565b60405180910390f35b348015610435575f80fd5b50610450600480360381019061044b9190613057565b610b83565b005b34801561045d575f80fd5b50610466610c36565b6040516104739190612fba565b60405180910390f35b348015610487575f80fd5b50610490610c3c565b60405161049d9190613091565b60405180910390f35b3480156104b1575f80fd5b506104ba610c60565b6040516104c79190612ef3565b60405180910390f35b3480156104db575f80fd5b506104e4610c73565b6040516104f19190612fba565b60405180910390f35b348015610505575f80fd5b50610520600480360381019061051b91906130aa565b610c79565b005b34801561052d575f80fd5b50610536610d21565b6040516105439190612ef3565b60405180910390f35b348015610557575f80fd5b50610560610d34565b005b34801561056d575f80fd5b5061058860048036038101906105839190612f0c565b610e59565b6040516105959190612fba565b60405180910390f35b3480156105a9575f80fd5b506105b2610e9e565b005b3480156105bf575f80fd5b506105c8610ff1565b005b3480156105d5575f80fd5b506105f060048036038101906105eb9190613112565b6110a3565b005b3480156105fd575f80fd5b50610606611191565b005b348015610613575f80fd5b5061061c6112af565b6040516106299190613091565b60405180910390f35b34801561063d575f80fd5b506106466112d7565b6040516106539190612dea565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d9190613112565b611367565b005b34801561068f575f80fd5b50610698611499565b6040516106a59190612fba565b60405180910390f35b3480156106b9575f80fd5b506106d460048036038101906106cf9190612e9b565b61149f565b6040516106e19190612ef3565b60405180910390f35b3480156106f5575f80fd5b50610710600480360381019061070b9190612e9b565b611585565b60405161071d9190612ef3565b60405180910390f35b348015610731575f80fd5b5061074c60048036038101906107479190612f0c565b6115a2565b6040516107599190612ef3565b60405180910390f35b34801561076d575f80fd5b5061078860048036038101906107839190613057565b6115bf565b005b348015610795575f80fd5b5061079e611672565b6040516107ab9190612fba565b60405180910390f35b3480156107bf575f80fd5b506107da60048036038101906107d59190613057565b611678565b005b3480156107e7575f80fd5b5061080260048036038101906107fd9190613112565b611718565b005b34801561080f575f80fd5b5061082a60048036038101906108259190613150565b611806565b6040516108379190612fba565b60405180910390f35b34801561084b575f80fd5b50610854611888565b6040516108619190612fba565b60405180910390f35b348015610875575f80fd5b5061087e61188e565b005b34801561088b575f80fd5b506108a660048036038101906108a19190612f0c565b61198a565b005b3480156108b3575f80fd5b506108bc611b4c565b6040516108c99190612fba565b60405180910390f35b6060600380546108e1906131bb565b80601f016020809104026020016040519081016040528092919081815260200182805461090d906131bb565b80156109585780601f1061092f57610100808354040283529160200191610958565b820191905f5260205f20905b81548152906001019060200180831161093b57829003601f168201915b5050505050905090565b5f61097561096e611b52565b8484611b59565b6001905092915050565b6011602052805f5260405f205f915054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b5f6109e8848484611d1c565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a2f611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061325b565b60405180910390fd5b610ac285610aba611b52565b858403611b59565b60019150509392505050565b600e5481565b5f6012905090565b5f610b79610ae8611b52565b848460015f610af5611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610b7491906132a6565b611b59565b6001905092915050565b610b8b611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1090613323565b60405180910390fd5b670de0b6b3a764000081610c2d9190613341565b60078190555050565b600d5481565b7f0000000000000000000000003aad6d2e7277b5e19dd1c96e4a6e64c8ecdb817881565b600c60149054906101000a900460ff1681565b600a5481565b610c81611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0690613323565b60405180910390fd5b81600d8190555080600e819055505050565b600c60169054906101000a900460ff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba906133cc565b60405180910390fd5b610dcc30610e59565b600f819055505f610ddc30610e59565b11610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390613434565b60405180910390fd5b600160085f6101000a81548160ff021916908315150217905550610e3e61273a565b5f60085f6101000a81548160ff021916908315150217905550565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ea6611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b90613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ff9611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e90613323565b60405180910390fd5b5f600c60146101000a81548160ff021916908315150217905550565b6110ab611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113090613323565b60405180910390fd5b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611199611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90613323565b60405180910390fd5b600c60159054906101000a900460ff1615611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e9061349c565b60405180910390fd5b6001600c60156101000a81548160ff0219169083151502179055506001600c60166101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112e6906131bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611312906131bb565b801561135d5780601f106113345761010080835404028352916020019161135d565b820191905f5260205f20905b81548152906001019060200180831161134057829003601f168201915b5050505050905090565b61136f611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490613323565b60405180910390fd5b7f0000000000000000000000003aad6d2e7277b5e19dd1c96e4a6e64c8ecdb817873ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361148b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114829061352a565b60405180910390fd5b6114958282612886565b5050565b600f5481565b5f8060015f6114ac611b52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155d906135b8565b60405180910390fd5b61157a611571611b52565b85858403611b59565b600191505092915050565b5f611598611591611b52565b8484611d1c565b6001905092915050565b6012602052805f5260405f205f915054906101000a900460ff1681565b6115c7611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c90613323565b60405180910390fd5b670de0b6b3a7640000816116699190613341565b60068190555050565b60075481565b611680611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461170e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170590613323565b60405180910390fd5b8060098190555050565b611720611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a590613323565b60405180910390fd5b8060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461191d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611914906133cc565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff164760405161194290613603565b5f6040518083038185875af1925050503d805f811461197c576040519150601f19603f3d011682016040523d82523d5f602084013e611981565b606091505b50508091505050565b611992611b52565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1790613323565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8590613687565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbe90613715565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c906137a3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d0f9190612fba565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8190613831565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611def906138bf565b60405180910390fd5b5f8111611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3190613927565b60405180910390fd5b600c60159054906101000a900460ff16611f295760105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611ee9575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1f9061398f565b60405180910390fd5b5b600c60149054906101000a900460ff16156123ac57611f466112af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fb45750611f846112af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611fec57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612026575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612079575060105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156120cc575060105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156123ab5760125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561216e575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612215576007548111156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613a1d565b60405180910390fd5b6006546121c483610e59565b826121cf91906132a6565b1115612210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220790613a85565b60405180910390fd5b6123aa565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156122b2575060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612301576007548111156122fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f390613b13565b60405180910390fd5b6123a9565b60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166123a85760065461235b83610e59565b8261236691906132a6565b11156123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90613a85565b60405180910390fd5b5b5b5b5b5b5f6123b630610e59565b90505f60095482101590508080156123da5750600c60169054906101000a900460ff165b80156123f2575060085f9054906101000a900460ff16155b8015612445575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612498575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156124eb575060105f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561252c57600160085f6101000a81548160ff02191690831515021790555061251261273a565b5f60085f6101000a81548160ff0219169083151502179055505b5f6001905060105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125cc575060105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156125d5575f90505b5f81156127265760125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561263357505f600e54115b15612671576064600e54866126489190613341565b6126529190613b5e565b905080600f5f82825461266591906132a6565b92505081905550612703565b60125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156126c857505f600d54115b15612702576064600d54866126dd9190613341565b6126e79190613b5e565b905080600f5f8282546126fa91906132a6565b925050819055505b5b5f811115612717576127168730836128e8565b5b80856127239190613b8e565b94505b6127318787876128e8565b50505050505050565b5f61274430610e59565b90505f600f5490505f82148061275957505f81145b15612765575050612884565b600c60149054906101000a900460ff16156127a957600a5460095461278a9190613341565b8211156127a457600a546009546127a19190613341565b91505b6127d4565b600a546009546127b99190613b5e565b8211156127d357600a546009546127d09190613b5e565b91505b5b5f6127de83612b47565b6127e730610e59565b600f819055505f47111561288057600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161283a90613603565b5f6040518083038185875af1925050503d805f8114612874576040519150601f19603f3d011682016040523d82523d5f602084013e612879565b606091505b5050809150505b5050505b565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506128e482826110a3565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294d90613831565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bb906138bf565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3e90613c31565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612ad591906132a6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b399190612fba565b60405180910390a350505050565b5f600267ffffffffffffffff811115612b6357612b62613c4f565b5b604051908082528060200260200182016040528015612b915781602001602082028036833780820191505090505b50905030815f81518110612ba857612ba7613c7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6f9190613cbd565b81600181518110612c8357612c82613c7c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ce8307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b59565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612d49959493929190613dd8565b5f604051808303815f87803b158015612d60575f80fd5b505af1158015612d72573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612dbc82612d7a565b612dc68185612d84565b9350612dd6818560208601612d94565b612ddf81612da2565b840191505092915050565b5f6020820190508181035f830152612e028184612db2565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612e3782612e0e565b9050919050565b612e4781612e2d565b8114612e51575f80fd5b50565b5f81359050612e6281612e3e565b92915050565b5f819050919050565b612e7a81612e68565b8114612e84575f80fd5b50565b5f81359050612e9581612e71565b92915050565b5f8060408385031215612eb157612eb0612e0a565b5b5f612ebe85828601612e54565b9250506020612ecf85828601612e87565b9150509250929050565b5f8115159050919050565b612eed81612ed9565b82525050565b5f602082019050612f065f830184612ee4565b92915050565b5f60208284031215612f2157612f20612e0a565b5b5f612f2e84828501612e54565b91505092915050565b5f819050919050565b5f612f5a612f55612f5084612e0e565b612f37565b612e0e565b9050919050565b5f612f6b82612f40565b9050919050565b5f612f7c82612f61565b9050919050565b612f8c81612f72565b82525050565b5f602082019050612fa55f830184612f83565b92915050565b612fb481612e68565b82525050565b5f602082019050612fcd5f830184612fab565b92915050565b5f805f60608486031215612fea57612fe9612e0a565b5b5f612ff786828701612e54565b935050602061300886828701612e54565b925050604061301986828701612e87565b9150509250925092565b5f60ff82169050919050565b61303881613023565b82525050565b5f6020820190506130515f83018461302f565b92915050565b5f6020828403121561306c5761306b612e0a565b5b5f61307984828501612e87565b91505092915050565b61308b81612e2d565b82525050565b5f6020820190506130a45f830184613082565b92915050565b5f80604083850312156130c0576130bf612e0a565b5b5f6130cd85828601612e87565b92505060206130de85828601612e87565b9150509250929050565b6130f181612ed9565b81146130fb575f80fd5b50565b5f8135905061310c816130e8565b92915050565b5f806040838503121561312857613127612e0a565b5b5f61313585828601612e54565b9250506020613146858286016130fe565b9150509250929050565b5f806040838503121561316657613165612e0a565b5b5f61317385828601612e54565b925050602061318485828601612e54565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806131d257607f821691505b6020821081036131e5576131e461318e565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613245602883612d84565b9150613250826131eb565b604082019050919050565b5f6020820190508181035f83015261327281613239565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132b082612e68565b91506132bb83612e68565b92508282019050808211156132d3576132d2613279565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61330d602083612d84565b9150613318826132d9565b602082019050919050565b5f6020820190508181035f83015261333a81613301565b9050919050565b5f61334b82612e68565b915061335683612e68565b925082820261336481612e68565b9150828204841483151761337b5761337a613279565b5b5092915050565b7f4e6f7420417574680000000000000000000000000000000000000000000000005f82015250565b5f6133b6600883612d84565b91506133c182613382565b602082019050919050565b5f6020820190508181035f8301526133e3816133aa565b9050919050565b7f4e6f20746f6b656e7320746f20737761700000000000000000000000000000005f82015250565b5f61341e601183612d84565b9150613429826133ea565b602082019050919050565b5f6020820190508181035f83015261344b81613412565b9050919050565b7f54726164696e6720616c7265616479206c6976652100000000000000000000005f82015250565b5f613486601583612d84565b915061349182613452565b602082019050919050565b5f6020820190508181035f8301526134b38161347a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613514603983612d84565b915061351f826134ba565b604082019050919050565b5f6020820190508181035f83015261354181613508565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6135a2602583612d84565b91506135ad82613548565b604082019050919050565b5f6020820190508181035f8301526135cf81613596565b9050919050565b5f81905092915050565b50565b5f6135ee5f836135d6565b91506135f9826135e0565b5f82019050919050565b5f61360d826135e3565b9150819050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613671602683612d84565b915061367c82613617565b604082019050919050565b5f6020820190508181035f83015261369e81613665565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6136ff602483612d84565b915061370a826136a5565b604082019050919050565b5f6020820190508181035f83015261372c816136f3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61378d602283612d84565b915061379882613733565b604082019050919050565b5f6020820190508181035f8301526137ba81613781565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61381b602583612d84565b9150613826826137c1565b604082019050919050565b5f6020820190508181035f8301526138488161380f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6138a9602383612d84565b91506138b48261384f565b604082019050919050565b5f6020820190508181035f8301526138d68161389d565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f613911601d83612d84565b915061391c826138dd565b602082019050919050565b5f6020820190508181035f83015261393e81613905565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613979601683612d84565b915061398482613945565b602082019050919050565b5f6020820190508181035f8301526139a68161396d565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61782074786e2e000000000000000000000000000000000000000000000000602082015250565b5f613a07602883612d84565b9150613a12826139ad565b604082019050919050565b5f6020820190508181035f830152613a34816139fb565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f613a6f601883612d84565b9150613a7a82613a3b565b602082019050919050565b5f6020820190508181035f830152613a9c81613a63565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782074786e2e0000000000000000000000000000000000000000000000602082015250565b5f613afd602983612d84565b9150613b0882613aa3565b604082019050919050565b5f6020820190508181035f830152613b2a81613af1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b6882612e68565b9150613b7383612e68565b925082613b8357613b82613b31565b5b828204905092915050565b5f613b9882612e68565b9150613ba383612e68565b9250828203905081811115613bbb57613bba613279565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613c1b602683612d84565b9150613c2682613bc1565b604082019050919050565b5f6020820190508181035f830152613c4881613c0f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613cb781612e3e565b92915050565b5f60208284031215613cd257613cd1612e0a565b5b5f613cdf84828501613ca9565b91505092915050565b5f819050919050565b5f613d0b613d06613d0184613ce8565b612f37565b612e68565b9050919050565b613d1b81613cf1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d5381612e2d565b82525050565b5f613d648383613d4a565b60208301905092915050565b5f602082019050919050565b5f613d8682613d21565b613d908185613d2b565b9350613d9b83613d3b565b805f5b83811015613dcb578151613db28882613d59565b9750613dbd83613d70565b925050600181019050613d9e565b5085935050505092915050565b5f60a082019050613deb5f830188612fab565b613df86020830187613d12565b8181036040830152613e0a8186613d7c565b9050613e196060830185613082565b613e266080830184612fab565b969550505050505056fea2646970667358221220d5200670aa537b4598b5a2b6040c7ead8e61e0cd60d9604c1f2d73f52ae8c0cc64736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b74130000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b74130000000000000000000000000000000000000000000000000000000000000005464c414d450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005464c414d45000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _tokenName (string): FLAME
Arg [1] : _tokenSymbol (string): FLAME
Arg [2] : _totalSupply (uint256): 10000000
Arg [3] : _maxTx (uint256): 100
Arg [4] : _maxWallet (uint256): 100
Arg [5] : _buyTax (uint256): 20
Arg [6] : _sellTax (uint256): 30
Arg [7] : _teamWallet (address): 0x1c0caC4b39fAeBf715807EC85eF433bDDD9B7413
Arg [8] : _marketingWallet (address): 0x1c0caC4b39fAeBf715807EC85eF433bDDD9B7413
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 0000000000000000000000000000000000000000000000000000000000989680
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [6] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [7] : 0000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b7413
Arg [8] : 0000000000000000000000001c0cac4b39faebf715807ec85ef433bddd9b7413
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [10] : 464c414d45000000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [12] : 464c414d45000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
7616:9525:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2059:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3039:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8253:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8030:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7656:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2380:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3241:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8136:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2279:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3778:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10543:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8108:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7711:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7990:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7893:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10917:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8068:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16591:280;;;;;;;;;;;;;:::i;:::-;;2496:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6457:150;;;;;;;;;;;;;:::i;:::-;;10443:92;;;;;;;;;;;;;:::i;:::-;;11063:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10260:175;;;;;;;;;;;;;:::i;:::-;;6243:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2167:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11240:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8165:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4076:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8323:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10664:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7789:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10788:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11760:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2855:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7853:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16921:217;;;;;;;;;;;;;:::i;:::-;;6615:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7758:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2059:100;2113:13;2146:5;2139:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2059:100;:::o;3039:194::-;3147:4;3164:39;3173:12;:10;:12::i;:::-;3187:7;3196:6;3164:8;:39::i;:::-;3221:4;3214:11;;3039:194;;;;:::o;8253:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;8030:31::-;;;;;;;;;;;;;:::o;7656:48::-;;;:::o;2380:108::-;2441:7;2468:12;;2461:19;;2380:108;:::o;3241:529::-;3381:4;3398:36;3408:6;3416:9;3427:6;3398:9;:36::i;:::-;3447:24;3474:11;:19;3486:6;3474:19;;;;;;;;;;;;;;;:33;3494:12;:10;:12::i;:::-;3474:33;;;;;;;;;;;;;;;;3447:60;;3560:6;3540:16;:26;;3518:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;3670:57;3679:6;3687:12;:10;:12::i;:::-;3720:6;3701:16;:25;3670:8;:57::i;:::-;3758:4;3751:11;;;3241:529;;;;;:::o;8136:22::-;;;;:::o;2279:93::-;2337:5;2362:2;2355:9;;2279:93;:::o;3778:290::-;3891:4;3908:130;3931:12;:10;:12::i;:::-;3958:7;4017:10;3980:11;:25;3992:12;:10;:12::i;:::-;3980:25;;;;;;;;;;;;;;;:34;4006:7;3980:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3908:8;:130::i;:::-;4056:4;4049:11;;3778:290;;;;:::o;10543:113::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10639:8:::1;10629:6;:19;;;;:::i;:::-;10614:12;:34;;;;10543:113:::0;:::o;8108:21::-;;;;:::o;7711:38::-;;;:::o;7990:33::-;;;;;;;;;;;;;:::o;7893:24::-;;;;:::o;10917:138::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11011:7:::1;11002:6;:16;;;;11039:8;11029:7;:18;;;;10917:138:::0;;:::o;8068:31::-;;;;;;;;;;;;;:::o;16591:280::-;16653:9;;;;;;;;;;;16639:23;;:10;:23;;;16631:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;16693:24;16711:4;16693:9;:24::i;:::-;16685:5;:32;;;;16763:1;16736:24;16754:4;16736:9;:24::i;:::-;:28;16728:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16808:4;16797:8;;:15;;;;;;;;;;;;;;;;;;16823:13;:11;:13::i;:::-;16858:5;16847:8;;:16;;;;;;;;;;;;;;;;;;16591:280::o;2496:143::-;2586:7;2613:9;:18;2623:7;2613:18;;;;;;;;;;;;;;;;2606:25;;2496:143;;;:::o;6457:150::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6566:1:::1;6529:40;;6550:6;;;;;;;;;;;6529:40;;;;;;;;;;;;6597:1;6580:6;;:19;;;;;;;;;;;;;;;;;;6457:150::o:0;10443:92::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10514:5:::1;10497:14;;:22;;;;;;;;;;;;;;;;;;10443:92::o:0;11063:169::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11220:4:::1;11178:31;:39;11210:6;11178:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11063:169:::0;;:::o;10260:175::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10324:11:::1;;;;;;;;;;;10323:12;10315:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;10386:4;10372:11;;:18;;;;;;;;;;;;;;;;;;10415:4;10401:11;;:18;;;;;;;;;;;;;;;;;;10260:175::o:0;6243:79::-;6281:7;6308:6;;;;;;;;;;;6301:13;;6243:79;:::o;2167:104::-;2223:13;2256:7;2249:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2167:104;:::o;11240:314::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11388:13:::1;11380:21;;:4;:21;;::::0;11358:128:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11499:41;11528:4;11534:5;11499:28;:41::i;:::-;11240:314:::0;;:::o;8165:20::-;;;;:::o;4076:475::-;4194:4;4211:24;4238:11;:25;4250:12;:10;:12::i;:::-;4238:25;;;;;;;;;;;;;;;:34;4264:7;4238:34;;;;;;;;;;;;;;;;4211:61;;4325:15;4305:16;:35;;4283:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4441:67;4450:12;:10;:12::i;:::-;4464:7;4492:15;4473:16;:34;4441:8;:67::i;:::-;4539:4;4532:11;;;4076:475;;;;:::o;2647:200::-;2758:4;2775:42;2785:12;:10;:12::i;:::-;2799:9;2810:6;2775:9;:42::i;:::-;2835:4;2828:11;;2647:200;;;;:::o;8323:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;10664:116::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10763:8:::1;10753:6;:19;;;;:::i;:::-;10741:9;:31;;;;10664:116:::0;:::o;7789:27::-;;;;:::o;10788:121::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10892:9:::1;10871:18;:30;;;;10788:121:::0;:::o;11760:129::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11873:8:::1;11842:19;:28;11862:7;11842:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11760:129:::0;;:::o;2855:176::-;2969:7;2996:11;:18;3008:5;2996:18;;;;;;;;;;;;;;;:27;3015:7;2996:27;;;;;;;;;;;;;;;;2989:34;;2855:176;;;;:::o;7853:33::-;;;;:::o;16921:217::-;16979:9;;;;;;;;;;;16965:23;;:10;:23;;;16957:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;17011:12;17056:10;17048:24;;17080:21;17048:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17034:96;;;;;16946:192;16921:217::o;6615:281::-;6380:12;:10;:12::i;:::-;6370:22;;:6;;;;;;;;;;;:22;;;6362:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6738:1:::1;6718:22;;:8;:22;;::::0;6696:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6851:8;6822:38;;6843:6;;;;;;;;;;;6822:38;;;;;;;;;;;;6880:8;6871:6;;:17;;;;;;;;;;;;;;;;;;6615:281:::0;:::o;7758:24::-;;;;:::o;273:98::-;326:7;353:10;346:17;;273:98;:::o;5512:380::-;5665:1;5648:19;;:5;:19;;;5640:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5746:1;5727:21;;:7;:21;;;5719:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5830:6;5800:11;:18;5812:5;5800:18;;;;;;;;;;;;;;;:27;5819:7;5800:27;;;;;;;;;;;;;;;:36;;;;5868:7;5852:32;;5861:5;5852:32;;;5877:6;5852:32;;;;;;:::i;:::-;;;;;;;;5512:380;;;:::o;11897:3290::-;12045:1;12029:18;;:4;:18;;;12021:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12122:1;12108:16;;:2;:16;;;12100:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12192:1;12183:6;:10;12175:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;12245:11;;;;;;;;;;;12240:181;;12299:19;:25;12319:4;12299:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;12328:19;:23;12348:2;12328:23;;;;;;;;;;;;;;;;;;;;;;;;;12299:52;12273:136;;;;;;;;;;;;:::i;:::-;;;;;;;;;12240:181;12439:14;;;;;;;;;;;12435:1494;;;12500:7;:5;:7::i;:::-;12492:15;;:4;:15;;;;:49;;;;;12534:7;:5;:7::i;:::-;12528:13;;:2;:13;;;;12492:49;:86;;;;;12576:1;12562:16;;:2;:16;;;;12492:86;:128;;;;;12613:6;12599:21;;:2;:21;;;;12492:128;:175;;;;;12642:19;:25;12662:4;12642:25;;;;;;;;;;;;;;;;;;;;;;;;;12641:26;12492:175;:220;;;;;12689:19;:23;12709:2;12689:23;;;;;;;;;;;;;;;;;;;;;;;;;12688:24;12492:220;12470:1448;;;12814:25;:31;12840:4;12814:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;12871:31;:35;12903:2;12871:35;;;;;;;;;;;;;;;;;;;;;;;;;12870:36;12814:92;12788:1115;;;12993:12;;12983:6;:22;;12949:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;13180:9;;13163:13;13173:2;13163:9;:13::i;:::-;13154:6;:22;;;;:::i;:::-;:35;;13120:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;12788:1115;;;13363:25;:29;13389:2;13363:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;13418:31;:37;13450:4;13418:37;;;;;;;;;;;;;;;;;;;;;;;;;13417:38;13363:92;13337:566;;;13542:12;;13532:6;:22;;13498:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;13337:566;;;13678:31;:35;13710:2;13678:35;;;;;;;;;;;;;;;;;;;;;;;;;13673:230;;13798:9;;13781:13;13791:2;13781:9;:13::i;:::-;13772:6;:22;;;;:::i;:::-;:35;;13738:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;13673:230;13337:566;12788:1115;12470:1448;12435:1494;13941:28;13972:24;13990:4;13972:9;:24::i;:::-;13941:55;;14009:12;14048:18;;14024:20;:42;;14009:57;;14097:7;:35;;;;;14121:11;;;;;;;;;;;14097:35;:61;;;;;14150:8;;;;;;;;;;;14149:9;14097:61;:110;;;;;14176:25;:31;14202:4;14176:31;;;;;;;;;;;;;;;;;;;;;;;;;14175:32;14097:110;:153;;;;;14225:19;:25;14245:4;14225:25;;;;;;;;;;;;;;;;;;;;;;;;;14224:26;14097:153;:194;;;;;14268:19;:23;14288:2;14268:23;;;;;;;;;;;;;;;;;;;;;;;;;14267:24;14097:194;14079:329;;;14329:4;14318:8;;:15;;;;;;;;;;;;;;;;;;14350:13;:11;:13::i;:::-;14391:5;14380:8;;:16;;;;;;;;;;;;;;;;;;14079:329;14420:12;14435:4;14420:19;;14456;:25;14476:4;14456:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;14485:19;:23;14505:2;14485:23;;;;;;;;;;;;;;;;;;;;;;;;;14456:52;14452:100;;;14535:5;14525:15;;14452:100;14564:12;14597:7;14593:541;;;14650:25;:29;14676:2;14650:29;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;14693:1;14683:7;;:11;14650:44;14646:339;;;14743:3;14732:7;;14723:6;:16;;;;:::i;:::-;14722:24;;;;:::i;:::-;14715:31;;14774:4;14765:5;;:13;;;;;;;:::i;:::-;;;;;;;;14646:339;;;14841:25;:31;14867:4;14841:31;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;14885:1;14876:6;;:10;14841:45;14837:148;;;14934:3;14924:6;;14915;:15;;;;:::i;:::-;14914:23;;;;:::i;:::-;14907:30;;14965:4;14956:5;;:13;;;;;;;:::i;:::-;;;;;;;;14837:148;14646:339;15012:1;15005:4;:8;15001:91;;;15034:42;15050:4;15064;15071;15034:15;:42::i;:::-;15001:91;15118:4;15108:14;;;;;:::i;:::-;;;14593:541;15146:33;15162:4;15168:2;15172:6;15146:15;:33::i;:::-;12010:3177;;;;11897:3290;;;:::o;15680:900::-;15722:23;15748:24;15766:4;15748:9;:24::i;:::-;15722:50;;15783:25;15811:5;;15783:33;;15852:1;15833:15;:20;:46;;;;15878:1;15857:17;:22;15833:46;15829:85;;;15896:7;;;;15829:85;15930:14;;;;;;;;;;;15926:352;;;16004:9;;15983:18;;:30;;;;:::i;:::-;15965:15;:48;15961:137;;;16073:9;;16052:18;;:30;;;;:::i;:::-;16034:48;;15961:137;15926:352;;;16173:9;;16152:18;;:30;;;;:::i;:::-;16134:15;:48;16130:137;;;16242:9;;16221:18;;:30;;;;:::i;:::-;16203:48;;16130:137;15926:352;16290:12;16315:33;16332:15;16315:16;:33::i;:::-;16369:24;16387:4;16369:9;:24::i;:::-;16361:5;:32;;;;16434:1;16410:21;:25;16406:167;;;16474:15;;;;;;;;;;;16466:29;;16503:21;16466:95;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16452:109;;;;;16406:167;15711:869;;;15680:900;:::o;11562:190::-;11679:5;11645:25;:31;11671:4;11645:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11697:38;11723:4;11729:5;11697:25;:38::i;:::-;11562:190;;:::o;4559:651::-;4717:1;4699:20;;:6;:20;;;4691:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4801:1;4780:23;;:9;:23;;;4772:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4856:21;4880:9;:17;4890:6;4880:17;;;;;;;;;;;;;;;;4856:41;;4947:6;4930:13;:23;;4908:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;5091:6;5075:13;:22;5055:9;:17;5065:6;5055:17;;;;;;;;;;;;;;;:42;;;;5143:6;5119:9;:20;5129:9;5119:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5184:9;5167:35;;5176:6;5167:35;;;5195:6;5167:35;;;;;;:::i;:::-;;;;;;;;4680:530;4559:651;;;:::o;15195:475::-;15261:21;15299:1;15285:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15261:40;;15330:4;15312;15317:1;15312:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15356:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15346:4;15351:1;15346:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;15391:62;15408:4;15423:15;15441:11;15391:8;:62::i;:::-;15466:15;:66;;;15547:11;15573:1;15589:4;15616;15636:15;15466:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15250:420;15195:475;:::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:329::-;3398:6;3447:2;3435:9;3426:7;3422:23;3418:32;3415:119;;;3453:79;;:::i;:::-;3415:119;3573:1;3598:53;3643:7;3634:6;3623:9;3619:22;3598:53;:::i;:::-;3588:63;;3544:117;3339:329;;;;:::o;3674:60::-;3702:3;3723:5;3716:12;;3674:60;;;:::o;3740:142::-;3790:9;3823:53;3841:34;3850:24;3868:5;3850:24;:::i;:::-;3841:34;:::i;:::-;3823:53;:::i;:::-;3810:66;;3740:142;;;:::o;3888:126::-;3938:9;3971:37;4002:5;3971:37;:::i;:::-;3958:50;;3888:126;;;:::o;4020:149::-;4093:9;4126:37;4157:5;4126:37;:::i;:::-;4113:50;;4020:149;;;:::o;4175:177::-;4285:60;4339:5;4285:60;:::i;:::-;4280:3;4273:73;4175:177;;:::o;4358:268::-;4474:4;4512:2;4501:9;4497:18;4489:26;;4525:94;4616:1;4605:9;4601:17;4592:6;4525:94;:::i;:::-;4358:268;;;;:::o;4632:118::-;4719:24;4737:5;4719:24;:::i;:::-;4714:3;4707:37;4632:118;;:::o;4756:222::-;4849:4;4887:2;4876:9;4872:18;4864:26;;4900:71;4968:1;4957:9;4953:17;4944:6;4900:71;:::i;:::-;4756:222;;;;:::o;4984:619::-;5061:6;5069;5077;5126:2;5114:9;5105:7;5101:23;5097:32;5094:119;;;5132:79;;:::i;:::-;5094:119;5252:1;5277:53;5322:7;5313:6;5302:9;5298:22;5277:53;:::i;:::-;5267:63;;5223:117;5379:2;5405:53;5450:7;5441:6;5430:9;5426:22;5405:53;:::i;:::-;5395:63;;5350:118;5507:2;5533:53;5578:7;5569:6;5558:9;5554:22;5533:53;:::i;:::-;5523:63;;5478:118;4984:619;;;;;:::o;5609:86::-;5644:7;5684:4;5677:5;5673:16;5662:27;;5609:86;;;:::o;5701:112::-;5784:22;5800:5;5784:22;:::i;:::-;5779:3;5772:35;5701:112;;:::o;5819:214::-;5908:4;5946:2;5935:9;5931:18;5923:26;;5959:67;6023:1;6012:9;6008:17;5999:6;5959:67;:::i;:::-;5819:214;;;;:::o;6039:329::-;6098:6;6147:2;6135:9;6126:7;6122:23;6118:32;6115:119;;;6153:79;;:::i;:::-;6115:119;6273:1;6298:53;6343:7;6334:6;6323:9;6319:22;6298:53;:::i;:::-;6288:63;;6244:117;6039:329;;;;:::o;6374:118::-;6461:24;6479:5;6461:24;:::i;:::-;6456:3;6449:37;6374:118;;:::o;6498:222::-;6591:4;6629:2;6618:9;6614:18;6606:26;;6642:71;6710:1;6699:9;6695:17;6686:6;6642:71;:::i;:::-;6498:222;;;;:::o;6726:474::-;6794:6;6802;6851:2;6839:9;6830:7;6826:23;6822:32;6819:119;;;6857:79;;:::i;:::-;6819:119;6977:1;7002:53;7047:7;7038:6;7027:9;7023:22;7002:53;:::i;:::-;6992:63;;6948:117;7104:2;7130:53;7175:7;7166:6;7155:9;7151:22;7130:53;:::i;:::-;7120:63;;7075:118;6726:474;;;;;:::o;7206:116::-;7276:21;7291:5;7276:21;:::i;:::-;7269:5;7266:32;7256:60;;7312:1;7309;7302:12;7256:60;7206:116;:::o;7328:133::-;7371:5;7409:6;7396:20;7387:29;;7425:30;7449:5;7425:30;:::i;:::-;7328:133;;;;:::o;7467:468::-;7532:6;7540;7589:2;7577:9;7568:7;7564:23;7560:32;7557:119;;;7595:79;;:::i;:::-;7557:119;7715:1;7740:53;7785:7;7776:6;7765:9;7761:22;7740:53;:::i;:::-;7730:63;;7686:117;7842:2;7868:50;7910:7;7901:6;7890:9;7886:22;7868:50;:::i;:::-;7858:60;;7813:115;7467:468;;;;;:::o;7941:474::-;8009:6;8017;8066:2;8054:9;8045:7;8041:23;8037:32;8034:119;;;8072:79;;:::i;:::-;8034:119;8192:1;8217:53;8262:7;8253:6;8242:9;8238:22;8217:53;:::i;:::-;8207:63;;8163:117;8319:2;8345:53;8390:7;8381:6;8370:9;8366:22;8345:53;:::i;:::-;8335:63;;8290:118;7941:474;;;;;:::o;8421:180::-;8469:77;8466:1;8459:88;8566:4;8563:1;8556:15;8590:4;8587:1;8580:15;8607:320;8651:6;8688:1;8682:4;8678:12;8668:22;;8735:1;8729:4;8725:12;8756:18;8746:81;;8812:4;8804:6;8800:17;8790:27;;8746:81;8874:2;8866:6;8863:14;8843:18;8840:38;8837:84;;8893:18;;:::i;:::-;8837:84;8658:269;8607:320;;;:::o;8933:227::-;9073:34;9069:1;9061:6;9057:14;9050:58;9142:10;9137:2;9129:6;9125:15;9118:35;8933:227;:::o;9166:366::-;9308:3;9329:67;9393:2;9388:3;9329:67;:::i;:::-;9322:74;;9405:93;9494:3;9405:93;:::i;:::-;9523:2;9518:3;9514:12;9507:19;;9166:366;;;:::o;9538:419::-;9704:4;9742:2;9731:9;9727:18;9719:26;;9791:9;9785:4;9781:20;9777:1;9766:9;9762:17;9755:47;9819:131;9945:4;9819:131;:::i;:::-;9811:139;;9538:419;;;:::o;9963:180::-;10011:77;10008:1;10001:88;10108:4;10105:1;10098:15;10132:4;10129:1;10122:15;10149:191;10189:3;10208:20;10226:1;10208:20;:::i;:::-;10203:25;;10242:20;10260:1;10242:20;:::i;:::-;10237:25;;10285:1;10282;10278:9;10271:16;;10306:3;10303:1;10300:10;10297:36;;;10313:18;;:::i;:::-;10297:36;10149:191;;;;:::o;10346:182::-;10486:34;10482:1;10474:6;10470:14;10463:58;10346:182;:::o;10534:366::-;10676:3;10697:67;10761:2;10756:3;10697:67;:::i;:::-;10690:74;;10773:93;10862:3;10773:93;:::i;:::-;10891:2;10886:3;10882:12;10875:19;;10534:366;;;:::o;10906:419::-;11072:4;11110:2;11099:9;11095:18;11087:26;;11159:9;11153:4;11149:20;11145:1;11134:9;11130:17;11123:47;11187:131;11313:4;11187:131;:::i;:::-;11179:139;;10906:419;;;:::o;11331:410::-;11371:7;11394:20;11412:1;11394:20;:::i;:::-;11389:25;;11428:20;11446:1;11428:20;:::i;:::-;11423:25;;11483:1;11480;11476:9;11505:30;11523:11;11505:30;:::i;:::-;11494:41;;11684:1;11675:7;11671:15;11668:1;11665:22;11645:1;11638:9;11618:83;11595:139;;11714:18;;:::i;:::-;11595:139;11379:362;11331:410;;;;:::o;11747:158::-;11887:10;11883:1;11875:6;11871:14;11864:34;11747:158;:::o;11911:365::-;12053:3;12074:66;12138:1;12133:3;12074:66;:::i;:::-;12067:73;;12149:93;12238:3;12149:93;:::i;:::-;12267:2;12262:3;12258:12;12251:19;;11911:365;;;:::o;12282:419::-;12448:4;12486:2;12475:9;12471:18;12463:26;;12535:9;12529:4;12525:20;12521:1;12510:9;12506:17;12499:47;12563:131;12689:4;12563:131;:::i;:::-;12555:139;;12282:419;;;:::o;12707:167::-;12847:19;12843:1;12835:6;12831:14;12824:43;12707:167;:::o;12880:366::-;13022:3;13043:67;13107:2;13102:3;13043:67;:::i;:::-;13036:74;;13119:93;13208:3;13119:93;:::i;:::-;13237:2;13232:3;13228:12;13221:19;;12880:366;;;:::o;13252:419::-;13418:4;13456:2;13445:9;13441:18;13433:26;;13505:9;13499:4;13495:20;13491:1;13480:9;13476:17;13469:47;13533:131;13659:4;13533:131;:::i;:::-;13525:139;;13252:419;;;:::o;13677:171::-;13817:23;13813:1;13805:6;13801:14;13794:47;13677:171;:::o;13854:366::-;13996:3;14017:67;14081:2;14076:3;14017:67;:::i;:::-;14010:74;;14093:93;14182:3;14093:93;:::i;:::-;14211:2;14206:3;14202:12;14195:19;;13854:366;;;:::o;14226:419::-;14392:4;14430:2;14419:9;14415:18;14407:26;;14479:9;14473:4;14469:20;14465:1;14454:9;14450:17;14443:47;14507:131;14633:4;14507:131;:::i;:::-;14499:139;;14226:419;;;:::o;14651:244::-;14791:34;14787:1;14779:6;14775:14;14768:58;14860:27;14855:2;14847:6;14843:15;14836:52;14651:244;:::o;14901:366::-;15043:3;15064:67;15128:2;15123:3;15064:67;:::i;:::-;15057:74;;15140:93;15229:3;15140:93;:::i;:::-;15258:2;15253:3;15249:12;15242:19;;14901:366;;;:::o;15273:419::-;15439:4;15477:2;15466:9;15462:18;15454:26;;15526:9;15520:4;15516:20;15512:1;15501:9;15497:17;15490:47;15554:131;15680:4;15554:131;:::i;:::-;15546:139;;15273:419;;;:::o;15698:224::-;15838:34;15834:1;15826:6;15822:14;15815:58;15907:7;15902:2;15894:6;15890:15;15883:32;15698:224;:::o;15928:366::-;16070:3;16091:67;16155:2;16150:3;16091:67;:::i;:::-;16084:74;;16167:93;16256:3;16167:93;:::i;:::-;16285:2;16280:3;16276:12;16269:19;;15928:366;;;:::o;16300:419::-;16466:4;16504:2;16493:9;16489:18;16481:26;;16553:9;16547:4;16543:20;16539:1;16528:9;16524:17;16517:47;16581:131;16707:4;16581:131;:::i;:::-;16573:139;;16300:419;;;:::o;16725:147::-;16826:11;16863:3;16848:18;;16725:147;;;;:::o;16878:114::-;;:::o;16998:398::-;17157:3;17178:83;17259:1;17254:3;17178:83;:::i;:::-;17171:90;;17270:93;17359:3;17270:93;:::i;:::-;17388:1;17383:3;17379:11;17372:18;;16998:398;;;:::o;17402:379::-;17586:3;17608:147;17751:3;17608:147;:::i;:::-;17601:154;;17772:3;17765:10;;17402:379;;;:::o;17787:225::-;17927:34;17923:1;17915:6;17911:14;17904:58;17996:8;17991:2;17983:6;17979:15;17972:33;17787:225;:::o;18018:366::-;18160:3;18181:67;18245:2;18240:3;18181:67;:::i;:::-;18174:74;;18257:93;18346:3;18257:93;:::i;:::-;18375:2;18370:3;18366:12;18359:19;;18018:366;;;:::o;18390:419::-;18556:4;18594:2;18583:9;18579:18;18571:26;;18643:9;18637:4;18633:20;18629:1;18618:9;18614:17;18607:47;18671:131;18797:4;18671:131;:::i;:::-;18663:139;;18390:419;;;:::o;18815:223::-;18955:34;18951:1;18943:6;18939:14;18932:58;19024:6;19019:2;19011:6;19007:15;19000:31;18815:223;:::o;19044:366::-;19186:3;19207:67;19271:2;19266:3;19207:67;:::i;:::-;19200:74;;19283:93;19372:3;19283:93;:::i;:::-;19401:2;19396:3;19392:12;19385:19;;19044:366;;;:::o;19416:419::-;19582:4;19620:2;19609:9;19605:18;19597:26;;19669:9;19663:4;19659:20;19655:1;19644:9;19640:17;19633:47;19697:131;19823:4;19697:131;:::i;:::-;19689:139;;19416:419;;;:::o;19841:221::-;19981:34;19977:1;19969:6;19965:14;19958:58;20050:4;20045:2;20037:6;20033:15;20026:29;19841:221;:::o;20068:366::-;20210:3;20231:67;20295:2;20290:3;20231:67;:::i;:::-;20224:74;;20307:93;20396:3;20307:93;:::i;:::-;20425:2;20420:3;20416:12;20409:19;;20068:366;;;:::o;20440:419::-;20606:4;20644:2;20633:9;20629:18;20621:26;;20693:9;20687:4;20683:20;20679:1;20668:9;20664:17;20657:47;20721:131;20847:4;20721:131;:::i;:::-;20713:139;;20440:419;;;:::o;20865:224::-;21005:34;21001:1;20993:6;20989:14;20982:58;21074:7;21069:2;21061:6;21057:15;21050:32;20865:224;:::o;21095:366::-;21237:3;21258:67;21322:2;21317:3;21258:67;:::i;:::-;21251:74;;21334:93;21423:3;21334:93;:::i;:::-;21452:2;21447:3;21443:12;21436:19;;21095:366;;;:::o;21467:419::-;21633:4;21671:2;21660:9;21656:18;21648:26;;21720:9;21714:4;21710:20;21706:1;21695:9;21691:17;21684:47;21748:131;21874:4;21748:131;:::i;:::-;21740:139;;21467:419;;;:::o;21892:222::-;22032:34;22028:1;22020:6;22016:14;22009:58;22101:5;22096:2;22088:6;22084:15;22077:30;21892:222;:::o;22120:366::-;22262:3;22283:67;22347:2;22342:3;22283:67;:::i;:::-;22276:74;;22359:93;22448:3;22359:93;:::i;:::-;22477:2;22472:3;22468:12;22461:19;;22120:366;;;:::o;22492:419::-;22658:4;22696:2;22685:9;22681:18;22673:26;;22745:9;22739:4;22735:20;22731:1;22720:9;22716:17;22709:47;22773:131;22899:4;22773:131;:::i;:::-;22765:139;;22492:419;;;:::o;22917:179::-;23057:31;23053:1;23045:6;23041:14;23034:55;22917:179;:::o;23102:366::-;23244:3;23265:67;23329:2;23324:3;23265:67;:::i;:::-;23258:74;;23341:93;23430:3;23341:93;:::i;:::-;23459:2;23454:3;23450:12;23443:19;;23102:366;;;:::o;23474:419::-;23640:4;23678:2;23667:9;23663:18;23655:26;;23727:9;23721:4;23717:20;23713:1;23702:9;23698:17;23691:47;23755:131;23881:4;23755:131;:::i;:::-;23747:139;;23474:419;;;:::o;23899:172::-;24039:24;24035:1;24027:6;24023:14;24016:48;23899:172;:::o;24077:366::-;24219:3;24240:67;24304:2;24299:3;24240:67;:::i;:::-;24233:74;;24316:93;24405:3;24316:93;:::i;:::-;24434:2;24429:3;24425:12;24418:19;;24077:366;;;:::o;24449:419::-;24615:4;24653:2;24642:9;24638:18;24630:26;;24702:9;24696:4;24692:20;24688:1;24677:9;24673:17;24666:47;24730:131;24856:4;24730:131;:::i;:::-;24722:139;;24449:419;;;:::o;24874:227::-;25014:34;25010:1;25002:6;24998:14;24991:58;25083:10;25078:2;25070:6;25066:15;25059:35;24874:227;:::o;25107:366::-;25249:3;25270:67;25334:2;25329:3;25270:67;:::i;:::-;25263:74;;25346:93;25435:3;25346:93;:::i;:::-;25464:2;25459:3;25455:12;25448:19;;25107:366;;;:::o;25479:419::-;25645:4;25683:2;25672:9;25668:18;25660:26;;25732:9;25726:4;25722:20;25718:1;25707:9;25703:17;25696:47;25760:131;25886:4;25760:131;:::i;:::-;25752:139;;25479:419;;;:::o;25904:174::-;26044:26;26040:1;26032:6;26028:14;26021:50;25904:174;:::o;26084:366::-;26226:3;26247:67;26311:2;26306:3;26247:67;:::i;:::-;26240:74;;26323:93;26412:3;26323:93;:::i;:::-;26441:2;26436:3;26432:12;26425:19;;26084:366;;;:::o;26456:419::-;26622:4;26660:2;26649:9;26645:18;26637:26;;26709:9;26703:4;26699:20;26695:1;26684:9;26680:17;26673:47;26737:131;26863:4;26737:131;:::i;:::-;26729:139;;26456:419;;;:::o;26881:228::-;27021:34;27017:1;27009:6;27005:14;26998:58;27090:11;27085:2;27077:6;27073:15;27066:36;26881:228;:::o;27115:366::-;27257:3;27278:67;27342:2;27337:3;27278:67;:::i;:::-;27271:74;;27354:93;27443:3;27354:93;:::i;:::-;27472:2;27467:3;27463:12;27456:19;;27115:366;;;:::o;27487:419::-;27653:4;27691:2;27680:9;27676:18;27668:26;;27740:9;27734:4;27730:20;27726:1;27715:9;27711:17;27704:47;27768:131;27894:4;27768:131;:::i;:::-;27760:139;;27487:419;;;:::o;27912:180::-;27960:77;27957:1;27950:88;28057:4;28054:1;28047:15;28081:4;28078:1;28071:15;28098:185;28138:1;28155:20;28173:1;28155:20;:::i;:::-;28150:25;;28189:20;28207:1;28189:20;:::i;:::-;28184:25;;28228:1;28218:35;;28233:18;;:::i;:::-;28218:35;28275:1;28272;28268:9;28263:14;;28098:185;;;;:::o;28289:194::-;28329:4;28349:20;28367:1;28349:20;:::i;:::-;28344:25;;28383:20;28401:1;28383:20;:::i;:::-;28378:25;;28427:1;28424;28420:9;28412:17;;28451:1;28445:4;28442:11;28439:37;;;28456:18;;:::i;:::-;28439:37;28289:194;;;;:::o;28489:225::-;28629:34;28625:1;28617:6;28613:14;28606:58;28698:8;28693:2;28685:6;28681:15;28674:33;28489:225;:::o;28720:366::-;28862:3;28883:67;28947:2;28942:3;28883:67;:::i;:::-;28876:74;;28959:93;29048:3;28959:93;:::i;:::-;29077:2;29072:3;29068:12;29061:19;;28720:366;;;:::o;29092:419::-;29258:4;29296:2;29285:9;29281:18;29273:26;;29345:9;29339:4;29335:20;29331:1;29320:9;29316:17;29309:47;29373:131;29499:4;29373:131;:::i;:::-;29365:139;;29092:419;;;:::o;29517:180::-;29565:77;29562:1;29555:88;29662:4;29659:1;29652:15;29686:4;29683:1;29676:15;29703:180;29751:77;29748:1;29741:88;29848:4;29845:1;29838:15;29872:4;29869:1;29862:15;29889:143;29946:5;29977:6;29971:13;29962:22;;29993:33;30020:5;29993:33;:::i;:::-;29889:143;;;;:::o;30038:351::-;30108:6;30157:2;30145:9;30136:7;30132:23;30128:32;30125:119;;;30163:79;;:::i;:::-;30125:119;30283:1;30308:64;30364:7;30355:6;30344:9;30340:22;30308:64;:::i;:::-;30298:74;;30254:128;30038:351;;;;:::o;30395:85::-;30440:7;30469:5;30458:16;;30395:85;;;:::o;30486:158::-;30544:9;30577:61;30595:42;30604:32;30630:5;30604:32;:::i;:::-;30595:42;:::i;:::-;30577:61;:::i;:::-;30564:74;;30486:158;;;:::o;30650:147::-;30745:45;30784:5;30745:45;:::i;:::-;30740:3;30733:58;30650:147;;:::o;30803:114::-;30870:6;30904:5;30898:12;30888:22;;30803:114;;;:::o;30923:184::-;31022:11;31056:6;31051:3;31044:19;31096:4;31091:3;31087:14;31072:29;;30923:184;;;;:::o;31113:132::-;31180:4;31203:3;31195:11;;31233:4;31228:3;31224:14;31216:22;;31113:132;;;:::o;31251:108::-;31328:24;31346:5;31328:24;:::i;:::-;31323:3;31316:37;31251:108;;:::o;31365:179::-;31434:10;31455:46;31497:3;31489:6;31455:46;:::i;:::-;31533:4;31528:3;31524:14;31510:28;;31365:179;;;;:::o;31550:113::-;31620:4;31652;31647:3;31643:14;31635:22;;31550:113;;;:::o;31699:732::-;31818:3;31847:54;31895:5;31847:54;:::i;:::-;31917:86;31996:6;31991:3;31917:86;:::i;:::-;31910:93;;32027:56;32077:5;32027:56;:::i;:::-;32106:7;32137:1;32122:284;32147:6;32144:1;32141:13;32122:284;;;32223:6;32217:13;32250:63;32309:3;32294:13;32250:63;:::i;:::-;32243:70;;32336:60;32389:6;32336:60;:::i;:::-;32326:70;;32182:224;32169:1;32166;32162:9;32157:14;;32122:284;;;32126:14;32422:3;32415:10;;31823:608;;;31699:732;;;;:::o;32437:831::-;32700:4;32738:3;32727:9;32723:19;32715:27;;32752:71;32820:1;32809:9;32805:17;32796:6;32752:71;:::i;:::-;32833:80;32909:2;32898:9;32894:18;32885:6;32833:80;:::i;:::-;32960:9;32954:4;32950:20;32945:2;32934:9;32930:18;32923:48;32988:108;33091:4;33082:6;32988:108;:::i;:::-;32980:116;;33106:72;33174:2;33163:9;33159:18;33150:6;33106:72;:::i;:::-;33188:73;33256:3;33245:9;33241:19;33232:6;33188:73;:::i;:::-;32437:831;;;;;;;;:::o
Swarm Source
ipfs://d5200670aa537b4598b5a2b6040c7ead8e61e0cd60d9604c1f2d73f52ae8c0cc
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.