ERC-20
Overview
Max Total Supply
420,000,000 DOME
Holders
181
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 DOMEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DOME
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-09-18 */ /** https://domegov.com https://t.me/domeoneth https://x.com/domeoneth D.O.M.E. — is a new division dedicated to championing meme supremacy, with a little help from the ambassador Elon Musk. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; pragma experimental ABIEncoderV2; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function per(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= 100, "Percentage must be between 0 and 100"); return a * b / 100; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } 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 9; } 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 to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, 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) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), 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); } function _spendAllowance(address owner, address spender, uint256 amount) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } contract DOME is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable _uniswapV2Router; address public uniswapV2Pair; address private devWallet; address private marketingWallet; address private constant deadAddress = address(0xdead); uint8 private constant _decimals = 9; uint256 public initialTotalSupply = 420000000 * 10**_decimals; // max wallet is 1% uint256 public maxWallet = (initialTotalSupply * 15)/1000; uint256 public maxTransactionAmount = maxWallet; uint256 public buyFee = 24; uint256 public sellFee = 24; bool private swapping; uint256 public swapTokensAtAmount = (initialTotalSupply * 3)/1000; bool public tradingOpen = false; bool public swapEnabled = false; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; mapping(address => bool) private automatedMarketMakerPairs; event ExcludeFromFees(address indexed account, bool isExcluded); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); constructor() ERC20("Department of Memes Efficiency", "DOME"){ _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); marketingWallet = payable(0x45DC3127fA8CEEd8b8369B07123072AAa050fD0c); devWallet = payable(_msgSender()); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(address(_uniswapV2Router), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); excludeFromMaxTransaction(address(_msgSender()), true); excludeFromMaxTransaction(devWallet, true); excludeFromMaxTransaction(marketingWallet, true); excludeFromFees(address(_msgSender()), true); excludeFromFees(devWallet, true); excludeFromFees(marketingWallet, true); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); // mint _mint(devWallet, initialTotalSupply); } receive() external payable {} function addLp() external onlyOwner() { require(!tradingOpen,"Trading is already open"); _approve(address(this), address(_uniswapV2Router), initialTotalSupply); _uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, 0x45DC3127fA8CEEd8b8369B07123072AAa050fD0c, block.timestamp ); IERC20(uniswapV2Pair).approve(address(_uniswapV2Router), type(uint).max); } function openTrading() external onlyOwner() { swapEnabled = true; tradingOpen = true; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function burn(uint256 amount) external { _burn(_msgSender(), amount); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function isExcludedFromFees(address account) public view returns (bool) { return _isExcludedFromFees[account]; } 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"); if (amount == 0) { super._transfer(from, to, 0); return; } if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) { if (!tradingOpen) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { // buy require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { // sell require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } // swap tokens for eth marketing uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance > swapTokensAtAmount; if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { swapping = true; swapBack(); swapping = false; } bool takeFee = !swapping && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]; uint256 fees = 0; if (takeFee) { if (automatedMarketMakerPairs[to]) { fees = amount.mul(sellFee).div(100); } else if(automatedMarketMakerPairs[from]) { fees = amount.mul(buyFee).div(100); } 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, marketingWallet, block.timestamp ); } function removeTheLimits() external onlyOwner { maxTransactionAmount = initialTotalSupply; maxWallet = initialTotalSupply; } function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner { buyFee = _buyFee; sellFee = _sellFee; } function manualSwapToken(uint256 percent) external { require(_msgSender() == devWallet); uint256 contractBalance = balanceOf(address(this)); uint256 swapAmount = contractBalance * percent / 100; swapTokensForEth(swapAmount); } function getRemainEth() external { require(address(this).balance > 0, "Token: no ETH in the contract"); require(_msgSender() == devWallet); payable(msg.sender).transfer(address(this).balance); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); if (contractBalance == 0) { return; } uint256 tokensToSwap = contractBalance; if (tokensToSwap > swapTokensAtAmount) { tokensToSwap = swapTokensAtAmount; } swapTokensForEth(tokensToSwap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","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":[],"name":"getRemainEth","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":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeTheLimits","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":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526009600a6100129190610bde565b631908b1006100219190610c28565b6009556103e8600f6009546100369190610c28565b6100409190610c96565b600a55600a54600b556018600c556018600d556103e860036009546100659190610c28565b61006f9190610c96565b600f555f60105f6101000a81548160ff0219169083151502179055505f601060016101000a81548160ff0219169083151502179055503480156100b0575f80fd5b506040518060400160405280601e81526020017f4465706172746d656e74206f66204d656d657320456666696369656e637900008152506040518060400160405280600481526020017f444f4d4500000000000000000000000000000000000000000000000000000000815250816003908161012c9190610ef7565b50806004908161013c9190610ef7565b50505061015b6101506105d560201b60201c565b6105dc60201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250507345dc3127fa8ceed8b8369b07123072aaa050fd0c60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102056105d560201b60201c565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061025530600161069f60201b60201c565b61026861dead600161069f60201b60201c565b61027b608051600161075360201b60201c565b61028c30600161075360201b60201c565b61029f61dead600161075360201b60201c565b6102bd6102b06105d560201b60201c565b600161075360201b60201c565b6102ef60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161075360201b60201c565b61032160085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161075360201b60201c565b61033f6103326105d560201b60201c565b600161069f60201b60201c565b61037160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161069f60201b60201c565b6103a360085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161069f60201b60201c565b60805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104129190611024565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610479573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190611024565b6040518363ffffffff1660e01b81526004016104ba92919061105e565b6020604051808303815f875af11580156104d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fa9190611024565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061056b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161075360201b60201c565b61059d60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016107b960201b60201c565b6105d060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660095461085760201b60201c565b6111f3565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6106ad6109b160201b60201c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610747919061109f565b60405180910390a25050565b6107616109b160201b60201c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bc90611112565b60405180910390fd5b6108d65f8383610a3b60201b60201c565b8060025f8282546108e79190611130565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109949190611172565b60405180910390a36109ad5f8383610a4060201b60201c565b5050565b6109bf6105d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166109e3610a4560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a30906111d5565b60405180910390fd5b565b505050565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610aef57808604811115610acb57610aca610a6d565b5b6001851615610ada5780820291505b8081029050610ae885610a9a565b9450610aaf565b94509492505050565b5f82610b075760019050610bc2565b81610b14575f9050610bc2565b8160018114610b2a5760028114610b3457610b63565b6001915050610bc2565b60ff841115610b4657610b45610a6d565b5b8360020a915084821115610b5d57610b5c610a6d565b5b50610bc2565b5060208310610133831016604e8410600b8410161715610b985782820a905083811115610b9357610b92610a6d565b5b610bc2565b610ba58484846001610aa6565b92509050818404811115610bbc57610bbb610a6d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610be882610bc9565b9150610bf383610bd2565b9250610c207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610af8565b905092915050565b5f610c3282610bc9565b9150610c3d83610bc9565b9250828202610c4b81610bc9565b91508282048414831517610c6257610c61610a6d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610ca082610bc9565b9150610cab83610bc9565b925082610cbb57610cba610c69565b5b828204905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d4157607f821691505b602082108103610d5457610d53610cfd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610db67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610d7b565b610dc08683610d7b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610dfb610df6610df184610bc9565b610dd8565b610bc9565b9050919050565b5f819050919050565b610e1483610de1565b610e28610e2082610e02565b848454610d87565b825550505050565b5f90565b610e3c610e30565b610e47818484610e0b565b505050565b5b81811015610e6a57610e5f5f82610e34565b600181019050610e4d565b5050565b601f821115610eaf57610e8081610d5a565b610e8984610d6c565b81016020851015610e98578190505b610eac610ea485610d6c565b830182610e4c565b50505b505050565b5f82821c905092915050565b5f610ecf5f1984600802610eb4565b1980831691505092915050565b5f610ee78383610ec0565b9150826002028217905092915050565b610f0082610cc6565b67ffffffffffffffff811115610f1957610f18610cd0565b5b610f238254610d2a565b610f2e828285610e6e565b5f60209050601f831160018114610f5f575f8415610f4d578287015190505b610f578582610edc565b865550610fbe565b601f198416610f6d86610d5a565b5f5b82811015610f9457848901518255600182019150602085019450602081019050610f6f565b86831015610fb15784890151610fad601f891682610ec0565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ff382610fca565b9050919050565b61100381610fe9565b811461100d575f80fd5b50565b5f8151905061101e81610ffa565b92915050565b5f6020828403121561103957611038610fc6565b5b5f61104684828501611010565b91505092915050565b61105881610fe9565b82525050565b5f6040820190506110715f83018561104f565b61107e602083018461104f565b9392505050565b5f8115159050919050565b61109981611085565b82525050565b5f6020820190506110b25f830184611090565b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6110fc601f836110b8565b9150611107826110c8565b602082019050919050565b5f6020820190508181035f830152611129816110f0565b9050919050565b5f61113a82610bc9565b915061114583610bc9565b925082820190508082111561115d5761115c610a6d565b5b92915050565b61116c81610bc9565b82525050565b5f6020820190506111855f830184611163565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6111bf6020836110b8565b91506111ca8261118b565b602082019050919050565b5f6020820190508181035f8301526111ec816111b3565b9050919050565b6080516138d26112355f395f818161099a015281816109c301528181610ac401528181610c11015281816121a80152818161228701526122ae01526138d25ff3fe608060405260043610610207575f3560e01c80636ddd171311610117578063a9059cbb1161009f578063dd62ed3e1161006e578063dd62ed3e1461070c578063e2f4560514610748578063f2fde38b14610772578063f8b45b051461079a578063ffb54a99146107c45761020e565b8063a9059cbb14610668578063c0246668146106a4578063c8c8ebe4146106cc578063c9567bf9146106f65761020e565b80637571336a116100e65780637571336a146105885780638da5cb5b146105b057806395d89b41146105da5780639a7a23d614610604578063a457c2d71461062c5761020e565b80636ddd1713146104e457806370a082311461050e578063715018a61461054a57806371f5f01a146105605761020e565b8063395093511161019a57806349bd5a5e1161016957806349bd5a5e146104165780634fbee1931461044057806352f7c9881461047c578063583e0568146104a45780635a7712a8146104ce5761020e565b80633950935114610372578063427a5c02146103ae57806342966c68146103c457806347062402146103ec5761020e565b806323b872dd116101d657806323b872dd146102b85780632b14ca56146102f4578063311028af1461031e578063313ce567146103485761020e565b806306fdde0314610212578063095ea7b31461023c578063139864a81461027857806318160ddd1461028e5761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107ee565b6040516102339190612748565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d91906127f9565b61087e565b60405161026f9190612851565b60405180910390f35b348015610283575f80fd5b5061028c6108a0565b005b348015610299575f80fd5b506102a26108bc565b6040516102af9190612879565b60405180910390f35b3480156102c3575f80fd5b506102de60048036038101906102d99190612892565b6108c5565b6040516102eb9190612851565b60405180910390f35b3480156102ff575f80fd5b506103086108f3565b6040516103159190612879565b60405180910390f35b348015610329575f80fd5b506103326108f9565b60405161033f9190612879565b60405180910390f35b348015610353575f80fd5b5061035c6108ff565b60405161036991906128fd565b60405180910390f35b34801561037d575f80fd5b50610398600480360381019061039391906127f9565b610907565b6040516103a59190612851565b60405180910390f35b3480156103b9575f80fd5b506103c261093d565b005b3480156103cf575f80fd5b506103ea60048036038101906103e59190612916565b610b64565b005b3480156103f7575f80fd5b50610400610b78565b60405161040d9190612879565b60405180910390f35b348015610421575f80fd5b5061042a610b7e565b6040516104379190612950565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190612969565b610ba3565b6040516104739190612851565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190612994565b610bf5565b005b3480156104af575f80fd5b506104b8610c0f565b6040516104c59190612a2d565b60405180910390f35b3480156104d9575f80fd5b506104e2610c33565b005b3480156104ef575f80fd5b506104f8610d1a565b6040516105059190612851565b60405180910390f35b348015610519575f80fd5b50610534600480360381019061052f9190612969565b610d2d565b6040516105419190612879565b60405180910390f35b348015610555575f80fd5b5061055e610d72565b005b34801561056b575f80fd5b5061058660048036038101906105819190612916565b610d85565b005b348015610593575f80fd5b506105ae60048036038101906105a99190612a70565b610e19565b005b3480156105bb575f80fd5b506105c4610e79565b6040516105d19190612950565b60405180910390f35b3480156105e5575f80fd5b506105ee610ea1565b6040516105fb9190612748565b60405180910390f35b34801561060f575f80fd5b5061062a60048036038101906106259190612a70565b610f31565b005b348015610637575f80fd5b50610652600480360381019061064d91906127f9565b610fd6565b60405161065f9190612851565b60405180910390f35b348015610673575f80fd5b5061068e600480360381019061068991906127f9565b61104b565b60405161069b9190612851565b60405180910390f35b3480156106af575f80fd5b506106ca60048036038101906106c59190612a70565b61106d565b005b3480156106d7575f80fd5b506106e061111b565b6040516106ed9190612879565b60405180910390f35b348015610701575f80fd5b5061070a611121565b005b348015610717575f80fd5b50610732600480360381019061072d9190612aae565b611160565b60405161073f9190612879565b60405180910390f35b348015610753575f80fd5b5061075c6111e2565b6040516107699190612879565b60405180910390f35b34801561077d575f80fd5b5061079860048036038101906107939190612969565b6111e8565b005b3480156107a5575f80fd5b506107ae61126a565b6040516107bb9190612879565b60405180910390f35b3480156107cf575f80fd5b506107d8611270565b6040516107e59190612851565b60405180910390f35b6060600380546107fd90612b19565b80601f016020809104026020016040519081016040528092919081815260200182805461082990612b19565b80156108745780601f1061084b57610100808354040283529160200191610874565b820191905f5260205f20905b81548152906001019060200180831161085757829003601f168201915b5050505050905090565b5f80610888611282565b9050610895818585611289565b600191505092915050565b6108a861144c565b600954600b81905550600954600a81905550565b5f600254905090565b5f806108cf611282565b90506108dc8582856114ca565b6108e7858585611555565b60019150509392505050565b600d5481565b60095481565b5f6009905090565b5f80610911611282565b90506109328185856109238589611160565b61092d9190612b76565b611289565b600191505092915050565b61094561144c565b60105f9054906101000a900460ff1615610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b90612bf3565b60405180910390fd5b6109c1307f0000000000000000000000000000000000000000000000000000000000000000600954611289565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a0830610d2d565b5f807345dc3127fa8ceed8b8369b07123072aaa050fd0c426040518863ffffffff1660e01b8152600401610a4196959493929190612c4a565b60606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a829190612cbd565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b21929190612d0d565b6020604051808303815f875af1158015610b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b619190612d48565b50565b610b75610b6f611282565b82611e85565b50565b600c5481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610bfd61144c565b81600c8190555080600d819055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f4711610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c90612dbd565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb5611282565b73ffffffffffffffffffffffffffffffffffffffff1614610cd4575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d17573d5f803e3d5ffd5b50565b601060019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d7a61144c565b610d835f612048565b565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dc5611282565b73ffffffffffffffffffffffffffffffffffffffff1614610de4575f80fd5b5f610dee30610d2d565b90505f60648383610dff9190612ddb565b610e099190612e49565b9050610e148161210b565b505050565b610e2161144c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610eb090612b19565b80601f0160208091040260200160405190810160405280929190818152602001828054610edc90612b19565b8015610f275780601f10610efe57610100808354040283529160200191610f27565b820191905f5260205f20905b815481529060010190602001808311610f0a57829003601f168201915b5050505050905090565b610f3961144c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612ee9565b60405180910390fd5b610fd2828261235f565b5050565b5f80610fe0611282565b90505f610fed8286611160565b905083811015611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612f77565b60405180910390fd5b61103f8286868403611289565b60019250505092915050565b5f80611055611282565b9050611062818585611555565b600191505092915050565b61107561144c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161110f9190612851565b60405180910390a25050565b600b5481565b61112961144c565b6001601060016101000a81548160ff021916908315150217905550600160105f6101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b6111f061144c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125590613005565b60405180910390fd5b61126781612048565b50565b600a5481565b60105f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90613093565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c90613121565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161143f9190612879565b60405180910390a3505050565b611454611282565b73ffffffffffffffffffffffffffffffffffffffff16611472610e79565b73ffffffffffffffffffffffffffffffffffffffff16146114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90613189565b60405180910390fd5b565b5f6114d58484611160565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461154f5781811015611541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611538906131f1565b60405180910390fd5b61154e8484848403611289565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba9061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116289061330d565b60405180910390fd5b5f81036116485761164383835f6123fd565b611e80565b611650610e79565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116be575061168e610e79565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116f657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611730575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117485750600e5f9054906101000a900460ff16155b15611b155760105f9054906101000a900460ff1661183b5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806117fb575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61183a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183190613375565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156118d8575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197f57600b54811115611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191990613403565b60405180910390fd5b600a5461192e83610d2d565b826119399190612b76565b111561197a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119719061346b565b60405180910390fd5b611b14565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611a1c575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a6b57600b54811115611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d906134f9565b60405180910390fd5b611b13565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611b1257600a54611ac583610d2d565b82611ad09190612b76565b1115611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b089061346b565b60405180910390fd5b5b5b5b5b5f611b1f30610d2d565b90505f600f5482119050808015611b425750601060019054906101000a900460ff165b8015611b5a5750600e5f9054906101000a900460ff16155b8015611bad575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c00575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c53575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c94576001600e5f6101000a81548160ff021916908315150217905550611c7a612669565b5f600e5f6101000a81548160ff0219169083151502179055505b5f600e5f9054906101000a900460ff16158015611cf8575060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d4b575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90505f8115611e705760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dd257611dcb6064611dbd600d54886126a490919063ffffffff16565b6126b990919063ffffffff16565b9050611e4d565b60135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611e4c57611e496064611e3b600c54886126a490919063ffffffff16565b6126b990919063ffffffff16565b90505b5b5f811115611e6157611e608730836123fd565b5b8085611e6d9190613517565b94505b611e7b8787876123fd565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eea906135ba565b60405180910390fd5b611efe825f836126ce565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7890613648565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120309190612879565b60405180910390a3612043835f846126d3565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff81111561212757612126613666565b5b6040519080825280602002602001820160405280156121555781602001602082028036833780820191505090505b50905030815f8151811061216c5761216b613693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061223391906136d4565b8160018151811061224757612246613693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ac307f000000000000000000000000000000000000000000000000000000000000000084611289565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161232e9594939291906137b6565b5f604051808303815f87803b158015612345575f80fd5b505af1158015612357573d5f803e3d5ffd5b505050505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361246b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124629061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d09061330d565b60405180910390fd5b6124e48383836126ce565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e9061387e565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126509190612879565b60405180910390a36126638484846126d3565b50505050565b5f61267330610d2d565b90505f810361268257506126a2565b5f819050600f5481111561269657600f5490505b61269f8161210b565b50505b565b5f81836126b19190612ddb565b905092915050565b5f81836126c69190612e49565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61271a826126d8565b61272481856126e2565b93506127348185602086016126f2565b61273d81612700565b840191505092915050565b5f6020820190508181035f8301526127608184612710565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6127958261276c565b9050919050565b6127a58161278b565b81146127af575f80fd5b50565b5f813590506127c08161279c565b92915050565b5f819050919050565b6127d8816127c6565b81146127e2575f80fd5b50565b5f813590506127f3816127cf565b92915050565b5f806040838503121561280f5761280e612768565b5b5f61281c858286016127b2565b925050602061282d858286016127e5565b9150509250929050565b5f8115159050919050565b61284b81612837565b82525050565b5f6020820190506128645f830184612842565b92915050565b612873816127c6565b82525050565b5f60208201905061288c5f83018461286a565b92915050565b5f805f606084860312156128a9576128a8612768565b5b5f6128b6868287016127b2565b93505060206128c7868287016127b2565b92505060406128d8868287016127e5565b9150509250925092565b5f60ff82169050919050565b6128f7816128e2565b82525050565b5f6020820190506129105f8301846128ee565b92915050565b5f6020828403121561292b5761292a612768565b5b5f612938848285016127e5565b91505092915050565b61294a8161278b565b82525050565b5f6020820190506129635f830184612941565b92915050565b5f6020828403121561297e5761297d612768565b5b5f61298b848285016127b2565b91505092915050565b5f80604083850312156129aa576129a9612768565b5b5f6129b7858286016127e5565b92505060206129c8858286016127e5565b9150509250929050565b5f819050919050565b5f6129f56129f06129eb8461276c565b6129d2565b61276c565b9050919050565b5f612a06826129db565b9050919050565b5f612a17826129fc565b9050919050565b612a2781612a0d565b82525050565b5f602082019050612a405f830184612a1e565b92915050565b612a4f81612837565b8114612a59575f80fd5b50565b5f81359050612a6a81612a46565b92915050565b5f8060408385031215612a8657612a85612768565b5b5f612a93858286016127b2565b9250506020612aa485828601612a5c565b9150509250929050565b5f8060408385031215612ac457612ac3612768565b5b5f612ad1858286016127b2565b9250506020612ae2858286016127b2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b3057607f821691505b602082108103612b4357612b42612aec565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612b80826127c6565b9150612b8b836127c6565b9250828201905080821115612ba357612ba2612b49565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612bdd6017836126e2565b9150612be882612ba9565b602082019050919050565b5f6020820190508181035f830152612c0a81612bd1565b9050919050565b5f819050919050565b5f612c34612c2f612c2a84612c11565b6129d2565b6127c6565b9050919050565b612c4481612c1a565b82525050565b5f60c082019050612c5d5f830189612941565b612c6a602083018861286a565b612c776040830187612c3b565b612c846060830186612c3b565b612c916080830185612941565b612c9e60a083018461286a565b979650505050505050565b5f81519050612cb7816127cf565b92915050565b5f805f60608486031215612cd457612cd3612768565b5b5f612ce186828701612ca9565b9350506020612cf286828701612ca9565b9250506040612d0386828701612ca9565b9150509250925092565b5f604082019050612d205f830185612941565b612d2d602083018461286a565b9392505050565b5f81519050612d4281612a46565b92915050565b5f60208284031215612d5d57612d5c612768565b5b5f612d6a84828501612d34565b91505092915050565b7f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000005f82015250565b5f612da7601d836126e2565b9150612db282612d73565b602082019050919050565b5f6020820190508181035f830152612dd481612d9b565b9050919050565b5f612de5826127c6565b9150612df0836127c6565b9250828202612dfe816127c6565b91508282048414831517612e1557612e14612b49565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e53826127c6565b9150612e5e836127c6565b925082612e6e57612e6d612e1c565b5b828204905092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612ed36039836126e2565b9150612ede82612e79565b604082019050919050565b5f6020820190508181035f830152612f0081612ec7565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612f616025836126e2565b9150612f6c82612f07565b604082019050919050565b5f6020820190508181035f830152612f8e81612f55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612fef6026836126e2565b9150612ffa82612f95565b604082019050919050565b5f6020820190508181035f83015261301c81612fe3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61307d6024836126e2565b915061308882613023565b604082019050919050565b5f6020820190508181035f8301526130aa81613071565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61310b6022836126e2565b9150613116826130b1565b604082019050919050565b5f6020820190508181035f830152613138816130ff565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6131736020836126e2565b915061317e8261313f565b602082019050919050565b5f6020820190508181035f8301526131a081613167565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6131db601d836126e2565b91506131e6826131a7565b602082019050919050565b5f6020820190508181035f830152613208816131cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132696025836126e2565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132f76023836126e2565b91506133028261329d565b604082019050919050565b5f6020820190508181035f830152613324816132eb565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61335f6016836126e2565b915061336a8261332b565b602082019050919050565b5f6020820190508181035f83015261338c81613353565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6133ed6035836126e2565b91506133f882613393565b604082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6134556013836126e2565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6134e36036836126e2565b91506134ee82613489565b604082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b5f613521826127c6565b915061352c836127c6565b925082820390508181111561354457613543612b49565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135a46021836126e2565b91506135af8261354a565b604082019050919050565b5f6020820190508181035f8301526135d181613598565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136326022836126e2565b915061363d826135d8565b604082019050919050565b5f6020820190508181035f83015261365f81613626565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136ce8161279c565b92915050565b5f602082840312156136e9576136e8612768565b5b5f6136f6848285016136c0565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6137318161278b565b82525050565b5f6137428383613728565b60208301905092915050565b5f602082019050919050565b5f613764826136ff565b61376e8185613709565b935061377983613719565b805f5b838110156137a95781516137908882613737565b975061379b8361374e565b92505060018101905061377c565b5085935050505092915050565b5f60a0820190506137c95f83018861286a565b6137d66020830187612c3b565b81810360408301526137e8818661375a565b90506137f76060830185612941565b613804608083018461286a565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6138686026836126e2565b91506138738261380e565b604082019050919050565b5f6020820190508181035f8301526138958161385c565b905091905056fea2646970667358221220293e993179a5568394e5278a47b3295e2bf01d887b7e61e78d78c5cee496bcfe64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610207575f3560e01c80636ddd171311610117578063a9059cbb1161009f578063dd62ed3e1161006e578063dd62ed3e1461070c578063e2f4560514610748578063f2fde38b14610772578063f8b45b051461079a578063ffb54a99146107c45761020e565b8063a9059cbb14610668578063c0246668146106a4578063c8c8ebe4146106cc578063c9567bf9146106f65761020e565b80637571336a116100e65780637571336a146105885780638da5cb5b146105b057806395d89b41146105da5780639a7a23d614610604578063a457c2d71461062c5761020e565b80636ddd1713146104e457806370a082311461050e578063715018a61461054a57806371f5f01a146105605761020e565b8063395093511161019a57806349bd5a5e1161016957806349bd5a5e146104165780634fbee1931461044057806352f7c9881461047c578063583e0568146104a45780635a7712a8146104ce5761020e565b80633950935114610372578063427a5c02146103ae57806342966c68146103c457806347062402146103ec5761020e565b806323b872dd116101d657806323b872dd146102b85780632b14ca56146102f4578063311028af1461031e578063313ce567146103485761020e565b806306fdde0314610212578063095ea7b31461023c578063139864a81461027857806318160ddd1461028e5761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b506102266107ee565b6040516102339190612748565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d91906127f9565b61087e565b60405161026f9190612851565b60405180910390f35b348015610283575f80fd5b5061028c6108a0565b005b348015610299575f80fd5b506102a26108bc565b6040516102af9190612879565b60405180910390f35b3480156102c3575f80fd5b506102de60048036038101906102d99190612892565b6108c5565b6040516102eb9190612851565b60405180910390f35b3480156102ff575f80fd5b506103086108f3565b6040516103159190612879565b60405180910390f35b348015610329575f80fd5b506103326108f9565b60405161033f9190612879565b60405180910390f35b348015610353575f80fd5b5061035c6108ff565b60405161036991906128fd565b60405180910390f35b34801561037d575f80fd5b50610398600480360381019061039391906127f9565b610907565b6040516103a59190612851565b60405180910390f35b3480156103b9575f80fd5b506103c261093d565b005b3480156103cf575f80fd5b506103ea60048036038101906103e59190612916565b610b64565b005b3480156103f7575f80fd5b50610400610b78565b60405161040d9190612879565b60405180910390f35b348015610421575f80fd5b5061042a610b7e565b6040516104379190612950565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190612969565b610ba3565b6040516104739190612851565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d9190612994565b610bf5565b005b3480156104af575f80fd5b506104b8610c0f565b6040516104c59190612a2d565b60405180910390f35b3480156104d9575f80fd5b506104e2610c33565b005b3480156104ef575f80fd5b506104f8610d1a565b6040516105059190612851565b60405180910390f35b348015610519575f80fd5b50610534600480360381019061052f9190612969565b610d2d565b6040516105419190612879565b60405180910390f35b348015610555575f80fd5b5061055e610d72565b005b34801561056b575f80fd5b5061058660048036038101906105819190612916565b610d85565b005b348015610593575f80fd5b506105ae60048036038101906105a99190612a70565b610e19565b005b3480156105bb575f80fd5b506105c4610e79565b6040516105d19190612950565b60405180910390f35b3480156105e5575f80fd5b506105ee610ea1565b6040516105fb9190612748565b60405180910390f35b34801561060f575f80fd5b5061062a60048036038101906106259190612a70565b610f31565b005b348015610637575f80fd5b50610652600480360381019061064d91906127f9565b610fd6565b60405161065f9190612851565b60405180910390f35b348015610673575f80fd5b5061068e600480360381019061068991906127f9565b61104b565b60405161069b9190612851565b60405180910390f35b3480156106af575f80fd5b506106ca60048036038101906106c59190612a70565b61106d565b005b3480156106d7575f80fd5b506106e061111b565b6040516106ed9190612879565b60405180910390f35b348015610701575f80fd5b5061070a611121565b005b348015610717575f80fd5b50610732600480360381019061072d9190612aae565b611160565b60405161073f9190612879565b60405180910390f35b348015610753575f80fd5b5061075c6111e2565b6040516107699190612879565b60405180910390f35b34801561077d575f80fd5b5061079860048036038101906107939190612969565b6111e8565b005b3480156107a5575f80fd5b506107ae61126a565b6040516107bb9190612879565b60405180910390f35b3480156107cf575f80fd5b506107d8611270565b6040516107e59190612851565b60405180910390f35b6060600380546107fd90612b19565b80601f016020809104026020016040519081016040528092919081815260200182805461082990612b19565b80156108745780601f1061084b57610100808354040283529160200191610874565b820191905f5260205f20905b81548152906001019060200180831161085757829003601f168201915b5050505050905090565b5f80610888611282565b9050610895818585611289565b600191505092915050565b6108a861144c565b600954600b81905550600954600a81905550565b5f600254905090565b5f806108cf611282565b90506108dc8582856114ca565b6108e7858585611555565b60019150509392505050565b600d5481565b60095481565b5f6009905090565b5f80610911611282565b90506109328185856109238589611160565b61092d9190612b76565b611289565b600191505092915050565b61094561144c565b60105f9054906101000a900460ff1615610994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098b90612bf3565b60405180910390fd5b6109c1307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d600954611289565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a0830610d2d565b5f807345dc3127fa8ceed8b8369b07123072aaa050fd0c426040518863ffffffff1660e01b8152600401610a4196959493929190612c4a565b60606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a829190612cbd565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b21929190612d0d565b6020604051808303815f875af1158015610b3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b619190612d48565b50565b610b75610b6f611282565b82611e85565b50565b600c5481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610bfd61144c565b81600c8190555080600d819055505050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f4711610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c90612dbd565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb5611282565b73ffffffffffffffffffffffffffffffffffffffff1614610cd4575f80fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610d17573d5f803e3d5ffd5b50565b601060019054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d7a61144c565b610d835f612048565b565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dc5611282565b73ffffffffffffffffffffffffffffffffffffffff1614610de4575f80fd5b5f610dee30610d2d565b90505f60648383610dff9190612ddb565b610e099190612e49565b9050610e148161210b565b505050565b610e2161144c565b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610eb090612b19565b80601f0160208091040260200160405190810160405280929190818152602001828054610edc90612b19565b8015610f275780601f10610efe57610100808354040283529160200191610f27565b820191905f5260205f20905b815481529060010190602001808311610f0a57829003601f168201915b5050505050905090565b610f3961144c565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612ee9565b60405180910390fd5b610fd2828261235f565b5050565b5f80610fe0611282565b90505f610fed8286611160565b905083811015611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990612f77565b60405180910390fd5b61103f8286868403611289565b60019250505092915050565b5f80611055611282565b9050611062818585611555565b600191505092915050565b61107561144c565b8060115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161110f9190612851565b60405180910390a25050565b600b5481565b61112961144c565b6001601060016101000a81548160ff021916908315150217905550600160105f6101000a81548160ff021916908315150217905550565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b6111f061144c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361125e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125590613005565b60405180910390fd5b61126781612048565b50565b600a5481565b60105f9054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90613093565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c90613121565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161143f9190612879565b60405180910390a3505050565b611454611282565b73ffffffffffffffffffffffffffffffffffffffff16611472610e79565b73ffffffffffffffffffffffffffffffffffffffff16146114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90613189565b60405180910390fd5b565b5f6114d58484611160565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461154f5781811015611541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611538906131f1565b60405180910390fd5b61154e8484848403611289565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba9061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116289061330d565b60405180910390fd5b5f81036116485761164383835f6123fd565b611e80565b611650610e79565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116be575061168e610e79565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116f657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611730575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117485750600e5f9054906101000a900460ff16155b15611b155760105f9054906101000a900460ff1661183b5760115f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806117fb575060115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61183a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183190613375565b60405180910390fd5b5b60135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156118d8575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197f57600b54811115611922576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191990613403565b60405180910390fd5b600a5461192e83610d2d565b826119399190612b76565b111561197a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119719061346b565b60405180910390fd5b611b14565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611a1c575060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a6b57600b54811115611a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5d906134f9565b60405180910390fd5b611b13565b60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611b1257600a54611ac583610d2d565b82611ad09190612b76565b1115611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b089061346b565b60405180910390fd5b5b5b5b5b5f611b1f30610d2d565b90505f600f5482119050808015611b425750601060019054906101000a900460ff165b8015611b5a5750600e5f9054906101000a900460ff16155b8015611bad575060135f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c00575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c53575060115f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c94576001600e5f6101000a81548160ff021916908315150217905550611c7a612669565b5f600e5f6101000a81548160ff0219169083151502179055505b5f600e5f9054906101000a900460ff16158015611cf8575060115f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611d4b575060115f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b90505f8115611e705760135f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dd257611dcb6064611dbd600d54886126a490919063ffffffff16565b6126b990919063ffffffff16565b9050611e4d565b60135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611e4c57611e496064611e3b600c54886126a490919063ffffffff16565b6126b990919063ffffffff16565b90505b5b5f811115611e6157611e608730836123fd565b5b8085611e6d9190613517565b94505b611e7b8787876123fd565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ef3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eea906135ba565b60405180910390fd5b611efe825f836126ce565b5f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7890613648565b60405180910390fd5b8181035f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120309190612879565b60405180910390a3612043835f846126d3565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600267ffffffffffffffff81111561212757612126613666565b5b6040519080825280602002602001820160405280156121555781602001602082028036833780820191505090505b50905030815f8151811061216c5761216b613693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561220f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061223391906136d4565b8160018151811061224757612246613693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122ac307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611289565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161232e9594939291906137b6565b5f604051808303815f87803b158015612345575f80fd5b505af1158015612357573d5f803e3d5ffd5b505050505050565b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361246b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124629061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d09061330d565b60405180910390fd5b6124e48383836126ce565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e9061387e565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126509190612879565b60405180910390a36126638484846126d3565b50505050565b5f61267330610d2d565b90505f810361268257506126a2565b5f819050600f5481111561269657600f5490505b61269f8161210b565b50505b565b5f81836126b19190612ddb565b905092915050565b5f81836126c69190612e49565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61271a826126d8565b61272481856126e2565b93506127348185602086016126f2565b61273d81612700565b840191505092915050565b5f6020820190508181035f8301526127608184612710565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6127958261276c565b9050919050565b6127a58161278b565b81146127af575f80fd5b50565b5f813590506127c08161279c565b92915050565b5f819050919050565b6127d8816127c6565b81146127e2575f80fd5b50565b5f813590506127f3816127cf565b92915050565b5f806040838503121561280f5761280e612768565b5b5f61281c858286016127b2565b925050602061282d858286016127e5565b9150509250929050565b5f8115159050919050565b61284b81612837565b82525050565b5f6020820190506128645f830184612842565b92915050565b612873816127c6565b82525050565b5f60208201905061288c5f83018461286a565b92915050565b5f805f606084860312156128a9576128a8612768565b5b5f6128b6868287016127b2565b93505060206128c7868287016127b2565b92505060406128d8868287016127e5565b9150509250925092565b5f60ff82169050919050565b6128f7816128e2565b82525050565b5f6020820190506129105f8301846128ee565b92915050565b5f6020828403121561292b5761292a612768565b5b5f612938848285016127e5565b91505092915050565b61294a8161278b565b82525050565b5f6020820190506129635f830184612941565b92915050565b5f6020828403121561297e5761297d612768565b5b5f61298b848285016127b2565b91505092915050565b5f80604083850312156129aa576129a9612768565b5b5f6129b7858286016127e5565b92505060206129c8858286016127e5565b9150509250929050565b5f819050919050565b5f6129f56129f06129eb8461276c565b6129d2565b61276c565b9050919050565b5f612a06826129db565b9050919050565b5f612a17826129fc565b9050919050565b612a2781612a0d565b82525050565b5f602082019050612a405f830184612a1e565b92915050565b612a4f81612837565b8114612a59575f80fd5b50565b5f81359050612a6a81612a46565b92915050565b5f8060408385031215612a8657612a85612768565b5b5f612a93858286016127b2565b9250506020612aa485828601612a5c565b9150509250929050565b5f8060408385031215612ac457612ac3612768565b5b5f612ad1858286016127b2565b9250506020612ae2858286016127b2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b3057607f821691505b602082108103612b4357612b42612aec565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612b80826127c6565b9150612b8b836127c6565b9250828201905080821115612ba357612ba2612b49565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612bdd6017836126e2565b9150612be882612ba9565b602082019050919050565b5f6020820190508181035f830152612c0a81612bd1565b9050919050565b5f819050919050565b5f612c34612c2f612c2a84612c11565b6129d2565b6127c6565b9050919050565b612c4481612c1a565b82525050565b5f60c082019050612c5d5f830189612941565b612c6a602083018861286a565b612c776040830187612c3b565b612c846060830186612c3b565b612c916080830185612941565b612c9e60a083018461286a565b979650505050505050565b5f81519050612cb7816127cf565b92915050565b5f805f60608486031215612cd457612cd3612768565b5b5f612ce186828701612ca9565b9350506020612cf286828701612ca9565b9250506040612d0386828701612ca9565b9150509250925092565b5f604082019050612d205f830185612941565b612d2d602083018461286a565b9392505050565b5f81519050612d4281612a46565b92915050565b5f60208284031215612d5d57612d5c612768565b5b5f612d6a84828501612d34565b91505092915050565b7f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000005f82015250565b5f612da7601d836126e2565b9150612db282612d73565b602082019050919050565b5f6020820190508181035f830152612dd481612d9b565b9050919050565b5f612de5826127c6565b9150612df0836127c6565b9250828202612dfe816127c6565b91508282048414831517612e1557612e14612b49565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e53826127c6565b9150612e5e836127c6565b925082612e6e57612e6d612e1c565b5b828204905092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f612ed36039836126e2565b9150612ede82612e79565b604082019050919050565b5f6020820190508181035f830152612f0081612ec7565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612f616025836126e2565b9150612f6c82612f07565b604082019050919050565b5f6020820190508181035f830152612f8e81612f55565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612fef6026836126e2565b9150612ffa82612f95565b604082019050919050565b5f6020820190508181035f83015261301c81612fe3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61307d6024836126e2565b915061308882613023565b604082019050919050565b5f6020820190508181035f8301526130aa81613071565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61310b6022836126e2565b9150613116826130b1565b604082019050919050565b5f6020820190508181035f830152613138816130ff565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6131736020836126e2565b915061317e8261313f565b602082019050919050565b5f6020820190508181035f8301526131a081613167565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6131db601d836126e2565b91506131e6826131a7565b602082019050919050565b5f6020820190508181035f830152613208816131cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132696025836126e2565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132f76023836126e2565b91506133028261329d565b604082019050919050565b5f6020820190508181035f830152613324816132eb565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61335f6016836126e2565b915061336a8261332b565b602082019050919050565b5f6020820190508181035f83015261338c81613353565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f6133ed6035836126e2565b91506133f882613393565b604082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6134556013836126e2565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6134e36036836126e2565b91506134ee82613489565b604082019050919050565b5f6020820190508181035f830152613510816134d7565b9050919050565b5f613521826127c6565b915061352c836127c6565b925082820390508181111561354457613543612b49565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135a46021836126e2565b91506135af8261354a565b604082019050919050565b5f6020820190508181035f8301526135d181613598565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136326022836126e2565b915061363d826135d8565b604082019050919050565b5f6020820190508181035f83015261365f81613626565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506136ce8161279c565b92915050565b5f602082840312156136e9576136e8612768565b5b5f6136f6848285016136c0565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6137318161278b565b82525050565b5f6137428383613728565b60208301905092915050565b5f602082019050919050565b5f613764826136ff565b61376e8185613709565b935061377983613719565b805f5b838110156137a95781516137908882613737565b975061379b8361374e565b92505060018101905061377c565b5085935050505092915050565b5f60a0820190506137c95f83018861286a565b6137d66020830187612c3b565b81810360408301526137e8818661375a565b90506137f76060830185612941565b613804608083018461286a565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6138686026836126e2565b91506138738261380e565b604082019050919050565b5f6020820190508181035f8301526138958161385c565b905091905056fea2646970667358221220293e993179a5568394e5278a47b3295e2bf01d887b7e61e78d78c5cee496bcfe64736f6c634300081a0033
Deployed Bytecode Sourcemap
14662:8156:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10822:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21642:147;;;;;;;;;;;;;:::i;:::-;;10211:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11031:261;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15254:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15006:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10111:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11300:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17088:538;;;;;;;;;;;;;:::i;:::-;;17904:85;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15221:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14795:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18646:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21797:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14736:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22214:226;;;;;;;;;;;;;:::i;:::-;;15436:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10327:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1102:103;;;;;;;;;;;;;:::i;:::-;;21939:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17752:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;867:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9999:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18187:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11546:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10462:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17997:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15165:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17634:110;;;;;;;;;;;;;:::i;:::-;;10663:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15324:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1213:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15101:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15398:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9891:100;9945:13;9978:5;9971:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:100;:::o;10822:201::-;10905:4;10922:13;10938:12;:10;:12::i;:::-;10922:28;;10961:32;10970:5;10977:7;10986:6;10961:8;:32::i;:::-;11011:4;11004:11;;;10822:201;;;;:::o;21642:147::-;826:13;:11;:13::i;:::-;21722:18:::1;;21699:20;:41;;;;21763:18;;21751:9;:30;;;;21642:147::o:0;10211:108::-;10272:7;10299:12;;10292:19;;10211:108;:::o;11031:261::-;11128:4;11145:15;11163:12;:10;:12::i;:::-;11145:30;;11186:38;11202:4;11208:7;11217:6;11186:15;:38::i;:::-;11235:27;11245:4;11251:2;11255:6;11235:9;:27::i;:::-;11280:4;11273:11;;;11031:261;;;;;:::o;15254:27::-;;;;:::o;15006:61::-;;;;:::o;10111:92::-;10169:5;10194:1;10187:8;;10111:92;:::o;11300:238::-;11388:4;11405:13;11421:12;:10;:12::i;:::-;11405:28;;11444:64;11453:5;11460:7;11497:10;11469:25;11479:5;11486:7;11469:9;:25::i;:::-;:38;;;;:::i;:::-;11444:8;:64::i;:::-;11526:4;11519:11;;;11300:238;;;;:::o;17088:538::-;826:13;:11;:13::i;:::-;17146:11:::1;;;;;;;;;;;17145:12;17137:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;17195:70;17212:4;17227:16;17246:18;;17195:8;:70::i;:::-;17276:16;:32;;;17316:21;17361:4;17381:24;17399:4;17381:9;:24::i;:::-;17420:1;17436::::0;17452:42:::1;17509:15;17276:259;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17553:13;;;;;;;;;;;17546:29;;;17584:16;17603:14;17546:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17088:538::o:0;17904:85::-;17954:27;17960:12;:10;:12::i;:::-;17974:6;17954:5;:27::i;:::-;17904:85;:::o;15221:26::-;;;;:::o;14795:28::-;;;;;;;;;;;;;:::o;18646:126::-;18712:4;18736:19;:28;18756:7;18736:28;;;;;;;;;;;;;;;;;;;;;;;;;18729:35;;18646:126;;;:::o;21797:134::-;826:13;:11;:13::i;:::-;21887:7:::1;21878:6;:16;;;;21915:8;21905:7;:18;;;;21797:134:::0;;:::o;14736:52::-;;;:::o;22214:226::-;22290:1;22266:21;:25;22258:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22360:9;;;;;;;;;;;22344:25;;:12;:10;:12::i;:::-;:25;;;22336:34;;;;;;22389:10;22381:28;;:51;22410:21;22381:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22214:226::o;15436:31::-;;;;;;;;;;;;;:::o;10327:127::-;10401:7;10428:9;:18;10438:7;10428:18;;;;;;;;;;;;;;;;10421:25;;10327:127;;;:::o;1102:103::-;826:13;:11;:13::i;:::-;1167:30:::1;1194:1;1167:18;:30::i;:::-;1102:103::o:0;21939:267::-;22025:9;;;;;;;;;;;22009:25;;:12;:10;:12::i;:::-;:25;;;22001:34;;;;;;22046:23;22072:24;22090:4;22072:9;:24::i;:::-;22046:50;;22107:18;22156:3;22146:7;22128:15;:25;;;;:::i;:::-;:31;;;;:::i;:::-;22107:52;;22170:28;22187:10;22170:16;:28::i;:::-;21990:216;;21939:267;:::o;17752:144::-;826:13;:11;:13::i;:::-;17884:4:::1;17842:31;:39;17874:6;17842:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;17752:144:::0;;:::o;867:87::-;913:7;940:6;;;;;;;;;;;933:13;;867:87;:::o;9999:104::-;10055:13;10088:7;10081:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9999:104;:::o;18187:257::-;826:13;:11;:13::i;:::-;18309::::1;;;;;;;;;;;18301:21;;:4;:21;;::::0;18293:91:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18395:41;18424:4;18430:5;18395:28;:41::i;:::-;18187:257:::0;;:::o;11546:436::-;11639:4;11656:13;11672:12;:10;:12::i;:::-;11656:28;;11695:24;11722:25;11732:5;11739:7;11722:9;:25::i;:::-;11695:52;;11786:15;11766:16;:35;;11758:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11879:60;11888:5;11895:7;11923:15;11904:16;:34;11879:8;:60::i;:::-;11970:4;11963:11;;;;11546:436;;;;:::o;10462:193::-;10541:4;10558:13;10574:12;:10;:12::i;:::-;10558:28;;10597;10607:5;10614:2;10618:6;10597:9;:28::i;:::-;10643:4;10636:11;;;10462:193;;;;:::o;17997:182::-;826:13;:11;:13::i;:::-;18113:8:::1;18082:19;:28;18102:7;18082:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18153:7;18137:34;;;18162:8;18137:34;;;;;;:::i;:::-;;;;;;;;17997:182:::0;;:::o;15165:47::-;;;;:::o;17634:110::-;826:13;:11;:13::i;:::-;17703:4:::1;17689:11;;:18;;;;;;;;;;;;;;;;;;17732:4;17718:11;;:18;;;;;;;;;;;;;;;;;;17634:110::o:0;10663:151::-;10752:7;10779:11;:18;10791:5;10779:18;;;;;;;;;;;;;;;:27;10798:7;10779:27;;;;;;;;;;;;;;;;10772:34;;10663:151;;;;:::o;15324:65::-;;;;:::o;1213:201::-;826:13;:11;:13::i;:::-;1322:1:::1;1302:22;;:8;:22;;::::0;1294:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1378:28;1397:8;1378:18;:28::i;:::-;1213:201:::0;:::o;15101:57::-;;;;:::o;15398:31::-;;;;;;;;;;;;;:::o;340:98::-;393:7;420:10;413:17;;340:98;:::o;13685:346::-;13804:1;13787:19;;:5;:19;;;13779:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13885:1;13866:21;;:7;:21;;;13858:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13969:6;13939:11;:18;13951:5;13939:18;;;;;;;;;;;;;;;:27;13958:7;13939:27;;;;;;;;;;;;;;;:36;;;;14007:7;13991:32;;14000:5;13991:32;;;14016:6;13991:32;;;;;;:::i;:::-;;;;;;;;13685:346;;;:::o;962:132::-;1037:12;:10;:12::i;:::-;1026:23;;:7;:5;:7::i;:::-;:23;;;1018:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;962:132::o;14039:419::-;14140:24;14167:25;14177:5;14184:7;14167:9;:25::i;:::-;14140:52;;14227:17;14207:16;:37;14203:248;;14289:6;14269:16;:26;;14261:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14373:51;14382:5;14389:7;14417:6;14398:16;:25;14373:8;:51::i;:::-;14203:248;14129:329;14039:419;;;:::o;18780:2370::-;18894:1;18878:18;;:4;:18;;;18870:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18971:1;18957:16;;:2;:16;;;18949:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19040:1;19030:6;:11;19026:93;;19058:28;19074:4;19080:2;19084:1;19058:15;:28::i;:::-;19101:7;;19026:93;19143:7;:5;:7::i;:::-;19135:15;;:4;:15;;;;:32;;;;;19160:7;:5;:7::i;:::-;19154:13;;:2;:13;;;;19135:32;:52;;;;;19185:1;19171:16;;:2;:16;;;;19135:52;:77;;;;;19205:6;19191:21;;:2;:21;;;;19135:77;:90;;;;;19217:8;;;;;;;;;;;19216:9;19135:90;19131:1012;;;19247:11;;;;;;;;;;;19242:140;;19287:19;:25;19307:4;19287:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;19316:19;:23;19336:2;19316:23;;;;;;;;;;;;;;;;;;;;;;;;;19287:52;19279:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;19242:140;19402:25;:31;19428:4;19402:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19438:31;:35;19470:2;19438:35;;;;;;;;;;;;;;;;;;;;;;;;;19437:36;19402:71;19398:734;;;19536:20;;19526:6;:30;;19518:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;19667:9;;19650:13;19660:2;19650:9;:13::i;:::-;19641:6;:22;;;;:::i;:::-;:35;;19633:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19398:734;;;19739:25;:29;19765:2;19739:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;19773:31;:37;19805:4;19773:37;;;;;;;;;;;;;;;;;;;;;;;;;19772:38;19739:71;19735:397;;;19874:20;;19864:6;:30;;19856:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;19735:397;;;19993:31;:35;20025:2;19993:35;;;;;;;;;;;;;;;;;;;;;;;;;19988:144;;20083:9;;20066:13;20076:2;20066:9;:13::i;:::-;20057:6;:22;;;;:::i;:::-;:35;;20049:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19988:144;19735:397;19398:734;19131:1012;20197:28;20228:24;20246:4;20228:9;:24::i;:::-;20197:55;;20263:12;20301:18;;20278:20;:41;20263:56;;20334:7;:22;;;;;20345:11;;;;;;;;;;;20334:22;:35;;;;;20361:8;;;;;;;;;;;20360:9;20334:35;:71;;;;;20374:25;:31;20400:4;20374:31;;;;;;;;;;;;;;;;;;;;;;;;;20373:32;20334:71;:101;;;;;20410:19;:25;20430:4;20410:25;;;;;;;;;;;;;;;;;;;;;;;;;20409:26;20334:101;:129;;;;;20440:19;:23;20460:2;20440:23;;;;;;;;;;;;;;;;;;;;;;;;;20439:24;20334:129;20330:233;;;20491:4;20480:8;;:15;;;;;;;;;;;;;;;;;;20510:10;:8;:10::i;:::-;20546:5;20535:8;;:16;;;;;;;;;;;;;;;;;;20330:233;20575:12;20591:8;;;;;;;;;;;20590:9;:39;;;;;20604:19;:25;20624:4;20604:25;;;;;;;;;;;;;;;;;;;;;;;;;20603:26;20590:39;:67;;;;;20634:19;:23;20654:2;20634:23;;;;;;;;;;;;;;;;;;;;;;;;;20633:24;20590:67;20575:82;;20670:12;20701:7;20697:402;;;20729:25;:29;20755:2;20729:29;;;;;;;;;;;;;;;;;;;;;;;;;20725:229;;;20786:28;20810:3;20786:19;20797:7;;20786:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;20779:35;;20725:229;;;20852:25;:31;20878:4;20852:31;;;;;;;;;;;;;;;;;;;;;;;;;20849:105;;;20911:27;20934:3;20911:18;20922:6;;20911;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;20904:34;;20849:105;20725:229;20979:1;20972:4;:8;20968:91;;;21001:42;21017:4;21031;21038;21001:15;:42::i;:::-;20968:91;21083:4;21073:14;;;;;:::i;:::-;;;20697:402;21109:33;21125:4;21131:2;21135:6;21109:15;:33::i;:::-;18859:2291;;;;18780:2370;;;;:::o;13082:595::-;13185:1;13166:21;;:7;:21;;;13158:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13238:49;13259:7;13276:1;13280:6;13238:20;:49::i;:::-;13300:22;13325:9;:18;13335:7;13325:18;;;;;;;;;;;;;;;;13300:43;;13380:6;13362:14;:24;;13354:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13499:6;13482:14;:23;13461:9;:18;13471:7;13461:18;;;;;;;;;;;;;;;:44;;;;13536:6;13520:12;;:22;;;;;;;;;;;13597:1;13571:37;;13580:7;13571:37;;;13601:6;13571:37;;;;;;:::i;:::-;;;;;;;;13621:48;13641:7;13658:1;13662:6;13621:19;:48::i;:::-;13147:530;13082:595;;:::o;1422:191::-;1496:16;1515:6;;;;;;;;;;;1496:25;;1541:8;1532:6;;:17;;;;;;;;;;;;;;;;;;1596:8;1565:40;;1586:8;1565:40;;;;;;;;;;;;1485:128;1422:191;:::o;21158:476::-;21224:21;21262:1;21248:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21224:40;;21293:4;21275;21280:1;21275:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21319:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21309:4;21314:1;21309:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;21353:63;21370:4;21385:16;21404:11;21353:8;:63::i;:::-;21427:16;:67;;;21509:11;21535:1;21551:4;21570:15;;;;;;;;;;;21600;21427:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21213:421;21158:476;:::o;18452:186::-;18569:5;18535:25;:31;18561:4;18535:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18624:5;18590:40;;18618:4;18590:40;;;;;;;;;;;;18452:186;;:::o;11990:641::-;12103:1;12087:18;;:4;:18;;;12079:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12180:1;12166:16;;:2;:16;;;12158:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12235:38;12256:4;12262:2;12266:6;12235:20;:38::i;:::-;12286:19;12308:9;:15;12318:4;12308:15;;;;;;;;;;;;;;;;12286:37;;12357:6;12342:11;:21;;12334:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;12474:6;12460:11;:20;12442:9;:15;12452:4;12442:15;;;;;;;;;;;;;;;:38;;;;12512:6;12495:9;:13;12505:2;12495:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;12562:2;12547:26;;12556:4;12547:26;;;12566:6;12547:26;;;;;;:::i;:::-;;;;;;;;12586:37;12606:4;12612:2;12616:6;12586:19;:37::i;:::-;12068:563;11990:641;;;:::o;22448:367::-;22487:23;22513:24;22531:4;22513:9;:24::i;:::-;22487:50;;22571:1;22552:15;:20;22548:59;;22589:7;;;22548:59;22617:20;22640:15;22617:38;;22687:18;;22672:12;:33;22668:99;;;22737:18;;22722:33;;22668:99;22777:30;22794:12;22777:16;:30::i;:::-;22476:339;;22448:367;:::o;8348:98::-;8406:7;8437:1;8433;:5;;;;:::i;:::-;8426:12;;8348:98;;;;:::o;8454:::-;8512:7;8543:1;8539;:5;;;;:::i;:::-;8532:12;;8454:98;;;;:::o;14466:91::-;;;;:::o;14565:90::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:329::-;5492:6;5541:2;5529:9;5520:7;5516:23;5512:32;5509:119;;;5547:79;;:::i;:::-;5509:119;5667:1;5692:53;5737:7;5728:6;5717:9;5713:22;5692:53;:::i;:::-;5682:63;;5638:117;5433:329;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:60::-;6276:3;6297:5;6290:12;;6248:60;;;:::o;6314:142::-;6364:9;6397:53;6415:34;6424:24;6442:5;6424:24;:::i;:::-;6415:34;:::i;:::-;6397:53;:::i;:::-;6384:66;;6314:142;;;:::o;6462:126::-;6512:9;6545:37;6576:5;6545:37;:::i;:::-;6532:50;;6462:126;;;:::o;6594:152::-;6670:9;6703:37;6734:5;6703:37;:::i;:::-;6690:50;;6594:152;;;:::o;6752:183::-;6865:63;6922:5;6865:63;:::i;:::-;6860:3;6853:76;6752:183;;:::o;6941:274::-;7060:4;7098:2;7087:9;7083:18;7075:26;;7111:97;7205:1;7194:9;7190:17;7181:6;7111:97;:::i;:::-;6941:274;;;;:::o;7221:116::-;7291:21;7306:5;7291:21;:::i;:::-;7284:5;7281:32;7271:60;;7327:1;7324;7317:12;7271:60;7221:116;:::o;7343:133::-;7386:5;7424:6;7411:20;7402:29;;7440:30;7464:5;7440:30;:::i;:::-;7343:133;;;;:::o;7482:468::-;7547:6;7555;7604:2;7592:9;7583:7;7579:23;7575:32;7572:119;;;7610:79;;:::i;:::-;7572:119;7730:1;7755:53;7800:7;7791:6;7780:9;7776:22;7755:53;:::i;:::-;7745:63;;7701:117;7857:2;7883:50;7925:7;7916:6;7905:9;7901:22;7883:50;:::i;:::-;7873:60;;7828:115;7482:468;;;;;:::o;7956:474::-;8024:6;8032;8081:2;8069:9;8060:7;8056:23;8052:32;8049:119;;;8087:79;;:::i;:::-;8049:119;8207:1;8232:53;8277:7;8268:6;8257:9;8253:22;8232:53;:::i;:::-;8222:63;;8178:117;8334:2;8360:53;8405:7;8396:6;8385:9;8381:22;8360:53;:::i;:::-;8350:63;;8305:118;7956:474;;;;;:::o;8436:180::-;8484:77;8481:1;8474:88;8581:4;8578:1;8571:15;8605:4;8602:1;8595:15;8622:320;8666:6;8703:1;8697:4;8693:12;8683:22;;8750:1;8744:4;8740:12;8771:18;8761:81;;8827:4;8819:6;8815:17;8805:27;;8761:81;8889:2;8881:6;8878:14;8858:18;8855:38;8852:84;;8908:18;;:::i;:::-;8852:84;8673:269;8622:320;;;:::o;8948:180::-;8996:77;8993:1;8986:88;9093:4;9090:1;9083:15;9117:4;9114:1;9107:15;9134:191;9174:3;9193:20;9211:1;9193:20;:::i;:::-;9188:25;;9227:20;9245:1;9227:20;:::i;:::-;9222:25;;9270:1;9267;9263:9;9256:16;;9291:3;9288:1;9285:10;9282:36;;;9298:18;;:::i;:::-;9282:36;9134:191;;;;:::o;9331:173::-;9471:25;9467:1;9459:6;9455:14;9448:49;9331:173;:::o;9510:366::-;9652:3;9673:67;9737:2;9732:3;9673:67;:::i;:::-;9666:74;;9749:93;9838:3;9749:93;:::i;:::-;9867:2;9862:3;9858:12;9851:19;;9510:366;;;:::o;9882:419::-;10048:4;10086:2;10075:9;10071:18;10063:26;;10135:9;10129:4;10125:20;10121:1;10110:9;10106:17;10099:47;10163:131;10289:4;10163:131;:::i;:::-;10155:139;;9882:419;;;:::o;10307:85::-;10352:7;10381:5;10370:16;;10307:85;;;:::o;10398:158::-;10456:9;10489:61;10507:42;10516:32;10542:5;10516:32;:::i;:::-;10507:42;:::i;:::-;10489:61;:::i;:::-;10476:74;;10398:158;;;:::o;10562:147::-;10657:45;10696:5;10657:45;:::i;:::-;10652:3;10645:58;10562:147;;:::o;10715:807::-;10964:4;11002:3;10991:9;10987:19;10979:27;;11016:71;11084:1;11073:9;11069:17;11060:6;11016:71;:::i;:::-;11097:72;11165:2;11154:9;11150:18;11141:6;11097:72;:::i;:::-;11179:80;11255:2;11244:9;11240:18;11231:6;11179:80;:::i;:::-;11269;11345:2;11334:9;11330:18;11321:6;11269:80;:::i;:::-;11359:73;11427:3;11416:9;11412:19;11403:6;11359:73;:::i;:::-;11442;11510:3;11499:9;11495:19;11486:6;11442:73;:::i;:::-;10715:807;;;;;;;;;:::o;11528:143::-;11585:5;11616:6;11610:13;11601:22;;11632:33;11659:5;11632:33;:::i;:::-;11528:143;;;;:::o;11677:663::-;11765:6;11773;11781;11830:2;11818:9;11809:7;11805:23;11801:32;11798:119;;;11836:79;;:::i;:::-;11798:119;11956:1;11981:64;12037:7;12028:6;12017:9;12013:22;11981:64;:::i;:::-;11971:74;;11927:128;12094:2;12120:64;12176:7;12167:6;12156:9;12152:22;12120:64;:::i;:::-;12110:74;;12065:129;12233:2;12259:64;12315:7;12306:6;12295:9;12291:22;12259:64;:::i;:::-;12249:74;;12204:129;11677:663;;;;;:::o;12346:332::-;12467:4;12505:2;12494:9;12490:18;12482:26;;12518:71;12586:1;12575:9;12571:17;12562:6;12518:71;:::i;:::-;12599:72;12667:2;12656:9;12652:18;12643:6;12599:72;:::i;:::-;12346:332;;;;;:::o;12684:137::-;12738:5;12769:6;12763:13;12754:22;;12785:30;12809:5;12785:30;:::i;:::-;12684:137;;;;:::o;12827:345::-;12894:6;12943:2;12931:9;12922:7;12918:23;12914:32;12911:119;;;12949:79;;:::i;:::-;12911:119;13069:1;13094:61;13147:7;13138:6;13127:9;13123:22;13094:61;:::i;:::-;13084:71;;13040:125;12827:345;;;;:::o;13178:179::-;13318:31;13314:1;13306:6;13302:14;13295:55;13178:179;:::o;13363:366::-;13505:3;13526:67;13590:2;13585:3;13526:67;:::i;:::-;13519:74;;13602:93;13691:3;13602:93;:::i;:::-;13720:2;13715:3;13711:12;13704:19;;13363:366;;;:::o;13735:419::-;13901:4;13939:2;13928:9;13924:18;13916:26;;13988:9;13982:4;13978:20;13974:1;13963:9;13959:17;13952:47;14016:131;14142:4;14016:131;:::i;:::-;14008:139;;13735:419;;;:::o;14160:410::-;14200:7;14223:20;14241:1;14223:20;:::i;:::-;14218:25;;14257:20;14275:1;14257:20;:::i;:::-;14252:25;;14312:1;14309;14305:9;14334:30;14352:11;14334:30;:::i;:::-;14323:41;;14513:1;14504:7;14500:15;14497:1;14494:22;14474:1;14467:9;14447:83;14424:139;;14543:18;;:::i;:::-;14424:139;14208:362;14160:410;;;;:::o;14576:180::-;14624:77;14621:1;14614:88;14721:4;14718:1;14711:15;14745:4;14742:1;14735:15;14762:185;14802:1;14819:20;14837:1;14819:20;:::i;:::-;14814:25;;14853:20;14871:1;14853:20;:::i;:::-;14848:25;;14892:1;14882:35;;14897:18;;:::i;:::-;14882:35;14939:1;14936;14932:9;14927:14;;14762:185;;;;:::o;14953:244::-;15093:34;15089:1;15081:6;15077:14;15070:58;15162:27;15157:2;15149:6;15145:15;15138:52;14953:244;:::o;15203:366::-;15345:3;15366:67;15430:2;15425:3;15366:67;:::i;:::-;15359:74;;15442:93;15531:3;15442:93;:::i;:::-;15560:2;15555:3;15551:12;15544:19;;15203:366;;;:::o;15575:419::-;15741:4;15779:2;15768:9;15764:18;15756:26;;15828:9;15822:4;15818:20;15814:1;15803:9;15799:17;15792:47;15856:131;15982:4;15856:131;:::i;:::-;15848:139;;15575:419;;;:::o;16000:224::-;16140:34;16136:1;16128:6;16124:14;16117:58;16209:7;16204:2;16196:6;16192:15;16185:32;16000:224;:::o;16230:366::-;16372:3;16393:67;16457:2;16452:3;16393:67;:::i;:::-;16386:74;;16469:93;16558:3;16469:93;:::i;:::-;16587:2;16582:3;16578:12;16571:19;;16230:366;;;:::o;16602:419::-;16768:4;16806:2;16795:9;16791:18;16783:26;;16855:9;16849:4;16845:20;16841:1;16830:9;16826:17;16819:47;16883:131;17009:4;16883:131;:::i;:::-;16875:139;;16602:419;;;:::o;17027:225::-;17167:34;17163:1;17155:6;17151:14;17144:58;17236:8;17231:2;17223:6;17219:15;17212:33;17027:225;:::o;17258:366::-;17400:3;17421:67;17485:2;17480:3;17421:67;:::i;:::-;17414:74;;17497:93;17586:3;17497:93;:::i;:::-;17615:2;17610:3;17606:12;17599:19;;17258:366;;;:::o;17630:419::-;17796:4;17834:2;17823:9;17819:18;17811:26;;17883:9;17877:4;17873:20;17869:1;17858:9;17854:17;17847:47;17911:131;18037:4;17911:131;:::i;:::-;17903:139;;17630:419;;;:::o;18055:223::-;18195:34;18191:1;18183:6;18179:14;18172:58;18264:6;18259:2;18251:6;18247:15;18240:31;18055:223;:::o;18284:366::-;18426:3;18447:67;18511:2;18506:3;18447:67;:::i;:::-;18440:74;;18523:93;18612:3;18523:93;:::i;:::-;18641:2;18636:3;18632:12;18625:19;;18284:366;;;:::o;18656:419::-;18822:4;18860:2;18849:9;18845:18;18837:26;;18909:9;18903:4;18899:20;18895:1;18884:9;18880:17;18873:47;18937:131;19063:4;18937:131;:::i;:::-;18929:139;;18656:419;;;:::o;19081:221::-;19221:34;19217:1;19209:6;19205:14;19198:58;19290:4;19285:2;19277:6;19273:15;19266:29;19081:221;:::o;19308:366::-;19450:3;19471:67;19535:2;19530:3;19471:67;:::i;:::-;19464:74;;19547:93;19636:3;19547:93;:::i;:::-;19665:2;19660:3;19656:12;19649:19;;19308:366;;;:::o;19680:419::-;19846:4;19884:2;19873:9;19869:18;19861:26;;19933:9;19927:4;19923:20;19919:1;19908:9;19904:17;19897:47;19961:131;20087:4;19961:131;:::i;:::-;19953:139;;19680:419;;;:::o;20105:182::-;20245:34;20241:1;20233:6;20229:14;20222:58;20105:182;:::o;20293:366::-;20435:3;20456:67;20520:2;20515:3;20456:67;:::i;:::-;20449:74;;20532:93;20621:3;20532:93;:::i;:::-;20650:2;20645:3;20641:12;20634:19;;20293:366;;;:::o;20665:419::-;20831:4;20869:2;20858:9;20854:18;20846:26;;20918:9;20912:4;20908:20;20904:1;20893:9;20889:17;20882:47;20946:131;21072:4;20946:131;:::i;:::-;20938:139;;20665:419;;;:::o;21090:179::-;21230:31;21226:1;21218:6;21214:14;21207:55;21090:179;:::o;21275:366::-;21417:3;21438:67;21502:2;21497:3;21438:67;:::i;:::-;21431:74;;21514:93;21603:3;21514:93;:::i;:::-;21632:2;21627:3;21623:12;21616:19;;21275:366;;;:::o;21647:419::-;21813:4;21851:2;21840:9;21836:18;21828:26;;21900:9;21894:4;21890:20;21886:1;21875:9;21871:17;21864:47;21928:131;22054:4;21928:131;:::i;:::-;21920:139;;21647:419;;;:::o;22072:224::-;22212:34;22208:1;22200:6;22196:14;22189:58;22281:7;22276:2;22268:6;22264:15;22257:32;22072:224;:::o;22302:366::-;22444:3;22465:67;22529:2;22524:3;22465:67;:::i;:::-;22458:74;;22541:93;22630:3;22541:93;:::i;:::-;22659:2;22654:3;22650:12;22643:19;;22302:366;;;:::o;22674:419::-;22840:4;22878:2;22867:9;22863:18;22855:26;;22927:9;22921:4;22917:20;22913:1;22902:9;22898:17;22891:47;22955:131;23081:4;22955:131;:::i;:::-;22947:139;;22674:419;;;:::o;23099:222::-;23239:34;23235:1;23227:6;23223:14;23216:58;23308:5;23303:2;23295:6;23291:15;23284:30;23099:222;:::o;23327:366::-;23469:3;23490:67;23554:2;23549:3;23490:67;:::i;:::-;23483:74;;23566:93;23655:3;23566:93;:::i;:::-;23684:2;23679:3;23675:12;23668:19;;23327:366;;;:::o;23699:419::-;23865:4;23903:2;23892:9;23888:18;23880:26;;23952:9;23946:4;23942:20;23938:1;23927:9;23923:17;23916:47;23980:131;24106:4;23980:131;:::i;:::-;23972:139;;23699:419;;;:::o;24124:172::-;24264:24;24260:1;24252:6;24248:14;24241:48;24124:172;:::o;24302:366::-;24444:3;24465:67;24529:2;24524:3;24465:67;:::i;:::-;24458:74;;24541:93;24630:3;24541:93;:::i;:::-;24659:2;24654:3;24650:12;24643:19;;24302:366;;;:::o;24674:419::-;24840:4;24878:2;24867:9;24863:18;24855:26;;24927:9;24921:4;24917:20;24913:1;24902:9;24898:17;24891:47;24955:131;25081:4;24955:131;:::i;:::-;24947:139;;24674:419;;;:::o;25099:240::-;25239:34;25235:1;25227:6;25223:14;25216:58;25308:23;25303:2;25295:6;25291:15;25284:48;25099:240;:::o;25345:366::-;25487:3;25508:67;25572:2;25567:3;25508:67;:::i;:::-;25501:74;;25584:93;25673:3;25584:93;:::i;:::-;25702:2;25697:3;25693:12;25686:19;;25345:366;;;:::o;25717:419::-;25883:4;25921:2;25910:9;25906:18;25898:26;;25970:9;25964:4;25960:20;25956:1;25945:9;25941:17;25934:47;25998:131;26124:4;25998:131;:::i;:::-;25990:139;;25717:419;;;:::o;26142:169::-;26282:21;26278:1;26270:6;26266:14;26259:45;26142:169;:::o;26317:366::-;26459:3;26480:67;26544:2;26539:3;26480:67;:::i;:::-;26473:74;;26556:93;26645:3;26556:93;:::i;:::-;26674:2;26669:3;26665:12;26658:19;;26317:366;;;:::o;26689:419::-;26855:4;26893:2;26882:9;26878:18;26870:26;;26942:9;26936:4;26932:20;26928:1;26917:9;26913:17;26906:47;26970:131;27096:4;26970:131;:::i;:::-;26962:139;;26689:419;;;:::o;27114:241::-;27254:34;27250:1;27242:6;27238:14;27231:58;27323:24;27318:2;27310:6;27306:15;27299:49;27114:241;:::o;27361:366::-;27503:3;27524:67;27588:2;27583:3;27524:67;:::i;:::-;27517:74;;27600:93;27689:3;27600:93;:::i;:::-;27718:2;27713:3;27709:12;27702:19;;27361:366;;;:::o;27733:419::-;27899:4;27937:2;27926:9;27922:18;27914:26;;27986:9;27980:4;27976:20;27972:1;27961:9;27957:17;27950:47;28014:131;28140:4;28014:131;:::i;:::-;28006:139;;27733:419;;;:::o;28158:194::-;28198:4;28218:20;28236:1;28218:20;:::i;:::-;28213:25;;28252:20;28270:1;28252:20;:::i;:::-;28247:25;;28296:1;28293;28289:9;28281:17;;28320:1;28314:4;28311:11;28308:37;;;28325:18;;:::i;:::-;28308:37;28158:194;;;;:::o;28358:220::-;28498:34;28494:1;28486:6;28482:14;28475:58;28567:3;28562:2;28554:6;28550:15;28543:28;28358:220;:::o;28584:366::-;28726:3;28747:67;28811:2;28806:3;28747:67;:::i;:::-;28740:74;;28823:93;28912:3;28823:93;:::i;:::-;28941:2;28936:3;28932:12;28925:19;;28584:366;;;:::o;28956:419::-;29122:4;29160:2;29149:9;29145:18;29137:26;;29209:9;29203:4;29199:20;29195:1;29184:9;29180:17;29173:47;29237:131;29363:4;29237:131;:::i;:::-;29229:139;;28956:419;;;:::o;29381:221::-;29521:34;29517:1;29509:6;29505:14;29498:58;29590:4;29585:2;29577:6;29573:15;29566:29;29381:221;:::o;29608:366::-;29750:3;29771:67;29835:2;29830:3;29771:67;:::i;:::-;29764:74;;29847:93;29936:3;29847:93;:::i;:::-;29965:2;29960:3;29956:12;29949:19;;29608:366;;;:::o;29980:419::-;30146:4;30184:2;30173:9;30169:18;30161:26;;30233:9;30227:4;30223:20;30219:1;30208:9;30204:17;30197:47;30261:131;30387:4;30261:131;:::i;:::-;30253:139;;29980:419;;;:::o;30405:180::-;30453:77;30450:1;30443:88;30550:4;30547:1;30540:15;30574:4;30571:1;30564:15;30591:180;30639:77;30636:1;30629:88;30736:4;30733:1;30726:15;30760:4;30757:1;30750:15;30777:143;30834:5;30865:6;30859:13;30850:22;;30881:33;30908:5;30881:33;:::i;:::-;30777:143;;;;:::o;30926:351::-;30996:6;31045:2;31033:9;31024:7;31020:23;31016:32;31013:119;;;31051:79;;:::i;:::-;31013:119;31171:1;31196:64;31252:7;31243:6;31232:9;31228:22;31196:64;:::i;:::-;31186:74;;31142:128;30926:351;;;;:::o;31283:114::-;31350:6;31384:5;31378:12;31368:22;;31283:114;;;:::o;31403:184::-;31502:11;31536:6;31531:3;31524:19;31576:4;31571:3;31567:14;31552:29;;31403:184;;;;:::o;31593:132::-;31660:4;31683:3;31675:11;;31713:4;31708:3;31704:14;31696:22;;31593:132;;;:::o;31731:108::-;31808:24;31826:5;31808:24;:::i;:::-;31803:3;31796:37;31731:108;;:::o;31845:179::-;31914:10;31935:46;31977:3;31969:6;31935:46;:::i;:::-;32013:4;32008:3;32004:14;31990:28;;31845:179;;;;:::o;32030:113::-;32100:4;32132;32127:3;32123:14;32115:22;;32030:113;;;:::o;32179:732::-;32298:3;32327:54;32375:5;32327:54;:::i;:::-;32397:86;32476:6;32471:3;32397:86;:::i;:::-;32390:93;;32507:56;32557:5;32507:56;:::i;:::-;32586:7;32617:1;32602:284;32627:6;32624:1;32621:13;32602:284;;;32703:6;32697:13;32730:63;32789:3;32774:13;32730:63;:::i;:::-;32723:70;;32816:60;32869:6;32816:60;:::i;:::-;32806:70;;32662:224;32649:1;32646;32642:9;32637:14;;32602:284;;;32606:14;32902:3;32895:10;;32303:608;;;32179:732;;;;:::o;32917:831::-;33180:4;33218:3;33207:9;33203:19;33195:27;;33232:71;33300:1;33289:9;33285:17;33276:6;33232:71;:::i;:::-;33313:80;33389:2;33378:9;33374:18;33365:6;33313:80;:::i;:::-;33440:9;33434:4;33430:20;33425:2;33414:9;33410:18;33403:48;33468:108;33571:4;33562:6;33468:108;:::i;:::-;33460:116;;33586:72;33654:2;33643:9;33639:18;33630:6;33586:72;:::i;:::-;33668:73;33736:3;33725:9;33721:19;33712:6;33668:73;:::i;:::-;32917:831;;;;;;;;:::o;33754:225::-;33894:34;33890:1;33882:6;33878:14;33871:58;33963:8;33958:2;33950:6;33946:15;33939:33;33754:225;:::o;33985:366::-;34127:3;34148:67;34212:2;34207:3;34148:67;:::i;:::-;34141:74;;34224:93;34313:3;34224:93;:::i;:::-;34342:2;34337:3;34333:12;34326:19;;33985:366;;;:::o;34357:419::-;34523:4;34561:2;34550:9;34546:18;34538:26;;34610:9;34604:4;34600:20;34596:1;34585:9;34581:17;34574:47;34638:131;34764:4;34638:131;:::i;:::-;34630:139;;34357:419;;;:::o
Swarm Source
ipfs://293e993179a5568394e5278a47b3295e2bf01d887b7e61e78d78c5cee496bcfe
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.