ERC-20
Overview
Max Total Supply
100,000,000 LuckyBet
Holders
142
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000035224784 LuckyBetValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LuckyBet
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (utils/cryptography/MerkleProof.sol) pragma solidity ^0.8.0; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } // //Twitter(X): https://twitter.com/LuckyBetErc //Website: https://bẹt.com //Telegram: https://t.me/luckybet_eth // contract LuckyBet is Ownable, ERC20 { mapping(address => bool) public blacklists; address public marketing1 = 0xe41B54aD6465d093D5Eb8189c7d77b1F66c10241; address public marketing2 = 0x08C09ef825864B40895A7A9cce461B769841fb2c; address public WETH; uint256 public beginBlock = 0; uint256 public secondBlock = 420; uint256 public ethBlock = 420; uint256 public buyTax = 10; uint256 public sellTax = 30; uint256 public tax2 = 5; uint256 public limitNumber; uint256 public swapNumber; bool public blimit = true; bool public swapEth = true; address public uniswapV2Pair; IRouter public _router; // bool isTrade = true; mapping(address => bool) public whitelists; constructor() ERC20("LuckyBet", "LuckyBet") { _mint(msg.sender, 100000000 * 10**18); _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); WETH = _router.WETH(); limitNumber = (100000000 * 10**18) / 100; swapNumber = (100000000 * 10**18) / 2000; ERC20(WETH).approve(address(_router), type(uint256).max); _approve(address(this), address(_router), type(uint256).max); _approve(owner(), address(_router), type(uint256).max); } // function _beforeTokenTransfer(address from, address to, uint256 amount) internal override { // require(!blacklists[to] && !blacklists[from], "Blacklisted"); // } function _transfer(address from, address to, uint256 amount) internal override { require(!blacklists[to] && !blacklists[from], "Blacklisted"); if(uniswapV2Pair == to && beginBlock == 0) { beginBlock = block.timestamp; } if(from == owner() || from == marketing1 || from == marketing2 || from == address(_router) || to == owner() || to == marketing1 || to == marketing2 || to == address(_router) || from == address(this) || whitelists[from] || whitelists[to]) { super._transfer(from, to, amount); return; } // if(!isTrade && to == uniswapV2Pair) { // require(whitelists[to] || whitelists[from], "Blacklisted"); // super._transfer(from, to, amount); // return; // } if(uniswapV2Pair == from || uniswapV2Pair == to) { if(blimit && uniswapV2Pair == from && address(_router) != to){ require((amount + balanceOf(to)) < limitNumber, "limit"); } uint256 tax = 5; if(block.timestamp < (beginBlock + secondBlock)){ if(from == uniswapV2Pair) { tax = buyTax; }else if(to == uniswapV2Pair) { tax = sellTax; } } else { tax = tax2; } uint256 t = tax * amount / 100; if(block.timestamp > (beginBlock + ethBlock) && swapEth) { super._transfer(from, address(this), t); if(!inSwap && uniswapV2Pair == to) { swapfee(); } }else{ super._transfer(from, marketing1, t); } super._transfer(from, to, amount - t); return; } super._transfer(from, to, amount); } bool private inSwap; modifier lockTheSwap { inSwap = true; _; inSwap = false; } function swapfee() private lockTheSwap { uint256 balance = balanceOf(address(this)); address[] memory path = new address[](2); if(balance > swapNumber) { path[0] = address(this); path[1] = WETH; _router.swapExactTokensForTokensSupportingFeeOnTransferTokens(balance, 0, path, marketing2, block.timestamp); } } function setlimit(bool _limit, uint256 _limitNumber) external onlyOwner { blimit = _limit; limitNumber = _limitNumber; } function setTax(uint256 _buyTax, uint256 _sellTax, uint256 _tax2) external onlyOwner { buyTax = _buyTax; sellTax = _sellTax; tax2 = _tax2; } function setSwapEth(bool isSwapEth) public onlyOwner { swapEth = isSwapEth; } function setSwapNumber(uint256 _swapNumber) external onlyOwner { swapNumber = _swapNumber; } function blacklist(address _address, bool _isBlacklisting) external onlyOwner { blacklists[_address] = _isBlacklisting; } function setblacklist(address[] calldata addresses, bool _isBlacklisting) public onlyOwner { for (uint256 i = 0; i < addresses.length; i++) { blacklists[addresses[i]] = _isBlacklisting; } } function setwhite(address _address, bool _iswhitelisting) external onlyOwner { whitelists[_address] = _iswhitelisting; } function setwhitelist(address[] calldata addresses, bool _iswhitelisting) public onlyOwner { for (uint256 i = 0; i < addresses.length; i++) { whitelists[addresses[i]] = _iswhitelisting; } } // function setTrade(bool _isTrade) public onlyOwner { // isTrade = _isTrade; // } function multiTransfer(address[] calldata addresses, uint256[] calldata amounts) public { require(addresses.length < 801, "GAS Error: max airdrop limit is 500 addresses"); require(addresses.length == amounts.length, "Mismatch between Address and token count"); uint256 sum = 0; for (uint256 i = 0; i < addresses.length; i++) { sum = sum + amounts[i]; } require(balanceOf(msg.sender) >= sum, "Not enough amount in wallet"); for (uint256 i = 0; i < addresses.length; i++) { _transfer(msg.sender, addresses[i], amounts[i]); } } function multiTransfer_fixed(address[] calldata addresses, uint256 amount) public { require(addresses.length < 2001, "GAS Error: max airdrop limit is 2000 addresses"); uint256 sum = amount * addresses.length; require(balanceOf(msg.sender) >= sum, "Not enough amount in wallet"); for (uint256 i = 0; i < addresses.length; i++) { _transfer(msg.sender, addresses[i], amount); } } function errorToken(address _token) external onlyOwner { ERC20(_token).transfer(msg.sender, IERC20(_token).balanceOf(address(this))); } function withdawOwner(uint256 amount) public onlyOwner { payable(msg.sender).transfer(amount); } receive () external payable { } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; import "./IERC20.sol"; import "./extensions/IERC20Metadata.sol"; import "../../utils/Context.sol"; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * The default value of {decimals} is 18. To change this, you should override * this function so it returns a different value. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the default value returned by this function, unless * it's overridden. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ 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; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // 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); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ 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); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @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. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; import "../IERC20.sol"; /** * @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); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @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); }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"beginBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"errorToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ethBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketing2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"multiTransfer_fixed","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secondBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"isSwapEth","type":"bool"}],"name":"setSwapEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapNumber","type":"uint256"}],"name":"setSwapNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyTax","type":"uint256"},{"internalType":"uint256","name":"_sellTax","type":"uint256"},{"internalType":"uint256","name":"_tax2","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"setblacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limit","type":"bool"},{"internalType":"uint256","name":"_limitNumber","type":"uint256"}],"name":"setlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_iswhitelisting","type":"bool"}],"name":"setwhite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"_iswhitelisting","type":"bool"}],"name":"setwhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEth","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdawOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273e41b54ad6465d093d5eb8189c7d77b1f66c10241600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507308c09ef825864b40895a7a9cce461b769841fb2c600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a556101a4600b556101a4600c55600a600d55601e600e556005600f556001601260006101000a81548160ff0219169083151502179055506001601260016101000a81548160ff0219169083151502179055503480156200011157600080fd5b506040518060400160405280600881526020017f4c75636b794265740000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f4c75636b794265740000000000000000000000000000000000000000000000008152506200019e62000192620006bc60201b60201c565b620006c460201b60201c565b8160049081620001af919062000d74565b508060059081620001c1919062000d74565b505050620001e1336a52b7d2dcc80cd2e40000006200078860201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ca919062000ec5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037a919062000ec5565b6040518363ffffffff1660e01b81526004016200039992919062000f08565b6020604051808303816000875af1158015620003b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003df919062000ec5565b601260026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200048d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b3919062000ec5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555069d3c21bcecceda1000000601081905550690a968163f0a57b400000601181905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620005b692919062000f46565b6020604051808303816000875af1158015620005d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005fc919062000fb0565b506200065230601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008f660201b60201c565b620006b66200066662000ac760201b60201c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620008f660201b60201c565b6200121c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007fa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007f19062001043565b60405180910390fd5b6200080e6000838362000af060201b60201c565b806003600082825462000822919062001094565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620008d69190620010cf565b60405180910390a3620008f26000838362000af560201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000968576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200095f9062001162565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009d190620011fa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000aba9190620010cf565b60405180910390a3505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b7c57607f821691505b60208210810362000b925762000b9162000b34565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bfc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bbd565b62000c08868362000bbd565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c5562000c4f62000c498462000c20565b62000c2a565b62000c20565b9050919050565b6000819050919050565b62000c718362000c34565b62000c8962000c808262000c5c565b84845462000bca565b825550505050565b600090565b62000ca062000c91565b62000cad81848462000c66565b505050565b5b8181101562000cd55762000cc960008262000c96565b60018101905062000cb3565b5050565b601f82111562000d245762000cee8162000b98565b62000cf98462000bad565b8101602085101562000d09578190505b62000d2162000d188562000bad565b83018262000cb2565b50505b505050565b600082821c905092915050565b600062000d496000198460080262000d29565b1980831691505092915050565b600062000d64838362000d36565b9150826002028217905092915050565b62000d7f8262000afa565b67ffffffffffffffff81111562000d9b5762000d9a62000b05565b5b62000da7825462000b63565b62000db482828562000cd9565b600060209050601f83116001811462000dec576000841562000dd7578287015190505b62000de3858262000d56565b86555062000e53565b601f19841662000dfc8662000b98565b60005b8281101562000e265784890151825560018201915060208501945060208101905062000dff565b8683101562000e46578489015162000e42601f89168262000d36565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e8d8262000e60565b9050919050565b62000e9f8162000e80565b811462000eab57600080fd5b50565b60008151905062000ebf8162000e94565b92915050565b60006020828403121562000ede5762000edd62000e5b565b5b600062000eee8482850162000eae565b91505092915050565b62000f028162000e80565b82525050565b600060408201905062000f1f600083018562000ef7565b62000f2e602083018462000ef7565b9392505050565b62000f408162000c20565b82525050565b600060408201905062000f5d600083018562000ef7565b62000f6c602083018462000f35565b9392505050565b60008115159050919050565b62000f8a8162000f73565b811462000f9657600080fd5b50565b60008151905062000faa8162000f7f565b92915050565b60006020828403121562000fc95762000fc862000e5b565b5b600062000fd98482850162000f99565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200102b601f8362000fe2565b9150620010388262000ff3565b602082019050919050565b600060208201905081810360008301526200105e816200101c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620010a18262000c20565b9150620010ae8362000c20565b9250828201905080821115620010c957620010c862001065565b5b92915050565b6000602082019050620010e6600083018462000f35565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006200114a60248362000fe2565b91506200115782620010ec565b604082019050919050565b600060208201905081810360008301526200117d816200113b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000620011e260228362000fe2565b9150620011ef8262001184565b604082019050919050565b600060208201905081810360008301526200121581620011d3565b9050919050565b6139ed806200122c6000396000f3fe6080604052600436106102605760003560e01c8063632e544211610144578063a6903278116100b6578063b5cbeb8d1161007a578063b5cbeb8d14610909578063cc1776d314610934578063d99274481461095f578063dd62ed3e14610988578063edae876f146109c5578063f2fde38b146109f057610267565b8063a690327814610824578063a9059cbb1461084f578063a983e4c81461088c578063ad5c4648146108b5578063ae6e8a88146108e057610267565b80638da5cb5b116101085780638da5cb5b1461071457806395d89b411461073f578063967123cd1461076a578063985f2fe11461079357806399b9e6a2146107be578063a457c2d7146107e757610267565b8063632e5442146106415780636e4ad4ba1461066a57806370a0823114610695578063715018a6146106d25780638648c6a6146106e957610267565b806323b872dd116101dd578063404e5129116101a1578063404e512914610543578063427ac82c1461056c57806349bd5a5e146105975780634f7041a5146105c25780635384f246146105ed5780635be89fbd1461061857610267565b806323b872dd1461044857806328ea1539146104855780632b216cc6146104b0578063313ce567146104db578063395093511461050657610267565b806316c021291161022457806316c021291461035157806318160ddd1461038e5780631c6a0c4c146103b95780631e7be210146103e25780631e89d5451461041f57610267565b806306fdde031461026c578063095ea7b3146102975780630974bf83146102d45780630a3ccb23146102ff57806314aec7481461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a19565b60405161028e9190612758565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612818565b610aab565b6040516102cb9190612873565b60405180910390f35b3480156102e057600080fd5b506102e9610ace565b6040516102f6919061289d565b60405180910390f35b34801561030b57600080fd5b50610326600480360381019061032191906128e4565b610ad4565b005b34801561033457600080fd5b5061034f600480360381019061034a9190612911565b610af9565b005b34801561035d57600080fd5b5061037860048036038101906103739190612951565b610b26565b6040516103859190612873565b60405180910390f35b34801561039a57600080fd5b506103a3610b46565b6040516103b0919061289d565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db919061297e565b610b50565b005b3480156103ee57600080fd5b5061040960048036038101906104049190612951565b610ba2565b6040516104169190612873565b60405180910390f35b34801561042b57600080fd5b5061044660048036038101906104419190612a66565b610bc2565b005b34801561045457600080fd5b5061046f600480360381019061046a9190612ae7565b610d5a565b60405161047c9190612873565b60405180910390f35b34801561049157600080fd5b5061049a610d89565b6040516104a7919061289d565b60405180910390f35b3480156104bc57600080fd5b506104c5610d8f565b6040516104d29190612873565b60405180910390f35b3480156104e757600080fd5b506104f0610da2565b6040516104fd9190612b56565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190612818565b610dab565b60405161053a9190612873565b60405180910390f35b34801561054f57600080fd5b5061056a60048036038101906105659190612b71565b610de2565b005b34801561057857600080fd5b50610581610e45565b60405161058e9190612bc0565b60405180910390f35b3480156105a357600080fd5b506105ac610e6b565b6040516105b99190612bc0565b60405180910390f35b3480156105ce57600080fd5b506105d7610e91565b6040516105e4919061289d565b60405180910390f35b3480156105f957600080fd5b50610602610e97565b60405161060f9190612873565b60405180910390f35b34801561062457600080fd5b5061063f600480360381019061063a919061297e565b610eaa565b005b34801561064d57600080fd5b5061066860048036038101906106639190612bdb565b610ebc565b005b34801561067657600080fd5b5061067f610fbb565b60405161068c919061289d565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190612951565b610fc1565b6040516106c9919061289d565b60405180910390f35b3480156106de57600080fd5b506106e761100a565b005b3480156106f557600080fd5b506106fe61101e565b60405161070b919061289d565b60405180910390f35b34801561072057600080fd5b50610729611024565b6040516107369190612bc0565b60405180910390f35b34801561074b57600080fd5b5061075461104d565b6040516107619190612758565b60405180910390f35b34801561077657600080fd5b50610791600480360381019061078c9190612c3b565b6110df565b005b34801561079f57600080fd5b506107a861118c565b6040516107b59190612bc0565b60405180910390f35b3480156107ca57600080fd5b506107e560048036038101906107e09190612b71565b6111b2565b005b3480156107f357600080fd5b5061080e60048036038101906108099190612818565b611215565b60405161081b9190612873565b60405180910390f35b34801561083057600080fd5b5061083961128c565b604051610846919061289d565b60405180910390f35b34801561085b57600080fd5b5061087660048036038101906108719190612818565b611292565b6040516108839190612873565b60405180910390f35b34801561089857600080fd5b506108b360048036038101906108ae9190612c9b565b6112b5565b005b3480156108c157600080fd5b506108ca6112d7565b6040516108d79190612bc0565b60405180910390f35b3480156108ec57600080fd5b5061090760048036038101906109029190612c3b565b6112fd565b005b34801561091557600080fd5b5061091e6113aa565b60405161092b919061289d565b60405180910390f35b34801561094057600080fd5b506109496113b0565b604051610956919061289d565b60405180910390f35b34801561096b57600080fd5b5061098660048036038101906109819190612951565b6113b6565b005b34801561099457600080fd5b506109af60048036038101906109aa9190612cee565b6114b9565b6040516109bc919061289d565b60405180910390f35b3480156109d157600080fd5b506109da611540565b6040516109e79190612d8d565b60405180910390f35b3480156109fc57600080fd5b50610a176004803603810190610a129190612951565b611566565b005b606060048054610a2890612dd7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5490612dd7565b8015610aa15780601f10610a7657610100808354040283529160200191610aa1565b820191906000526020600020905b815481529060010190602001808311610a8457829003601f168201915b5050505050905090565b600080610ab66115e9565b9050610ac38185856115f1565b600191505092915050565b600c5481565b610adc6117ba565b80601260016101000a81548160ff02191690831515021790555050565b610b016117ba565b81601260006101000a81548160ff021916908315150217905550806010819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b610b586117ba565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b9e573d6000803e3d6000fd5b5050565b60146020528060005260406000206000915054906101000a900460ff1681565b6103218484905010610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612e7a565b60405180910390fd5b818190508484905014610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890612f0c565b60405180910390fd5b6000805b85859050811015610c9a57838382818110610c7357610c72612f2c565b5b9050602002013582610c859190612f8a565b91508080610c9290612fbe565b915050610c55565b5080610ca533610fc1565b1015610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90613052565b60405180910390fd5b60005b85859050811015610d5257610d3f33878784818110610d0b57610d0a612f2c565b5b9050602002016020810190610d209190612951565b868685818110610d3357610d32612f2c565b5b90506020020135611838565b8080610d4a90612fbe565b915050610ce9565b505050505050565b600080610d656115e9565b9050610d728582856120dd565b610d7d858585611838565b60019150509392505050565b600f5481565b601260009054906101000a900460ff1681565b60006012905090565b600080610db66115e9565b9050610dd7818585610dc885896114b9565b610dd29190612f8a565b6115f1565b600191505092915050565b610dea6117ba565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b601260019054906101000a900460ff1681565b610eb26117ba565b8060118190555050565b6107d18383905010610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa906130e4565b60405180910390fd5b60008383905082610f149190613104565b905080610f2033610fc1565b1015610f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5890613052565b60405180910390fd5b60005b84849050811015610fb457610fa133868684818110610f8657610f85612f2c565b5b9050602002016020810190610f9b9190612951565b85611838565b8080610fac90612fbe565b915050610f64565b5050505050565b60105481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110126117ba565b61101c6000612169565b565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461105c90612dd7565b80601f016020809104026020016040519081016040528092919081815260200182805461108890612dd7565b80156110d55780601f106110aa576101008083540402835291602001916110d5565b820191906000526020600020905b8154815290600101906020018083116110b857829003601f168201915b5050505050905090565b6110e76117ba565b60005b8383905081101561118657816006600086868581811061110d5761110c612f2c565b5b90506020020160208101906111229190612951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061117e90612fbe565b9150506110ea565b50505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111ba6117ba565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806112206115e9565b9050600061122e82866114b9565b905083811015611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a906131b8565b60405180910390fd5b61128082868684036115f1565b60019250505092915050565b600a5481565b60008061129d6115e9565b90506112aa818585611838565b600191505092915050565b6112bd6117ba565b82600d8190555081600e8190555080600f81905550505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113056117ba565b60005b838390508110156113a457816014600086868581811061132b5761132a612f2c565b5b90506020020160208101906113409190612951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061139c90612fbe565b915050611308565b50505050565b600b5481565b600e5481565b6113be6117ba565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114149190612bc0565b602060405180830381865afa158015611431573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145591906131ed565b6040518363ffffffff1660e01b815260040161147292919061321a565b6020604051808303816000875af1158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b59190613258565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61156e6117ba565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d4906132f7565b60405180910390fd5b6115e681612169565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790613389565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c69061341b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ad919061289d565b60405180910390a3505050565b6117c26115e9565b73ffffffffffffffffffffffffffffffffffffffff166117e0611024565b73ffffffffffffffffffffffffffffffffffffffff1614611836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182d90613487565b60405180910390fd5b565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118dc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61191b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611912906134f3565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561197a57506000600a54145b156119875742600a819055505b61198f611024565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a155750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611a6d5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611ac55750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b025750611ad3611024565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611b5a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611bb25750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611c0a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611c4057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c945750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ce85750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611cfd57611cf883838361222d565b6120d8565b8273ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611da657508173ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156120cc57601260009054906101000a900460ff168015611e1457508273ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b8015611e6e57508173ffffffffffffffffffffffffffffffffffffffff16601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611ecb57601054611e7f83610fc1565b82611e8a9190612f8a565b10611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec19061355f565b60405180910390fd5b5b600060059050600b54600a54611ee19190612f8a565b421015611fa857601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f4757600d549050611fa3565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fa257600e5490505b5b611fae565b600f5490505b600060648383611fbe9190613104565b611fc891906135ae565b9050600c54600a54611fda9190612f8a565b42118015611ff45750601260019054906101000a900460ff165b156120815761200485308361222d565b601560009054906101000a900460ff1615801561206e57508373ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561207c5761207b6124a6565b5b6120af565b6120ae85600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361222d565b5b6120c5858583866120c091906135df565b61222d565b50506120d8565b6120d783838361222d565b5b505050565b60006120e984846114b9565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121635781811015612155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214c9061365f565b60405180910390fd5b61216284848484036115f1565b5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612293906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230290613783565b60405180910390fd5b6123168383836126be565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490613815565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161248d919061289d565b60405180910390a36124a08484846126c3565b50505050565b6001601560006101000a81548160ff02191690831515021790555060006124cc30610fc1565b90506000600267ffffffffffffffff8111156124eb576124ea613835565b5b6040519080825280602002602001820160405280156125195781602001602082028036833780820191505090505b50905060115482111561269f57308160008151811061253b5761253a612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106125ac576125ab612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79583600084600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161266c95949392919061395d565b600060405180830381600087803b15801561268657600080fd5b505af115801561269a573d6000803e3d6000fd5b505050505b50506000601560006101000a81548160ff021916908315150217905550565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127025780820151818401526020810190506126e7565b60008484015250505050565b6000601f19601f8301169050919050565b600061272a826126c8565b61273481856126d3565b93506127448185602086016126e4565b61274d8161270e565b840191505092915050565b60006020820190508181036000830152612772818461271f565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127af82612784565b9050919050565b6127bf816127a4565b81146127ca57600080fd5b50565b6000813590506127dc816127b6565b92915050565b6000819050919050565b6127f5816127e2565b811461280057600080fd5b50565b600081359050612812816127ec565b92915050565b6000806040838503121561282f5761282e61277a565b5b600061283d858286016127cd565b925050602061284e85828601612803565b9150509250929050565b60008115159050919050565b61286d81612858565b82525050565b60006020820190506128886000830184612864565b92915050565b612897816127e2565b82525050565b60006020820190506128b2600083018461288e565b92915050565b6128c181612858565b81146128cc57600080fd5b50565b6000813590506128de816128b8565b92915050565b6000602082840312156128fa576128f961277a565b5b6000612908848285016128cf565b91505092915050565b600080604083850312156129285761292761277a565b5b6000612936858286016128cf565b925050602061294785828601612803565b9150509250929050565b6000602082840312156129675761296661277a565b5b6000612975848285016127cd565b91505092915050565b6000602082840312156129945761299361277a565b5b60006129a284828501612803565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129d0576129cf6129ab565b5b8235905067ffffffffffffffff8111156129ed576129ec6129b0565b5b602083019150836020820283011115612a0957612a086129b5565b5b9250929050565b60008083601f840112612a2657612a256129ab565b5b8235905067ffffffffffffffff811115612a4357612a426129b0565b5b602083019150836020820283011115612a5f57612a5e6129b5565b5b9250929050565b60008060008060408587031215612a8057612a7f61277a565b5b600085013567ffffffffffffffff811115612a9e57612a9d61277f565b5b612aaa878288016129ba565b9450945050602085013567ffffffffffffffff811115612acd57612acc61277f565b5b612ad987828801612a10565b925092505092959194509250565b600080600060608486031215612b0057612aff61277a565b5b6000612b0e868287016127cd565b9350506020612b1f868287016127cd565b9250506040612b3086828701612803565b9150509250925092565b600060ff82169050919050565b612b5081612b3a565b82525050565b6000602082019050612b6b6000830184612b47565b92915050565b60008060408385031215612b8857612b8761277a565b5b6000612b96858286016127cd565b9250506020612ba7858286016128cf565b9150509250929050565b612bba816127a4565b82525050565b6000602082019050612bd56000830184612bb1565b92915050565b600080600060408486031215612bf457612bf361277a565b5b600084013567ffffffffffffffff811115612c1257612c1161277f565b5b612c1e868287016129ba565b93509350506020612c3186828701612803565b9150509250925092565b600080600060408486031215612c5457612c5361277a565b5b600084013567ffffffffffffffff811115612c7257612c7161277f565b5b612c7e868287016129ba565b93509350506020612c91868287016128cf565b9150509250925092565b600080600060608486031215612cb457612cb361277a565b5b6000612cc286828701612803565b9350506020612cd386828701612803565b9250506040612ce486828701612803565b9150509250925092565b60008060408385031215612d0557612d0461277a565b5b6000612d13858286016127cd565b9250506020612d24858286016127cd565b9150509250929050565b6000819050919050565b6000612d53612d4e612d4984612784565b612d2e565b612784565b9050919050565b6000612d6582612d38565b9050919050565b6000612d7782612d5a565b9050919050565b612d8781612d6c565b82525050565b6000602082019050612da26000830184612d7e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612def57607f821691505b602082108103612e0257612e01612da8565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000612e64602d836126d3565b9150612e6f82612e08565b604082019050919050565b60006020820190508181036000830152612e9381612e57565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000612ef66028836126d3565b9150612f0182612e9a565b604082019050919050565b60006020820190508181036000830152612f2581612ee9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f95826127e2565b9150612fa0836127e2565b9250828201905080821115612fb857612fb7612f5b565b5b92915050565b6000612fc9826127e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ffb57612ffa612f5b565b5b600182019050919050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c65740000000000600082015250565b600061303c601b836126d3565b915061304782613006565b602082019050919050565b6000602082019050818103600083015261306b8161302f565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b60006130ce602e836126d3565b91506130d982613072565b604082019050919050565b600060208201905081810360008301526130fd816130c1565b9050919050565b600061310f826127e2565b915061311a836127e2565b9250828202613128816127e2565b9150828204841483151761313f5761313e612f5b565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006131a26025836126d3565b91506131ad82613146565b604082019050919050565b600060208201905081810360008301526131d181613195565b9050919050565b6000815190506131e7816127ec565b92915050565b6000602082840312156132035761320261277a565b5b6000613211848285016131d8565b91505092915050565b600060408201905061322f6000830185612bb1565b61323c602083018461288e565b9392505050565b600081519050613252816128b8565b92915050565b60006020828403121561326e5761326d61277a565b5b600061327c84828501613243565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132e16026836126d3565b91506132ec82613285565b604082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133736024836126d3565b915061337e82613317565b604082019050919050565b600060208201905081810360008301526133a281613366565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006134056022836126d3565b9150613410826133a9565b604082019050919050565b60006020820190508181036000830152613434816133f8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134716020836126d3565b915061347c8261343b565b602082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006134dd600b836126d3565b91506134e8826134a7565b602082019050919050565b6000602082019050818103600083015261350c816134d0565b9050919050565b7f6c696d6974000000000000000000000000000000000000000000000000000000600082015250565b60006135496005836126d3565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135b9826127e2565b91506135c4836127e2565b9250826135d4576135d361357f565b5b828204905092915050565b60006135ea826127e2565b91506135f5836127e2565b925082820390508181111561360d5761360c612f5b565b5b92915050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613649601d836126d3565b915061365482613613565b602082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006136db6025836126d3565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061376d6023836126d3565b915061377882613711565b604082019050919050565b6000602082019050818103600083015261379c81613760565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006137ff6026836126d3565b915061380a826137a3565b604082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061388961388461387f84613864565b612d2e565b6127e2565b9050919050565b6138998161386e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6138d4816127a4565b82525050565b60006138e683836138cb565b60208301905092915050565b6000602082019050919050565b600061390a8261389f565b61391481856138aa565b935061391f836138bb565b8060005b8381101561395057815161393788826138da565b9750613942836138f2565b925050600181019050613923565b5085935050505092915050565b600060a082019050613972600083018861288e565b61397f6020830187613890565b818103604083015261399181866138ff565b90506139a06060830185612bb1565b6139ad608083018461288e565b969550505050505056fea26469706673582212201c096c1b7d433ba6d4d4dddbcbbb32926a7867491d363619c991eabc3ebb34b764736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102605760003560e01c8063632e544211610144578063a6903278116100b6578063b5cbeb8d1161007a578063b5cbeb8d14610909578063cc1776d314610934578063d99274481461095f578063dd62ed3e14610988578063edae876f146109c5578063f2fde38b146109f057610267565b8063a690327814610824578063a9059cbb1461084f578063a983e4c81461088c578063ad5c4648146108b5578063ae6e8a88146108e057610267565b80638da5cb5b116101085780638da5cb5b1461071457806395d89b411461073f578063967123cd1461076a578063985f2fe11461079357806399b9e6a2146107be578063a457c2d7146107e757610267565b8063632e5442146106415780636e4ad4ba1461066a57806370a0823114610695578063715018a6146106d25780638648c6a6146106e957610267565b806323b872dd116101dd578063404e5129116101a1578063404e512914610543578063427ac82c1461056c57806349bd5a5e146105975780634f7041a5146105c25780635384f246146105ed5780635be89fbd1461061857610267565b806323b872dd1461044857806328ea1539146104855780632b216cc6146104b0578063313ce567146104db578063395093511461050657610267565b806316c021291161022457806316c021291461035157806318160ddd1461038e5780631c6a0c4c146103b95780631e7be210146103e25780631e89d5451461041f57610267565b806306fdde031461026c578063095ea7b3146102975780630974bf83146102d45780630a3ccb23146102ff57806314aec7481461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b50610281610a19565b60405161028e9190612758565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b99190612818565b610aab565b6040516102cb9190612873565b60405180910390f35b3480156102e057600080fd5b506102e9610ace565b6040516102f6919061289d565b60405180910390f35b34801561030b57600080fd5b50610326600480360381019061032191906128e4565b610ad4565b005b34801561033457600080fd5b5061034f600480360381019061034a9190612911565b610af9565b005b34801561035d57600080fd5b5061037860048036038101906103739190612951565b610b26565b6040516103859190612873565b60405180910390f35b34801561039a57600080fd5b506103a3610b46565b6040516103b0919061289d565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db919061297e565b610b50565b005b3480156103ee57600080fd5b5061040960048036038101906104049190612951565b610ba2565b6040516104169190612873565b60405180910390f35b34801561042b57600080fd5b5061044660048036038101906104419190612a66565b610bc2565b005b34801561045457600080fd5b5061046f600480360381019061046a9190612ae7565b610d5a565b60405161047c9190612873565b60405180910390f35b34801561049157600080fd5b5061049a610d89565b6040516104a7919061289d565b60405180910390f35b3480156104bc57600080fd5b506104c5610d8f565b6040516104d29190612873565b60405180910390f35b3480156104e757600080fd5b506104f0610da2565b6040516104fd9190612b56565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190612818565b610dab565b60405161053a9190612873565b60405180910390f35b34801561054f57600080fd5b5061056a60048036038101906105659190612b71565b610de2565b005b34801561057857600080fd5b50610581610e45565b60405161058e9190612bc0565b60405180910390f35b3480156105a357600080fd5b506105ac610e6b565b6040516105b99190612bc0565b60405180910390f35b3480156105ce57600080fd5b506105d7610e91565b6040516105e4919061289d565b60405180910390f35b3480156105f957600080fd5b50610602610e97565b60405161060f9190612873565b60405180910390f35b34801561062457600080fd5b5061063f600480360381019061063a919061297e565b610eaa565b005b34801561064d57600080fd5b5061066860048036038101906106639190612bdb565b610ebc565b005b34801561067657600080fd5b5061067f610fbb565b60405161068c919061289d565b60405180910390f35b3480156106a157600080fd5b506106bc60048036038101906106b79190612951565b610fc1565b6040516106c9919061289d565b60405180910390f35b3480156106de57600080fd5b506106e761100a565b005b3480156106f557600080fd5b506106fe61101e565b60405161070b919061289d565b60405180910390f35b34801561072057600080fd5b50610729611024565b6040516107369190612bc0565b60405180910390f35b34801561074b57600080fd5b5061075461104d565b6040516107619190612758565b60405180910390f35b34801561077657600080fd5b50610791600480360381019061078c9190612c3b565b6110df565b005b34801561079f57600080fd5b506107a861118c565b6040516107b59190612bc0565b60405180910390f35b3480156107ca57600080fd5b506107e560048036038101906107e09190612b71565b6111b2565b005b3480156107f357600080fd5b5061080e60048036038101906108099190612818565b611215565b60405161081b9190612873565b60405180910390f35b34801561083057600080fd5b5061083961128c565b604051610846919061289d565b60405180910390f35b34801561085b57600080fd5b5061087660048036038101906108719190612818565b611292565b6040516108839190612873565b60405180910390f35b34801561089857600080fd5b506108b360048036038101906108ae9190612c9b565b6112b5565b005b3480156108c157600080fd5b506108ca6112d7565b6040516108d79190612bc0565b60405180910390f35b3480156108ec57600080fd5b5061090760048036038101906109029190612c3b565b6112fd565b005b34801561091557600080fd5b5061091e6113aa565b60405161092b919061289d565b60405180910390f35b34801561094057600080fd5b506109496113b0565b604051610956919061289d565b60405180910390f35b34801561096b57600080fd5b5061098660048036038101906109819190612951565b6113b6565b005b34801561099457600080fd5b506109af60048036038101906109aa9190612cee565b6114b9565b6040516109bc919061289d565b60405180910390f35b3480156109d157600080fd5b506109da611540565b6040516109e79190612d8d565b60405180910390f35b3480156109fc57600080fd5b50610a176004803603810190610a129190612951565b611566565b005b606060048054610a2890612dd7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5490612dd7565b8015610aa15780601f10610a7657610100808354040283529160200191610aa1565b820191906000526020600020905b815481529060010190602001808311610a8457829003601f168201915b5050505050905090565b600080610ab66115e9565b9050610ac38185856115f1565b600191505092915050565b600c5481565b610adc6117ba565b80601260016101000a81548160ff02191690831515021790555050565b610b016117ba565b81601260006101000a81548160ff021916908315150217905550806010819055505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b610b586117ba565b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b9e573d6000803e3d6000fd5b5050565b60146020528060005260406000206000915054906101000a900460ff1681565b6103218484905010610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090612e7a565b60405180910390fd5b818190508484905014610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890612f0c565b60405180910390fd5b6000805b85859050811015610c9a57838382818110610c7357610c72612f2c565b5b9050602002013582610c859190612f8a565b91508080610c9290612fbe565b915050610c55565b5080610ca533610fc1565b1015610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90613052565b60405180910390fd5b60005b85859050811015610d5257610d3f33878784818110610d0b57610d0a612f2c565b5b9050602002016020810190610d209190612951565b868685818110610d3357610d32612f2c565b5b90506020020135611838565b8080610d4a90612fbe565b915050610ce9565b505050505050565b600080610d656115e9565b9050610d728582856120dd565b610d7d858585611838565b60019150509392505050565b600f5481565b601260009054906101000a900460ff1681565b60006012905090565b600080610db66115e9565b9050610dd7818585610dc885896114b9565b610dd29190612f8a565b6115f1565b600191505092915050565b610dea6117ba565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b601260019054906101000a900460ff1681565b610eb26117ba565b8060118190555050565b6107d18383905010610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa906130e4565b60405180910390fd5b60008383905082610f149190613104565b905080610f2033610fc1565b1015610f61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5890613052565b60405180910390fd5b60005b84849050811015610fb457610fa133868684818110610f8657610f85612f2c565b5b9050602002016020810190610f9b9190612951565b85611838565b8080610fac90612fbe565b915050610f64565b5050505050565b60105481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110126117ba565b61101c6000612169565b565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461105c90612dd7565b80601f016020809104026020016040519081016040528092919081815260200182805461108890612dd7565b80156110d55780601f106110aa576101008083540402835291602001916110d5565b820191906000526020600020905b8154815290600101906020018083116110b857829003601f168201915b5050505050905090565b6110e76117ba565b60005b8383905081101561118657816006600086868581811061110d5761110c612f2c565b5b90506020020160208101906111229190612951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061117e90612fbe565b9150506110ea565b50505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111ba6117ba565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000806112206115e9565b9050600061122e82866114b9565b905083811015611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a906131b8565b60405180910390fd5b61128082868684036115f1565b60019250505092915050565b600a5481565b60008061129d6115e9565b90506112aa818585611838565b600191505092915050565b6112bd6117ba565b82600d8190555081600e8190555080600f81905550505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113056117ba565b60005b838390508110156113a457816014600086868581811061132b5761132a612f2c565b5b90506020020160208101906113409190612951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061139c90612fbe565b915050611308565b50505050565b600b5481565b600e5481565b6113be6117ba565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114149190612bc0565b602060405180830381865afa158015611431573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145591906131ed565b6040518363ffffffff1660e01b815260040161147292919061321a565b6020604051808303816000875af1158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b59190613258565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61156e6117ba565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d4906132f7565b60405180910390fd5b6115e681612169565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790613389565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c69061341b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ad919061289d565b60405180910390a3505050565b6117c26115e9565b73ffffffffffffffffffffffffffffffffffffffff166117e0611024565b73ffffffffffffffffffffffffffffffffffffffff1614611836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182d90613487565b60405180910390fd5b565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118dc5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61191b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611912906134f3565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561197a57506000600a54145b156119875742600a819055505b61198f611024565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611a155750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611a6d5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611ac55750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611b025750611ad3611024565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611b5a5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611bb25750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611c0a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611c4057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c945750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ce85750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611cfd57611cf883838361222d565b6120d8565b8273ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611da657508173ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156120cc57601260009054906101000a900460ff168015611e1457508273ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b8015611e6e57508173ffffffffffffffffffffffffffffffffffffffff16601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15611ecb57601054611e7f83610fc1565b82611e8a9190612f8a565b10611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec19061355f565b60405180910390fd5b5b600060059050600b54600a54611ee19190612f8a565b421015611fa857601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f4757600d549050611fa3565b601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fa257600e5490505b5b611fae565b600f5490505b600060648383611fbe9190613104565b611fc891906135ae565b9050600c54600a54611fda9190612f8a565b42118015611ff45750601260019054906101000a900460ff165b156120815761200485308361222d565b601560009054906101000a900460ff1615801561206e57508373ffffffffffffffffffffffffffffffffffffffff16601260029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561207c5761207b6124a6565b5b6120af565b6120ae85600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361222d565b5b6120c5858583866120c091906135df565b61222d565b50506120d8565b6120d783838361222d565b5b505050565b60006120e984846114b9565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121635781811015612155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214c9061365f565b60405180910390fd5b61216284848484036115f1565b5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612293906136f1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361230b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230290613783565b60405180910390fd5b6123168383836126be565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490613815565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161248d919061289d565b60405180910390a36124a08484846126c3565b50505050565b6001601560006101000a81548160ff02191690831515021790555060006124cc30610fc1565b90506000600267ffffffffffffffff8111156124eb576124ea613835565b5b6040519080825280602002602001820160405280156125195781602001602082028036833780820191505090505b50905060115482111561269f57308160008151811061253b5761253a612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106125ac576125ab612f2c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d79583600084600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161266c95949392919061395d565b600060405180830381600087803b15801561268657600080fd5b505af115801561269a573d6000803e3d6000fd5b505050505b50506000601560006101000a81548160ff021916908315150217905550565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127025780820151818401526020810190506126e7565b60008484015250505050565b6000601f19601f8301169050919050565b600061272a826126c8565b61273481856126d3565b93506127448185602086016126e4565b61274d8161270e565b840191505092915050565b60006020820190508181036000830152612772818461271f565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127af82612784565b9050919050565b6127bf816127a4565b81146127ca57600080fd5b50565b6000813590506127dc816127b6565b92915050565b6000819050919050565b6127f5816127e2565b811461280057600080fd5b50565b600081359050612812816127ec565b92915050565b6000806040838503121561282f5761282e61277a565b5b600061283d858286016127cd565b925050602061284e85828601612803565b9150509250929050565b60008115159050919050565b61286d81612858565b82525050565b60006020820190506128886000830184612864565b92915050565b612897816127e2565b82525050565b60006020820190506128b2600083018461288e565b92915050565b6128c181612858565b81146128cc57600080fd5b50565b6000813590506128de816128b8565b92915050565b6000602082840312156128fa576128f961277a565b5b6000612908848285016128cf565b91505092915050565b600080604083850312156129285761292761277a565b5b6000612936858286016128cf565b925050602061294785828601612803565b9150509250929050565b6000602082840312156129675761296661277a565b5b6000612975848285016127cd565b91505092915050565b6000602082840312156129945761299361277a565b5b60006129a284828501612803565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126129d0576129cf6129ab565b5b8235905067ffffffffffffffff8111156129ed576129ec6129b0565b5b602083019150836020820283011115612a0957612a086129b5565b5b9250929050565b60008083601f840112612a2657612a256129ab565b5b8235905067ffffffffffffffff811115612a4357612a426129b0565b5b602083019150836020820283011115612a5f57612a5e6129b5565b5b9250929050565b60008060008060408587031215612a8057612a7f61277a565b5b600085013567ffffffffffffffff811115612a9e57612a9d61277f565b5b612aaa878288016129ba565b9450945050602085013567ffffffffffffffff811115612acd57612acc61277f565b5b612ad987828801612a10565b925092505092959194509250565b600080600060608486031215612b0057612aff61277a565b5b6000612b0e868287016127cd565b9350506020612b1f868287016127cd565b9250506040612b3086828701612803565b9150509250925092565b600060ff82169050919050565b612b5081612b3a565b82525050565b6000602082019050612b6b6000830184612b47565b92915050565b60008060408385031215612b8857612b8761277a565b5b6000612b96858286016127cd565b9250506020612ba7858286016128cf565b9150509250929050565b612bba816127a4565b82525050565b6000602082019050612bd56000830184612bb1565b92915050565b600080600060408486031215612bf457612bf361277a565b5b600084013567ffffffffffffffff811115612c1257612c1161277f565b5b612c1e868287016129ba565b93509350506020612c3186828701612803565b9150509250925092565b600080600060408486031215612c5457612c5361277a565b5b600084013567ffffffffffffffff811115612c7257612c7161277f565b5b612c7e868287016129ba565b93509350506020612c91868287016128cf565b9150509250925092565b600080600060608486031215612cb457612cb361277a565b5b6000612cc286828701612803565b9350506020612cd386828701612803565b9250506040612ce486828701612803565b9150509250925092565b60008060408385031215612d0557612d0461277a565b5b6000612d13858286016127cd565b9250506020612d24858286016127cd565b9150509250929050565b6000819050919050565b6000612d53612d4e612d4984612784565b612d2e565b612784565b9050919050565b6000612d6582612d38565b9050919050565b6000612d7782612d5a565b9050919050565b612d8781612d6c565b82525050565b6000602082019050612da26000830184612d7e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612def57607f821691505b602082108103612e0257612e01612da8565b5b50919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000612e64602d836126d3565b9150612e6f82612e08565b604082019050919050565b60006020820190508181036000830152612e9381612e57565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000612ef66028836126d3565b9150612f0182612e9a565b604082019050919050565b60006020820190508181036000830152612f2581612ee9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f95826127e2565b9150612fa0836127e2565b9250828201905080821115612fb857612fb7612f5b565b5b92915050565b6000612fc9826127e2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ffb57612ffa612f5b565b5b600182019050919050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c65740000000000600082015250565b600061303c601b836126d3565b915061304782613006565b602082019050919050565b6000602082019050818103600083015261306b8161302f565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b60006130ce602e836126d3565b91506130d982613072565b604082019050919050565b600060208201905081810360008301526130fd816130c1565b9050919050565b600061310f826127e2565b915061311a836127e2565b9250828202613128816127e2565b9150828204841483151761313f5761313e612f5b565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006131a26025836126d3565b91506131ad82613146565b604082019050919050565b600060208201905081810360008301526131d181613195565b9050919050565b6000815190506131e7816127ec565b92915050565b6000602082840312156132035761320261277a565b5b6000613211848285016131d8565b91505092915050565b600060408201905061322f6000830185612bb1565b61323c602083018461288e565b9392505050565b600081519050613252816128b8565b92915050565b60006020828403121561326e5761326d61277a565b5b600061327c84828501613243565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132e16026836126d3565b91506132ec82613285565b604082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133736024836126d3565b915061337e82613317565b604082019050919050565b600060208201905081810360008301526133a281613366565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006134056022836126d3565b9150613410826133a9565b604082019050919050565b60006020820190508181036000830152613434816133f8565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134716020836126d3565b915061347c8261343b565b602082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b60006134dd600b836126d3565b91506134e8826134a7565b602082019050919050565b6000602082019050818103600083015261350c816134d0565b9050919050565b7f6c696d6974000000000000000000000000000000000000000000000000000000600082015250565b60006135496005836126d3565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135b9826127e2565b91506135c4836127e2565b9250826135d4576135d361357f565b5b828204905092915050565b60006135ea826127e2565b91506135f5836127e2565b925082820390508181111561360d5761360c612f5b565b5b92915050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613649601d836126d3565b915061365482613613565b602082019050919050565b600060208201905081810360008301526136788161363c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006136db6025836126d3565b91506136e68261367f565b604082019050919050565b6000602082019050818103600083015261370a816136ce565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061376d6023836126d3565b915061377882613711565b604082019050919050565b6000602082019050818103600083015261379c81613760565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006137ff6026836126d3565b915061380a826137a3565b604082019050919050565b6000602082019050818103600083015261382e816137f2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061388961388461387f84613864565b612d2e565b6127e2565b9050919050565b6138998161386e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6138d4816127a4565b82525050565b60006138e683836138cb565b60208301905092915050565b6000602082019050919050565b600061390a8261389f565b61391481856138aa565b935061391f836138bb565b8060005b8381101561395057815161393788826138da565b9750613942836138f2565b925050600181019050613923565b5085935050505092915050565b600060a082019050613972600083018861288e565b61397f6020830187613890565b818103604083015261399181866138ff565b90506139a06060830185612bb1565b6139ad608083018461288e565b969550505050505056fea26469706673582212201c096c1b7d433ba6d4d4dddbcbbb32926a7867491d363619c991eabc3ebb34b764736f6c63430008120033
Deployed Bytecode Sourcemap
1245:6889:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1592:29:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5654:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5320:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1288:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3255:106:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7976:110:5;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1950:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6723:631;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5203:256:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1695:23:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1790:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3104:91:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5854:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5868:135:5;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1337:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1855:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1628:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1822;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7362:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1725:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3419:125:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1824:101:0;;;;;;;;;;;;;:::i;:::-;;1758:25:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1201:85:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2369:102:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6011:225:5;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1414:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6244:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6575:427:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1517:29:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3740:189:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5471:175:5;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1491:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6386:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1553:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1661:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7815:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3987::1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1890:22:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2074:198:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2158:98:1;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;4543:13;4559:12;:10;:12::i;:::-;4543:28;;4581:32;4590:5;4597:7;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;:::o;1592:29:5:-;;;;:::o;5654:91::-;1094:13:0;:11;:13::i;:::-;5728:9:5::1;5718:7;;:19;;;;;;;;;;;;;;;;;;5654:91:::0;:::o;5320:143::-;1094:13:0;:11;:13::i;:::-;5412:6:5::1;5403;;:15;;;;;;;;;;;;;;;;;;5443:12;5429:11;:26;;;;5320:143:::0;;:::o;1288:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;3255:106:1:-;3316:7;3342:12;;3335:19;;3255:106;:::o;7976:110:5:-;1094:13:0;:11;:13::i;:::-;8050:10:5::1;8042:28;;:36;8071:6;8042:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7976:110:::0;:::o;1950:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;6723:631::-;6849:3;6830:9;;:16;;:22;6822:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;6941:7;;:14;;6921:9;;:16;;:34;6913:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;7013:11;7044:9;7039:96;7063:9;;:16;;7059:1;:20;7039:96;;;7113:7;;7121:1;7113:10;;;;;;;:::i;:::-;;;;;;;;7107:3;:16;;;;:::i;:::-;7101:22;;7081:3;;;;;:::i;:::-;;;;7039:96;;;;7180:3;7155:21;7165:10;7155:9;:21::i;:::-;:28;;7147:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7231:9;7226:121;7250:9;;:16;;7246:1;:20;7226:121;;;7288:47;7298:10;7310:9;;7320:1;7310:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7324:7;;7332:1;7324:10;;;;;;;:::i;:::-;;;;;;;;7288:9;:47::i;:::-;7268:3;;;;;:::i;:::-;;;;7226:121;;;;6811:543;6723:631;;;;:::o;5203:256:1:-;5300:4;5316:15;5334:12;:10;:12::i;:::-;5316:30;;5356:38;5372:4;5378:7;5387:6;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;5448:4;5441:11;;;5203:256;;;;;:::o;1695:23:5:-;;;;:::o;1790:25::-;;;;;;;;;;;;;:::o;3104:91:1:-;3162:5;3186:2;3179:9;;3104:91;:::o;5854:234::-;5942:4;5958:13;5974:12;:10;:12::i;:::-;5958:28;;5996:64;6005:5;6012:7;6049:10;6021:25;6031:5;6038:7;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;:::-;6077:4;6070:11;;;5854:234;;;;:::o;5868:135:5:-;1094:13:0;:11;:13::i;:::-;5980:15:5::1;5957:10;:20;5968:8;5957:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;5868:135:::0;;:::o;1337:70::-;;;;;;;;;;;;;:::o;1855:28::-;;;;;;;;;;;;;:::o;1628:26::-;;;;:::o;1822:::-;;;;;;;;;;;;;:::o;5753:107::-;1094:13:0;:11;:13::i;:::-;5841:11:5::1;5828:10;:24;;;;5753:107:::0;:::o;7362:443::-;7482:4;7463:9;;:16;;:23;7455:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;7550:11;7573:9;;:16;;7564:6;:25;;;;:::i;:::-;7550:39;;7633:3;7608:21;7618:10;7608:9;:21::i;:::-;:28;;7600:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7686:9;7681:117;7705:9;;:16;;7701:1;:20;7681:117;;;7743:43;7753:10;7765:9;;7775:1;7765:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7779:6;7743:9;:43::i;:::-;7723:3;;;;;:::i;:::-;;;;7681:117;;;;7444:361;7362:443;;;:::o;1725:26::-;;;;:::o;3419:125:1:-;3493:7;3519:9;:18;3529:7;3519:18;;;;;;;;;;;;;;;;3512:25;;3419:125;;;:::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1758:25:5:-;;;;:::o;1201:85:0:-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;2369:102:1:-;2425:13;2457:7;2450:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2369:102;:::o;6011:225:5:-;1094:13:0;:11;:13::i;:::-;6118:9:5::1;6113:116;6137:9;;:16;;6133:1;:20;6113:116;;;6202:15;6175:10;:24;6186:9;;6196:1;6186:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6175:24;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;6155:3;;;;;:::i;:::-;;;;6113:116;;;;6011:225:::0;;;:::o;1414:70::-;;;;;;;;;;;;;:::o;6244:134::-;1094:13:0;:11;:13::i;:::-;6355:15:5::1;6332:10;:20;6343:8;6332:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;6244:134:::0;;:::o;6575:427:1:-;6668:4;6684:13;6700:12;:10;:12::i;:::-;6684:28;;6722:24;6749:25;6759:5;6766:7;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;:::-;6991:4;6984:11;;;;6575:427;;;;:::o;1517:29:5:-;;;;:::o;3740:189:1:-;3819:4;3835:13;3851:12;:10;:12::i;:::-;3835:28;;3873;3883:5;3890:2;3894:6;3873:9;:28::i;:::-;3918:4;3911:11;;;3740:189;;;;:::o;5471:175:5:-;1094:13:0;:11;:13::i;:::-;5576:7:5::1;5567:6;:16;;;;5604:8;5594:7;:18;;;;5630:5;5623:4;:12;;;;5471:175:::0;;;:::o;1491:19::-;;;;;;;;;;;;;:::o;6386:225::-;1094:13:0;:11;:13::i;:::-;6493:9:5::1;6488:116;6512:9;;:16;;6508:1;:20;6488:116;;;6577:15;6550:10;:24;6561:9;;6571:1;6561:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6550:24;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;6530:3;;;;;:::i;:::-;;;;6488:116;;;;6386:225:::0;;;:::o;1553:32::-;;;;:::o;1661:27::-;;;;:::o;7815:149::-;1094:13:0;:11;:13::i;:::-;7887:6:5::1;7881:22;;;7904:10;7923:6;7916:24;;;7949:4;7916:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7881:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7815:149:::0;:::o;3987::1:-;4076:7;4102:11;:18;4114:5;4102:18;;;;;;;;;;;;;;;:27;4121:7;4102:27;;;;;;;;;;;;;;;;4095:34;;3987:149;;;;:::o;1890:22:5:-;;;;;;;;;;;;;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;2182:1:::1;2162:22;;:8;:22;;::::0;2154:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;640:96:4:-;693:7;719:10;712:17;;640:96;:::o;10457:340:1:-;10575:1;10558:19;;:5;:19;;;10550:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10655:1;10636:21;;:7;:21;;;10628:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10737:6;10707:11;:18;10719:5;10707:18;;;;;;;;;;;;;;;:27;10726:7;10707:27;;;;;;;;;;;;;;;:36;;;;10774:7;10758:32;;10767:5;10758:32;;;10783:6;10758:32;;;;;;:::i;:::-;;;;;;;;10457:340;;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;2808:1984:5:-;2907:10;:14;2918:2;2907:14;;;;;;;;;;;;;;;;;;;;;;;;;2906:15;:36;;;;;2926:10;:16;2937:4;2926:16;;;;;;;;;;;;;;;;;;;;;;;;;2925:17;2906:36;2898:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2991:2;2974:19;;:13;;;;;;;;;;;:19;;;:38;;;;;3011:1;2997:10;;:15;2974:38;2971:98;;;3042:15;3029:10;:28;;;;2971:98;3092:7;:5;:7::i;:::-;3084:15;;:4;:15;;;:47;;;;3121:10;;;;;;;;;;;3113:18;;:4;:18;;;3084:47;:78;;;;3152:10;;;;;;;;;;;3144:18;;:4;:18;;;3084:78;:115;;;;3191:7;;;;;;;;;;;3175:24;;:4;:24;;;3084:115;:141;;;;3218:7;:5;:7::i;:::-;3212:13;;:2;:13;;;3084:141;:171;;;;3245:10;;;;;;;;;;;3239:16;;:2;:16;;;3084:171;:200;;;;3274:10;;;;;;;;;;;3268:16;;:2;:16;;;3084:200;:235;;;;3311:7;;;;;;;;;;;3297:22;;:2;:22;;;3084:235;:269;;;;3348:4;3332:21;;:4;:21;;;3084:269;:298;;;;3366:10;:16;3377:4;3366:16;;;;;;;;;;;;;;;;;;;;;;;;;3084:298;:326;;;;3396:10;:14;3407:2;3396:14;;;;;;;;;;;;;;;;;;;;;;;;;3084:326;3081:412;;;3427:33;3443:4;3449:2;3453:6;3427:15;:33::i;:::-;3475:7;;3081:412;3743:4;3725:22;;:13;;;;;;;;;;;:22;;;:46;;;;3769:2;3751:20;;:13;;;;;;;;;;;:20;;;3725:46;3722:1019;;;3791:6;;;;;;;;;;;:32;;;;;3819:4;3801:22;;:13;;;;;;;;;;;:22;;;3791:32;:58;;;;;3847:2;3827:22;;3835:7;;;;;;;;;;;3827:22;;;;3791:58;3788:153;;;3904:11;;3887:13;3897:2;3887:9;:13::i;:::-;3878:6;:22;;;;:::i;:::-;3877:38;3869:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3788:153;3955:11;3969:1;3955:15;;4020:11;;4007:10;;:24;;;;:::i;:::-;3988:15;:44;3985:299;;;4063:13;;;;;;;;;;;4055:21;;:4;:21;;;4052:166;;4107:6;;4101:12;;4052:166;;;4147:13;;;;;;;;;;;4141:19;;:2;:19;;;4138:80;;4191:7;;4185:13;;4138:80;4052:166;3985:299;;;4264:4;;4258:10;;3985:299;4300:9;4327:3;4318:6;4312:3;:12;;;;:::i;:::-;:18;;;;:::i;:::-;4300:30;;4380:8;;4367:10;;:21;;;;:::i;:::-;4348:15;:41;:52;;;;;4393:7;;;;;;;;;;;4348:52;4345:312;;;4421:39;4437:4;4451;4458:1;4421:15;:39::i;:::-;4483:6;;;;;;;;;;;4482:7;:31;;;;;4511:2;4493:20;;:13;;;;;;;;;;;:20;;;4482:31;4479:88;;;4538:9;:7;:9::i;:::-;4479:88;4345:312;;;4605:36;4621:4;4627:10;;;;;;;;;;;4639:1;4605:15;:36::i;:::-;4345:312;4671:37;4687:4;4693:2;4706:1;4697:6;:10;;;;:::i;:::-;4671:15;:37::i;:::-;4723:7;;;;3722:1019;4751:33;4767:4;4773:2;4777:6;4751:15;:33::i;:::-;2808:1984;;;;:::o;11078:411:1:-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;11264:17;11244:16;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11240:243;11168:321;11078:411;;;:::o;2426:187:0:-;2499:16;2518:6;;;;;;;;;;;2499:25;;2543:8;2534:6;;:17;;;;;;;;;;;;;;;;;;2597:8;2566:40;;2587:8;2566:40;;;;;;;;;;;;2489:124;2426:187;:::o;7456:788:1:-;7568:1;7552:18;;:4;:18;;;7544:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7644:1;7630:16;;:2;:16;;;7622:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7697:38;7718:4;7724:2;7728:6;7697:20;:38::i;:::-;7746:19;7768:9;:15;7778:4;7768:15;;;;;;;;;;;;;;;;7746:37;;7816:6;7801:11;:21;;7793:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7931:6;7917:11;:20;7899:9;:15;7909:4;7899:15;;;;;;;;;;;;;;;:38;;;;8131:6;8114:9;:13;8124:2;8114:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;8178:2;8163:26;;8172:4;8163:26;;;8182:6;8163:26;;;;;;:::i;:::-;;;;;;;;8200:37;8220:4;8226:2;8230:6;8200:19;:37::i;:::-;7534:710;7456:788;;;:::o;4924:388:5:-;4867:4;4858:6;;:13;;;;;;;;;;;;;;;;;;4974:15:::1;4992:24;5010:4;4992:9;:24::i;:::-;4974:42;;5027:21;5065:1;5051:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5027:40;;5091:10;;5081:7;:20;5078:227;;;5136:4;5118;5123:1;5118:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;5166:4;;;;;;;;;;;5156;5161:1;5156:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;5185:7;;;;;;;;;;;:61;;;5247:7;5256:1;5259:4;5265:10;;;;;;;;;;;5277:15;5185:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5078:227;4963:349;;4903:5:::0;4894:6;;:14;;;;;;;;;;;;;;;;;;4924:388::o;12073:91:1:-;;;;:::o;12752:90::-;;;;:::o;7:99:6:-;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:116::-;3868:21;3883:5;3868:21;:::i;:::-;3861:5;3858:32;3848:60;;3904:1;3901;3894:12;3848:60;3798:116;:::o;3920:133::-;3963:5;4001:6;3988:20;3979:29;;4017:30;4041:5;4017:30;:::i;:::-;3920:133;;;;:::o;4059:323::-;4115:6;4164:2;4152:9;4143:7;4139:23;4135:32;4132:119;;;4170:79;;:::i;:::-;4132:119;4290:1;4315:50;4357:7;4348:6;4337:9;4333:22;4315:50;:::i;:::-;4305:60;;4261:114;4059:323;;;;:::o;4388:468::-;4453:6;4461;4510:2;4498:9;4489:7;4485:23;4481:32;4478:119;;;4516:79;;:::i;:::-;4478:119;4636:1;4661:50;4703:7;4694:6;4683:9;4679:22;4661:50;:::i;:::-;4651:60;;4607:114;4760:2;4786:53;4831:7;4822:6;4811:9;4807:22;4786:53;:::i;:::-;4776:63;;4731:118;4388:468;;;;;:::o;4862:329::-;4921:6;4970:2;4958:9;4949:7;4945:23;4941:32;4938:119;;;4976:79;;:::i;:::-;4938:119;5096:1;5121:53;5166:7;5157:6;5146:9;5142:22;5121:53;:::i;:::-;5111:63;;5067:117;4862:329;;;;:::o;5197:::-;5256:6;5305:2;5293:9;5284:7;5280:23;5276:32;5273:119;;;5311:79;;:::i;:::-;5273:119;5431:1;5456:53;5501:7;5492:6;5481:9;5477:22;5456:53;:::i;:::-;5446:63;;5402:117;5197:329;;;;:::o;5532:117::-;5641:1;5638;5631:12;5655:117;5764:1;5761;5754:12;5778:117;5887:1;5884;5877:12;5918:568;5991:8;6001:6;6051:3;6044:4;6036:6;6032:17;6028:27;6018:122;;6059:79;;:::i;:::-;6018:122;6172:6;6159:20;6149:30;;6202:18;6194:6;6191:30;6188:117;;;6224:79;;:::i;:::-;6188:117;6338:4;6330:6;6326:17;6314:29;;6392:3;6384:4;6376:6;6372:17;6362:8;6358:32;6355:41;6352:128;;;6399:79;;:::i;:::-;6352:128;5918:568;;;;;:::o;6509:::-;6582:8;6592:6;6642:3;6635:4;6627:6;6623:17;6619:27;6609:122;;6650:79;;:::i;:::-;6609:122;6763:6;6750:20;6740:30;;6793:18;6785:6;6782:30;6779:117;;;6815:79;;:::i;:::-;6779:117;6929:4;6921:6;6917:17;6905:29;;6983:3;6975:4;6967:6;6963:17;6953:8;6949:32;6946:41;6943:128;;;6990:79;;:::i;:::-;6943:128;6509:568;;;;;:::o;7083:934::-;7205:6;7213;7221;7229;7278:2;7266:9;7257:7;7253:23;7249:32;7246:119;;;7284:79;;:::i;:::-;7246:119;7432:1;7421:9;7417:17;7404:31;7462:18;7454:6;7451:30;7448:117;;;7484:79;;:::i;:::-;7448:117;7597:80;7669:7;7660:6;7649:9;7645:22;7597:80;:::i;:::-;7579:98;;;;7375:312;7754:2;7743:9;7739:18;7726:32;7785:18;7777:6;7774:30;7771:117;;;7807:79;;:::i;:::-;7771:117;7920:80;7992:7;7983:6;7972:9;7968:22;7920:80;:::i;:::-;7902:98;;;;7697:313;7083:934;;;;;;;:::o;8023:619::-;8100:6;8108;8116;8165:2;8153:9;8144:7;8140:23;8136:32;8133:119;;;8171:79;;:::i;:::-;8133:119;8291:1;8316:53;8361:7;8352:6;8341:9;8337:22;8316:53;:::i;:::-;8306:63;;8262:117;8418:2;8444:53;8489:7;8480:6;8469:9;8465:22;8444:53;:::i;:::-;8434:63;;8389:118;8546:2;8572:53;8617:7;8608:6;8597:9;8593:22;8572:53;:::i;:::-;8562:63;;8517:118;8023:619;;;;;:::o;8648:86::-;8683:7;8723:4;8716:5;8712:16;8701:27;;8648:86;;;:::o;8740:112::-;8823:22;8839:5;8823:22;:::i;:::-;8818:3;8811:35;8740:112;;:::o;8858:214::-;8947:4;8985:2;8974:9;8970:18;8962:26;;8998:67;9062:1;9051:9;9047:17;9038:6;8998:67;:::i;:::-;8858:214;;;;:::o;9078:468::-;9143:6;9151;9200:2;9188:9;9179:7;9175:23;9171:32;9168:119;;;9206:79;;:::i;:::-;9168:119;9326:1;9351:53;9396:7;9387:6;9376:9;9372:22;9351:53;:::i;:::-;9341:63;;9297:117;9453:2;9479:50;9521:7;9512:6;9501:9;9497:22;9479:50;:::i;:::-;9469:60;;9424:115;9078:468;;;;;:::o;9552:118::-;9639:24;9657:5;9639:24;:::i;:::-;9634:3;9627:37;9552:118;;:::o;9676:222::-;9769:4;9807:2;9796:9;9792:18;9784:26;;9820:71;9888:1;9877:9;9873:17;9864:6;9820:71;:::i;:::-;9676:222;;;;:::o;9904:704::-;9999:6;10007;10015;10064:2;10052:9;10043:7;10039:23;10035:32;10032:119;;;10070:79;;:::i;:::-;10032:119;10218:1;10207:9;10203:17;10190:31;10248:18;10240:6;10237:30;10234:117;;;10270:79;;:::i;:::-;10234:117;10383:80;10455:7;10446:6;10435:9;10431:22;10383:80;:::i;:::-;10365:98;;;;10161:312;10512:2;10538:53;10583:7;10574:6;10563:9;10559:22;10538:53;:::i;:::-;10528:63;;10483:118;9904:704;;;;;:::o;10614:698::-;10706:6;10714;10722;10771:2;10759:9;10750:7;10746:23;10742:32;10739:119;;;10777:79;;:::i;:::-;10739:119;10925:1;10914:9;10910:17;10897:31;10955:18;10947:6;10944:30;10941:117;;;10977:79;;:::i;:::-;10941:117;11090:80;11162:7;11153:6;11142:9;11138:22;11090:80;:::i;:::-;11072:98;;;;10868:312;11219:2;11245:50;11287:7;11278:6;11267:9;11263:22;11245:50;:::i;:::-;11235:60;;11190:115;10614:698;;;;;:::o;11318:619::-;11395:6;11403;11411;11460:2;11448:9;11439:7;11435:23;11431:32;11428:119;;;11466:79;;:::i;:::-;11428:119;11586:1;11611:53;11656:7;11647:6;11636:9;11632:22;11611:53;:::i;:::-;11601:63;;11557:117;11713:2;11739:53;11784:7;11775:6;11764:9;11760:22;11739:53;:::i;:::-;11729:63;;11684:118;11841:2;11867:53;11912:7;11903:6;11892:9;11888:22;11867:53;:::i;:::-;11857:63;;11812:118;11318:619;;;;;:::o;11943:474::-;12011:6;12019;12068:2;12056:9;12047:7;12043:23;12039:32;12036:119;;;12074:79;;:::i;:::-;12036:119;12194:1;12219:53;12264:7;12255:6;12244:9;12240:22;12219:53;:::i;:::-;12209:63;;12165:117;12321:2;12347:53;12392:7;12383:6;12372:9;12368:22;12347:53;:::i;:::-;12337:63;;12292:118;11943:474;;;;;:::o;12423:60::-;12451:3;12472:5;12465:12;;12423:60;;;:::o;12489:142::-;12539:9;12572:53;12590:34;12599:24;12617:5;12599:24;:::i;:::-;12590:34;:::i;:::-;12572:53;:::i;:::-;12559:66;;12489:142;;;:::o;12637:126::-;12687:9;12720:37;12751:5;12720:37;:::i;:::-;12707:50;;12637:126;;;:::o;12769:141::-;12834:9;12867:37;12898:5;12867:37;:::i;:::-;12854:50;;12769:141;;;:::o;12916:161::-;13018:52;13064:5;13018:52;:::i;:::-;13013:3;13006:65;12916:161;;:::o;13083:252::-;13191:4;13229:2;13218:9;13214:18;13206:26;;13242:86;13325:1;13314:9;13310:17;13301:6;13242:86;:::i;:::-;13083:252;;;;:::o;13341:180::-;13389:77;13386:1;13379:88;13486:4;13483:1;13476:15;13510:4;13507:1;13500:15;13527:320;13571:6;13608:1;13602:4;13598:12;13588:22;;13655:1;13649:4;13645:12;13676:18;13666:81;;13732:4;13724:6;13720:17;13710:27;;13666:81;13794:2;13786:6;13783:14;13763:18;13760:38;13757:84;;13813:18;;:::i;:::-;13757:84;13578:269;13527:320;;;:::o;13853:232::-;13993:34;13989:1;13981:6;13977:14;13970:58;14062:15;14057:2;14049:6;14045:15;14038:40;13853:232;:::o;14091:366::-;14233:3;14254:67;14318:2;14313:3;14254:67;:::i;:::-;14247:74;;14330:93;14419:3;14330:93;:::i;:::-;14448:2;14443:3;14439:12;14432:19;;14091:366;;;:::o;14463:419::-;14629:4;14667:2;14656:9;14652:18;14644:26;;14716:9;14710:4;14706:20;14702:1;14691:9;14687:17;14680:47;14744:131;14870:4;14744:131;:::i;:::-;14736:139;;14463:419;;;:::o;14888:227::-;15028:34;15024:1;15016:6;15012:14;15005:58;15097:10;15092:2;15084:6;15080:15;15073:35;14888:227;:::o;15121:366::-;15263:3;15284:67;15348:2;15343:3;15284:67;:::i;:::-;15277:74;;15360:93;15449:3;15360:93;:::i;:::-;15478:2;15473:3;15469:12;15462:19;;15121:366;;;:::o;15493:419::-;15659:4;15697:2;15686:9;15682:18;15674:26;;15746:9;15740:4;15736:20;15732:1;15721:9;15717:17;15710:47;15774:131;15900:4;15774:131;:::i;:::-;15766:139;;15493:419;;;:::o;15918:180::-;15966:77;15963:1;15956:88;16063:4;16060:1;16053:15;16087:4;16084:1;16077:15;16104:180;16152:77;16149:1;16142:88;16249:4;16246:1;16239:15;16273:4;16270:1;16263:15;16290:191;16330:3;16349:20;16367:1;16349:20;:::i;:::-;16344:25;;16383:20;16401:1;16383:20;:::i;:::-;16378:25;;16426:1;16423;16419:9;16412:16;;16447:3;16444:1;16441:10;16438:36;;;16454:18;;:::i;:::-;16438:36;16290:191;;;;:::o;16487:233::-;16526:3;16549:24;16567:5;16549:24;:::i;:::-;16540:33;;16595:66;16588:5;16585:77;16582:103;;16665:18;;:::i;:::-;16582:103;16712:1;16705:5;16701:13;16694:20;;16487:233;;;:::o;16726:177::-;16866:29;16862:1;16854:6;16850:14;16843:53;16726:177;:::o;16909:366::-;17051:3;17072:67;17136:2;17131:3;17072:67;:::i;:::-;17065:74;;17148:93;17237:3;17148:93;:::i;:::-;17266:2;17261:3;17257:12;17250:19;;16909:366;;;:::o;17281:419::-;17447:4;17485:2;17474:9;17470:18;17462:26;;17534:9;17528:4;17524:20;17520:1;17509:9;17505:17;17498:47;17562:131;17688:4;17562:131;:::i;:::-;17554:139;;17281:419;;;:::o;17706:233::-;17846:34;17842:1;17834:6;17830:14;17823:58;17915:16;17910:2;17902:6;17898:15;17891:41;17706:233;:::o;17945:366::-;18087:3;18108:67;18172:2;18167:3;18108:67;:::i;:::-;18101:74;;18184:93;18273:3;18184:93;:::i;:::-;18302:2;18297:3;18293:12;18286:19;;17945:366;;;:::o;18317:419::-;18483:4;18521:2;18510:9;18506:18;18498:26;;18570:9;18564:4;18560:20;18556:1;18545:9;18541:17;18534:47;18598:131;18724:4;18598:131;:::i;:::-;18590:139;;18317:419;;;:::o;18742:410::-;18782:7;18805:20;18823:1;18805:20;:::i;:::-;18800:25;;18839:20;18857:1;18839:20;:::i;:::-;18834:25;;18894:1;18891;18887:9;18916:30;18934:11;18916:30;:::i;:::-;18905:41;;19095:1;19086:7;19082:15;19079:1;19076:22;19056:1;19049:9;19029:83;19006:139;;19125:18;;:::i;:::-;19006:139;18790:362;18742:410;;;;:::o;19158:224::-;19298:34;19294:1;19286:6;19282:14;19275:58;19367:7;19362:2;19354:6;19350:15;19343:32;19158:224;:::o;19388:366::-;19530:3;19551:67;19615:2;19610:3;19551:67;:::i;:::-;19544:74;;19627:93;19716:3;19627:93;:::i;:::-;19745:2;19740:3;19736:12;19729:19;;19388:366;;;:::o;19760:419::-;19926:4;19964:2;19953:9;19949:18;19941:26;;20013:9;20007:4;20003:20;19999:1;19988:9;19984:17;19977:47;20041:131;20167:4;20041:131;:::i;:::-;20033:139;;19760:419;;;:::o;20185:143::-;20242:5;20273:6;20267:13;20258:22;;20289:33;20316:5;20289:33;:::i;:::-;20185:143;;;;:::o;20334:351::-;20404:6;20453:2;20441:9;20432:7;20428:23;20424:32;20421:119;;;20459:79;;:::i;:::-;20421:119;20579:1;20604:64;20660:7;20651:6;20640:9;20636:22;20604:64;:::i;:::-;20594:74;;20550:128;20334:351;;;;:::o;20691:332::-;20812:4;20850:2;20839:9;20835:18;20827:26;;20863:71;20931:1;20920:9;20916:17;20907:6;20863:71;:::i;:::-;20944:72;21012:2;21001:9;20997:18;20988:6;20944:72;:::i;:::-;20691:332;;;;;:::o;21029:137::-;21083:5;21114:6;21108:13;21099:22;;21130:30;21154:5;21130:30;:::i;:::-;21029:137;;;;:::o;21172:345::-;21239:6;21288:2;21276:9;21267:7;21263:23;21259:32;21256:119;;;21294:79;;:::i;:::-;21256:119;21414:1;21439:61;21492:7;21483:6;21472:9;21468:22;21439:61;:::i;:::-;21429:71;;21385:125;21172:345;;;;:::o;21523:225::-;21663:34;21659:1;21651:6;21647:14;21640:58;21732:8;21727:2;21719:6;21715:15;21708:33;21523:225;:::o;21754:366::-;21896:3;21917:67;21981:2;21976:3;21917:67;:::i;:::-;21910:74;;21993:93;22082:3;21993:93;:::i;:::-;22111:2;22106:3;22102:12;22095:19;;21754:366;;;:::o;22126:419::-;22292:4;22330:2;22319:9;22315:18;22307:26;;22379:9;22373:4;22369:20;22365:1;22354:9;22350:17;22343:47;22407:131;22533:4;22407:131;:::i;:::-;22399:139;;22126:419;;;:::o;22551:223::-;22691:34;22687:1;22679:6;22675:14;22668:58;22760:6;22755:2;22747:6;22743:15;22736:31;22551:223;:::o;22780:366::-;22922:3;22943:67;23007:2;23002:3;22943:67;:::i;:::-;22936:74;;23019:93;23108:3;23019:93;:::i;:::-;23137:2;23132:3;23128:12;23121:19;;22780:366;;;:::o;23152:419::-;23318:4;23356:2;23345:9;23341:18;23333:26;;23405:9;23399:4;23395:20;23391:1;23380:9;23376:17;23369:47;23433:131;23559:4;23433:131;:::i;:::-;23425:139;;23152:419;;;:::o;23577:221::-;23717:34;23713:1;23705:6;23701:14;23694:58;23786:4;23781:2;23773:6;23769:15;23762:29;23577:221;:::o;23804:366::-;23946:3;23967:67;24031:2;24026:3;23967:67;:::i;:::-;23960:74;;24043:93;24132:3;24043:93;:::i;:::-;24161:2;24156:3;24152:12;24145:19;;23804:366;;;:::o;24176:419::-;24342:4;24380:2;24369:9;24365:18;24357:26;;24429:9;24423:4;24419:20;24415:1;24404:9;24400:17;24393:47;24457:131;24583:4;24457:131;:::i;:::-;24449:139;;24176:419;;;:::o;24601:182::-;24741:34;24737:1;24729:6;24725:14;24718:58;24601:182;:::o;24789:366::-;24931:3;24952:67;25016:2;25011:3;24952:67;:::i;:::-;24945:74;;25028:93;25117:3;25028:93;:::i;:::-;25146:2;25141:3;25137:12;25130:19;;24789:366;;;:::o;25161:419::-;25327:4;25365:2;25354:9;25350:18;25342:26;;25414:9;25408:4;25404:20;25400:1;25389:9;25385:17;25378:47;25442:131;25568:4;25442:131;:::i;:::-;25434:139;;25161:419;;;:::o;25586:161::-;25726:13;25722:1;25714:6;25710:14;25703:37;25586:161;:::o;25753:366::-;25895:3;25916:67;25980:2;25975:3;25916:67;:::i;:::-;25909:74;;25992:93;26081:3;25992:93;:::i;:::-;26110:2;26105:3;26101:12;26094:19;;25753:366;;;:::o;26125:419::-;26291:4;26329:2;26318:9;26314:18;26306:26;;26378:9;26372:4;26368:20;26364:1;26353:9;26349:17;26342:47;26406:131;26532:4;26406:131;:::i;:::-;26398:139;;26125:419;;;:::o;26550:155::-;26690:7;26686:1;26678:6;26674:14;26667:31;26550:155;:::o;26711:365::-;26853:3;26874:66;26938:1;26933:3;26874:66;:::i;:::-;26867:73;;26949:93;27038:3;26949:93;:::i;:::-;27067:2;27062:3;27058:12;27051:19;;26711:365;;;:::o;27082:419::-;27248:4;27286:2;27275:9;27271:18;27263:26;;27335:9;27329:4;27325:20;27321:1;27310:9;27306:17;27299:47;27363:131;27489:4;27363:131;:::i;:::-;27355:139;;27082:419;;;:::o;27507:180::-;27555:77;27552:1;27545:88;27652:4;27649:1;27642:15;27676:4;27673:1;27666:15;27693:185;27733:1;27750:20;27768:1;27750:20;:::i;:::-;27745:25;;27784:20;27802:1;27784:20;:::i;:::-;27779:25;;27823:1;27813:35;;27828:18;;:::i;:::-;27813:35;27870:1;27867;27863:9;27858:14;;27693:185;;;;:::o;27884:194::-;27924:4;27944:20;27962:1;27944:20;:::i;:::-;27939:25;;27978:20;27996:1;27978:20;:::i;:::-;27973:25;;28022:1;28019;28015:9;28007:17;;28046:1;28040:4;28037:11;28034:37;;;28051:18;;:::i;:::-;28034:37;27884:194;;;;:::o;28084:179::-;28224:31;28220:1;28212:6;28208:14;28201:55;28084:179;:::o;28269:366::-;28411:3;28432:67;28496:2;28491:3;28432:67;:::i;:::-;28425:74;;28508:93;28597:3;28508:93;:::i;:::-;28626:2;28621:3;28617:12;28610:19;;28269:366;;;:::o;28641:419::-;28807:4;28845:2;28834:9;28830:18;28822:26;;28894:9;28888:4;28884:20;28880:1;28869:9;28865:17;28858:47;28922:131;29048:4;28922:131;:::i;:::-;28914:139;;28641:419;;;:::o;29066:224::-;29206:34;29202:1;29194:6;29190:14;29183:58;29275:7;29270:2;29262:6;29258:15;29251:32;29066:224;:::o;29296:366::-;29438:3;29459:67;29523:2;29518:3;29459:67;:::i;:::-;29452:74;;29535:93;29624:3;29535:93;:::i;:::-;29653:2;29648:3;29644:12;29637:19;;29296:366;;;:::o;29668:419::-;29834:4;29872:2;29861:9;29857:18;29849:26;;29921:9;29915:4;29911:20;29907:1;29896:9;29892:17;29885:47;29949:131;30075:4;29949:131;:::i;:::-;29941:139;;29668:419;;;:::o;30093:222::-;30233:34;30229:1;30221:6;30217:14;30210:58;30302:5;30297:2;30289:6;30285:15;30278:30;30093:222;:::o;30321:366::-;30463:3;30484:67;30548:2;30543:3;30484:67;:::i;:::-;30477:74;;30560:93;30649:3;30560:93;:::i;:::-;30678:2;30673:3;30669:12;30662:19;;30321:366;;;:::o;30693:419::-;30859:4;30897:2;30886:9;30882:18;30874:26;;30946:9;30940:4;30936:20;30932:1;30921:9;30917:17;30910:47;30974:131;31100:4;30974:131;:::i;:::-;30966:139;;30693:419;;;:::o;31118:225::-;31258:34;31254:1;31246:6;31242:14;31235:58;31327:8;31322:2;31314:6;31310:15;31303:33;31118:225;:::o;31349:366::-;31491:3;31512:67;31576:2;31571:3;31512:67;:::i;:::-;31505:74;;31588:93;31677:3;31588:93;:::i;:::-;31706:2;31701:3;31697:12;31690:19;;31349:366;;;:::o;31721:419::-;31887:4;31925:2;31914:9;31910:18;31902:26;;31974:9;31968:4;31964:20;31960:1;31949:9;31945:17;31938:47;32002:131;32128:4;32002:131;:::i;:::-;31994:139;;31721:419;;;:::o;32146:180::-;32194:77;32191:1;32184:88;32291:4;32288:1;32281:15;32315:4;32312:1;32305:15;32332:85;32377:7;32406:5;32395:16;;32332:85;;;:::o;32423:158::-;32481:9;32514:61;32532:42;32541:32;32567:5;32541:32;:::i;:::-;32532:42;:::i;:::-;32514:61;:::i;:::-;32501:74;;32423:158;;;:::o;32587:147::-;32682:45;32721:5;32682:45;:::i;:::-;32677:3;32670:58;32587:147;;:::o;32740:114::-;32807:6;32841:5;32835:12;32825:22;;32740:114;;;:::o;32860:184::-;32959:11;32993:6;32988:3;32981:19;33033:4;33028:3;33024:14;33009:29;;32860:184;;;;:::o;33050:132::-;33117:4;33140:3;33132:11;;33170:4;33165:3;33161:14;33153:22;;33050:132;;;:::o;33188:108::-;33265:24;33283:5;33265:24;:::i;:::-;33260:3;33253:37;33188:108;;:::o;33302:179::-;33371:10;33392:46;33434:3;33426:6;33392:46;:::i;:::-;33470:4;33465:3;33461:14;33447:28;;33302:179;;;;:::o;33487:113::-;33557:4;33589;33584:3;33580:14;33572:22;;33487:113;;;:::o;33636:732::-;33755:3;33784:54;33832:5;33784:54;:::i;:::-;33854:86;33933:6;33928:3;33854:86;:::i;:::-;33847:93;;33964:56;34014:5;33964:56;:::i;:::-;34043:7;34074:1;34059:284;34084:6;34081:1;34078:13;34059:284;;;34160:6;34154:13;34187:63;34246:3;34231:13;34187:63;:::i;:::-;34180:70;;34273:60;34326:6;34273:60;:::i;:::-;34263:70;;34119:224;34106:1;34103;34099:9;34094:14;;34059:284;;;34063:14;34359:3;34352:10;;33760:608;;;33636:732;;;;:::o;34374:831::-;34637:4;34675:3;34664:9;34660:19;34652:27;;34689:71;34757:1;34746:9;34742:17;34733:6;34689:71;:::i;:::-;34770:80;34846:2;34835:9;34831:18;34822:6;34770:80;:::i;:::-;34897:9;34891:4;34887:20;34882:2;34871:9;34867:18;34860:48;34925:108;35028:4;35019:6;34925:108;:::i;:::-;34917:116;;35043:72;35111:2;35100:9;35096:18;35087:6;35043:72;:::i;:::-;35125:73;35193:3;35182:9;35178:19;35169:6;35125:73;:::i;:::-;34374:831;;;;;;;;:::o
Swarm Source
ipfs://1c096c1b7d433ba6d4d4dddbcbbb32926a7867491d363619c991eabc3ebb34b7
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.