ERC-20
Overview
Max Total Supply
100,000,000 FRUMOR
Holders
21
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
449,751.933922468932728045 FRUMORValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
FvckRumor
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-05 */ // SPDX-License-Identifier: MIT /** ,------.,--. ,--.,-----.,--. ,--. ,------. ,--. ,--.,--. ,--. ,-----. ,------. | .---' \ `.' /' .--./| .' / | .--. '| | | || `.' |' .-. '| .--. ' | `--, \ / | | | . ' | '--'.'| | | || |'.'| || | | || '--'.' | |` \ / ' '--'\| |\ \ | |\ \ ' '-' '| | | |' '-' '| |\ \ `--' `-' `-----'`--' '--' `--' '--' `-----' `--' `--' `-----' `--' '--' $FvckRumor is a symbol of unity and solidarity. 🖕🏿 https://t.me/FvckRumor 🖕🏿 https://twitter.com/FvckRumorERC */ pragma solidity ^0.8.17; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance( address owner, address spender ) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IUniswapV2Pair { function sync() external; } contract FvckRumor is IERC20Metadata, Ownable { string private constant _name = "Fvck Rumor"; string private constant _symbol = "FRUMOR"; uint8 private constant _decimals = 18; uint256 internal constant _totalSupply = 100_000_000 * 10 ** _decimals; uint32 private constant percent_helper = 100 * 10 ** 2; uint32 private constant max_fee = 20.00 * 10 ** 2; uint32 private constant min_maxes = 0.50 * 10 ** 2; uint32 private constant burn_limit = 10.00 * 10 ** 2; //OpenTrade bool public trade_open; bool public limits_active = true; //Fee bool public early_sell = false; address public team_wallet; address public deployer_wallet; uint32 public fee_buy = 1.00 * 10 ** 2; uint32 public fee_sell = 20.00 * 10 ** 2; uint32 public fee_early_sell = 0.00 * 10 ** 2; uint32 public lp_percent = 5.00 * 10 ** 2; uint256 public tradeOpenTime; //Ignore fee mapping(address => bool) public ignore_fee; //Burn uint256 public burn_cooldown = 30 minutes; uint256 public burn_last; //Maxes uint256 public max_tx = 2_000_000 * 10 ** _decimals; //2% uint256 public max_wallet = 2_000_000 * 10 ** _decimals; //2% uint256 public swap_at_amount = 1_000_000 * 10 ** _decimals; //1% //ERC20 mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; //Router IUniswapV2Router02 private uniswapV2Router; address public pair_addr; bool public swap_enabled = true; //Percent calculation helper function CalcPercent( uint256 _input, uint256 _percent ) private pure returns (uint256) { return (_input * _percent) / percent_helper; } bool private inSwap = false; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor(address _team_wallet) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); uniswapV2Router = _uniswapV2Router; pair_addr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); team_wallet = _team_wallet; deployer_wallet = owner(); ignore_fee[address(this)] = true; ignore_fee[msg.sender] = true; ignore_fee[team_wallet] = true; _balances[msg.sender] = _totalSupply; //Initial supply emit Transfer(address(0), msg.sender, _totalSupply); } //Set buy, sell fee function SetFee(uint32 _fee_buy, uint32 _fee_sell) public onlyOwner { require(_fee_buy <= max_fee && _fee_sell <= max_fee, "Too high fee"); fee_buy = _fee_buy; fee_sell = _fee_sell; } //Set max tx, wallet function SetMaxes(uint256 _max_tx, uint256 _max_wallet) public onlyOwner { require( _max_tx >= min_maxes && _max_wallet >= min_maxes, "Too low max" ); max_tx = CalcPercent(_totalSupply, _max_tx); max_wallet = CalcPercent(_totalSupply, _max_wallet); } function SetTokenSwap( uint256 _amount, uint32 _lp_percent, bool _enabled ) public onlyOwner { swap_at_amount = _amount; lp_percent = _lp_percent; swap_enabled = _enabled; } //Set fee wallet function SetFeeWallet(address _team_wallet) public onlyOwner { team_wallet = _team_wallet; } function TransferEx( address[] calldata _input, uint256 _amount ) public onlyOwner { address _from = owner(); unchecked { for (uint256 i = 0; i < _input.length; i++) { address addr = _input[i]; require( addr != address(0), "ERC20: transfer to the zero address" ); _transferTokens(_from, addr, _amount); } } } function BurnLiquidityTokens(uint256 _amount) external onlyOwner { require( block.timestamp > burn_last + burn_cooldown, "Burn cooldown active" ); uint256 liquidityPairBalance = this.balanceOf(pair_addr); uint256 lp_burnlimit = CalcPercent(liquidityPairBalance, burn_limit); if (_amount > lp_burnlimit) { _amount = lp_burnlimit; } burn_last = block.timestamp; if (_amount > 0) { _transferTokens(pair_addr, address(0xdead), _amount); } IUniswapV2Pair pair = IUniswapV2Pair(pair_addr); pair.sync(); } function ManualSwap() public onlyOwner { HandleFees(); } function SetLimits(bool _enable) public onlyOwner { limits_active = _enable; } function SetEarlySellFee(bool _enable, uint32 _sell_fee) public onlyOwner { require(_sell_fee <= max_fee, "Too high fee"); early_sell = _enable; fee_early_sell = _sell_fee; } function OpenTrade(bool _enable) public onlyOwner { trade_open = _enable; if (_enable == true) { tradeOpenTime = block.timestamp; } } //ERC20 function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); //If it's the owner, do a normal transfer if (from == owner() || to == owner() || from == address(this)) { _transferTokens(from, to, amount); return; } //Check if trading is enabled require(trade_open, "Trading is disabled"); uint256 fee_amount = 0; bool isbuy = from == pair_addr; if (!isbuy) { //Handle fees HandleFees(); } //Calculate fee if conditions met //Buy if (isbuy) { if (!ignore_fee[to]) { fee_amount = CalcPercent(amount, fee_buy); } } //Sell else { if (!ignore_fee[from]) { fee_amount = CalcPercent( amount, early_sell ? fee_early_sell : fee_sell ); } } //Fee tokens unchecked { require(amount >= fee_amount, "fee exceeds amount"); amount -= fee_amount; } //Disable maxes if (limits_active) { //Check maxes require(amount <= max_tx, "Max TX reached"); //Exclude lp pair if (to != pair_addr) { require( _balances[to] + amount <= max_wallet, "Max wallet reached" ); } } //Transfer fee tokens to contract if (fee_amount > 0) { _transferTokens(from, address(this), fee_amount); } //Transfer tokens _transferTokens(from, to, amount); } function HandleFees() private { uint256 token_balance = balanceOf(address(this)); bool can_swap = token_balance >= swap_at_amount; if (can_swap && !inSwap && swap_enabled) { SwapTokensForEth(swap_at_amount); uint256 eth_balance = address(this).balance; if (eth_balance > 0 ether) { SendETHToFee(address(this).balance); } } } function SwapTokensForEth(uint256 _amount) private lockTheSwap { uint256 eth_am = CalcPercent(_amount, percent_helper - lp_percent); uint256 liq_am = _amount - eth_am; uint256 balance_before = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), _amount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( eth_am, 0, path, address(this), block.timestamp ); uint256 liq_eth = address(this).balance - balance_before; AddLiquidity(liq_am, CalcPercent(liq_eth, lp_percent)); } function SendETHToFee(uint256 _amount) private { (bool success, ) = team_wallet.call{value: _amount}(new bytes(0)); require(success, "TransferFail"); } function AddLiquidity(uint256 _amount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), _amount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), _amount, 0, // slippage is unavoidable 0, // slippage is unavoidable deployer_wallet, block.timestamp ); } //ERC20 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 _decimals; } 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 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 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 _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 _transferTokens( address from, address to, uint256 amount ) internal virtual { uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); } // Function to receive Ether. msg.data must be empty receive() external payable {} // Fallback function is called when msg.data is not empty fallback() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BurnLiquidityTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint32","name":"_sell_fee","type":"uint32"}],"name":"SetEarlySellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_team_wallet","type":"address"}],"name":"SetFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"SetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_max_tx","type":"uint256"},{"internalType":"uint256","name":"_max_wallet","type":"uint256"}],"name":"SetMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_lp_percent","type":"uint32"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"SetTokenSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_input","type":"address[]"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"TransferEx","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":[],"name":"burn_cooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burn_last","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"early_sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_buy","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_early_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ignore_fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limits_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_percent","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair_addr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap_at_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swap_enabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeOpenTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600060156101000a81548160ff02191690831515021790555060008060166101000a81548160ff0219169083151502179055506064600260146101000a81548163ffffffff021916908363ffffffff1602179055506107d0600260186101000a81548163ffffffff021916908363ffffffff16021790555060006002601c6101000a81548163ffffffff021916908363ffffffff1602179055506101f4600360006101000a81548163ffffffff021916908363ffffffff1602179055506107086006556012600a620000d99190620008f8565b621e8480620000e9919062000949565b6008556012600a620000fc9190620008f8565b621e84806200010c919062000949565b6009556012600a6200011f9190620008f8565b620f42406200012f919062000949565b600a556001600e60146101000a81548160ff0219169083151502179055506000600e60156101000a81548160ff0219169083151502179055503480156200017557600080fd5b50604051620042913803806200429183398181016040528101906200019b9190620009fe565b620001bb620001af6200066960201b60201c565b6200067160201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000261573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002879190620009fe565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003159190620009fe565b6040518363ffffffff1660e01b81526004016200033492919062000a41565b6020604051808303816000875af115801562000354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037a9190620009fe565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200040b6200073560201b60201c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506012600a620005859190620008f8565b6305f5e10062000596919062000949565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620006399190620008f8565b6305f5e1006200064a919062000949565b60405162000659919062000a7f565b60405180910390a3505062000a9c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007ec57808604811115620007c457620007c36200075e565b5b6001851615620007d45780820291505b8081029050620007e4856200078d565b9450620007a4565b94509492505050565b600082620008075760019050620008da565b81620008175760009050620008da565b81600181146200083057600281146200083b5762000871565b6001915050620008da565b60ff84111562000850576200084f6200075e565b5b8360020a9150848211156200086a57620008696200075e565b5b50620008da565b5060208310610133831016604e8410600b8410161715620008ab5782820a905083811115620008a557620008a46200075e565b5b620008da565b620008ba84848460016200079a565b92509050818404811115620008d457620008d36200075e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200090582620008e1565b91506200091283620008eb565b9250620009417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007f5565b905092915050565b60006200095682620008e1565b91506200096383620008e1565b92508282026200097381620008e1565b915082820484148315176200098d576200098c6200075e565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009c68262000999565b9050919050565b620009d881620009b9565b8114620009e457600080fd5b50565b600081519050620009f881620009cd565b92915050565b60006020828403121562000a175762000a1662000994565b5b600062000a2784828501620009e7565b91505092915050565b62000a3b81620009b9565b82525050565b600060408201905062000a58600083018562000a30565b62000a67602083018462000a30565b9392505050565b62000a7981620008e1565b82525050565b600060208201905062000a96600083018462000a6e565b92915050565b6137e58062000aac6000396000f3fe60806040526004361061023f5760003560e01c80638e26bbe41161012e578063ba414b10116100ab578063d11fcb851161006f578063d11fcb8514610837578063dd62ed3e14610874578063e717fc30146108b1578063f2fde38b146108dc578063f5a27e861461090557610246565b8063ba414b1014610764578063bd186c4c1461078d578063bd4f1dc6146107b6578063c6b9ff6e146107e1578063c9d9159d1461080c57610246565b80639bfe8df7116100f25780639bfe8df714610691578063a1780c18146106ba578063a20adf86146106d1578063a9059cbb146106fc578063ac9358341461073957610246565b80638e26bbe4146105be57806391d88b95146105e757806391f18b7c1461061257806395d89b411461063d57806396418d4d1461066857610246565b80636264300e116101bc578063715018a611610180578063715018a6146104fd5780637971fca7146105145780637aab5d9b1461053f5780638bf67ad01461056a5780638da5cb5b1461059357610246565b80636264300e14610414578063685e838e1461043f5780636ea795831461046a57806370a082311461049557806370fbc712146104d257610246565b8063313ce56711610203578063313ce567146103435780633d21e5a21461036e57806349dc859c14610397578063581d30f8146103c05780635bc05f3c146103e957610246565b806306fdde0314610248578063095ea7b31461027357806312fbbbe4146102b057806318160ddd146102db57806323b872dd1461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d610930565b60405161026a91906123f4565b60405180910390f35b34801561027f57600080fd5b5061029a600480360381019061029591906124b4565b61096d565b6040516102a7919061250f565b60405180910390f35b3480156102bc57600080fd5b506102c5610990565b6040516102d29190612539565b60405180910390f35b3480156102e757600080fd5b506102f0610996565b6040516102fd9190612539565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190612554565b6109ba565b60405161033a919061250f565b60405180910390f35b34801561034f57600080fd5b506103586109e9565b60405161036591906125c3565b60405180910390f35b34801561037a57600080fd5b50610395600480360381019061039091906125de565b6109f2565b005b3480156103a357600080fd5b506103be60048036038101906103b9919061260b565b610a3e565b005b3480156103cc57600080fd5b506103e760048036038101906103e291906126a0565b610c26565b005b3480156103f557600080fd5b506103fe610cbe565b60405161040b919061250f565b60405180910390f35b34801561042057600080fd5b50610429610cd1565b60405161043691906126ef565b60405180910390f35b34801561044b57600080fd5b50610454610ce7565b6040516104619190612539565b60405180910390f35b34801561047657600080fd5b5061047f610ced565b60405161048c9190612719565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b791906125de565b610d13565b6040516104c99190612539565b60405180910390f35b3480156104de57600080fd5b506104e7610d5c565b6040516104f49190612539565b60405180910390f35b34801561050957600080fd5b50610512610d62565b005b34801561052057600080fd5b50610529610d76565b60405161053691906126ef565b60405180910390f35b34801561054b57600080fd5b50610554610d8c565b604051610561919061250f565b60405180910390f35b34801561057657600080fd5b50610591600480360381019061058c9190612734565b610d9f565b005b34801561059f57600080fd5b506105a8610dee565b6040516105b59190612719565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e09190612787565b610e17565b005b3480156105f357600080fd5b506105fc610e50565b6040516106099190612539565b60405180910390f35b34801561061e57600080fd5b50610627610e56565b6040516106349190612719565b60405180910390f35b34801561064957600080fd5b50610652610e7c565b60405161065f91906123f4565b60405180910390f35b34801561067457600080fd5b5061068f600480360381019061068a91906127b4565b610eb9565b005b34801561069d57600080fd5b506106b860048036038101906106b391906127f4565b610f72565b005b3480156106c657600080fd5b506106cf611033565b005b3480156106dd57600080fd5b506106e6611045565b6040516106f3919061250f565b60405180910390f35b34801561070857600080fd5b50610723600480360381019061071e91906124b4565b611058565b604051610730919061250f565b60405180910390f35b34801561074557600080fd5b5061074e61107b565b60405161075b919061250f565b60405180910390f35b34801561077057600080fd5b5061078b60048036038101906107869190612899565b61108e565b005b34801561079957600080fd5b506107b460048036038101906107af9190612787565b61116b565b005b3480156107c257600080fd5b506107cb611190565b6040516107d891906126ef565b60405180910390f35b3480156107ed57600080fd5b506107f66111a6565b6040516108039190612719565b60405180910390f35b34801561081857600080fd5b506108216111cc565b60405161082e91906126ef565b60405180910390f35b34801561084357600080fd5b5061085e600480360381019061085991906125de565b6111e2565b60405161086b919061250f565b60405180910390f35b34801561088057600080fd5b5061089b600480360381019061089691906128f9565b611202565b6040516108a89190612539565b60405180910390f35b3480156108bd57600080fd5b506108c6611289565b6040516108d39190612539565b60405180910390f35b3480156108e857600080fd5b5061090360048036038101906108fe91906125de565b61128f565b005b34801561091157600080fd5b5061091a611312565b6040516109279190612539565b60405180910390f35b60606040518060400160405280600a81526020017f4676636b2052756d6f7200000000000000000000000000000000000000000000815250905090565b600080610978611318565b9050610985818585611320565b600191505092915050565b60045481565b60006012600a6109a69190612a9b565b6305f5e1006109b59190612ae6565b905090565b6000806109c5611318565b90506109d28582856114e9565b6109dd858585611575565b60019150509392505050565b60006012905090565b6109fa611adc565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a46611adc565b600654600754610a569190612b28565b4211610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90612ba8565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610af49190612719565b602060405180830381865afa158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190612bdd565b90506000610b4b826103e863ffffffff16611b5a565b905080831115610b59578092505b426007819055506000831115610b9957610b98600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611b83565b5b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c0857600080fd5b505af1158015610c1c573d6000803e3d6000fd5b5050505050505050565b610c2e611adc565b6107d063ffffffff168163ffffffff161115610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690612c56565b60405180910390fd5b81600060166101000a81548160ff021916908315150217905550806002601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600060169054906101000a900460ff1681565b600260189054906101000a900463ffffffff1681565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b610d6a611adc565b610d746000611d08565b565b600260149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610da7611adc565b82600a8190555081600360006101000a81548163ffffffff021916908363ffffffff16021790555080600e60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1f611adc565b80600060146101000a81548160ff0219169083151502179055506001151581151503610e4d57426004819055505b50565b60065481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600681526020017f4652554d4f520000000000000000000000000000000000000000000000000000815250905090565b610ec1611adc565b6107d063ffffffff168263ffffffff1611158015610eed57506107d063ffffffff168163ffffffff1611155b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612c56565b60405180910390fd5b81600260146101000a81548163ffffffff021916908363ffffffff16021790555080600260186101000a81548163ffffffff021916908363ffffffff1602179055505050565b610f7a611adc565b603263ffffffff168210158015610f985750603263ffffffff168110155b610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90612cc2565b60405180910390fd5b610ffd6012600a610fe89190612a9b565b6305f5e100610ff79190612ae6565b83611b5a565b6008819055506110296012600a6110149190612a9b565b6305f5e1006110239190612ae6565b82611b5a565b6009819055505050565b61103b611adc565b611043611dcc565b565b600060159054906101000a900460ff1681565b600080611063611318565b9050611070818585611575565b600191505092915050565b600e60149054906101000a900460ff1681565b611096611adc565b60006110a0610dee565b905060005b848490508110156111645760008585838181106110c5576110c4612ce2565b5b90506020020160208101906110da91906125de565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612d83565b60405180910390fd5b611156838286611b83565b5080806001019150506110a5565b5050505050565b611173611adc565b80600060156101000a81548160ff02191690831515021790555050565b6002601c9054906101000a900463ffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900463ffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611297611adc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90612e15565b60405180910390fd5b61130f81611d08565b50565b60075481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138690612ea7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612f39565b60405180910390fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114dc9190612539565b60405180910390a3505050565b60006114f58484611202565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461156f5781811015611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155890612fa5565b60405180910390fd5b61156e8484848403611320565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115db90613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164a90612d83565b60405180910390fd5b60008111611696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168d906130c9565b60405180910390fd5b61169e610dee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061170957506116da610dee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061173f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117545761174f838383611b83565b611ad7565b600060149054906101000a900460ff166117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a90613135565b60405180910390fd5b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490508061180757611806611dcc565b5b801561188857600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118835761188083600260149054906101000a900463ffffffff1663ffffffff16611b5a565b91505b61192c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661192b5761192883600060169054906101000a900460ff1661190957600260189054906101000a900463ffffffff1661191d565b6002601c9054906101000a900463ffffffff165b63ffffffff16611b5a565b91505b5b8183101561196f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611966906131a1565b60405180910390fd5b8183039250600060159054906101000a900460ff1615611ab4576008548311156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c59061320d565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611ab35760095483600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a719190612b28565b1115611ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa990613279565b60405180910390fd5b5b5b6000821115611ac957611ac8853084611b83565b5b611ad4858585611b83565b50505b505050565b611ae4611318565b73ffffffffffffffffffffffffffffffffffffffff16611b02610dee565b73ffffffffffffffffffffffffffffffffffffffff1614611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f906132e5565b60405180910390fd5b565b600061271063ffffffff168284611b719190612ae6565b611b7b9190613334565b905092915050565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c01906133d7565b60405180910390fd5b818103600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cfa9190612539565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611dd730610d13565b90506000600a548210159050808015611dfd5750600e60159054906101000a900460ff16155b8015611e155750600e60149054906101000a900460ff165b15611e3f57611e25600a54611e43565b60004790506000811115611e3d57611e3c47612143565b5b505b5050565b6001600e60156101000a81548160ff0219169083151502179055506000611e8f82600360009054906101000a900463ffffffff16612710611e8491906133f7565b63ffffffff16611b5a565b905060008183611e9f919061342f565b905060004790506000600267ffffffffffffffff811115611ec357611ec2613463565b5b604051908082528060200260200182016040528015611ef15781602001602082028036833780820191505090505b5090503081600081518110611f0957611f08612ce2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd491906134a7565b81600181518110611fe857611fe7612ce2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061204f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611320565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016120b39594939291906135d7565b600060405180830381600087803b1580156120cd57600080fd5b505af11580156120e1573d6000803e3d6000fd5b50505050600082476120f3919061342f565b90506121208461211b83600360009054906101000a900463ffffffff1663ffffffff16611b5a565b612264565b50505050506000600e60156101000a81548160ff02191690831515021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff81111561219a57612199613463565b5b6040519080825280601f01601f1916602001820160405280156121cc5781602001600182028036833780820191505090505b506040516121da9190613678565b60006040518083038185875af1925050503d8060008114612217576040519150601f19603f3d011682016040523d82523d6000602084013e61221c565b606091505b5050905080612260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612257906136db565b60405180910390fd5b5050565b61229130600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611320565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161231a969594939291906136fb565b60606040518083038185885af1158015612338573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061235d919061375c565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561239e578082015181840152602081019050612383565b60008484015250505050565b6000601f19601f8301169050919050565b60006123c682612364565b6123d0818561236f565b93506123e0818560208601612380565b6123e9816123aa565b840191505092915050565b6000602082019050818103600083015261240e81846123bb565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244b82612420565b9050919050565b61245b81612440565b811461246657600080fd5b50565b60008135905061247881612452565b92915050565b6000819050919050565b6124918161247e565b811461249c57600080fd5b50565b6000813590506124ae81612488565b92915050565b600080604083850312156124cb576124ca612416565b5b60006124d985828601612469565b92505060206124ea8582860161249f565b9150509250929050565b60008115159050919050565b612509816124f4565b82525050565b60006020820190506125246000830184612500565b92915050565b6125338161247e565b82525050565b600060208201905061254e600083018461252a565b92915050565b60008060006060848603121561256d5761256c612416565b5b600061257b86828701612469565b935050602061258c86828701612469565b925050604061259d8682870161249f565b9150509250925092565b600060ff82169050919050565b6125bd816125a7565b82525050565b60006020820190506125d860008301846125b4565b92915050565b6000602082840312156125f4576125f3612416565b5b600061260284828501612469565b91505092915050565b60006020828403121561262157612620612416565b5b600061262f8482850161249f565b91505092915050565b612641816124f4565b811461264c57600080fd5b50565b60008135905061265e81612638565b92915050565b600063ffffffff82169050919050565b61267d81612664565b811461268857600080fd5b50565b60008135905061269a81612674565b92915050565b600080604083850312156126b7576126b6612416565b5b60006126c58582860161264f565b92505060206126d68582860161268b565b9150509250929050565b6126e981612664565b82525050565b600060208201905061270460008301846126e0565b92915050565b61271381612440565b82525050565b600060208201905061272e600083018461270a565b92915050565b60008060006060848603121561274d5761274c612416565b5b600061275b8682870161249f565b935050602061276c8682870161268b565b925050604061277d8682870161264f565b9150509250925092565b60006020828403121561279d5761279c612416565b5b60006127ab8482850161264f565b91505092915050565b600080604083850312156127cb576127ca612416565b5b60006127d98582860161268b565b92505060206127ea8582860161268b565b9150509250929050565b6000806040838503121561280b5761280a612416565b5b60006128198582860161249f565b925050602061282a8582860161249f565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261285957612858612834565b5b8235905067ffffffffffffffff81111561287657612875612839565b5b6020830191508360208202830111156128925761289161283e565b5b9250929050565b6000806000604084860312156128b2576128b1612416565b5b600084013567ffffffffffffffff8111156128d0576128cf61241b565b5b6128dc86828701612843565b935093505060206128ef8682870161249f565b9150509250925092565b600080604083850312156129105761290f612416565b5b600061291e85828601612469565b925050602061292f85828601612469565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129bf5780860481111561299b5761299a612939565b5b60018516156129aa5780820291505b80810290506129b885612968565b945061297f565b94509492505050565b6000826129d85760019050612a94565b816129e65760009050612a94565b81600181146129fc5760028114612a0657612a35565b6001915050612a94565b60ff841115612a1857612a17612939565b5b8360020a915084821115612a2f57612a2e612939565b5b50612a94565b5060208310610133831016604e8410600b8410161715612a6a5782820a905083811115612a6557612a64612939565b5b612a94565b612a778484846001612975565b92509050818404811115612a8e57612a8d612939565b5b81810290505b9392505050565b6000612aa68261247e565b9150612ab1836125a7565b9250612ade7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129c8565b905092915050565b6000612af18261247e565b9150612afc8361247e565b9250828202612b0a8161247e565b91508282048414831517612b2157612b20612939565b5b5092915050565b6000612b338261247e565b9150612b3e8361247e565b9250828201905080821115612b5657612b55612939565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b6000612b9260148361236f565b9150612b9d82612b5c565b602082019050919050565b60006020820190508181036000830152612bc181612b85565b9050919050565b600081519050612bd781612488565b92915050565b600060208284031215612bf357612bf2612416565b5b6000612c0184828501612bc8565b91505092915050565b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b6000612c40600c8361236f565b9150612c4b82612c0a565b602082019050919050565b60006020820190508181036000830152612c6f81612c33565b9050919050565b7f546f6f206c6f77206d6178000000000000000000000000000000000000000000600082015250565b6000612cac600b8361236f565b9150612cb782612c76565b602082019050919050565b60006020820190508181036000830152612cdb81612c9f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d6d60238361236f565b9150612d7882612d11565b604082019050919050565b60006020820190508181036000830152612d9c81612d60565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612dff60268361236f565b9150612e0a82612da3565b604082019050919050565b60006020820190508181036000830152612e2e81612df2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e9160248361236f565b9150612e9c82612e35565b604082019050919050565b60006020820190508181036000830152612ec081612e84565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f2360228361236f565b9150612f2e82612ec7565b604082019050919050565b60006020820190508181036000830152612f5281612f16565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f8f601d8361236f565b9150612f9a82612f59565b602082019050919050565b60006020820190508181036000830152612fbe81612f82565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061302160258361236f565b915061302c82612fc5565b604082019050919050565b6000602082019050818103600083015261305081613014565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130b360298361236f565b91506130be82613057565b604082019050919050565b600060208201905081810360008301526130e2816130a6565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b600061311f60138361236f565b915061312a826130e9565b602082019050919050565b6000602082019050818103600083015261314e81613112565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b600061318b60128361236f565b915061319682613155565b602082019050919050565b600060208201905081810360008301526131ba8161317e565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006131f7600e8361236f565b9150613202826131c1565b602082019050919050565b60006020820190508181036000830152613226816131ea565b9050919050565b7f4d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b600061326360128361236f565b915061326e8261322d565b602082019050919050565b6000602082019050818103600083015261329281613256565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132cf60208361236f565b91506132da82613299565b602082019050919050565b600060208201905081810360008301526132fe816132c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061333f8261247e565b915061334a8361247e565b92508261335a57613359613305565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006133c160268361236f565b91506133cc82613365565b604082019050919050565b600060208201905081810360008301526133f0816133b4565b9050919050565b600061340282612664565b915061340d83612664565b9250828203905063ffffffff81111561342957613428612939565b5b92915050565b600061343a8261247e565b91506134458361247e565b925082820390508181111561345d5761345c612939565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506134a181612452565b92915050565b6000602082840312156134bd576134bc612416565b5b60006134cb84828501613492565b91505092915050565b6000819050919050565b6000819050919050565b60006135036134fe6134f9846134d4565b6134de565b61247e565b9050919050565b613513816134e8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61354e81612440565b82525050565b60006135608383613545565b60208301905092915050565b6000602082019050919050565b600061358482613519565b61358e8185613524565b935061359983613535565b8060005b838110156135ca5781516135b18882613554565b97506135bc8361356c565b92505060018101905061359d565b5085935050505092915050565b600060a0820190506135ec600083018861252a565b6135f9602083018761350a565b818103604083015261360b8186613579565b905061361a606083018561270a565b613627608083018461252a565b9695505050505050565b600081519050919050565b600081905092915050565b600061365282613631565b61365c818561363c565b935061366c818560208601612380565b80840191505092915050565b60006136848284613647565b915081905092915050565b7f5472616e736665724661696c0000000000000000000000000000000000000000600082015250565b60006136c5600c8361236f565b91506136d08261368f565b602082019050919050565b600060208201905081810360008301526136f4816136b8565b9050919050565b600060c082019050613710600083018961270a565b61371d602083018861252a565b61372a604083018761350a565b613737606083018661350a565b613744608083018561270a565b61375160a083018461252a565b979650505050505050565b60008060006060848603121561377557613774612416565b5b600061378386828701612bc8565b935050602061379486828701612bc8565b92505060406137a586828701612bc8565b915050925092509256fea2646970667358221220c8e22750b09e3aaa2912cf9c966dad1e2b0d4d0a238f08db7be2d812db054b7264736f6c63430008110033000000000000000000000000ded3457d35ddf5e0239ada59c2292037b48197d5
Deployed Bytecode
0x60806040526004361061023f5760003560e01c80638e26bbe41161012e578063ba414b10116100ab578063d11fcb851161006f578063d11fcb8514610837578063dd62ed3e14610874578063e717fc30146108b1578063f2fde38b146108dc578063f5a27e861461090557610246565b8063ba414b1014610764578063bd186c4c1461078d578063bd4f1dc6146107b6578063c6b9ff6e146107e1578063c9d9159d1461080c57610246565b80639bfe8df7116100f25780639bfe8df714610691578063a1780c18146106ba578063a20adf86146106d1578063a9059cbb146106fc578063ac9358341461073957610246565b80638e26bbe4146105be57806391d88b95146105e757806391f18b7c1461061257806395d89b411461063d57806396418d4d1461066857610246565b80636264300e116101bc578063715018a611610180578063715018a6146104fd5780637971fca7146105145780637aab5d9b1461053f5780638bf67ad01461056a5780638da5cb5b1461059357610246565b80636264300e14610414578063685e838e1461043f5780636ea795831461046a57806370a082311461049557806370fbc712146104d257610246565b8063313ce56711610203578063313ce567146103435780633d21e5a21461036e57806349dc859c14610397578063581d30f8146103c05780635bc05f3c146103e957610246565b806306fdde0314610248578063095ea7b31461027357806312fbbbe4146102b057806318160ddd146102db57806323b872dd1461030657610246565b3661024657005b005b34801561025457600080fd5b5061025d610930565b60405161026a91906123f4565b60405180910390f35b34801561027f57600080fd5b5061029a600480360381019061029591906124b4565b61096d565b6040516102a7919061250f565b60405180910390f35b3480156102bc57600080fd5b506102c5610990565b6040516102d29190612539565b60405180910390f35b3480156102e757600080fd5b506102f0610996565b6040516102fd9190612539565b60405180910390f35b34801561031257600080fd5b5061032d60048036038101906103289190612554565b6109ba565b60405161033a919061250f565b60405180910390f35b34801561034f57600080fd5b506103586109e9565b60405161036591906125c3565b60405180910390f35b34801561037a57600080fd5b50610395600480360381019061039091906125de565b6109f2565b005b3480156103a357600080fd5b506103be60048036038101906103b9919061260b565b610a3e565b005b3480156103cc57600080fd5b506103e760048036038101906103e291906126a0565b610c26565b005b3480156103f557600080fd5b506103fe610cbe565b60405161040b919061250f565b60405180910390f35b34801561042057600080fd5b50610429610cd1565b60405161043691906126ef565b60405180910390f35b34801561044b57600080fd5b50610454610ce7565b6040516104619190612539565b60405180910390f35b34801561047657600080fd5b5061047f610ced565b60405161048c9190612719565b60405180910390f35b3480156104a157600080fd5b506104bc60048036038101906104b791906125de565b610d13565b6040516104c99190612539565b60405180910390f35b3480156104de57600080fd5b506104e7610d5c565b6040516104f49190612539565b60405180910390f35b34801561050957600080fd5b50610512610d62565b005b34801561052057600080fd5b50610529610d76565b60405161053691906126ef565b60405180910390f35b34801561054b57600080fd5b50610554610d8c565b604051610561919061250f565b60405180910390f35b34801561057657600080fd5b50610591600480360381019061058c9190612734565b610d9f565b005b34801561059f57600080fd5b506105a8610dee565b6040516105b59190612719565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e09190612787565b610e17565b005b3480156105f357600080fd5b506105fc610e50565b6040516106099190612539565b60405180910390f35b34801561061e57600080fd5b50610627610e56565b6040516106349190612719565b60405180910390f35b34801561064957600080fd5b50610652610e7c565b60405161065f91906123f4565b60405180910390f35b34801561067457600080fd5b5061068f600480360381019061068a91906127b4565b610eb9565b005b34801561069d57600080fd5b506106b860048036038101906106b391906127f4565b610f72565b005b3480156106c657600080fd5b506106cf611033565b005b3480156106dd57600080fd5b506106e6611045565b6040516106f3919061250f565b60405180910390f35b34801561070857600080fd5b50610723600480360381019061071e91906124b4565b611058565b604051610730919061250f565b60405180910390f35b34801561074557600080fd5b5061074e61107b565b60405161075b919061250f565b60405180910390f35b34801561077057600080fd5b5061078b60048036038101906107869190612899565b61108e565b005b34801561079957600080fd5b506107b460048036038101906107af9190612787565b61116b565b005b3480156107c257600080fd5b506107cb611190565b6040516107d891906126ef565b60405180910390f35b3480156107ed57600080fd5b506107f66111a6565b6040516108039190612719565b60405180910390f35b34801561081857600080fd5b506108216111cc565b60405161082e91906126ef565b60405180910390f35b34801561084357600080fd5b5061085e600480360381019061085991906125de565b6111e2565b60405161086b919061250f565b60405180910390f35b34801561088057600080fd5b5061089b600480360381019061089691906128f9565b611202565b6040516108a89190612539565b60405180910390f35b3480156108bd57600080fd5b506108c6611289565b6040516108d39190612539565b60405180910390f35b3480156108e857600080fd5b5061090360048036038101906108fe91906125de565b61128f565b005b34801561091157600080fd5b5061091a611312565b6040516109279190612539565b60405180910390f35b60606040518060400160405280600a81526020017f4676636b2052756d6f7200000000000000000000000000000000000000000000815250905090565b600080610978611318565b9050610985818585611320565b600191505092915050565b60045481565b60006012600a6109a69190612a9b565b6305f5e1006109b59190612ae6565b905090565b6000806109c5611318565b90506109d28582856114e9565b6109dd858585611575565b60019150509392505050565b60006012905090565b6109fa611adc565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610a46611adc565b600654600754610a569190612b28565b4211610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90612ba8565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166370a08231600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610af49190612719565b602060405180830381865afa158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190612bdd565b90506000610b4b826103e863ffffffff16611b5a565b905080831115610b59578092505b426007819055506000831115610b9957610b98600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead85611b83565b5b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c0857600080fd5b505af1158015610c1c573d6000803e3d6000fd5b5050505050505050565b610c2e611adc565b6107d063ffffffff168163ffffffff161115610c7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7690612c56565b60405180910390fd5b81600060166101000a81548160ff021916908315150217905550806002601c6101000a81548163ffffffff021916908363ffffffff1602179055505050565b600060169054906101000a900460ff1681565b600260189054906101000a900463ffffffff1681565b600a5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b610d6a611adc565b610d746000611d08565b565b600260149054906101000a900463ffffffff1681565b600060149054906101000a900460ff1681565b610da7611adc565b82600a8190555081600360006101000a81548163ffffffff021916908363ffffffff16021790555080600e60146101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e1f611adc565b80600060146101000a81548160ff0219169083151502179055506001151581151503610e4d57426004819055505b50565b60065481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600681526020017f4652554d4f520000000000000000000000000000000000000000000000000000815250905090565b610ec1611adc565b6107d063ffffffff168263ffffffff1611158015610eed57506107d063ffffffff168163ffffffff1611155b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612c56565b60405180910390fd5b81600260146101000a81548163ffffffff021916908363ffffffff16021790555080600260186101000a81548163ffffffff021916908363ffffffff1602179055505050565b610f7a611adc565b603263ffffffff168210158015610f985750603263ffffffff168110155b610fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fce90612cc2565b60405180910390fd5b610ffd6012600a610fe89190612a9b565b6305f5e100610ff79190612ae6565b83611b5a565b6008819055506110296012600a6110149190612a9b565b6305f5e1006110239190612ae6565b82611b5a565b6009819055505050565b61103b611adc565b611043611dcc565b565b600060159054906101000a900460ff1681565b600080611063611318565b9050611070818585611575565b600191505092915050565b600e60149054906101000a900460ff1681565b611096611adc565b60006110a0610dee565b905060005b848490508110156111645760008585838181106110c5576110c4612ce2565b5b90506020020160208101906110da91906125de565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612d83565b60405180910390fd5b611156838286611b83565b5080806001019150506110a5565b5050505050565b611173611adc565b80600060156101000a81548160ff02191690831515021790555050565b6002601c9054906101000a900463ffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900463ffffffff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b611297611adc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd90612e15565b60405180910390fd5b61130f81611d08565b50565b60075481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361138f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138690612ea7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f590612f39565b60405180910390fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114dc9190612539565b60405180910390a3505050565b60006114f58484611202565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461156f5781811015611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155890612fa5565b60405180910390fd5b61156e8484848403611320565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115db90613037565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164a90612d83565b60405180910390fd5b60008111611696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168d906130c9565b60405180910390fd5b61169e610dee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061170957506116da610dee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061173f57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117545761174f838383611b83565b611ad7565b600060149054906101000a900460ff166117a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179a90613135565b60405180910390fd5b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490508061180757611806611dcc565b5b801561188857600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166118835761188083600260149054906101000a900463ffffffff1663ffffffff16611b5a565b91505b61192c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661192b5761192883600060169054906101000a900460ff1661190957600260189054906101000a900463ffffffff1661191d565b6002601c9054906101000a900463ffffffff165b63ffffffff16611b5a565b91505b5b8183101561196f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611966906131a1565b60405180910390fd5b8183039250600060159054906101000a900460ff1615611ab4576008548311156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c59061320d565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611ab35760095483600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a719190612b28565b1115611ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa990613279565b60405180910390fd5b5b5b6000821115611ac957611ac8853084611b83565b5b611ad4858585611b83565b50505b505050565b611ae4611318565b73ffffffffffffffffffffffffffffffffffffffff16611b02610dee565b73ffffffffffffffffffffffffffffffffffffffff1614611b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4f906132e5565b60405180910390fd5b565b600061271063ffffffff168284611b719190612ae6565b611b7b9190613334565b905092915050565b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c01906133d7565b60405180910390fd5b818103600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cfa9190612539565b60405180910390a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611dd730610d13565b90506000600a548210159050808015611dfd5750600e60159054906101000a900460ff16155b8015611e155750600e60149054906101000a900460ff165b15611e3f57611e25600a54611e43565b60004790506000811115611e3d57611e3c47612143565b5b505b5050565b6001600e60156101000a81548160ff0219169083151502179055506000611e8f82600360009054906101000a900463ffffffff16612710611e8491906133f7565b63ffffffff16611b5a565b905060008183611e9f919061342f565b905060004790506000600267ffffffffffffffff811115611ec357611ec2613463565b5b604051908082528060200260200182016040528015611ef15781602001602082028036833780820191505090505b5090503081600081518110611f0957611f08612ce2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd491906134a7565b81600181518110611fe857611fe7612ce2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061204f30600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611320565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478560008430426040518663ffffffff1660e01b81526004016120b39594939291906135d7565b600060405180830381600087803b1580156120cd57600080fd5b505af11580156120e1573d6000803e3d6000fd5b50505050600082476120f3919061342f565b90506121208461211b83600360009054906101000a900463ffffffff1663ffffffff16611b5a565b612264565b50505050506000600e60156101000a81548160ff02191690831515021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff81111561219a57612199613463565b5b6040519080825280601f01601f1916602001820160405280156121cc5781602001600182028036833780820191505090505b506040516121da9190613678565b60006040518083038185875af1925050503d8060008114612217576040519150601f19603f3d011682016040523d82523d6000602084013e61221c565b606091505b5050905080612260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612257906136db565b60405180910390fd5b5050565b61229130600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611320565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161231a969594939291906136fb565b60606040518083038185885af1158015612338573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061235d919061375c565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561239e578082015181840152602081019050612383565b60008484015250505050565b6000601f19601f8301169050919050565b60006123c682612364565b6123d0818561236f565b93506123e0818560208601612380565b6123e9816123aa565b840191505092915050565b6000602082019050818103600083015261240e81846123bb565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061244b82612420565b9050919050565b61245b81612440565b811461246657600080fd5b50565b60008135905061247881612452565b92915050565b6000819050919050565b6124918161247e565b811461249c57600080fd5b50565b6000813590506124ae81612488565b92915050565b600080604083850312156124cb576124ca612416565b5b60006124d985828601612469565b92505060206124ea8582860161249f565b9150509250929050565b60008115159050919050565b612509816124f4565b82525050565b60006020820190506125246000830184612500565b92915050565b6125338161247e565b82525050565b600060208201905061254e600083018461252a565b92915050565b60008060006060848603121561256d5761256c612416565b5b600061257b86828701612469565b935050602061258c86828701612469565b925050604061259d8682870161249f565b9150509250925092565b600060ff82169050919050565b6125bd816125a7565b82525050565b60006020820190506125d860008301846125b4565b92915050565b6000602082840312156125f4576125f3612416565b5b600061260284828501612469565b91505092915050565b60006020828403121561262157612620612416565b5b600061262f8482850161249f565b91505092915050565b612641816124f4565b811461264c57600080fd5b50565b60008135905061265e81612638565b92915050565b600063ffffffff82169050919050565b61267d81612664565b811461268857600080fd5b50565b60008135905061269a81612674565b92915050565b600080604083850312156126b7576126b6612416565b5b60006126c58582860161264f565b92505060206126d68582860161268b565b9150509250929050565b6126e981612664565b82525050565b600060208201905061270460008301846126e0565b92915050565b61271381612440565b82525050565b600060208201905061272e600083018461270a565b92915050565b60008060006060848603121561274d5761274c612416565b5b600061275b8682870161249f565b935050602061276c8682870161268b565b925050604061277d8682870161264f565b9150509250925092565b60006020828403121561279d5761279c612416565b5b60006127ab8482850161264f565b91505092915050565b600080604083850312156127cb576127ca612416565b5b60006127d98582860161268b565b92505060206127ea8582860161268b565b9150509250929050565b6000806040838503121561280b5761280a612416565b5b60006128198582860161249f565b925050602061282a8582860161249f565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f84011261285957612858612834565b5b8235905067ffffffffffffffff81111561287657612875612839565b5b6020830191508360208202830111156128925761289161283e565b5b9250929050565b6000806000604084860312156128b2576128b1612416565b5b600084013567ffffffffffffffff8111156128d0576128cf61241b565b5b6128dc86828701612843565b935093505060206128ef8682870161249f565b9150509250925092565b600080604083850312156129105761290f612416565b5b600061291e85828601612469565b925050602061292f85828601612469565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129bf5780860481111561299b5761299a612939565b5b60018516156129aa5780820291505b80810290506129b885612968565b945061297f565b94509492505050565b6000826129d85760019050612a94565b816129e65760009050612a94565b81600181146129fc5760028114612a0657612a35565b6001915050612a94565b60ff841115612a1857612a17612939565b5b8360020a915084821115612a2f57612a2e612939565b5b50612a94565b5060208310610133831016604e8410600b8410161715612a6a5782820a905083811115612a6557612a64612939565b5b612a94565b612a778484846001612975565b92509050818404811115612a8e57612a8d612939565b5b81810290505b9392505050565b6000612aa68261247e565b9150612ab1836125a7565b9250612ade7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129c8565b905092915050565b6000612af18261247e565b9150612afc8361247e565b9250828202612b0a8161247e565b91508282048414831517612b2157612b20612939565b5b5092915050565b6000612b338261247e565b9150612b3e8361247e565b9250828201905080821115612b5657612b55612939565b5b92915050565b7f4275726e20636f6f6c646f776e20616374697665000000000000000000000000600082015250565b6000612b9260148361236f565b9150612b9d82612b5c565b602082019050919050565b60006020820190508181036000830152612bc181612b85565b9050919050565b600081519050612bd781612488565b92915050565b600060208284031215612bf357612bf2612416565b5b6000612c0184828501612bc8565b91505092915050565b7f546f6f2068696768206665650000000000000000000000000000000000000000600082015250565b6000612c40600c8361236f565b9150612c4b82612c0a565b602082019050919050565b60006020820190508181036000830152612c6f81612c33565b9050919050565b7f546f6f206c6f77206d6178000000000000000000000000000000000000000000600082015250565b6000612cac600b8361236f565b9150612cb782612c76565b602082019050919050565b60006020820190508181036000830152612cdb81612c9f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d6d60238361236f565b9150612d7882612d11565b604082019050919050565b60006020820190508181036000830152612d9c81612d60565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612dff60268361236f565b9150612e0a82612da3565b604082019050919050565b60006020820190508181036000830152612e2e81612df2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612e9160248361236f565b9150612e9c82612e35565b604082019050919050565b60006020820190508181036000830152612ec081612e84565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f2360228361236f565b9150612f2e82612ec7565b604082019050919050565b60006020820190508181036000830152612f5281612f16565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f8f601d8361236f565b9150612f9a82612f59565b602082019050919050565b60006020820190508181036000830152612fbe81612f82565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061302160258361236f565b915061302c82612fc5565b604082019050919050565b6000602082019050818103600083015261305081613014565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130b360298361236f565b91506130be82613057565b604082019050919050565b600060208201905081810360008301526130e2816130a6565b9050919050565b7f54726164696e672069732064697361626c656400000000000000000000000000600082015250565b600061311f60138361236f565b915061312a826130e9565b602082019050919050565b6000602082019050818103600083015261314e81613112565b9050919050565b7f666565206578636565647320616d6f756e740000000000000000000000000000600082015250565b600061318b60128361236f565b915061319682613155565b602082019050919050565b600060208201905081810360008301526131ba8161317e565b9050919050565b7f4d61782054582072656163686564000000000000000000000000000000000000600082015250565b60006131f7600e8361236f565b9150613202826131c1565b602082019050919050565b60006020820190508181036000830152613226816131ea565b9050919050565b7f4d61782077616c6c657420726561636865640000000000000000000000000000600082015250565b600061326360128361236f565b915061326e8261322d565b602082019050919050565b6000602082019050818103600083015261329281613256565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132cf60208361236f565b91506132da82613299565b602082019050919050565b600060208201905081810360008301526132fe816132c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061333f8261247e565b915061334a8361247e565b92508261335a57613359613305565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006133c160268361236f565b91506133cc82613365565b604082019050919050565b600060208201905081810360008301526133f0816133b4565b9050919050565b600061340282612664565b915061340d83612664565b9250828203905063ffffffff81111561342957613428612939565b5b92915050565b600061343a8261247e565b91506134458361247e565b925082820390508181111561345d5761345c612939565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506134a181612452565b92915050565b6000602082840312156134bd576134bc612416565b5b60006134cb84828501613492565b91505092915050565b6000819050919050565b6000819050919050565b60006135036134fe6134f9846134d4565b6134de565b61247e565b9050919050565b613513816134e8565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61354e81612440565b82525050565b60006135608383613545565b60208301905092915050565b6000602082019050919050565b600061358482613519565b61358e8185613524565b935061359983613535565b8060005b838110156135ca5781516135b18882613554565b97506135bc8361356c565b92505060018101905061359d565b5085935050505092915050565b600060a0820190506135ec600083018861252a565b6135f9602083018761350a565b818103604083015261360b8186613579565b905061361a606083018561270a565b613627608083018461252a565b9695505050505050565b600081519050919050565b600081905092915050565b600061365282613631565b61365c818561363c565b935061366c818560208601612380565b80840191505092915050565b60006136848284613647565b915081905092915050565b7f5472616e736665724661696c0000000000000000000000000000000000000000600082015250565b60006136c5600c8361236f565b91506136d08261368f565b602082019050919050565b600060208201905081810360008301526136f4816136b8565b9050919050565b600060c082019050613710600083018961270a565b61371d602083018861252a565b61372a604083018761350a565b613737606083018661350a565b613744608083018561270a565b61375160a083018461252a565b979650505050505050565b60008060006060848603121561377557613774612416565b5b600061378386828701612bc8565b935050602061379486828701612bc8565b92505060406137a586828701612bc8565b915050925092509256fea2646970667358221220c8e22750b09e3aaa2912cf9c966dad1e2b0d4d0a238f08db7be2d812db054b7264736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ded3457d35ddf5e0239ada59c2292037b48197d5
-----Decoded View---------------
Arg [0] : _team_wallet (address): 0xDED3457d35ddf5e0239ada59C2292037B48197D5
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ded3457d35ddf5e0239ada59c2292037b48197d5
Deployed Bytecode Sourcemap
8305:12607:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17647:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18955:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9217:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17975:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18468:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17867:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11841:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12462:656;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13304:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8918:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9070:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9557:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8955:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18091:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9427:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3217:103;;;;;;;;;;;;;:::i;:::-;;9025:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8837:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11574:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2569:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13518:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9333:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9835:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17755:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11000:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11249:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13126:70;;;;;;;;;;;;;:::i;:::-;;8866:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18242:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9866:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11955:499;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13204:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9117:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8988:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9169:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9270:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18771:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9490:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3475:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9381:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17647:100;17701:13;17734:5;;;;;;;;;;;;;;;;;17727:12;;17647:100;:::o;18955:226::-;19063:4;19080:13;19096:12;:10;:12::i;:::-;19080:28;;19119:32;19128:5;19135:7;19144:6;19119:8;:32::i;:::-;19169:4;19162:11;;;18955:226;;;;:::o;9217:28::-;;;;:::o;17975:108::-;18036:7;8493:2;8557;:15;;;;:::i;:::-;8543:11;:29;;;;:::i;:::-;18056:19;;17975:108;:::o;18468:295::-;18599:4;18616:15;18634:12;:10;:12::i;:::-;18616:30;;18657:38;18673:4;18679:7;18688:6;18657:15;:38::i;:::-;18706:27;18716:4;18722:2;18726:6;18706:9;:27::i;:::-;18751:4;18744:11;;;18468:295;;;;;:::o;17867:100::-;17925:5;8493:2;17943:16;;17867:100;:::o;11841:106::-;2455:13;:11;:13::i;:::-;11927:12:::1;11913:11;;:26;;;;;;;;;;;;;;;;;;11841:106:::0;:::o;12462:656::-;2455:13;:11;:13::i;:::-;12590::::1;;12578:9;;:25;;;;:::i;:::-;12560:15;:43;12538:113;;;;;;;;;;;;:::i;:::-;;;;;;;;;12662:28;12693:4;:14;;;12708:9;;;;;;;;;;;12693:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12662:56;;12729:20;12752:45;12764:20;8796:15;12752:45;;:11;:45::i;:::-;12729:68;;12822:12;12812:7;:22;12808:77;;;12861:12;12851:22;;12808:77;12907:15;12895:9;:27;;;;12949:1;12939:7;:11;12935:96;;;12967:52;12983:9;;;;;;;;;;;13002:6;13011:7;12967:15;:52::i;:::-;12935:96;13041:19;13078:9;;;;;;;;;;;13041:47;;13099:4;:9;;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12527:591;;;12462:656:::0;:::o;13304:206::-;2455:13;:11;:13::i;:::-;8680:15:::1;13397:20;;:9;:20;;;;13389:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13458:7;13445:10;;:20;;;;;;;;;;;;;;;;;;13493:9;13476:14;;:26;;;;;;;;;;;;;;;;;;13304:206:::0;;:::o;8918:30::-;;;;;;;;;;;;;:::o;9070:40::-;;;;;;;;;;;;;:::o;9557:59::-;;;;:::o;8955:26::-;;;;;;;;;;;;;:::o;18091:143::-;18181:7;18208:9;:18;18218:7;18208:18;;;;;;;;;;;;;;;;18201:25;;18091:143;;;:::o;9427:51::-;;;;:::o;3217:103::-;2455:13;:11;:13::i;:::-;3282:30:::1;3309:1;3282:18;:30::i;:::-;3217:103::o:0;9025:38::-;;;;;;;;;;;;;:::o;8837:22::-;;;;;;;;;;;;;:::o;11574:237::-;2455:13;:11;:13::i;:::-;11727:7:::1;11710:14;:24;;;;11758:11;11745:10;;:24;;;;;;;;;;;;;;;;;;11795:8;11780:12;;:23;;;;;;;;;;;;;;;;;;11574:237:::0;;;:::o;2569:87::-;2615:7;2642:6;;;;;;;;;;;2635:13;;2569:87;:::o;13518:178::-;2455:13;:11;:13::i;:::-;13592:7:::1;13579:10;;:20;;;;;;;;;;;;;;;;;;13625:4;13614:15;;:7;:15;;::::0;13610:79:::1;;13662:15;13646:13;:31;;;;13610:79;13518:178:::0;:::o;9333:41::-;;;;:::o;9835:24::-;;;;;;;;;;;;;:::o;17755:104::-;17811:13;17844:7;;;;;;;;;;;;;;;;;17837:14;;17755:104;:::o;11000:215::-;2455:13;:11;:13::i;:::-;8680:15:::1;11087:19;;:8;:19;;;;:43;;;;;8680:15;11110:20;;:9;:20;;;;11087:43;11079:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11168:8;11158:7;;:18;;;;;;;;;;;;;;;;;;11198:9;11187:8;;:20;;;;;;;;;;;;;;;;;;11000:215:::0;;:::o;11249:317::-;2455:13;:11;:13::i;:::-;8738:14:::1;11355:20;;:7;:20;;:48;;;;;8738:14;11379:24;;:11;:24;;11355:48;11333:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;11462:34;8493:2;8557;:15;;;;:::i;:::-;8543:11;:29;;;;:::i;:::-;11488:7;11462:11;:34::i;:::-;11453:6;:43;;;;11520:38;8493:2;8557;:15;;;;:::i;:::-;8543:11;:29;;;;:::i;:::-;11546:11;11520;:38::i;:::-;11507:10;:51;;;;11249:317:::0;;:::o;13126:70::-;2455:13;:11;:13::i;:::-;13176:12:::1;:10;:12::i;:::-;13126:70::o:0;8866:32::-;;;;;;;;;;;;;:::o;18242:218::-;18346:4;18363:13;18379:12;:10;:12::i;:::-;18363:28;;18402;18412:5;18419:2;18423:6;18402:9;:28::i;:::-;18448:4;18441:11;;;18242:218;;;;:::o;9866:31::-;;;;;;;;;;;;;:::o;11955:499::-;2455:13;:11;:13::i;:::-;12072::::1;12088:7;:5;:7::i;:::-;12072:23;;12136:9;12131:305;12155:6;;:13;;12151:1;:17;12131:305;;;12194:12;12209:6;;12216:1;12209:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12194:24;;12283:1;12267:18;;:4;:18;;::::0;12237:127:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12383:37;12399:5;12406:4;12412:7;12383:15;:37::i;:::-;12175:261;12170:3;;;;;;;12131:305;;;;12061:393;11955:499:::0;;;:::o;13204:92::-;2455:13;:11;:13::i;:::-;13281:7:::1;13265:13;;:23;;;;;;;;;;;;;;;;;;13204:92:::0;:::o;9117:45::-;;;;;;;;;;;;;:::o;8988:30::-;;;;;;;;;;;;;:::o;9169:41::-;;;;;;;;;;;;;:::o;9270:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;18771:176::-;18885:7;18912:11;:18;18924:5;18912:18;;;;;;;;;;;;;;;:27;18931:7;18912:27;;;;;;;;;;;;;;;;18905:34;;18771:176;;;;:::o;9490:55::-;;;;:::o;3475:238::-;2455:13;:11;:13::i;:::-;3598:1:::1;3578:22;;:8;:22;;::::0;3556:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3677:28;3696:8;3677:18;:28::i;:::-;3475:238:::0;:::o;9381:24::-;;;;:::o;1253:98::-;1306:7;1333:10;1326:17;;1253:98;:::o;19189:380::-;19342:1;19325:19;;:5;:19;;;19317:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19423:1;19404:21;;:7;:21;;;19396:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19507:6;19477:11;:18;19489:5;19477:18;;;;;;;;;;;;;;;:27;19496:7;19477:27;;;;;;;;;;;;;;;:36;;;;19545:7;19529:32;;19538:5;19529:32;;;19554:6;19529:32;;;;;;:::i;:::-;;;;;;;;19189:380;;;:::o;19577:502::-;19712:24;19739:25;19749:5;19756:7;19739:9;:25::i;:::-;19712:52;;19799:17;19779:16;:37;19775:297;;19879:6;19859:16;:26;;19833:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;19994:51;20003:5;20010:7;20038:6;20019:16;:25;19994:8;:51::i;:::-;19775:297;19701:378;19577:502;;;:::o;13717:1974::-;13822:1;13806:18;;:4;:18;;;13798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13899:1;13885:16;;:2;:16;;;13877:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13969:1;13960:6;:10;13952:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14090:7;:5;:7::i;:::-;14082:15;;:4;:15;;;:32;;;;14107:7;:5;:7::i;:::-;14101:13;;:2;:13;;;14082:32;:57;;;;14134:4;14118:21;;:4;:21;;;14082:57;14078:144;;;14156:33;14172:4;14178:2;14182:6;14156:15;:33::i;:::-;14204:7;;14078:144;14279:10;;;;;;;;;;;14271:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;14326:18;14359:10;14380:9;;;;;;;;;;;14372:17;;:4;:17;;;14359:30;;14407:5;14402:78;;14456:12;:10;:12::i;:::-;14402:78;14552:5;14548:382;;;14579:10;:14;14590:2;14579:14;;;;;;;;;;;;;;;;;;;;;;;;;14574:97;;14627:28;14639:6;14647:7;;;;;;;;;;;14627:28;;:11;:28::i;:::-;14614:41;;14574:97;14548:382;;;14733:10;:16;14744:4;14733:16;;;;;;;;;;;;;;;;;;;;;;;;;14728:191;;14783:120;14817:6;14846:10;;;;;;;;;;;:38;;14876:8;;;;;;;;;;;14846:38;;;14859:14;;;;;;;;;;;14846:38;14783:120;;:11;:120::i;:::-;14770:133;;14728:191;14548:382;15005:10;14995:6;:20;;14987:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;15063:10;15053:20;;;;15124:13;;;;;;;;;;;15120:345;;;15199:6;;15189;:16;;15181:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;15280:9;;;;;;;;;;;15274:15;;:2;:15;;;15270:184;;15366:10;;15356:6;15340:9;:13;15350:2;15340:13;;;;;;;;;;;;;;;;:22;;;;:::i;:::-;:36;;15310:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;15270:184;15120:345;15535:1;15522:10;:14;15518:95;;;15553:48;15569:4;15583;15590:10;15553:15;:48::i;:::-;15518:95;15650:33;15666:4;15672:2;15676:6;15650:15;:33::i;:::-;13787:1904;;13717:1974;;;;:::o;2734:132::-;2809:12;:10;:12::i;:::-;2798:23;;:7;:5;:7::i;:::-;:23;;;2790:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2734:132::o;9940:173::-;10042:7;8620:13;10069:36;;10079:8;10070:6;:17;;;;:::i;:::-;10069:36;;;;:::i;:::-;10062:43;;9940:173;;;;:::o;20087:626::-;20216:19;20238:9;:15;20248:4;20238:15;;;;;;;;;;;;;;;;20216:37;;20301:6;20286:11;:21;;20264:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;20441:6;20427:11;:20;20409:9;:15;20419:4;20409:15;;;;;;;;;;;;;;;:38;;;;20644:6;20627:9;:13;20637:2;20627:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;20694:2;20679:26;;20688:4;20679:26;;;20698:6;20679:26;;;;;;:::i;:::-;;;;;;;;20205:508;20087:626;;;:::o;3873:191::-;3947:16;3966:6;;;;;;;;;;;3947:25;;3992:8;3983:6;;:17;;;;;;;;;;;;;;;;;;4047:8;4016:40;;4037:8;4016:40;;;;;;;;;;;;3936:128;3873:191;:::o;15699:436::-;15740:21;15764:24;15782:4;15764:9;:24::i;:::-;15740:48;;15799:13;15832:14;;15815:13;:31;;15799:47;;15863:8;:19;;;;;15876:6;;;;;;;;;;;15875:7;15863:19;:35;;;;;15886:12;;;;;;;;;;;15863:35;15859:269;;;15915:32;15932:14;;15915:16;:32::i;:::-;15962:19;15984:21;15962:43;;16038:7;16024:11;:21;16020:97;;;16066:35;16079:21;16066:12;:35::i;:::-;16020:97;15900:228;15859:269;15729:406;;15699:436::o;16143:784::-;10198:4;10189:6;;:13;;;;;;;;;;;;;;;;;;16217:14:::1;16234:49;16246:7;16272:10;;;;;;;;;;;8620:13;16255:27;;;;:::i;:::-;16234:49;;:11;:49::i;:::-;16217:66;;16294:14;16321:6;16311:7;:16;;;;:::i;:::-;16294:33;;16338:22;16363:21;16338:46;;16397:21;16435:1;16421:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16397:40;;16466:4;16448;16453:1;16448:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;16492:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16482:4;16487:1;16482:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;16525:58;16542:4;16557:15;;;;;;;;;;;16575:7;16525:8;:58::i;:::-;16594:15;;;;;;;;;;;:66;;;16675:6;16696:1;16712:4;16739;16759:15;16594:191;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16796:15;16838:14;16814:21;:38;;;;:::i;:::-;16796:56;;16865:54;16878:6;16886:32;16898:7;16907:10;;;;;;;;;;;16886:32;;:11;:32::i;:::-;16865:12;:54::i;:::-;16206:721;;;;;10234:5:::0;10225:6;;:14;;;;;;;;;;;;;;;;;;16143:784;:::o;16935:174::-;16994:12;17012:11;;;;;;;;;;;:16;;17036:7;17055:1;17045:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17012:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16993:65;;;17077:7;17069:32;;;;;;;;;;;;:::i;:::-;;;;;;;;;16982:127;16935:174;:::o;17117:509::-;17261:58;17278:4;17293:15;;;;;;;;;;;17311:7;17261:8;:58::i;:::-;17362:15;;;;;;;;;;;:31;;;17401:9;17434:4;17454:7;17476:1;17519;17562:15;;;;;;;;;;;17592;17362:256;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17117:509;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:116::-;5593:21;5608:5;5593:21;:::i;:::-;5586:5;5583:32;5573:60;;5629:1;5626;5619:12;5573:60;5523:116;:::o;5645:133::-;5688:5;5726:6;5713:20;5704:29;;5742:30;5766:5;5742:30;:::i;:::-;5645:133;;;;:::o;5784:93::-;5820:7;5860:10;5853:5;5849:22;5838:33;;5784:93;;;:::o;5883:120::-;5955:23;5972:5;5955:23;:::i;:::-;5948:5;5945:34;5935:62;;5993:1;5990;5983:12;5935:62;5883:120;:::o;6009:137::-;6054:5;6092:6;6079:20;6070:29;;6108:32;6134:5;6108:32;:::i;:::-;6009:137;;;;:::o;6152:466::-;6216:6;6224;6273:2;6261:9;6252:7;6248:23;6244:32;6241:119;;;6279:79;;:::i;:::-;6241:119;6399:1;6424:50;6466:7;6457:6;6446:9;6442:22;6424:50;:::i;:::-;6414:60;;6370:114;6523:2;6549:52;6593:7;6584:6;6573:9;6569:22;6549:52;:::i;:::-;6539:62;;6494:117;6152:466;;;;;:::o;6624:115::-;6709:23;6726:5;6709:23;:::i;:::-;6704:3;6697:36;6624:115;;:::o;6745:218::-;6836:4;6874:2;6863:9;6859:18;6851:26;;6887:69;6953:1;6942:9;6938:17;6929:6;6887:69;:::i;:::-;6745:218;;;;:::o;6969:118::-;7056:24;7074:5;7056:24;:::i;:::-;7051:3;7044:37;6969:118;;:::o;7093:222::-;7186:4;7224:2;7213:9;7209:18;7201:26;;7237:71;7305:1;7294:9;7290:17;7281:6;7237:71;:::i;:::-;7093:222;;;;:::o;7321:611::-;7394:6;7402;7410;7459:2;7447:9;7438:7;7434:23;7430:32;7427:119;;;7465:79;;:::i;:::-;7427:119;7585:1;7610:53;7655:7;7646:6;7635:9;7631:22;7610:53;:::i;:::-;7600:63;;7556:117;7712:2;7738:52;7782:7;7773:6;7762:9;7758:22;7738:52;:::i;:::-;7728:62;;7683:117;7839:2;7865:50;7907:7;7898:6;7887:9;7883:22;7865:50;:::i;:::-;7855:60;;7810:115;7321:611;;;;;:::o;7938:323::-;7994:6;8043:2;8031:9;8022:7;8018:23;8014:32;8011:119;;;8049:79;;:::i;:::-;8011:119;8169:1;8194:50;8236:7;8227:6;8216:9;8212:22;8194:50;:::i;:::-;8184:60;;8140:114;7938:323;;;;:::o;8267:470::-;8333:6;8341;8390:2;8378:9;8369:7;8365:23;8361:32;8358:119;;;8396:79;;:::i;:::-;8358:119;8516:1;8541:52;8585:7;8576:6;8565:9;8561:22;8541:52;:::i;:::-;8531:62;;8487:116;8642:2;8668:52;8712:7;8703:6;8692:9;8688:22;8668:52;:::i;:::-;8658:62;;8613:117;8267:470;;;;;:::o;8743:474::-;8811:6;8819;8868:2;8856:9;8847:7;8843:23;8839:32;8836:119;;;8874:79;;:::i;:::-;8836:119;8994:1;9019:53;9064:7;9055:6;9044:9;9040:22;9019:53;:::i;:::-;9009:63;;8965:117;9121:2;9147:53;9192:7;9183:6;9172:9;9168:22;9147:53;:::i;:::-;9137:63;;9092:118;8743:474;;;;;:::o;9223:117::-;9332:1;9329;9322:12;9346:117;9455:1;9452;9445:12;9469:117;9578:1;9575;9568:12;9609:568;9682:8;9692:6;9742:3;9735:4;9727:6;9723:17;9719:27;9709:122;;9750:79;;:::i;:::-;9709:122;9863:6;9850:20;9840:30;;9893:18;9885:6;9882:30;9879:117;;;9915:79;;:::i;:::-;9879:117;10029:4;10021:6;10017:17;10005:29;;10083:3;10075:4;10067:6;10063:17;10053:8;10049:32;10046:41;10043:128;;;10090:79;;:::i;:::-;10043:128;9609:568;;;;;:::o;10183:704::-;10278:6;10286;10294;10343:2;10331:9;10322:7;10318:23;10314:32;10311:119;;;10349:79;;:::i;:::-;10311:119;10497:1;10486:9;10482:17;10469:31;10527:18;10519:6;10516:30;10513:117;;;10549:79;;:::i;:::-;10513:117;10662:80;10734:7;10725:6;10714:9;10710:22;10662:80;:::i;:::-;10644:98;;;;10440:312;10791:2;10817:53;10862:7;10853:6;10842:9;10838:22;10817:53;:::i;:::-;10807:63;;10762:118;10183:704;;;;;:::o;10893:474::-;10961:6;10969;11018:2;11006:9;10997:7;10993:23;10989:32;10986:119;;;11024:79;;:::i;:::-;10986:119;11144:1;11169:53;11214:7;11205:6;11194:9;11190:22;11169:53;:::i;:::-;11159:63;;11115:117;11271:2;11297:53;11342:7;11333:6;11322:9;11318:22;11297:53;:::i;:::-;11287:63;;11242:118;10893:474;;;;;:::o;11373:180::-;11421:77;11418:1;11411:88;11518:4;11515:1;11508:15;11542:4;11539:1;11532:15;11559:102;11601:8;11648:5;11645:1;11641:13;11620:34;;11559:102;;;:::o;11667:848::-;11728:5;11735:4;11759:6;11750:15;;11783:5;11774:14;;11797:712;11818:1;11808:8;11805:15;11797:712;;;11913:4;11908:3;11904:14;11898:4;11895:24;11892:50;;;11922:18;;:::i;:::-;11892:50;11972:1;11962:8;11958:16;11955:451;;;12387:4;12380:5;12376:16;12367:25;;11955:451;12437:4;12431;12427:15;12419:23;;12467:32;12490:8;12467:32;:::i;:::-;12455:44;;11797:712;;;11667:848;;;;;;;:::o;12521:1073::-;12575:5;12766:8;12756:40;;12787:1;12778:10;;12789:5;;12756:40;12815:4;12805:36;;12832:1;12823:10;;12834:5;;12805:36;12901:4;12949:1;12944:27;;;;12985:1;12980:191;;;;12894:277;;12944:27;12962:1;12953:10;;12964:5;;;12980:191;13025:3;13015:8;13012:17;13009:43;;;13032:18;;:::i;:::-;13009:43;13081:8;13078:1;13074:16;13065:25;;13116:3;13109:5;13106:14;13103:40;;;13123:18;;:::i;:::-;13103:40;13156:5;;;12894:277;;13280:2;13270:8;13267:16;13261:3;13255:4;13252:13;13248:36;13230:2;13220:8;13217:16;13212:2;13206:4;13203:12;13199:35;13183:111;13180:246;;;13336:8;13330:4;13326:19;13317:28;;13371:3;13364:5;13361:14;13358:40;;;13378:18;;:::i;:::-;13358:40;13411:5;;13180:246;13451:42;13489:3;13479:8;13473:4;13470:1;13451:42;:::i;:::-;13436:57;;;;13525:4;13520:3;13516:14;13509:5;13506:25;13503:51;;;13534:18;;:::i;:::-;13503:51;13583:4;13576:5;13572:16;13563:25;;12521:1073;;;;;;:::o;13600:281::-;13658:5;13682:23;13700:4;13682:23;:::i;:::-;13674:31;;13726:25;13742:8;13726:25;:::i;:::-;13714:37;;13770:104;13807:66;13797:8;13791:4;13770:104;:::i;:::-;13761:113;;13600:281;;;;:::o;13887:410::-;13927:7;13950:20;13968:1;13950:20;:::i;:::-;13945:25;;13984:20;14002:1;13984:20;:::i;:::-;13979:25;;14039:1;14036;14032:9;14061:30;14079:11;14061:30;:::i;:::-;14050:41;;14240:1;14231:7;14227:15;14224:1;14221:22;14201:1;14194:9;14174:83;14151:139;;14270:18;;:::i;:::-;14151:139;13935:362;13887:410;;;;:::o;14303:191::-;14343:3;14362:20;14380:1;14362:20;:::i;:::-;14357:25;;14396:20;14414:1;14396:20;:::i;:::-;14391:25;;14439:1;14436;14432:9;14425:16;;14460:3;14457:1;14454:10;14451:36;;;14467:18;;:::i;:::-;14451:36;14303:191;;;;:::o;14500:170::-;14640:22;14636:1;14628:6;14624:14;14617:46;14500:170;:::o;14676:366::-;14818:3;14839:67;14903:2;14898:3;14839:67;:::i;:::-;14832:74;;14915:93;15004:3;14915:93;:::i;:::-;15033:2;15028:3;15024:12;15017:19;;14676:366;;;:::o;15048:419::-;15214:4;15252:2;15241:9;15237:18;15229:26;;15301:9;15295:4;15291:20;15287:1;15276:9;15272:17;15265:47;15329:131;15455:4;15329:131;:::i;:::-;15321:139;;15048:419;;;:::o;15473:143::-;15530:5;15561:6;15555:13;15546:22;;15577:33;15604:5;15577:33;:::i;:::-;15473:143;;;;:::o;15622:351::-;15692:6;15741:2;15729:9;15720:7;15716:23;15712:32;15709:119;;;15747:79;;:::i;:::-;15709:119;15867:1;15892:64;15948:7;15939:6;15928:9;15924:22;15892:64;:::i;:::-;15882:74;;15838:128;15622:351;;;;:::o;15979:162::-;16119:14;16115:1;16107:6;16103:14;16096:38;15979:162;:::o;16147:366::-;16289:3;16310:67;16374:2;16369:3;16310:67;:::i;:::-;16303:74;;16386:93;16475:3;16386:93;:::i;:::-;16504:2;16499:3;16495:12;16488:19;;16147:366;;;:::o;16519:419::-;16685:4;16723:2;16712:9;16708:18;16700:26;;16772:9;16766:4;16762:20;16758:1;16747:9;16743:17;16736:47;16800:131;16926:4;16800:131;:::i;:::-;16792:139;;16519:419;;;:::o;16944:161::-;17084:13;17080:1;17072:6;17068:14;17061:37;16944:161;:::o;17111:366::-;17253:3;17274:67;17338:2;17333:3;17274:67;:::i;:::-;17267:74;;17350:93;17439:3;17350:93;:::i;:::-;17468:2;17463:3;17459:12;17452:19;;17111:366;;;:::o;17483:419::-;17649:4;17687:2;17676:9;17672:18;17664:26;;17736:9;17730:4;17726:20;17722:1;17711:9;17707:17;17700:47;17764:131;17890:4;17764:131;:::i;:::-;17756:139;;17483:419;;;:::o;17908:180::-;17956:77;17953:1;17946:88;18053:4;18050:1;18043:15;18077:4;18074:1;18067:15;18094:222;18234:34;18230:1;18222:6;18218:14;18211:58;18303:5;18298:2;18290:6;18286:15;18279:30;18094:222;:::o;18322:366::-;18464:3;18485:67;18549:2;18544:3;18485:67;:::i;:::-;18478:74;;18561:93;18650:3;18561:93;:::i;:::-;18679:2;18674:3;18670:12;18663:19;;18322:366;;;:::o;18694:419::-;18860:4;18898:2;18887:9;18883:18;18875:26;;18947:9;18941:4;18937:20;18933:1;18922:9;18918:17;18911:47;18975:131;19101:4;18975:131;:::i;:::-;18967:139;;18694:419;;;:::o;19119:225::-;19259:34;19255:1;19247:6;19243:14;19236:58;19328:8;19323:2;19315:6;19311:15;19304:33;19119:225;:::o;19350:366::-;19492:3;19513:67;19577:2;19572:3;19513:67;:::i;:::-;19506:74;;19589:93;19678:3;19589:93;:::i;:::-;19707:2;19702:3;19698:12;19691:19;;19350:366;;;:::o;19722:419::-;19888:4;19926:2;19915:9;19911:18;19903:26;;19975:9;19969:4;19965:20;19961:1;19950:9;19946:17;19939:47;20003:131;20129:4;20003:131;:::i;:::-;19995:139;;19722:419;;;:::o;20147:223::-;20287:34;20283:1;20275:6;20271:14;20264:58;20356:6;20351:2;20343:6;20339:15;20332:31;20147:223;:::o;20376:366::-;20518:3;20539:67;20603:2;20598:3;20539:67;:::i;:::-;20532:74;;20615:93;20704:3;20615:93;:::i;:::-;20733:2;20728:3;20724:12;20717:19;;20376:366;;;:::o;20748:419::-;20914:4;20952:2;20941:9;20937:18;20929:26;;21001:9;20995:4;20991:20;20987:1;20976:9;20972:17;20965:47;21029:131;21155:4;21029:131;:::i;:::-;21021:139;;20748:419;;;:::o;21173:221::-;21313:34;21309:1;21301:6;21297:14;21290:58;21382:4;21377:2;21369:6;21365:15;21358:29;21173:221;:::o;21400:366::-;21542:3;21563:67;21627:2;21622:3;21563:67;:::i;:::-;21556:74;;21639:93;21728:3;21639:93;:::i;:::-;21757:2;21752:3;21748:12;21741:19;;21400:366;;;:::o;21772:419::-;21938:4;21976:2;21965:9;21961:18;21953:26;;22025:9;22019:4;22015:20;22011:1;22000:9;21996:17;21989:47;22053:131;22179:4;22053:131;:::i;:::-;22045:139;;21772:419;;;:::o;22197:179::-;22337:31;22333:1;22325:6;22321:14;22314:55;22197:179;:::o;22382:366::-;22524:3;22545:67;22609:2;22604:3;22545:67;:::i;:::-;22538:74;;22621:93;22710:3;22621:93;:::i;:::-;22739:2;22734:3;22730:12;22723:19;;22382:366;;;:::o;22754:419::-;22920:4;22958:2;22947:9;22943:18;22935:26;;23007:9;23001:4;22997:20;22993:1;22982:9;22978:17;22971:47;23035:131;23161:4;23035:131;:::i;:::-;23027:139;;22754:419;;;:::o;23179:224::-;23319:34;23315:1;23307:6;23303:14;23296:58;23388:7;23383:2;23375:6;23371:15;23364:32;23179:224;:::o;23409:366::-;23551:3;23572:67;23636:2;23631:3;23572:67;:::i;:::-;23565:74;;23648:93;23737:3;23648:93;:::i;:::-;23766:2;23761:3;23757:12;23750:19;;23409:366;;;:::o;23781:419::-;23947:4;23985:2;23974:9;23970:18;23962:26;;24034:9;24028:4;24024:20;24020:1;24009:9;24005:17;23998:47;24062:131;24188:4;24062:131;:::i;:::-;24054:139;;23781:419;;;:::o;24206:228::-;24346:34;24342:1;24334:6;24330:14;24323:58;24415:11;24410:2;24402:6;24398:15;24391:36;24206:228;:::o;24440:366::-;24582:3;24603:67;24667:2;24662:3;24603:67;:::i;:::-;24596:74;;24679:93;24768:3;24679:93;:::i;:::-;24797:2;24792:3;24788:12;24781:19;;24440:366;;;:::o;24812:419::-;24978:4;25016:2;25005:9;25001:18;24993:26;;25065:9;25059:4;25055:20;25051:1;25040:9;25036:17;25029:47;25093:131;25219:4;25093:131;:::i;:::-;25085:139;;24812:419;;;:::o;25237:169::-;25377:21;25373:1;25365:6;25361:14;25354:45;25237:169;:::o;25412:366::-;25554:3;25575:67;25639:2;25634:3;25575:67;:::i;:::-;25568:74;;25651:93;25740:3;25651:93;:::i;:::-;25769:2;25764:3;25760:12;25753:19;;25412:366;;;:::o;25784:419::-;25950:4;25988:2;25977:9;25973:18;25965:26;;26037:9;26031:4;26027:20;26023:1;26012:9;26008:17;26001:47;26065:131;26191:4;26065:131;:::i;:::-;26057:139;;25784:419;;;:::o;26209:168::-;26349:20;26345:1;26337:6;26333:14;26326:44;26209:168;:::o;26383:366::-;26525:3;26546:67;26610:2;26605:3;26546:67;:::i;:::-;26539:74;;26622:93;26711:3;26622:93;:::i;:::-;26740:2;26735:3;26731:12;26724:19;;26383:366;;;:::o;26755:419::-;26921:4;26959:2;26948:9;26944:18;26936:26;;27008:9;27002:4;26998:20;26994:1;26983:9;26979:17;26972:47;27036:131;27162:4;27036:131;:::i;:::-;27028:139;;26755:419;;;:::o;27180:164::-;27320:16;27316:1;27308:6;27304:14;27297:40;27180:164;:::o;27350:366::-;27492:3;27513:67;27577:2;27572:3;27513:67;:::i;:::-;27506:74;;27589:93;27678:3;27589:93;:::i;:::-;27707:2;27702:3;27698:12;27691:19;;27350:366;;;:::o;27722:419::-;27888:4;27926:2;27915:9;27911:18;27903:26;;27975:9;27969:4;27965:20;27961:1;27950:9;27946:17;27939:47;28003:131;28129:4;28003:131;:::i;:::-;27995:139;;27722:419;;;:::o;28147:168::-;28287:20;28283:1;28275:6;28271:14;28264:44;28147:168;:::o;28321:366::-;28463:3;28484:67;28548:2;28543:3;28484:67;:::i;:::-;28477:74;;28560:93;28649:3;28560:93;:::i;:::-;28678:2;28673:3;28669:12;28662:19;;28321:366;;;:::o;28693:419::-;28859:4;28897:2;28886:9;28882:18;28874:26;;28946:9;28940:4;28936:20;28932:1;28921:9;28917:17;28910:47;28974:131;29100:4;28974:131;:::i;:::-;28966:139;;28693:419;;;:::o;29118:182::-;29258:34;29254:1;29246:6;29242:14;29235:58;29118:182;:::o;29306:366::-;29448:3;29469:67;29533:2;29528:3;29469:67;:::i;:::-;29462:74;;29545:93;29634:3;29545:93;:::i;:::-;29663:2;29658:3;29654:12;29647:19;;29306:366;;;:::o;29678:419::-;29844:4;29882:2;29871:9;29867:18;29859:26;;29931:9;29925:4;29921:20;29917:1;29906:9;29902:17;29895:47;29959:131;30085:4;29959:131;:::i;:::-;29951:139;;29678:419;;;:::o;30103:180::-;30151:77;30148:1;30141:88;30248:4;30245:1;30238:15;30272:4;30269:1;30262:15;30289:185;30329:1;30346:20;30364:1;30346:20;:::i;:::-;30341:25;;30380:20;30398:1;30380:20;:::i;:::-;30375:25;;30419:1;30409:35;;30424:18;;:::i;:::-;30409:35;30466:1;30463;30459:9;30454:14;;30289:185;;;;:::o;30480:225::-;30620:34;30616:1;30608:6;30604:14;30597:58;30689:8;30684:2;30676:6;30672:15;30665:33;30480:225;:::o;30711:366::-;30853:3;30874:67;30938:2;30933:3;30874:67;:::i;:::-;30867:74;;30950:93;31039:3;30950:93;:::i;:::-;31068:2;31063:3;31059:12;31052:19;;30711:366;;;:::o;31083:419::-;31249:4;31287:2;31276:9;31272:18;31264:26;;31336:9;31330:4;31326:20;31322:1;31311:9;31307:17;31300:47;31364:131;31490:4;31364:131;:::i;:::-;31356:139;;31083:419;;;:::o;31508:200::-;31547:4;31567:19;31584:1;31567:19;:::i;:::-;31562:24;;31600:19;31617:1;31600:19;:::i;:::-;31595:24;;31643:1;31640;31636:9;31628:17;;31667:10;31661:4;31658:20;31655:46;;;31681:18;;:::i;:::-;31655:46;31508:200;;;;:::o;31714:194::-;31754:4;31774:20;31792:1;31774:20;:::i;:::-;31769:25;;31808:20;31826:1;31808:20;:::i;:::-;31803:25;;31852:1;31849;31845:9;31837:17;;31876:1;31870:4;31867:11;31864:37;;;31881:18;;:::i;:::-;31864:37;31714:194;;;;:::o;31914:180::-;31962:77;31959:1;31952:88;32059:4;32056:1;32049:15;32083:4;32080:1;32073:15;32100:143;32157:5;32188:6;32182:13;32173:22;;32204:33;32231:5;32204:33;:::i;:::-;32100:143;;;;:::o;32249:351::-;32319:6;32368:2;32356:9;32347:7;32343:23;32339:32;32336:119;;;32374:79;;:::i;:::-;32336:119;32494:1;32519:64;32575:7;32566:6;32555:9;32551:22;32519:64;:::i;:::-;32509:74;;32465:128;32249:351;;;;:::o;32606:85::-;32651:7;32680:5;32669:16;;32606:85;;;:::o;32697:60::-;32725:3;32746:5;32739:12;;32697:60;;;:::o;32763:158::-;32821:9;32854:61;32872:42;32881:32;32907:5;32881:32;:::i;:::-;32872:42;:::i;:::-;32854:61;:::i;:::-;32841:74;;32763:158;;;:::o;32927:147::-;33022:45;33061:5;33022:45;:::i;:::-;33017:3;33010:58;32927:147;;:::o;33080:114::-;33147:6;33181:5;33175:12;33165:22;;33080:114;;;:::o;33200:184::-;33299:11;33333:6;33328:3;33321:19;33373:4;33368:3;33364:14;33349:29;;33200:184;;;;:::o;33390:132::-;33457:4;33480:3;33472:11;;33510:4;33505:3;33501:14;33493:22;;33390:132;;;:::o;33528:108::-;33605:24;33623:5;33605:24;:::i;:::-;33600:3;33593:37;33528:108;;:::o;33642:179::-;33711:10;33732:46;33774:3;33766:6;33732:46;:::i;:::-;33810:4;33805:3;33801:14;33787:28;;33642:179;;;;:::o;33827:113::-;33897:4;33929;33924:3;33920:14;33912:22;;33827:113;;;:::o;33976:732::-;34095:3;34124:54;34172:5;34124:54;:::i;:::-;34194:86;34273:6;34268:3;34194:86;:::i;:::-;34187:93;;34304:56;34354:5;34304:56;:::i;:::-;34383:7;34414:1;34399:284;34424:6;34421:1;34418:13;34399:284;;;34500:6;34494:13;34527:63;34586:3;34571:13;34527:63;:::i;:::-;34520:70;;34613:60;34666:6;34613:60;:::i;:::-;34603:70;;34459:224;34446:1;34443;34439:9;34434:14;;34399:284;;;34403:14;34699:3;34692:10;;34100:608;;;33976:732;;;;:::o;34714:831::-;34977:4;35015:3;35004:9;35000:19;34992:27;;35029:71;35097:1;35086:9;35082:17;35073:6;35029:71;:::i;:::-;35110:80;35186:2;35175:9;35171:18;35162:6;35110:80;:::i;:::-;35237:9;35231:4;35227:20;35222:2;35211:9;35207:18;35200:48;35265:108;35368:4;35359:6;35265:108;:::i;:::-;35257:116;;35383:72;35451:2;35440:9;35436:18;35427:6;35383:72;:::i;:::-;35465:73;35533:3;35522:9;35518:19;35509:6;35465:73;:::i;:::-;34714:831;;;;;;;;:::o;35551:98::-;35602:6;35636:5;35630:12;35620:22;;35551:98;;;:::o;35655:147::-;35756:11;35793:3;35778:18;;35655:147;;;;:::o;35808:386::-;35912:3;35940:38;35972:5;35940:38;:::i;:::-;35994:88;36075:6;36070:3;35994:88;:::i;:::-;35987:95;;36091:65;36149:6;36144:3;36137:4;36130:5;36126:16;36091:65;:::i;:::-;36181:6;36176:3;36172:16;36165:23;;35916:278;35808:386;;;;:::o;36200:271::-;36330:3;36352:93;36441:3;36432:6;36352:93;:::i;:::-;36345:100;;36462:3;36455:10;;36200:271;;;;:::o;36477:162::-;36617:14;36613:1;36605:6;36601:14;36594:38;36477:162;:::o;36645:366::-;36787:3;36808:67;36872:2;36867:3;36808:67;:::i;:::-;36801:74;;36884:93;36973:3;36884:93;:::i;:::-;37002:2;36997:3;36993:12;36986:19;;36645:366;;;:::o;37017:419::-;37183:4;37221:2;37210:9;37206:18;37198:26;;37270:9;37264:4;37260:20;37256:1;37245:9;37241:17;37234:47;37298:131;37424:4;37298:131;:::i;:::-;37290:139;;37017:419;;;:::o;37442:807::-;37691:4;37729:3;37718:9;37714:19;37706:27;;37743:71;37811:1;37800:9;37796:17;37787:6;37743:71;:::i;:::-;37824:72;37892:2;37881:9;37877:18;37868:6;37824:72;:::i;:::-;37906:80;37982:2;37971:9;37967:18;37958:6;37906:80;:::i;:::-;37996;38072:2;38061:9;38057:18;38048:6;37996:80;:::i;:::-;38086:73;38154:3;38143:9;38139:19;38130:6;38086:73;:::i;:::-;38169;38237:3;38226:9;38222:19;38213:6;38169:73;:::i;:::-;37442:807;;;;;;;;;:::o;38255:663::-;38343:6;38351;38359;38408:2;38396:9;38387:7;38383:23;38379:32;38376:119;;;38414:79;;:::i;:::-;38376:119;38534:1;38559:64;38615:7;38606:6;38595:9;38591:22;38559:64;:::i;:::-;38549:74;;38505:128;38672:2;38698:64;38754:7;38745:6;38734:9;38730:22;38698:64;:::i;:::-;38688:74;;38643:129;38811:2;38837:64;38893:7;38884:6;38873:9;38869:22;38837:64;:::i;:::-;38827:74;;38782:129;38255:663;;;;;:::o
Swarm Source
ipfs://c8e22750b09e3aaa2912cf9c966dad1e2b0d4d0a238f08db7be2d812db054b72
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.