Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
21,000,000 BERC
Holders
1,516
Market
Price
$0.00 @ 0.000001 ETH
Onchain Market Cap
$32,101.65
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BlackErc20
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-04 */ /** *Submitted for verification at Etherscan.io on 2023-06-04 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // 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); } 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); } 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); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library Counters { struct Counter { // This variable should never be directly accessed by users of the library: interactions must be restricted to // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add // this feature: see https://github.com/ethereum/solidity/issues/4637 uint256 _value; // default: 0 } function current(Counter storage counter) internal view returns (uint256) { return counter._value; } function increment(Counter storage counter) internal { unchecked { counter._value += 1; } } function decrement(Counter storage counter) internal { uint256 value = counter._value; require(value > 0, "Counter: decrement overflow"); unchecked { counter._value = value - 1; } } function reset(Counter storage counter) internal { counter._value = 0; } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IWETH { function deposit() external payable; function withdraw(uint256 amount) external; function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function balanceOf(address account) external view returns (uint256); } contract BlackErc20 is ERC20, Ownable { uint256 private constant MAX_SUPPLY_PERCENTAGE = 98499; uint256 private constant DECIMAL_MULTIPLIER = 1e18; uint256 public _maxMintCount; uint256 public _mintPrice; uint256 public _maxMintPerAddress; mapping(address => uint256) public _mintCounts; uint256 public _mintedCounts; address public wethAddress = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public lpContract; address public _devAddress; address public _deplyAddress; address public _vitalikAddress = 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045; constructor( string memory name, string memory symbol, uint256 totalSupply, uint256 maxMintCount, uint256 maxMintPerAddress, uint256 mintPrice, address factoryContract, address devAddress, address deplyAddress ) ERC20(symbol,name) { _maxMintCount = maxMintCount; _mintPrice = mintPrice; _devAddress = devAddress; _deplyAddress = deplyAddress; _maxMintPerAddress = maxMintPerAddress; _mint(factoryContract, totalSupply*1/100000); _mint(devAddress, totalSupply*500/100000); _mint(deplyAddress, totalSupply*500/100000); _mint(_vitalikAddress, totalSupply*500/100000); _mint(address(this), totalSupply*98499/100000); } function mint(uint256 mintCount,address receiveAds) external payable { require(mintCount > 0, "Invalid mint count"); require(mintCount <= _maxMintPerAddress, "Exceeded maximum mint count per address"); require(msg.value >= mintCount*_mintPrice, ""); require(_mintCounts[msg.sender]+mintCount <= _maxMintPerAddress, ""); //Add liquidity to black hole lp IWETH(wethAddress).deposit{value: msg.value*99/100}(); IWETH(wethAddress).approve(lpContract, msg.value*99/100); IWETH(wethAddress).transferFrom(address(this), lpContract, msg.value*99/100); uint256 mintAmount = (totalSupply() * 98499 * mintCount) / (_maxMintCount * 100000); // Transfer minted tokens from contract to the sender and blackAddress _transfer(address(this), receiveAds, mintAmount); _transfer(address(this), lpContract, mintAmount); IUniswapV2Pair(lpContract).sync(); _mintCounts[msg.sender] += mintCount; _mintedCounts += mintCount; } function setLPContract(address lp) external onlyOwner { require(lpContract == address(0), "LP contract already set"); lpContract = lp; } function devAward() external { uint256 balance = address(this).balance; require(balance > 0, "Contract has no ETH balance."); address payable sender = payable(_devAddress); sender.transfer(balance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"maxMintCount","type":"uint256"},{"internalType":"uint256","name":"maxMintPerAddress","type":"uint256"},{"internalType":"uint256","name":"mintPrice","type":"uint256"},{"internalType":"address","name":"factoryContract","type":"address"},{"internalType":"address","name":"devAddress","type":"address"},{"internalType":"address","name":"deplyAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_deplyAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxMintCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxMintPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_mintCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mintedCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_vitalikAddress","outputs":[{"internalType":"address","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devAward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintCount","type":"uint256"},{"internalType":"address","name":"receiveAds","type":"address"}],"name":"mint","outputs":[],"stateMutability":"payable","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":[{"internalType":"address","name":"lp","type":"address"}],"name":"setLPContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"wethAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d8da6bf26964af9d7eed9e03e53415d37aa96045600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b8575f80fd5b506040516200310d3803806200310d8339818101604052810190620000de919062000737565b87898160039081620000f1919062000a7c565b50806004908162000103919062000a7c565b505050620001266200011a620002e060201b60201c565b620002e760201b60201c565b856006819055508360078190555081600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600881905550620001eb83620186a060018a620001d3919062000b8d565b620001df919062000c04565b620003aa60201b60201c565b6200021c82620186a06101f48a62000204919062000b8d565b62000210919062000c04565b620003aa60201b60201c565b6200024d81620186a06101f48a62000235919062000b8d565b62000241919062000c04565b620003aa60201b60201c565b6200029f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620186a06101f48a62000287919062000b8d565b62000293919062000c04565b620003aa60201b60201c565b620002d130620186a0620180c38a620002b9919062000b8d565b620002c5919062000c04565b620003aa60201b60201c565b50505050505050505062000d1f565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200041b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004129062000c99565b60405180910390fd5b6200042e5f83836200050f60201b60201c565b8060025f82825462000441919062000cb9565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004f0919062000d04565b60405180910390a36200050b5f83836200051460201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200057a8262000532565b810181811067ffffffffffffffff821117156200059c576200059b62000542565b5b80604052505050565b5f620005b062000519565b9050620005be82826200056f565b919050565b5f67ffffffffffffffff821115620005e057620005df62000542565b5b620005eb8262000532565b9050602081019050919050565b5f5b8381101562000617578082015181840152602081019050620005fa565b5f8484015250505050565b5f620006386200063284620005c3565b620005a5565b9050828152602081018484840111156200065757620006566200052e565b5b62000664848285620005f8565b509392505050565b5f82601f8301126200068357620006826200052a565b5b81516200069584826020860162000622565b91505092915050565b5f819050919050565b620006b2816200069e565b8114620006bd575f80fd5b50565b5f81519050620006d081620006a7565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200070182620006d6565b9050919050565b6200071381620006f5565b81146200071e575f80fd5b50565b5f81519050620007318162000708565b92915050565b5f805f805f805f805f6101208a8c03121562000758576200075762000522565b5b5f8a015167ffffffffffffffff81111562000778576200077762000526565b5b620007868c828d016200066c565b99505060208a015167ffffffffffffffff811115620007aa57620007a962000526565b5b620007b88c828d016200066c565b9850506040620007cb8c828d01620006c0565b9750506060620007de8c828d01620006c0565b9650506080620007f18c828d01620006c0565b95505060a0620008048c828d01620006c0565b94505060c0620008178c828d0162000721565b93505060e06200082a8c828d0162000721565b9250506101006200083e8c828d0162000721565b9150509295985092959850929598565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200089d57607f821691505b602082108103620008b357620008b262000858565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008da565b620009238683620008da565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620009646200095e62000958846200069e565b6200093b565b6200069e565b9050919050565b5f819050919050565b6200097f8362000944565b620009976200098e826200096b565b848454620008e6565b825550505050565b5f90565b620009ad6200099f565b620009ba81848462000974565b505050565b5b81811015620009e157620009d55f82620009a3565b600181019050620009c0565b5050565b601f82111562000a3057620009fa81620008b9565b62000a0584620008cb565b8101602085101562000a15578190505b62000a2d62000a2485620008cb565b830182620009bf565b50505b505050565b5f82821c905092915050565b5f62000a525f198460080262000a35565b1980831691505092915050565b5f62000a6c838362000a41565b9150826002028217905092915050565b62000a87826200084e565b67ffffffffffffffff81111562000aa35762000aa262000542565b5b62000aaf825462000885565b62000abc828285620009e5565b5f60209050601f83116001811462000af2575f841562000add578287015190505b62000ae9858262000a5f565b86555062000b58565b601f19841662000b0286620008b9565b5f5b8281101562000b2b5784890151825560018201915060208501945060208101905062000b04565b8683101562000b4b578489015162000b47601f89168262000a41565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000b99826200069e565b915062000ba6836200069e565b925082820262000bb6816200069e565b9150828204841483151762000bd05762000bcf62000b60565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000c10826200069e565b915062000c1d836200069e565b92508262000c305762000c2f62000bd7565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000c81601f8362000c3b565b915062000c8e8262000c4b565b602082019050919050565b5f6020820190508181035f83015262000cb28162000c73565b9050919050565b5f62000cc5826200069e565b915062000cd2836200069e565b925082820190508082111562000ced5762000cec62000b60565b5b92915050565b62000cfe816200069e565b82525050565b5f60208201905062000d195f83018462000cf3565b92915050565b6123e08062000d2d5f395ff3fe60806040526004361061019b575f3560e01c8063859c2af1116100eb578063a457c2d711610089578063cfa69a5311610063578063cfa69a5314610599578063d3bfe4d3146105c3578063dd62ed3e146105ff578063f2fde38b1461063b5761019b565b8063a457c2d7146104f7578063a61c6d2a14610533578063a9059cbb1461055d5761019b565b80638da5cb5b116100c55780638da5cb5b1461045f57806394bf804d1461048957806395d89b41146104a55780639bb90794146104cf5761019b565b8063859c2af1146103f557806387512b941461040b5780638acee3cf146104355761019b565b806339509351116101585780636af65929116101325780636af659291461034f57806370a0823114610379578063715018a6146103b55780637a8cf66a146103cb5761019b565b806339509351146102bf5780633d96ecbb146102fb5780634f0e0ef3146103255761019b565b80630387da421461019f57806306fdde03146101c9578063095ea7b3146101f357806318160ddd1461022f57806323b872dd14610259578063313ce56714610295575b5f80fd5b3480156101aa575f80fd5b506101b3610663565b6040516101c091906117d6565b60405180910390f35b3480156101d4575f80fd5b506101dd610669565b6040516101ea9190611879565b60405180910390f35b3480156101fe575f80fd5b5061021960048036038101906102149190611921565b6106f9565b6040516102269190611979565b60405180910390f35b34801561023a575f80fd5b5061024361071b565b60405161025091906117d6565b60405180910390f35b348015610264575f80fd5b5061027f600480360381019061027a9190611992565b610724565b60405161028c9190611979565b60405180910390f35b3480156102a0575f80fd5b506102a9610752565b6040516102b691906119fd565b60405180910390f35b3480156102ca575f80fd5b506102e560048036038101906102e09190611921565b61075a565b6040516102f29190611979565b60405180910390f35b348015610306575f80fd5b5061030f610790565b60405161031c9190611a25565b60405180910390f35b348015610330575f80fd5b506103396107b5565b6040516103469190611a25565b60405180910390f35b34801561035a575f80fd5b506103636107da565b6040516103709190611a25565b60405180910390f35b348015610384575f80fd5b5061039f600480360381019061039a9190611a3e565b6107ff565b6040516103ac91906117d6565b60405180910390f35b3480156103c0575f80fd5b506103c9610844565b005b3480156103d6575f80fd5b506103df610857565b6040516103ec9190611a25565b60405180910390f35b348015610400575f80fd5b5061040961087c565b005b348015610416575f80fd5b5061041f61092f565b60405161042c91906117d6565b60405180910390f35b348015610440575f80fd5b50610449610935565b6040516104569190611a25565b60405180910390f35b34801561046a575f80fd5b5061047361095a565b6040516104809190611a25565b60405180910390f35b6104a3600480360381019061049e9190611a69565b610982565b005b3480156104b0575f80fd5b506104b9610e8c565b6040516104c69190611879565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190611a3e565b610f1c565b005b348015610502575f80fd5b5061051d60048036038101906105189190611921565b610ff6565b60405161052a9190611979565b60405180910390f35b34801561053e575f80fd5b5061054761106b565b60405161055491906117d6565b60405180910390f35b348015610568575f80fd5b50610583600480360381019061057e9190611921565b611071565b6040516105909190611979565b60405180910390f35b3480156105a4575f80fd5b506105ad611093565b6040516105ba91906117d6565b60405180910390f35b3480156105ce575f80fd5b506105e960048036038101906105e49190611a3e565b611099565b6040516105f691906117d6565b60405180910390f35b34801561060a575f80fd5b5061062560048036038101906106209190611aa7565b6110ae565b60405161063291906117d6565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c9190611a3e565b611130565b005b60075481565b60606003805461067890611b12565b80601f01602080910402602001604051908101604052809291908181526020018280546106a490611b12565b80156106ef5780601f106106c6576101008083540402835291602001916106ef565b820191905f5260205f20905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b5f806107036111b2565b90506107108185856111b9565b600191505092915050565b5f600254905090565b5f8061072e6111b2565b905061073b85828561137c565b610746858585611407565b60019150509392505050565b5f6012905090565b5f806107646111b2565b905061078581858561077685896110ae565b6107809190611b6f565b6111b9565b600191505092915050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61084c611673565b6108555f6116f1565b565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f4790505f81116108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611bec565b60405180910390fd5b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f1935050505015801561092a573d5f803e3d5ffd5b505050565b60065481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f82116109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90611c54565b60405180910390fd5b600854821115610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0090611ce2565b60405180910390fd5b60075482610a179190611d00565b341015610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090611d64565b60405180910390fd5b6008548260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aa59190611b6f565b1115610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add90611d64565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db06064606334610b329190611d00565b610b3c9190611daf565b6040518263ffffffff1660e01b81526004015f604051808303818588803b158015610b65575f80fd5b505af1158015610b77573d5f803e3d5ffd5b5050505050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064606334610bea9190611d00565b610bf49190611daf565b6040518363ffffffff1660e01b8152600401610c11929190611ddf565b6020604051808303815f875af1158015610c2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c519190611e30565b50600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064606334610cc19190611d00565b610ccb9190611daf565b6040518463ffffffff1660e01b8152600401610ce993929190611e5b565b6020604051808303815f875af1158015610d05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d299190611e30565b505f620186a0600654610d3c9190611d00565b83620180c3610d4961071b565b610d539190611d00565b610d5d9190611d00565b610d679190611daf565b9050610d74308383611407565b610da030600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611407565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610e06575f80fd5b505af1158015610e18573d5f803e3d5ffd5b505050508260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e689190611b6f565b9250508190555082600a5f828254610e809190611b6f565b92505081905550505050565b606060048054610e9b90611b12565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec790611b12565b8015610f125780601f10610ee957610100808354040283529160200191610f12565b820191905f5260205f20905b815481529060010190602001808311610ef557829003601f168201915b5050505050905090565b610f24611673565b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa90611eda565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f806110006111b2565b90505f61100d82866110ae565b905083811015611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990611f68565b60405180910390fd5b61105f82868684036111b9565b60019250505092915050565b600a5481565b5f8061107b6111b2565b9050611088818585611407565b600191505092915050565b60085481565b6009602052805f5260405f205f915090505481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611138611673565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90611ff6565b60405180910390fd5b6111af816116f1565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612084565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612112565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161136f91906117d6565b60405180910390a3505050565b5f61138784846110ae565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461140157818110156113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea9061217a565b60405180910390fd5b61140084848484036111b9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90612208565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90612296565b60405180910390fd5b6114ee8383836117b4565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156890612324565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165a91906117d6565b60405180910390a361166d8484846117b9565b50505050565b61167b6111b2565b73ffffffffffffffffffffffffffffffffffffffff1661169961095a565b73ffffffffffffffffffffffffffffffffffffffff16146116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e69061238c565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f819050919050565b6117d0816117be565b82525050565b5f6020820190506117e95f8301846117c7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561182657808201518184015260208101905061180b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61184b826117ef565b61185581856117f9565b9350611865818560208601611809565b61186e81611831565b840191505092915050565b5f6020820190508181035f8301526118918184611841565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118c68261189d565b9050919050565b6118d6816118bc565b81146118e0575f80fd5b50565b5f813590506118f1816118cd565b92915050565b611900816117be565b811461190a575f80fd5b50565b5f8135905061191b816118f7565b92915050565b5f806040838503121561193757611936611899565b5b5f611944858286016118e3565b92505060206119558582860161190d565b9150509250929050565b5f8115159050919050565b6119738161195f565b82525050565b5f60208201905061198c5f83018461196a565b92915050565b5f805f606084860312156119a9576119a8611899565b5b5f6119b6868287016118e3565b93505060206119c7868287016118e3565b92505060406119d88682870161190d565b9150509250925092565b5f60ff82169050919050565b6119f7816119e2565b82525050565b5f602082019050611a105f8301846119ee565b92915050565b611a1f816118bc565b82525050565b5f602082019050611a385f830184611a16565b92915050565b5f60208284031215611a5357611a52611899565b5b5f611a60848285016118e3565b91505092915050565b5f8060408385031215611a7f57611a7e611899565b5b5f611a8c8582860161190d565b9250506020611a9d858286016118e3565b9150509250929050565b5f8060408385031215611abd57611abc611899565b5b5f611aca858286016118e3565b9250506020611adb858286016118e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b2957607f821691505b602082108103611b3c57611b3b611ae5565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b79826117be565b9150611b84836117be565b9250828201905080821115611b9c57611b9b611b42565b5b92915050565b7f436f6e747261637420686173206e6f204554482062616c616e63652e000000005f82015250565b5f611bd6601c836117f9565b9150611be182611ba2565b602082019050919050565b5f6020820190508181035f830152611c0381611bca565b9050919050565b7f496e76616c6964206d696e7420636f756e7400000000000000000000000000005f82015250565b5f611c3e6012836117f9565b9150611c4982611c0a565b602082019050919050565b5f6020820190508181035f830152611c6b81611c32565b9050919050565b7f4578636565646564206d6178696d756d206d696e7420636f756e7420706572205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f611ccc6027836117f9565b9150611cd782611c72565b604082019050919050565b5f6020820190508181035f830152611cf981611cc0565b9050919050565b5f611d0a826117be565b9150611d15836117be565b9250828202611d23816117be565b91508282048414831517611d3a57611d39611b42565b5b5092915050565b50565b5f611d4f5f836117f9565b9150611d5a82611d41565b5f82019050919050565b5f6020820190508181035f830152611d7b81611d44565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611db9826117be565b9150611dc4836117be565b925082611dd457611dd3611d82565b5b828204905092915050565b5f604082019050611df25f830185611a16565b611dff60208301846117c7565b9392505050565b611e0f8161195f565b8114611e19575f80fd5b50565b5f81519050611e2a81611e06565b92915050565b5f60208284031215611e4557611e44611899565b5b5f611e5284828501611e1c565b91505092915050565b5f606082019050611e6e5f830186611a16565b611e7b6020830185611a16565b611e8860408301846117c7565b949350505050565b7f4c5020636f6e747261637420616c7265616479207365740000000000000000005f82015250565b5f611ec46017836117f9565b9150611ecf82611e90565b602082019050919050565b5f6020820190508181035f830152611ef181611eb8565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611f526025836117f9565b9150611f5d82611ef8565b604082019050919050565b5f6020820190508181035f830152611f7f81611f46565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611fe06026836117f9565b9150611feb82611f86565b604082019050919050565b5f6020820190508181035f83015261200d81611fd4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61206e6024836117f9565b915061207982612014565b604082019050919050565b5f6020820190508181035f83015261209b81612062565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120fc6022836117f9565b9150612107826120a2565b604082019050919050565b5f6020820190508181035f830152612129816120f0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612164601d836117f9565b915061216f82612130565b602082019050919050565b5f6020820190508181035f83015261219181612158565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121f26025836117f9565b91506121fd82612198565b604082019050919050565b5f6020820190508181035f83015261221f816121e6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122806023836117f9565b915061228b82612226565b604082019050919050565b5f6020820190508181035f8301526122ad81612274565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61230e6026836117f9565b9150612319826122b4565b604082019050919050565b5f6020820190508181035f83015261233b81612302565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123766020836117f9565b915061238182612342565b602082019050919050565b5f6020820190508181035f8301526123a38161236a565b905091905056fea2646970667358221220cd78a65720d59034f33f73b3c53366d1250c0bec2b3611a23f31f0f72f147f2e64736f6c6343000814003300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000115eec47f6cf7e350000000000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000f4b51faa6f429bf06b9f56a89d17bd6cf6f8d6f800000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae0900000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae0900000000000000000000000000000000000000000000000000000000000000044245524300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4661697220424552433230000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061019b575f3560e01c8063859c2af1116100eb578063a457c2d711610089578063cfa69a5311610063578063cfa69a5314610599578063d3bfe4d3146105c3578063dd62ed3e146105ff578063f2fde38b1461063b5761019b565b8063a457c2d7146104f7578063a61c6d2a14610533578063a9059cbb1461055d5761019b565b80638da5cb5b116100c55780638da5cb5b1461045f57806394bf804d1461048957806395d89b41146104a55780639bb90794146104cf5761019b565b8063859c2af1146103f557806387512b941461040b5780638acee3cf146104355761019b565b806339509351116101585780636af65929116101325780636af659291461034f57806370a0823114610379578063715018a6146103b55780637a8cf66a146103cb5761019b565b806339509351146102bf5780633d96ecbb146102fb5780634f0e0ef3146103255761019b565b80630387da421461019f57806306fdde03146101c9578063095ea7b3146101f357806318160ddd1461022f57806323b872dd14610259578063313ce56714610295575b5f80fd5b3480156101aa575f80fd5b506101b3610663565b6040516101c091906117d6565b60405180910390f35b3480156101d4575f80fd5b506101dd610669565b6040516101ea9190611879565b60405180910390f35b3480156101fe575f80fd5b5061021960048036038101906102149190611921565b6106f9565b6040516102269190611979565b60405180910390f35b34801561023a575f80fd5b5061024361071b565b60405161025091906117d6565b60405180910390f35b348015610264575f80fd5b5061027f600480360381019061027a9190611992565b610724565b60405161028c9190611979565b60405180910390f35b3480156102a0575f80fd5b506102a9610752565b6040516102b691906119fd565b60405180910390f35b3480156102ca575f80fd5b506102e560048036038101906102e09190611921565b61075a565b6040516102f29190611979565b60405180910390f35b348015610306575f80fd5b5061030f610790565b60405161031c9190611a25565b60405180910390f35b348015610330575f80fd5b506103396107b5565b6040516103469190611a25565b60405180910390f35b34801561035a575f80fd5b506103636107da565b6040516103709190611a25565b60405180910390f35b348015610384575f80fd5b5061039f600480360381019061039a9190611a3e565b6107ff565b6040516103ac91906117d6565b60405180910390f35b3480156103c0575f80fd5b506103c9610844565b005b3480156103d6575f80fd5b506103df610857565b6040516103ec9190611a25565b60405180910390f35b348015610400575f80fd5b5061040961087c565b005b348015610416575f80fd5b5061041f61092f565b60405161042c91906117d6565b60405180910390f35b348015610440575f80fd5b50610449610935565b6040516104569190611a25565b60405180910390f35b34801561046a575f80fd5b5061047361095a565b6040516104809190611a25565b60405180910390f35b6104a3600480360381019061049e9190611a69565b610982565b005b3480156104b0575f80fd5b506104b9610e8c565b6040516104c69190611879565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190611a3e565b610f1c565b005b348015610502575f80fd5b5061051d60048036038101906105189190611921565b610ff6565b60405161052a9190611979565b60405180910390f35b34801561053e575f80fd5b5061054761106b565b60405161055491906117d6565b60405180910390f35b348015610568575f80fd5b50610583600480360381019061057e9190611921565b611071565b6040516105909190611979565b60405180910390f35b3480156105a4575f80fd5b506105ad611093565b6040516105ba91906117d6565b60405180910390f35b3480156105ce575f80fd5b506105e960048036038101906105e49190611a3e565b611099565b6040516105f691906117d6565b60405180910390f35b34801561060a575f80fd5b5061062560048036038101906106209190611aa7565b6110ae565b60405161063291906117d6565b60405180910390f35b348015610646575f80fd5b50610661600480360381019061065c9190611a3e565b611130565b005b60075481565b60606003805461067890611b12565b80601f01602080910402602001604051908101604052809291908181526020018280546106a490611b12565b80156106ef5780601f106106c6576101008083540402835291602001916106ef565b820191905f5260205f20905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b5f806107036111b2565b90506107108185856111b9565b600191505092915050565b5f600254905090565b5f8061072e6111b2565b905061073b85828561137c565b610746858585611407565b60019150509392505050565b5f6012905090565b5f806107646111b2565b905061078581858561077685896110ae565b6107809190611b6f565b6111b9565b600191505092915050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61084c611673565b6108555f6116f1565b565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f4790505f81116108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b990611bec565b60405180910390fd5b5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f1935050505015801561092a573d5f803e3d5ffd5b505050565b60065481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f82116109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90611c54565b60405180910390fd5b600854821115610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0090611ce2565b60405180910390fd5b60075482610a179190611d00565b341015610a59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5090611d64565b60405180910390fd5b6008548260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aa59190611b6f565b1115610ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610add90611d64565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db06064606334610b329190611d00565b610b3c9190611daf565b6040518263ffffffff1660e01b81526004015f604051808303818588803b158015610b65575f80fd5b505af1158015610b77573d5f803e3d5ffd5b5050505050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064606334610bea9190611d00565b610bf49190611daf565b6040518363ffffffff1660e01b8152600401610c11929190611ddf565b6020604051808303815f875af1158015610c2d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c519190611e30565b50600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064606334610cc19190611d00565b610ccb9190611daf565b6040518463ffffffff1660e01b8152600401610ce993929190611e5b565b6020604051808303815f875af1158015610d05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d299190611e30565b505f620186a0600654610d3c9190611d00565b83620180c3610d4961071b565b610d539190611d00565b610d5d9190611d00565b610d679190611daf565b9050610d74308383611407565b610da030600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611407565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610e06575f80fd5b505af1158015610e18573d5f803e3d5ffd5b505050508260095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e689190611b6f565b9250508190555082600a5f828254610e809190611b6f565b92505081905550505050565b606060048054610e9b90611b12565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec790611b12565b8015610f125780601f10610ee957610100808354040283529160200191610f12565b820191905f5260205f20905b815481529060010190602001808311610ef557829003601f168201915b5050505050905090565b610f24611673565b5f73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa90611eda565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f806110006111b2565b90505f61100d82866110ae565b905083811015611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104990611f68565b60405180910390fd5b61105f82868684036111b9565b60019250505092915050565b600a5481565b5f8061107b6111b2565b9050611088818585611407565b600191505092915050565b60085481565b6009602052805f5260405f205f915090505481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611138611673565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d90611ff6565b60405180910390fd5b6111af816116f1565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90612084565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612112565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161136f91906117d6565b60405180910390a3505050565b5f61138784846110ae565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461140157818110156113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea9061217a565b60405180910390fd5b61140084848484036111b9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90612208565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90612296565b60405180910390fd5b6114ee8383836117b4565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156890612324565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165a91906117d6565b60405180910390a361166d8484846117b9565b50505050565b61167b6111b2565b73ffffffffffffffffffffffffffffffffffffffff1661169961095a565b73ffffffffffffffffffffffffffffffffffffffff16146116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e69061238c565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b5f819050919050565b6117d0816117be565b82525050565b5f6020820190506117e95f8301846117c7565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561182657808201518184015260208101905061180b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61184b826117ef565b61185581856117f9565b9350611865818560208601611809565b61186e81611831565b840191505092915050565b5f6020820190508181035f8301526118918184611841565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118c68261189d565b9050919050565b6118d6816118bc565b81146118e0575f80fd5b50565b5f813590506118f1816118cd565b92915050565b611900816117be565b811461190a575f80fd5b50565b5f8135905061191b816118f7565b92915050565b5f806040838503121561193757611936611899565b5b5f611944858286016118e3565b92505060206119558582860161190d565b9150509250929050565b5f8115159050919050565b6119738161195f565b82525050565b5f60208201905061198c5f83018461196a565b92915050565b5f805f606084860312156119a9576119a8611899565b5b5f6119b6868287016118e3565b93505060206119c7868287016118e3565b92505060406119d88682870161190d565b9150509250925092565b5f60ff82169050919050565b6119f7816119e2565b82525050565b5f602082019050611a105f8301846119ee565b92915050565b611a1f816118bc565b82525050565b5f602082019050611a385f830184611a16565b92915050565b5f60208284031215611a5357611a52611899565b5b5f611a60848285016118e3565b91505092915050565b5f8060408385031215611a7f57611a7e611899565b5b5f611a8c8582860161190d565b9250506020611a9d858286016118e3565b9150509250929050565b5f8060408385031215611abd57611abc611899565b5b5f611aca858286016118e3565b9250506020611adb858286016118e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b2957607f821691505b602082108103611b3c57611b3b611ae5565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b79826117be565b9150611b84836117be565b9250828201905080821115611b9c57611b9b611b42565b5b92915050565b7f436f6e747261637420686173206e6f204554482062616c616e63652e000000005f82015250565b5f611bd6601c836117f9565b9150611be182611ba2565b602082019050919050565b5f6020820190508181035f830152611c0381611bca565b9050919050565b7f496e76616c6964206d696e7420636f756e7400000000000000000000000000005f82015250565b5f611c3e6012836117f9565b9150611c4982611c0a565b602082019050919050565b5f6020820190508181035f830152611c6b81611c32565b9050919050565b7f4578636565646564206d6178696d756d206d696e7420636f756e7420706572205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f611ccc6027836117f9565b9150611cd782611c72565b604082019050919050565b5f6020820190508181035f830152611cf981611cc0565b9050919050565b5f611d0a826117be565b9150611d15836117be565b9250828202611d23816117be565b91508282048414831517611d3a57611d39611b42565b5b5092915050565b50565b5f611d4f5f836117f9565b9150611d5a82611d41565b5f82019050919050565b5f6020820190508181035f830152611d7b81611d44565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611db9826117be565b9150611dc4836117be565b925082611dd457611dd3611d82565b5b828204905092915050565b5f604082019050611df25f830185611a16565b611dff60208301846117c7565b9392505050565b611e0f8161195f565b8114611e19575f80fd5b50565b5f81519050611e2a81611e06565b92915050565b5f60208284031215611e4557611e44611899565b5b5f611e5284828501611e1c565b91505092915050565b5f606082019050611e6e5f830186611a16565b611e7b6020830185611a16565b611e8860408301846117c7565b949350505050565b7f4c5020636f6e747261637420616c7265616479207365740000000000000000005f82015250565b5f611ec46017836117f9565b9150611ecf82611e90565b602082019050919050565b5f6020820190508181035f830152611ef181611eb8565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611f526025836117f9565b9150611f5d82611ef8565b604082019050919050565b5f6020820190508181035f830152611f7f81611f46565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611fe06026836117f9565b9150611feb82611f86565b604082019050919050565b5f6020820190508181035f83015261200d81611fd4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61206e6024836117f9565b915061207982612014565b604082019050919050565b5f6020820190508181035f83015261209b81612062565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120fc6022836117f9565b9150612107826120a2565b604082019050919050565b5f6020820190508181035f830152612129816120f0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612164601d836117f9565b915061216f82612130565b602082019050919050565b5f6020820190508181035f83015261219181612158565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6121f26025836117f9565b91506121fd82612198565b604082019050919050565b5f6020820190508181035f83015261221f816121e6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6122806023836117f9565b915061228b82612226565b604082019050919050565b5f6020820190508181035f8301526122ad81612274565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61230e6026836117f9565b9150612319826122b4565b604082019050919050565b5f6020820190508181035f83015261233b81612302565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123766020836117f9565b915061238182612342565b602082019050919050565b5f6020820190508181035f8301526123a38161236a565b905091905056fea2646970667358221220cd78a65720d59034f33f73b3c53366d1250c0bec2b3611a23f31f0f72f147f2e64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000115eec47f6cf7e350000000000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000f4b51faa6f429bf06b9f56a89d17bd6cf6f8d6f800000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae0900000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae0900000000000000000000000000000000000000000000000000000000000000044245524300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4661697220424552433230000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): BERC
Arg [1] : symbol (string): Fair BERC20
Arg [2] : totalSupply (uint256): 21000000000000000000000000
Arg [3] : maxMintCount (uint256): 20000
Arg [4] : maxMintPerAddress (uint256): 10
Arg [5] : mintPrice (uint256): 500000000000000
Arg [6] : factoryContract (address): 0xf4b51FAA6f429Bf06B9f56A89d17BD6cf6f8d6f8
Arg [7] : devAddress (address): 0x26F24d1EeC2Cc9454e174803E44a7627E318aE09
Arg [8] : deplyAddress (address): 0x26F24d1EeC2Cc9454e174803E44a7627E318aE09
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 000000000000000000000000000000000000000000115eec47f6cf7e35000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000004e20
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 0000000000000000000000000000000000000000000000000001c6bf52634000
Arg [6] : 000000000000000000000000f4b51faa6f429bf06b9f56a89d17bd6cf6f8d6f8
Arg [7] : 00000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae09
Arg [8] : 00000000000000000000000026f24d1eec2cc9454e174803e44a7627e318ae09
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [10] : 4245524300000000000000000000000000000000000000000000000000000000
Arg [11] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [12] : 4661697220424552433230000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
17541:2908:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17744:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2792:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3726:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3113:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3012:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4240:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18088:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17910:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18020:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3229:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1868:103;;;;;;;;;;;;;:::i;:::-;;18053:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20203:241;;;;;;;;;;;;;:::i;:::-;;17709:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17988:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1633:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18977:1051;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2900:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20036:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4486:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17873:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3364:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17776:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17818:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3567:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1979:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17744:25;;;;:::o;2792:100::-;2846:13;2879:5;2872:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2792:100;:::o;3726:201::-;3809:4;3826:13;3842:12;:10;:12::i;:::-;3826:28;;3865:32;3874:5;3881:7;3890:6;3865:8;:32::i;:::-;3915:4;3908:11;;;3726:201;;;;:::o;3113:108::-;3174:7;3201:12;;3194:19;;3113:108;:::o;3935:295::-;4066:4;4083:15;4101:12;:10;:12::i;:::-;4083:30;;4124:38;4140:4;4146:7;4155:6;4124:15;:38::i;:::-;4173:27;4183:4;4189:2;4193:6;4173:9;:27::i;:::-;4218:4;4211:11;;;3935:295;;;;;:::o;3012:93::-;3070:5;3095:2;3088:9;;3012:93;:::o;4240:238::-;4328:4;4345:13;4361:12;:10;:12::i;:::-;4345:28;;4384:64;4393:5;4400:7;4437:10;4409:25;4419:5;4426:7;4409:9;:25::i;:::-;:38;;;;:::i;:::-;4384:8;:64::i;:::-;4466:4;4459:11;;;4240:238;;;;:::o;18088:75::-;;;;;;;;;;;;;:::o;17910:71::-;;;;;;;;;;;;;:::o;18020:26::-;;;;;;;;;;;;;:::o;3229:127::-;3303:7;3330:9;:18;3340:7;3330:18;;;;;;;;;;;;;;;;3323:25;;3229:127;;;:::o;1868:103::-;1592:13;:11;:13::i;:::-;1933:30:::1;1960:1;1933:18;:30::i;:::-;1868:103::o:0;18053:28::-;;;;;;;;;;;;;:::o;20203:241::-;20243:15;20261:21;20243:39;;20311:1;20301:7;:11;20293:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;20356:22;20389:11;;;;;;;;;;;20356:45;;20412:6;:15;;:24;20428:7;20412:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20232:212;;20203:241::o;17709:28::-;;;;:::o;17988:25::-;;;;;;;;;;;;;:::o;1633:87::-;1679:7;1706:6;;;;;;;;;;;1699:13;;1633:87;:::o;18977:1051::-;19077:1;19065:9;:13;19057:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;19133:18;;19120:9;:31;;19112:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;19237:10;;19227:9;:20;;;;:::i;:::-;19214:9;:33;;19206:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;19308:18;;19295:9;19271:11;:23;19283:10;19271:23;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;:55;;19263:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19392:11;;;;;;;;;;;19386:26;;;19433:3;19430:2;19420:9;:12;;;;:::i;:::-;:16;;;;:::i;:::-;19386:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19456:11;;;;;;;;;;;19450:26;;;19477:10;;;;;;;;;;;19502:3;19499:2;19489:9;:12;;;;:::i;:::-;:16;;;;:::i;:::-;19450:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19523:11;;;;;;;;;;;19517:31;;;19557:4;19564:10;;;;;;;;;;;19589:3;19586:2;19576:9;:12;;;;:::i;:::-;:16;;;;:::i;:::-;19517:76;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19607:18;19683:6;19667:13;;:22;;;;:::i;:::-;19653:9;19645:5;19629:13;:11;:13::i;:::-;:21;;;;:::i;:::-;:33;;;;:::i;:::-;19628:62;;;;:::i;:::-;19607:83;;19783:48;19801:4;19808:10;19820;19783:9;:48::i;:::-;19842;19860:4;19867:10;;;;;;;;;;;19879;19842:9;:48::i;:::-;19916:10;;;;;;;;;;;19901:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19974:9;19947:11;:23;19959:10;19947:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;20011:9;19994:13;;:26;;;;;;;:::i;:::-;;;;;;;;19046:982;18977:1051;;:::o;2900:104::-;2956:13;2989:7;2982:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2900:104;:::o;20036:159::-;1592:13;:11;:13::i;:::-;20131:1:::1;20109:24;;:10;;;;;;;;;;;:24;;;20101:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20185:2;20172:10;;:15;;;;;;;;;;;;;;;;;;20036:159:::0;:::o;4486:436::-;4579:4;4596:13;4612:12;:10;:12::i;:::-;4596:28;;4635:24;4662:25;4672:5;4679:7;4662:9;:25::i;:::-;4635:52;;4726:15;4706:16;:35;;4698:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4819:60;4828:5;4835:7;4863:15;4844:16;:34;4819:8;:60::i;:::-;4910:4;4903:11;;;;4486:436;;;;:::o;17873:28::-;;;;:::o;3364:193::-;3443:4;3460:13;3476:12;:10;:12::i;:::-;3460:28;;3499;3509:5;3516:2;3520:6;3499:9;:28::i;:::-;3545:4;3538:11;;;3364:193;;;;:::o;17776:33::-;;;;:::o;17818:46::-;;;;;;;;;;;;;;;;;:::o;3567:151::-;3656:7;3683:11;:18;3695:5;3683:18;;;;;;;;;;;;;;;:27;3702:7;3683:27;;;;;;;;;;;;;;;;3676:34;;3567:151;;;;:::o;1979:201::-;1592:13;:11;:13::i;:::-;2088:1:::1;2068:22;;:8;:22;;::::0;2060:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2144:28;2163:8;2144:18;:28::i;:::-;1979:201:::0;:::o;166:98::-;219:7;246:10;239:17;;166:98;:::o;7017:380::-;7170:1;7153:19;;:5;:19;;;7145:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7251:1;7232:21;;:7;:21;;;7224:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7335:6;7305:11;:18;7317:5;7305:18;;;;;;;;;;;;;;;:27;7324:7;7305:27;;;;;;;;;;;;;;;:36;;;;7373:7;7357:32;;7366:5;7357:32;;;7382:6;7357:32;;;;;;:::i;:::-;;;;;;;;7017:380;;;:::o;7405:453::-;7540:24;7567:25;7577:5;7584:7;7567:9;:25::i;:::-;7540:52;;7627:17;7607:16;:37;7603:248;;7689:6;7669:16;:26;;7661:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7773:51;7782:5;7789:7;7817:6;7798:16;:25;7773:8;:51::i;:::-;7603:248;7529:329;7405:453;;;:::o;4930:840::-;5077:1;5061:18;;:4;:18;;;5053:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5154:1;5140:16;;:2;:16;;;5132:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5209:38;5230:4;5236:2;5240:6;5209:20;:38::i;:::-;5260:19;5282:9;:15;5292:4;5282:15;;;;;;;;;;;;;;;;5260:37;;5331:6;5316:11;:21;;5308:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;5448:6;5434:11;:20;5416:9;:15;5426:4;5416:15;;;;;;;;;;;;;;;:38;;;;5651:6;5634:9;:13;5644:2;5634:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;5701:2;5686:26;;5695:4;5686:26;;;5705:6;5686:26;;;;;;:::i;:::-;;;;;;;;5725:37;5745:4;5751:2;5755:6;5725:19;:37::i;:::-;5042:728;4930:840;;;:::o;1728:132::-;1803:12;:10;:12::i;:::-;1792:23;;:7;:5;:7::i;:::-;:23;;;1784:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1728:132::o;2188:191::-;2262:16;2281:6;;;;;;;;;;;2262:25;;2307:8;2298:6;;:17;;;;;;;;;;;;;;;;;;2362:8;2331:40;;2352:8;2331:40;;;;;;;;;;;;2251:128;2188:191;:::o;7866:125::-;;;;:::o;7999:124::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:320;6730:6;6767:1;6761:4;6757:12;6747:22;;6814:1;6808:4;6804:12;6835:18;6825:81;;6891:4;6883:6;6879:17;6869:27;;6825:81;6953:2;6945:6;6942:14;6922:18;6919:38;6916:84;;6972:18;;:::i;:::-;6916:84;6737:269;6686:320;;;:::o;7012:180::-;7060:77;7057:1;7050:88;7157:4;7154:1;7147:15;7181:4;7178:1;7171:15;7198:191;7238:3;7257:20;7275:1;7257:20;:::i;:::-;7252:25;;7291:20;7309:1;7291:20;:::i;:::-;7286:25;;7334:1;7331;7327:9;7320:16;;7355:3;7352:1;7349:10;7346:36;;;7362:18;;:::i;:::-;7346:36;7198:191;;;;:::o;7395:178::-;7535:30;7531:1;7523:6;7519:14;7512:54;7395:178;:::o;7579:366::-;7721:3;7742:67;7806:2;7801:3;7742:67;:::i;:::-;7735:74;;7818:93;7907:3;7818:93;:::i;:::-;7936:2;7931:3;7927:12;7920:19;;7579:366;;;:::o;7951:419::-;8117:4;8155:2;8144:9;8140:18;8132:26;;8204:9;8198:4;8194:20;8190:1;8179:9;8175:17;8168:47;8232:131;8358:4;8232:131;:::i;:::-;8224:139;;7951:419;;;:::o;8376:168::-;8516:20;8512:1;8504:6;8500:14;8493:44;8376:168;:::o;8550:366::-;8692:3;8713:67;8777:2;8772:3;8713:67;:::i;:::-;8706:74;;8789:93;8878:3;8789:93;:::i;:::-;8907:2;8902:3;8898:12;8891:19;;8550:366;;;:::o;8922:419::-;9088:4;9126:2;9115:9;9111:18;9103:26;;9175:9;9169:4;9165:20;9161:1;9150:9;9146:17;9139:47;9203:131;9329:4;9203:131;:::i;:::-;9195:139;;8922:419;;;:::o;9347:226::-;9487:34;9483:1;9475:6;9471:14;9464:58;9556:9;9551:2;9543:6;9539:15;9532:34;9347:226;:::o;9579:366::-;9721:3;9742:67;9806:2;9801:3;9742:67;:::i;:::-;9735:74;;9818:93;9907:3;9818:93;:::i;:::-;9936:2;9931:3;9927:12;9920:19;;9579:366;;;:::o;9951:419::-;10117:4;10155:2;10144:9;10140:18;10132:26;;10204:9;10198:4;10194:20;10190:1;10179:9;10175:17;10168:47;10232:131;10358:4;10232:131;:::i;:::-;10224:139;;9951:419;;;:::o;10376:410::-;10416:7;10439:20;10457:1;10439:20;:::i;:::-;10434:25;;10473:20;10491:1;10473:20;:::i;:::-;10468:25;;10528:1;10525;10521:9;10550:30;10568:11;10550:30;:::i;:::-;10539:41;;10729:1;10720:7;10716:15;10713:1;10710:22;10690:1;10683:9;10663:83;10640:139;;10759:18;;:::i;:::-;10640:139;10424:362;10376:410;;;;:::o;10792:114::-;;:::o;10912:364::-;11054:3;11075:66;11139:1;11134:3;11075:66;:::i;:::-;11068:73;;11150:93;11239:3;11150:93;:::i;:::-;11268:1;11263:3;11259:11;11252:18;;10912:364;;;:::o;11282:419::-;11448:4;11486:2;11475:9;11471:18;11463:26;;11535:9;11529:4;11525:20;11521:1;11510:9;11506:17;11499:47;11563:131;11689:4;11563:131;:::i;:::-;11555:139;;11282:419;;;:::o;11707:180::-;11755:77;11752:1;11745:88;11852:4;11849:1;11842:15;11876:4;11873:1;11866:15;11893:185;11933:1;11950:20;11968:1;11950:20;:::i;:::-;11945:25;;11984:20;12002:1;11984:20;:::i;:::-;11979:25;;12023:1;12013:35;;12028:18;;:::i;:::-;12013:35;12070:1;12067;12063:9;12058:14;;11893:185;;;;:::o;12084:332::-;12205:4;12243:2;12232:9;12228:18;12220:26;;12256:71;12324:1;12313:9;12309:17;12300:6;12256:71;:::i;:::-;12337:72;12405:2;12394:9;12390:18;12381:6;12337:72;:::i;:::-;12084:332;;;;;:::o;12422:116::-;12492:21;12507:5;12492:21;:::i;:::-;12485:5;12482:32;12472:60;;12528:1;12525;12518:12;12472:60;12422:116;:::o;12544:137::-;12598:5;12629:6;12623:13;12614:22;;12645:30;12669:5;12645:30;:::i;:::-;12544:137;;;;:::o;12687:345::-;12754:6;12803:2;12791:9;12782:7;12778:23;12774:32;12771:119;;;12809:79;;:::i;:::-;12771:119;12929:1;12954:61;13007:7;12998:6;12987:9;12983:22;12954:61;:::i;:::-;12944:71;;12900:125;12687:345;;;;:::o;13038:442::-;13187:4;13225:2;13214:9;13210:18;13202:26;;13238:71;13306:1;13295:9;13291:17;13282:6;13238:71;:::i;:::-;13319:72;13387:2;13376:9;13372:18;13363:6;13319:72;:::i;:::-;13401;13469:2;13458:9;13454:18;13445:6;13401:72;:::i;:::-;13038:442;;;;;;:::o;13486:173::-;13626:25;13622:1;13614:6;13610:14;13603:49;13486:173;:::o;13665:366::-;13807:3;13828:67;13892:2;13887:3;13828:67;:::i;:::-;13821:74;;13904:93;13993:3;13904:93;:::i;:::-;14022:2;14017:3;14013:12;14006:19;;13665:366;;;:::o;14037:419::-;14203:4;14241:2;14230:9;14226:18;14218:26;;14290:9;14284:4;14280:20;14276:1;14265:9;14261:17;14254:47;14318:131;14444:4;14318:131;:::i;:::-;14310:139;;14037:419;;;:::o;14462:224::-;14602:34;14598:1;14590:6;14586:14;14579:58;14671:7;14666:2;14658:6;14654:15;14647:32;14462:224;:::o;14692:366::-;14834:3;14855:67;14919:2;14914:3;14855:67;:::i;:::-;14848:74;;14931:93;15020:3;14931:93;:::i;:::-;15049:2;15044:3;15040:12;15033:19;;14692:366;;;:::o;15064:419::-;15230:4;15268:2;15257:9;15253:18;15245:26;;15317:9;15311:4;15307:20;15303:1;15292:9;15288:17;15281:47;15345:131;15471:4;15345:131;:::i;:::-;15337:139;;15064:419;;;:::o;15489:225::-;15629:34;15625:1;15617:6;15613:14;15606:58;15698:8;15693:2;15685:6;15681:15;15674:33;15489:225;:::o;15720:366::-;15862:3;15883:67;15947:2;15942:3;15883:67;:::i;:::-;15876:74;;15959:93;16048:3;15959:93;:::i;:::-;16077:2;16072:3;16068:12;16061:19;;15720:366;;;:::o;16092:419::-;16258:4;16296:2;16285:9;16281:18;16273:26;;16345:9;16339:4;16335:20;16331:1;16320:9;16316:17;16309:47;16373:131;16499:4;16373:131;:::i;:::-;16365:139;;16092:419;;;:::o;16517:223::-;16657:34;16653:1;16645:6;16641:14;16634:58;16726:6;16721:2;16713:6;16709:15;16702:31;16517:223;:::o;16746:366::-;16888:3;16909:67;16973:2;16968:3;16909:67;:::i;:::-;16902:74;;16985:93;17074:3;16985:93;:::i;:::-;17103:2;17098:3;17094:12;17087:19;;16746:366;;;:::o;17118:419::-;17284:4;17322:2;17311:9;17307:18;17299:26;;17371:9;17365:4;17361:20;17357:1;17346:9;17342:17;17335:47;17399:131;17525:4;17399:131;:::i;:::-;17391:139;;17118:419;;;:::o;17543:221::-;17683:34;17679:1;17671:6;17667:14;17660:58;17752:4;17747:2;17739:6;17735:15;17728:29;17543:221;:::o;17770:366::-;17912:3;17933:67;17997:2;17992:3;17933:67;:::i;:::-;17926:74;;18009:93;18098:3;18009:93;:::i;:::-;18127:2;18122:3;18118:12;18111:19;;17770:366;;;:::o;18142:419::-;18308:4;18346:2;18335:9;18331:18;18323:26;;18395:9;18389:4;18385:20;18381:1;18370:9;18366:17;18359:47;18423:131;18549:4;18423:131;:::i;:::-;18415:139;;18142:419;;;:::o;18567:179::-;18707:31;18703:1;18695:6;18691:14;18684:55;18567:179;:::o;18752:366::-;18894:3;18915:67;18979:2;18974:3;18915:67;:::i;:::-;18908:74;;18991:93;19080:3;18991:93;:::i;:::-;19109:2;19104:3;19100:12;19093:19;;18752:366;;;:::o;19124:419::-;19290:4;19328:2;19317:9;19313:18;19305:26;;19377:9;19371:4;19367:20;19363:1;19352:9;19348:17;19341:47;19405:131;19531:4;19405:131;:::i;:::-;19397:139;;19124:419;;;:::o;19549:224::-;19689:34;19685:1;19677:6;19673:14;19666:58;19758:7;19753:2;19745:6;19741:15;19734:32;19549:224;:::o;19779:366::-;19921:3;19942:67;20006:2;20001:3;19942:67;:::i;:::-;19935:74;;20018:93;20107:3;20018:93;:::i;:::-;20136:2;20131:3;20127:12;20120:19;;19779:366;;;:::o;20151:419::-;20317:4;20355:2;20344:9;20340:18;20332:26;;20404:9;20398:4;20394:20;20390:1;20379:9;20375:17;20368:47;20432:131;20558:4;20432:131;:::i;:::-;20424:139;;20151:419;;;:::o;20576:222::-;20716:34;20712:1;20704:6;20700:14;20693:58;20785:5;20780:2;20772:6;20768:15;20761:30;20576:222;:::o;20804:366::-;20946:3;20967:67;21031:2;21026:3;20967:67;:::i;:::-;20960:74;;21043:93;21132:3;21043:93;:::i;:::-;21161:2;21156:3;21152:12;21145:19;;20804:366;;;:::o;21176:419::-;21342:4;21380:2;21369:9;21365:18;21357:26;;21429:9;21423:4;21419:20;21415:1;21404:9;21400:17;21393:47;21457:131;21583:4;21457:131;:::i;:::-;21449:139;;21176:419;;;:::o;21601:225::-;21741:34;21737:1;21729:6;21725:14;21718:58;21810:8;21805:2;21797:6;21793:15;21786:33;21601:225;:::o;21832:366::-;21974:3;21995:67;22059:2;22054:3;21995:67;:::i;:::-;21988:74;;22071:93;22160:3;22071:93;:::i;:::-;22189:2;22184:3;22180:12;22173:19;;21832:366;;;:::o;22204:419::-;22370:4;22408:2;22397:9;22393:18;22385:26;;22457:9;22451:4;22447:20;22443:1;22432:9;22428:17;22421:47;22485:131;22611:4;22485:131;:::i;:::-;22477:139;;22204:419;;;:::o;22629:182::-;22769:34;22765:1;22757:6;22753:14;22746:58;22629:182;:::o;22817:366::-;22959:3;22980:67;23044:2;23039:3;22980:67;:::i;:::-;22973:74;;23056:93;23145:3;23056:93;:::i;:::-;23174:2;23169:3;23165:12;23158:19;;22817:366;;;:::o;23189:419::-;23355:4;23393:2;23382:9;23378:18;23370:26;;23442:9;23436:4;23432:20;23428:1;23417:9;23413:17;23406:47;23470:131;23596:4;23470:131;:::i;:::-;23462:139;;23189:419;;;:::o
Swarm Source
ipfs://cd78a65720d59034f33f73b3c53366d1250c0bec2b3611a23f31f0f72f147f2e
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.